Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Типовая база данных

Таблицы 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 из таблицы Заказчиков должно также быть представлено в таблице Продавцов. Если это так, то говорят, что " система находится в состоянии справочной целостности ". Этот вывод будет более полно и формально объяснен в Главе 19 .

ПРИМЕЧАНИЕ: Эти три представленных таблицы в тексте имеют русские имена - Продавцов, Заказчиков и Порядков, и далее будут упоминаться именно под этими именами. Имена любых других применяемых в книге таблиц будут написаны по-английски что бы отличать их от наших базовых таблиц этой базы данных. Кроме того в целях однозначности, имена заказчиков, продавцов, Системных Каталогов а также полей в тексте, также будут даны на латыни.

Таблицы приведены, как пример к похожей ситуации в реальной жизни, когда вы будете использовать SQL, чтобы следить за продавцами, их заказчиками, и порядками заказчиков. Давайте рассмотрим эти три таблицы и значения их полей. Здесь показаны столбцы Таблицы 1.1

ПОЛЕ СОДЕРЖАНИЕ
snum

уникальный номер назначенный каждому продавцу

( " номер служащего " ).

sname имя продавца
city расположение продавца( город )
comm комиссионные продавцов в десятичной форме

Таблица 1.2 содержит следующие столбцы:

ПОЛЕ СОДЕРЖАНИЕ
cnum уникальный номер назначенный каждому заказчику
cname имя заказчика .
city расположение заказчика( город ). .
rating

код указывающего уровень предпочтения данного заказчика

перед другими. Более высокий номер указывают на большее

предпочтение( рейтинг ).

snum

номер продавца назначенного этому заказчику

( из таблицы Продавцов )

 

И имеются столбцы в Таблице 1.3:

ПОЛЕ СОДЕРЖАНИЕ
onum

уникальный номер данный каждому приобретению.

amt значение суммы приобретений.
odate дата приобретения.
cnum

номер заказчика делающего приобретение

( из таблицы Заказчиков ).

snum

номер продавца продающего приобретение

( из таблицы Продавцов).