воскресенье, 21 апреля 2019 г.

База данных Компьютерная фирма


Характерные ошибки при решении задач на написание запросов на выборку (SELECT)
База данных «Компьютерная фирма»
Схема БД состоит из четырех таблиц (рис.1.1):

Product(maker, model, type)
PC(code, model, speed, ram, hd, cd, price)
Laptop(code, model, speed, ram, hd, screen, price)
Printer(code, model, color, type, price)
Таблица Product представляет производителя (maker), номер модели (model) и тип (PC — ПК, Laptop — портативный компьютер или Printer — принтер). Предполагается, что в этой таблице номера моделей уникальны для всех производителей и типов продуктов. В таблице PC для каждого номера модели, обозначающего ПК, указаны скорость процессора — speed (МГерц), общий объем оперативной памяти - ram (Мбайт), размер диска — hd (в Гбайт), скорость считывающего устройства - cd (например, '4х') и цена — price. Таблица Laptop аналогична таблице РС за исключением того, что вместо скорости CD-привода содержит размер экрана — screen (в дюймах). В таблице Printer для каждой модели принтера указывается, является ли он цветным — color ('y', если цветной), тип принтера — type (лазерный — Laser, струйный — Jet или матричный — Matrix) и цена — price.

Схема данных



Рис. 1.1. Схема базы данных «Компьютерная фирма»

Дополнительную информацию можно извлечь из представленной на рис. 1.1 логической схемы данных. Таблицы по типам продукции (ПК, портативные компьютеры и принтеры) содержат внешний ключ (model) к таблице Product. Связь «один-ко-многим» означает, что в каждой из этих таблиц может отсутствовать модель, имеющаяся в таблице Product. С другой стороны, модель с одним и тем же номером может встречаться в такой таблице несколько раз, причем даже с полностью идентичными техническими характеристиками, так как первичным ключом здесь является столбец code. Последнее требует пояснения, так как разные люди вкладывают в понятие модели разный смысл. В рамках данной схемы считается, что модель — это единство производителя и технологии. Например, одинаковые модели могут комплектоваться технологически идентичными накопителями, но разной емкости, скажем, 60 и 80 Гбайт. В частности, это означает, что допустимо присутствие в таблице PC двух ПК с одинаковыми номерами модели, но по разной цене.

На языке предметной области данная схема может означать, что в таблице Product содержится информация обо всех известных поставщиках рассматриваемой продукции и моделях, которые они поставляют, а в остальных таблицах находятся имеющиеся в наличии (или продаже) модели. Поэтому вполне возможна ситуация, когда имеется поставщик (maker) с моделями, ни одной из которых нет в наличии.