ТИПОВАЯ БАЗА ДАННЫХ
Таблицы 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 из таблицы Заказчиков
должно также быть представлено в таблице Продавцов. Если это так, то говорят,
что " система находится в состоянии справочной целостности ". Этот вывод будет
более полно и формально объяснен в