Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД_экз.docx
Скачиваний:
11
Добавлен:
24.09.2019
Размер:
837.07 Кб
Скачать

8.Рмд. Ключи и связи. Ссылочная целостность

Реляционная модель данных – была предложена Коддом в 1969г.*Реляционная база данных – представляет собой хранилище данных, содержащее набор 2-мерных таблиц. Набор средств для управления подобным хранилищем называется реляционной системой управления базами данных РСУБД.

В состав входят:1)Утилиты 2)Приложения 3)Сервисы 4)Библиотеки 5)Средства создания приложений и др.

Любая таблица БД состоит из строк (записей) и столбцов (полей). Записи содержат сведения о представленных в таблице фактах – об однотипных объектах.

На пересечении столбцов и строк находятся конкретные значения содержащихся в таблице данных, которые должны удовлетворять требованиям:

1)Каждое значение, содержащееся на пересечении полей и записей должно быть атомарным (неразделимым на несколько значений)

2)Значения данных в одном и том же поле должны принадлежать одному и тому же типу информации, доступному для использования в данной СУБД

3)Каждая запись в таблице уникальна 4)Каждое поле имеет уникальное имя 5)Последовательность полей несущественна 6)Записи внутри таблицы неупорядочены

7) Последовательность записей несущественна 8)Любая СУБД предоставляет средства для сортировки записей 9)Обращение к полям производится по имени

Customers

*CustomersID о->

CompanyName

City

Country

Orders

*CustomerID

OrderId

OrderDate

Freight

ShipAddres


Поскольку записи в таблице неупорядочены, как правило, требуется1 или несколько полей для уникальной идентификации каждой записи – такое поле (поля) называется первичным ключом (PK)

PK любой таблицы обязан содержать уникальные, непустые значения для каждой записи.

*Если PK состоит больше, чем из 1 поля, он называется составным первичным ключом.

Как правил, любая СУБД состоит из нескольких связанных таблиц.

*Поле, указывающее на запись в другой таблице, связанной с данной записью, называется внешним ключом.

Поле/набор полей, чьи значения совпадают с имеющимся значением PK другой таблицы – такое взаимоотношении между таблицами называется связью.

Связь между таблицами устанавливается путём присваивания значений внешнего ключа одной таблицы значениям первичного ключа другой таблицы.

*Если каждый клиент в таблице customer может разместить только 1 заказ, то говорят, что эти 2 таблицы связаны соотношением 1:1.

*Если каждый клиент в таблице customer может разместить 0,1 или много заказов, то эти 2 таблицы связаны соотношением 1: многим или соотношением master-detail.

*Если группе записей из таблицы А соответствует множество записей из таблицы В, то такое соотношение называется многие ко многим(many-to-many)

Наиболее часто используется (many-to-many).

* Таблица, содержащая внешний ключ называется detail-таблицей.

*Таблица, содержащая PK, определяющий возможные значения внешних ключей называется master-таблицей.

*Группа связанных таблиц называется схемой БД.

*Информация о таблицах, полях, первичных и внешних ключах, а так же иных объектах БД называется метаданными.

*Любые операции с данными в БД (выбор, вставка, удаление, обновление, изменение, выбор метаданных) называется запросом к БД (query). Обычно запросы формируются на к-либо языке (зависит от СУБД).

Ссылочная целостность

– формируется в виде правил, которые выполняют современные СУБД:

1) Первичный ключ любой таблицы должен содержать непустые, уникальные значения для данной таблицы. Если СУБД контролирует уникальность PK, то при попытке присвоить PK значение, уже имеющееся в другой записи СУБД генерирует сообщение об ошибке, которое может быть передано в приложение, с помощью которого пользователь манипулирует с данными.

2) Для таблицы one-to-many:

Внешний ключ detail-таблицы должен содержать только те значения, которые имеются среди значений первичного ключа master-таблицы.

Если корректность значений вн-х ключей не контролируется СУБД, то говорят, о нарушении ссылочной целостности, в противном случае, при попытке присвоить вн-му ключу значение, отсутствующее среди значений первичных ключей master-таблицы, либо при удалении/модификации записей master-таблицы, приводящих к нарушению ссылочной целостности, СУБД сгенерирует диагностическое сообщение , которое передаётся в клиентское приложение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]