Понимание SQL | страница 7
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: