Добро пожаловать!
Здесь вы можете найти ответ на интересующий вас вопрос в отрасли сайтостроения, познакомится ближе с web технологиями и web стандартами.

SQL

Приложение E: ТАБЛИЦЫ SQL, ИСПОЛЬЗУЕМЫЕ В ЭТОЙ КНИГЕ

Таблица Salespeople (продавцы)

snumsnamecitycomm
1001PeelLondon0.12
1002SerresSan Jose0.13
1003AxelrodNew York0.10
1004MotikaLondon0.11
1007RifkinBarcelona0.15

Таблица Customers (заказчики)

cnumcnamecityratingsnum
2001HoffmanLondon1001001
2002GiovanniRome2001003
2003LiuSan Jose2001002
2004GrassBerlin3001002
2006ClemensLondonNULL1001
2007PereiraRome1001004
2008CisnerosSan Jose3001007

Таблица Orders (заказы)

onumamtodatecnumsnum
300118.692000-10-0320081007
30021900.102000-10-0320071004
3003767.192000-10-0320011001
30055160.452000-10-0320031002
30061098.162000-10-0320081007
300775.752000-10-0420041002
30084723.002000-10-0520061001
30091713.232000-10-0420021003
30101309.952000-10-0620041002
30119891.882000-10-0620061001

Дамп базы данных (для MySQL)

-- 
-- Структура таблицы 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);