"Проектирование реляционных баз данных." - читать интересную книгу автора (Джен Л. Харрингтон)006 John Jones 006 006 10/8/99 25.00
007 006 11/12/99 85.00 008 006 12/29/99 109.12 РИС. 4.6. Две таблицы со взаимоотношением "первичный ключ — внешний клК>4 Глава 4 • Нормализация 65 result .table ID number first_name last_name order_numb order_date order_total Jonn Doe 001 10/10/99 250.65 John Doe 002 2/21/00 125.89 Jane Smith 003 11/15/99 1597.99 004 John Smith 004 11/22/99 180.92 John Smith 005 12/15/99 565.00 006 John Jones 006 10/8/99 25.00 006 John Jones 007 11/12/99 85.00 006 John Jones 008 12/29/99 109.12 РИС. 4.7. Таблица соединения Зквисоединение можно начинать с любой из таблиц-источников (результат должен быть одинаков независимо от направления соединения). При соединении каждая строка исходной таблицы сравнивается со строками второй таблицы. Для каждой строки первой таблицы-источника, где устанавливается соответствие данным второй таблицы-источника в столбце или столбцах, по которым производится соединение, в результирующую таблицу помещается новая строка. Если в качестве первой таблицы-источника используется таблица customers, создание результирующей таблицы (рис. 4.7) концептуально может протекать следующим образом: 1. Поиск заказов для строк с идентификационным номером 001. Поскольку среди заказов нет подходящих строк, строка в результирующую таблицу не помещается. 2. Поиск заказов для строк с идентификационным номером 002. Среди заказов есть две подходящие строки. В результирующей таблице создаются две новые строки; при этом информация о клиенте размещается в каждой строке заказов. 3. Поиск заказов для строк с идентификационным номером 003. 4. Поиск заказов для строк с идентификационным номером 004. Среди заказов есть две подходящие строки. В результирующую таблицу помещаются две строки. ->. Поиск заказов для строк с идентификационным номером 005. Среди заказов подходящих строк нет, поэтому в результирующую таблицу строки не помещаются. • Поиск заказов для строк с идентификационным номером 006. Среди заказов есть три подходящие строки. В результирующую таблицу помещаются три строки. ООООООООООООРРООООРООООРРООООООРРООООООО ОООООООООООООООООРООРОООООООООРООООРООРО C_ 333 = 3333 = 3333333 С. <_ С_ С- (_ № СО Ш Со Со 3 3 3 3 3 ф ф ф ф ф с_с.с_с_с_с_<^с_с_с_с.с_с_с_с_с_с_ сооооооооососошсосососош зз-з-з-з-згз-з-з-зззззззз фзззззэззфффффффф с. с. с. <_ с. с с о о о о о о о 3 3 3 3 3 3 3 ф го ф ф а ф ф (Л <л ел <л и <л ел С-СЛСЯСЛСЯСООСЛС/ЗСЛСЛСОСЛСЛСЛСЛСЛ оззэзззззззээзззэ 3 Н- W- V-*- Н- Н- Н- Н- Н- Р- Н- Н- Н- Н- Н- Н- Н- со з-З'Э-з-з-з'З-з-з-З'З-з-з-з-з-з- |
|
|