Пример выполнения работы.
Схема БД состоит из четырех отношений:
Product(market, model, type)
PC(code, model, speed, ram, hd, cd, price)
Laptop(code, model, speed, ram, hd, screen, price)
Printer(code, model, color, type, price)
Используя операции реляционной алгебры построить следующие запросы:
Найдите номер модели, скорость и размер жесткого диска для всех ПК стоимостью менее 500 $. Вывести: model,speed,hd.
Получить информацию о ценах на лазерные принтеры.
Вывести информацию о ПК-блокнотах, имеющих стоимость ниже заданной.
Отыскать производителей цветных лазерных принтеров.
Какие модели ПК-блокнотов имеются в базе
Получить информацию о ПК и ПК-блокнотах, имеющих одинаковую цену.
2. Для перечисленных выше запросов создайте эквивалентные команды в реляционном исчислении кортежей и доменов.
3. Объясните какие правила целостности сущностей и ссылочной целостности могут быть применены к этим отношениям.
Ход работы:
Найдите номер модели, скорость и размер жесткого диска для всех ПК стоимостью менее 500 $. Вывести: model, speed, hd.
П model, speed, hd (σ price < 500 (PC) );
Range of P is PC
{P.model, P.speed, P.hd | P.price < 500 };
{ model, speed, hd | price [ PC(model,speed,hd,price)^ price < 500 ] }
Получить информацию о ценах на лазерные принтеры:
П model, color, price (σ type = Laser (Printer) );
Range of P is Printer
{ P.model, P.color, P. price | P.type = Laser };
{ model, color, price | type[ Printer(model, color, price, type) ^ type = Laser ] }
Вывести информацию о ПК-блокнотах, имеющих стоимость ниже заданной
σ price < x (Laptop) ;
Range of L is Laptop
{ L | L.price < X };
{ model, speed, ram, hd, screen, price | price
[Laptop (model, speed, ram, hd, screen, price) ^ price < X ] }
Отыскать производителей цветных лазерных принтеров
П market (Product Natural-join Printer ) Printer.Color = ”y” ^ ^Printer.Type = Laser ;
Range of P is Product
Range of A is Printer
{ P.market | P.type=Printer^A.Type=Laser^A.Color=“y” };
{ market | (type Product(type, market) ^ Product .type = Printer) ^
(type,color Printer (type, color) ^ Printer .type=Laser ^ Printer .Color= “y” )};
Какие модели ПК-блокнотов имеются в базе
П model (Laptop);
Range of L is Laptop
{L.model | L };
{ model | Laptop(model, speed, ram, hd, screen, price) };
Получить информацию о ПК и ПК-блокнотах, имеющих одинаковую цену
σ PC.Model, Laptop.Model (PC × Laptop) PC.Price = Laptop.Price ;
Range of P is PC
Range of L is Laptop
{P.model, L.model | P.price = L. price };
{PC. model, Laptop. model | (price PC(model, price))^
(price Laptop(model, price) ) ^ PC.price = Laptop .price};
Правило целостности сущности выполняется для каждого из отношений и заключается в наличии первичных ключей в каждом из отношений:
- Product.Model, Printer.Code, Laptop.Code, PC.Code => PK;
Правило ссылочной целостности выполняется для приведённых отношений и заключается в соответствии внешних ключей (FK) каждого из отношений (Printer. Model, Laptop. Model, PC. Model => FK)значению первичного ключа (PK) в базовом отношении ( Product.Model ).