--
-- Структура таблицы salespeople (продавцы)
-- snum - ID продавца
-- sname - имя продавца
-- city - место, где находится продавец, т.е. один из офисов компании
-- comm - коммисионное вознаграждение продавца
--
CREATE TABLE salespeople (
snum INTEGER NOT NULL PRIMARY KEY,
sname CHAR(10) NOT NULL,
city CHAR(10),
comm DECIMAL(3,2)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы salespeople
--
INSERT INTO salespeople VALUES (1001, 'Peel', 'London', 0.12);
INSERT INTO salespeople VALUES (1002, 'Serres', 'San Jose', 0.13);
INSERT INTO salespeople VALUES (1003, 'Axelrod', 'New York', 0.10);
INSERT INTO salespeople VALUES (1004, 'Motika', 'London', 0.11);
INSERT INTO salespeople VALUES (1007, 'Rifkin', 'Barcelona', 0.15);
-- --------------------------------------------------------
--
-- Структура таблицы customers (заказчики)
-- cnum - ID заказчика (клиента)
-- cname - имя заказчика
-- city - местонахождение заказчика (город)
-- rating - рейтинг покупателя
-- snum - номер продавца, прикрепленного к данному клиенту.
-- Это внешний ключ, ссылающийся на salespeople
--
CREATE TABLE customers (
cnum INTEGER NOT NULL PRIMARY KEY,
cname CHAR(10) NOT NULL,
city CHAR(10),
rating INTEGER,
snum INTEGER
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы customers
-- onum
INSERT INTO customers VALUES (2001, 'Hoffman', 'London', 100, 1001);
INSERT INTO customers VALUES (2002, 'Giovanni', 'Rome', 200, 1003);
INSERT INTO customers VALUES (2003, 'Liu', 'San Jose', 200, 1002);
INSERT INTO customers VALUES (2004, 'Grass', 'Berlin', 300, 1002);
INSERT INTO customers VALUES (2006, 'Clemens', 'London', NULL, 1001);
INSERT INTO customers VALUES (2007, 'Pereira', 'Rome', 100, 1004);
INSERT INTO customers VALUES (2008, 'Cisneros', 'San Jose', 300, 1007);
-- --------------------------------------------------------
--
-- Структура таблицы orders (заказы)
-- onum - ID заказа
-- amt - сумма заказа
-- odate - дата заказа
-- cnum - ID покупателя, делающего заказ. Это внешний ключ, ссылающийся на customers
-- snum - ID продавца, совершившего продажу. Это внешний ключ, ссылающийся на
-- salespeople. Обычно это продавец, прикрепленный к покупателю в таблице
-- customers, но не всегда. Если прикрепленный к покупателю продавец окажется
-- недоступен, продажу выполнит другой.
--
CREATE TABLE orders (
onum INTEGER NOT NULL PRIMARY KEY,
amt DECIMAL(8,2),
odate DATE NOT NULL,
cnum INTEGER NOT NULL,
snum INTEGER NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы orders
--
INSERT INTO orders VALUES (3001, 18.69, '2000-10-03', 2008, 1007);
INSERT INTO orders VALUES (3002, 1900.10, '2000-10-03', 2007, 1004);
INSERT INTO orders VALUES (3003, 767.19, '2000-10-03', 2001, 1001);
INSERT INTO orders VALUES (3005, 5160.45, '2000-10-03', 2003, 1002);
INSERT INTO orders VALUES (3006, 1098.16, '2000-10-03', 2008, 1007);
INSERT INTO orders VALUES (3007, 75.75, '2000-10-04', 2004, 1002);
INSERT INTO orders VALUES (3008, 4723.00, '2000-10-05', 2006, 1001);
INSERT INTO orders VALUES (3009, 1713.23, '2000-10-04', 2002, 1003);
INSERT INTO orders VALUES (3010, 1309.95, '2000-10-06', 2004, 1002);
INSERT INTO orders VALUES (3011, 9891.88, '2000-10-06', 2006, 1001);
--
-- Внешние ключи
--
ALTER TABLE customers ADD CONSTRAINT custtosales FOREIGN KEY (snum) REFERENCES salespeople(snum);
ALTER TABLE orders ADD CONSTRAINT ordtosales FOREIGN KEY (snum) REFERENCES salespeople(snum);
ALTER TABLE orders ADD CONSTRAINT ordtocust FOREIGN KEY (cnum) REFERENCES customers(cnum);