05 ноября 2009

Практика 29 октября

Разминка

Вопрос 1. Вы делаете связь многие-ко-многим между товарами и поставщиками у которой есть собственный атрибут, например, цена данного товара у данного поставщика. Вы хотите чтоб цена была уникальна для пары (товар, поставщик). Чего не хватает в этом операторе?

CREATE TABLE Goods_Supplier(
  goods_id INT FOREIGN KEY REFERECES Goods,
  supplier_id INT FOREIGN KEY REFERENCES Supplier,
  price NUMERIC (10, 2) CHECK (price >= 0)
)

  1. Да вроде всё на месте
  2. Ограничения UNIQUE для цены
  3. Ограничения UNIQUE для каждого из внешних ключей
  4. Ограничения UNIQUE для пары внешних ключей
  5. Ограничения UNIQUE для всей тройки атрибутов
Вопрос 2. Сколько строк будет в результате SELECT'а?

CREATE TABLE Автомобиль(
    рег_номер CHAR(6) PRIMARY KEY, марка VARCHAR(20))

INSERT INTO Автомобиль (рег_номер, марка)
  VALUES ('м000ск', 'Субару')

INSERT INTO Автомобиль (рег_номер, марка)
  VALUES ('м001ск', 'Cубару')
INSERT INTO Автомобиль (рег_номер, марка)
  VALUES ('м002ск', 'Subaru')

SELECT * FROM Автомобиль  WHERE марка = 'Субару'


Слайды