ТИПОВАЯ БАЗА ДАННЫХ
Таблицы 1.1, 1.2, и 1.3 составляют реляционную базу данных которая является минимально достаточной чтобы легко ее отслеживать, и достаточно
полной, чтобы иллюстрировать главные понятия и практику использования
SQL.
Эти таблицы напечатаны в этой главе а также в Приложении E.
Так как они будут использоваться для иллюстрирования различных особенностей SQL по всей этой книге, мы рекомендуем чтобы вы скопировали их,
для удобства ссылки к ним.
Вы могли уже обратить внимание что первый столбец каждой таблицы
содержит номера чьи значения различны для каждой строки. Как вы
наверное и предположили, это - первичные ключи таблиц. Некоторые из
этих номеров также показаны в столбцах других таблиц. В этом нет ничего
неверного. Они показывают связь между строками которые используют
значение принимаемое из первичного ключа, и строками где это значение
используется в самом первичном ключе.
Таблица 1.1: Продавцы
----------------------------------------------
SNUM | SNAME | CITY | COMM
--------|-----------|--------------|----------
1001 | Peel | London | .12
1002 | Serres | San Jose | .13
1004 | Motika | London | .11
1007 | Rifkin | Barcelona | .15
1003 | Axelrod | New York | .10
---------------------------------------------
Таблица 1.2: Заказчики
----------------------------------------------
CNUM | CNAME | CITY | RATING | SNUM
-------|------------|---------|--------|------
2001 | Hoffman | London | 100 | 1001
2002 | Giovanni | Rome | 200 | 1003
2003 | Liu | SanJose | 200 | 1002
2004 | Grass | Berlin | 300 | 1002
2006 | Clemens | London | 100 | 1001
2008 | Cisneros | SanJose | 300 | 1007
2007 | Pereira | Rome | 100 | 1004
----------------------------------------------
Таблица 1.3: Порядки
-----------------------------------------------
ONUM | AMT | ODATE | CNUM | SNUM
-------|-----------|-------------|------|------
3001 | 18.69 | 10/03/1990 | 2008 | 1007
3003 | 767.19 | 10/03/1990 | 2001 | 1001
3002 | 1900.10 | 10/03/1990 | 2007 | 1004
3005 | 5160.45 | 10/03/1990 | 2003 | 1002
3006 | 1098.16 | 10/03/1990 | 2008 | 1007
3009 | 1713.23 | 10/04/1990 | 2002 | 1003
3007 | 75.75 | 10/04/1990 | 2004 | 1002
3008 | 4723.00 | 10/05/1990 | 2006 | 1001
3010 | 1309.95 | 10/06/1990 | 2004 | 1002
3011 | 9891.88 | 10/06/1990 | 2006 | 1001
-----------------------------------------------
Например, поле snum в таблице Заказчиков указывает, какому продавцу
назначен данный заказчик. Номер пол snum связан с таблицей Продавцов,
которая дает информацию об этих продавцах. Очевидно, что продавец
которому назначены заказчики должен уже существовать - то есть,
значение snum из таблицы Заказчиков должно также быть представлено
в таблице Продавцов. Если это так, то говорят, что " система находится
в состоянии справочной целостности ".
Этот вывод будет более полно и формально объяснен в