|
Программирование >> Исключение дубликатов строк
Ключи Ключи являются специальными полями, которые играют совершенно особую роль в таблице. Тип ключа определяется его предназначением. Хотя таблица может содержать несколько типов ключей, наше обсуждение ограничится двумя наиболее важными: первичным ключом и внешним ключом. Первичный ключ - это поле (или группа полей), которое уникальным образом идентифицирует каждую запись в таблице. Когда первичный ключ состоит из двух или более полей, он называется составным первичным ключом. Первичный ключ является наиболее важным из всех по двум причинам: его значение идентифицирует конкретную запись из всей базы данных, а его поле идентифицирует указанную таблицу во всей базе данных. Первичные ключи также обеспечивают целостность на уровне таблиц и помогают установить связи с другими таблицами. Каждая таблица в базе данных должна иметь первичный ключ. Agents вичныи ключ Первичный ключ Внешний ключ Рис. 1.3. Первичный и внешний ключи
Поле AgentlD на рис. 1.3 является хорошим примером первичного ключа, потому что оно уникальным образом идентифицирует каждого агента в таблице Agents и помогает обеспечить целостность на уровне таблицы, гарантируя отсутствие дуб-лируюш,их записей. Оно также используется для установления связей между таблицей Agents и другими таблицами в базе данных, например таблицей Entertainers, показанной в примере. При установлении связи двух таблиц друг с другом обычно берут копию первичного ключа из первой таблицы и вставляют ее во вторую таблицу, где она становится внешним ключом. (Поскольку во второй таблице уже имеется собственный первичный ключ, то первичный ключ, вносимый из первой таблицы, будет внешним для второй таблицы.) На рис. 1.3 приведен пример внешнего ключа, в котором AgentID является первичным ключом таблицы Agents и внешним ключом в таблице Entertainers. Как можно видеть, в таблице Entertainers уже имеется первичный ключ - EntertainerlD. В этом взаимоотношении AgentID является полем, устанавливаюш,им связь между Agents и Entertainers. Внешний ключ важен не только потому, что он помогает установить связь между двумя таблицами, но он также обеспечивает целостность на уровне связей (т. н. ссылочную целостность) базы данных. Это означает, что записи в обеих таблицах всегда будут правильно связаны, потому что значения внешнего ключа долоюны быть скопированы из значений первичного ключа, на который он ссылается. Внешние ключи также помогают избежать опасных висяш,их в воздухе записей , классическим примером которых является запись заказа, не связанная с клиентом. Если не известно, кто сделал заказ, то его невозможно обработать и, что очевидно, выставить счет. Это вызовет спад квартальных продаж! ПредстоАлениА Представление является виртуальной таблицей, которая составлена из полей одной или нескольких таблиц базы данных. Таблицы, из которых составляют представление, называются базовыми. В реляционной модели представление считается виртуальной таблицей, поскольку оно извлекает данные из базовых таблиц, а не хранит все данные в себе. На самом деле единственной информацией о представлении, которая сохраняется в базе данных, является ее структура. Представления позволяют рассматривать информацию в базе данных с различных точек зрения, обеспечивая тем самым большую гибкость в работе с данными. Представление можно создать разными способами. Они особенно полезны, когда основываются на нескольких связанных таблицах. Например, можно создать представление, которое суммирует такую информацию, как обш,ее количество часов, отработанное кавдым столяром в пределах деловой части Эль-Пасо. Или можно создать представление, которая группирует данные по конкретным полям. Представление такого типа отображает обш.ее количество служащ,их в каждом городе в пределах каждого штата указанного ряда регионов. Пример типичного представления показан на рис. 1.4. Во многих СУРБД представление обычно реализовано в виде хранимого запроса или, более кратко, запроса. В большинстве случаев запрос имеет все характеристики представления, а его единственное отличие состоит в том, что на него ссылаются по другому имени. Важно отметить, что некоторые поставщ,ики начинают называть запрос его настояш,им именем. Независимо от того, как он называется в ваших СУРБД, вы, несомненно, будете использовать представления в своей базе данных. Customers Y ~ Customer Engagements (Предсювлвние)
Рис. 1.4. Пример представления
Связи Если записи указанной таблицы могут быть связаны некоторым образом с записями в другой таблице, то говорят, что между таблицами имеется связь. Способ установления этой связи зависит от типа связи. Между двумя таблицами может существовать три типа связей: один-к-одному, один-ко-многим, многие-ко-многим. Уяснение связей является решающим для понимания работы производных таблиц, а также проектирования и использования многотабличных запросов SQL (подробнее см. в части III). Свпзь один-к-одному Пара таблиц связана отношением один-к-одному, если одна запись в первой таблице связана только с одной записью во второй таблице, а одна запись во второй таблице связана только с одной записью в первой таблице. В таком типе связи одна таблица называется первичной, а другая - вторичной. При связывании берется первичный ключ из первичной таблицы и вставляется во вторичную таблицу.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |