Реляционная модель данных. Ключи — различия между версиями
(→Требования к ключам) |
м (rollbackEdits.php mass rollback) |
||
(не показано 6 промежуточных версий 2 участников) | |||
Строка 54: | Строка 54: | ||
* В проекции на надключ нет повторяющихся кортежей. | * В проекции на надключ нет повторяющихся кортежей. | ||
}} | }} | ||
+ | Как следствия приходим к следующему определению надключа: | ||
+ | {{Определение | ||
+ | |definition = | ||
Надключ является '''идентификатором''' кортежа. | Надключ является '''идентификатором''' кортежа. | ||
+ | }} | ||
==== Пример ==== | ==== Пример ==== | ||
Строка 109: | Строка 113: | ||
Учитывая то, что у любого множества атрибутов отношения R существует надключ в виде множества всех атрибутов R, то ключ всегда можно найти, минимизировав этот надключ. | Учитывая то, что у любого множества атрибутов отношения R существует надключ в виде множества всех атрибутов R, то ключ всегда можно найти, минимизировав этот надключ. | ||
+ | Как следствия приходим к следующему определению: | ||
+ | {{Определение | ||
+ | |definition = | ||
Ключ является '''минимальным идентификатором''' кортежа. | Ключ является '''минимальным идентификатором''' кортежа. | ||
+ | }} | ||
Ключи для таблицы с паспортными данными: | Ключи для таблицы с паспортными данными: | ||
Строка 125: | Строка 133: | ||
==== Естественные и суррогатные ключи ==== | ==== Естественные и суррогатные ключи ==== | ||
− | + | Различия суррогатных и натуральных ключей (виды ключей <ref>[http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85#.D0.9A.D0.BB.D1.8E.D1.87.D0.B8 Виды ключей — Викиконспекты]</ref>): | |
* Натуральные – соответствуют бизнес-правилам, часто составные | * Натуральные – соответствуют бизнес-правилам, часто составные | ||
* Суррогатные – простые и эффективные | * Суррогатные – простые и эффективные |
Текущая версия на 19:34, 4 сентября 2022
Определение: |
Реляционная модель данных — это модель данных, построенная на логике первого порядка [1], где все данные представлены в виде кортежей, связанных отношениями. |
Содержание
Отношение
Определение и пример
Определение: |
Отношение — это кортеж с именем, состоящий из (Заголовок, Тело), где:
|
Заданное отношение соответствует тому, что мы называли расширением предиката [2] в логике первого порядка.
Пример отношения
{id: int, name: string} {{id: 10, name: Иванов}, {id: 20}}
Отношения и математика
Отношения и таблицы
Изоморфизму — нет, различиям — да!
Таблицы | Отношения |
---|---|
Столбцы – список | Атрибуты – множество |
Строки – элемент расширенного декартова произведения | Кортежи – элемент декартова произведения |
Таблица – список строк | Отношение – множество кортежей |
Ключи
Надключи
Определения
Определение: |
Пусть R — отношение. Будем говорить, что заданное множество атрибутов R обладает свойством уникальности, если в любой конкретный момент времени никакие два кортежа в R не являются дубликатами друг друга. |
По определению, множество всех атрибутов R обладает свойством уникальности.
Определение: |
Возьмем любое множество атрибутов отношения R, это множество является надключом для R тогда и только тогда, когда оно обладает одновременно двумя перечисленными ниже свойствами:
|
Как следствия приходим к следующему определению надключа:
Определение: |
Надключ является идентификатором кортежа. |
Пример
SId | PassS | PassNo | LastName | FirstName |
---|---|---|---|---|
1 | 0000 | 123456 | Иванов | Иван |
2 | 0001 | 098765 | Петров | Петр |
3 | 0001 | 654321 | Сидоров | Сидр |
4 | 0007 | 567890 | Плюшкин | Иван |
Сколько надключей в таблице с паспортными данными?
Очевидно, что
и сами по себя являются надключами. Тогда рассмотрим все возможные множества, которые содержат любой из этих надключ:- Все для :
- Все без для :
Итого:
Ключи
Определения
Определение: |
Ключ — минимальный по включению надключ. |
Учитывая то, что у любого множества атрибутов отношения R существует надключ в виде множества всех атрибутов R, то ключ всегда можно найти, минимизировав этот надключ.
Как следствия приходим к следующему определению:
Определение: |
Ключ является минимальным идентификатором кортежа. |
Ключи для таблицы с паспортными данными:
Требования к ключам
Определение: |
Пусть R — отношение. Будем говорить, что заданное множество атрибутов R обладает свойством неизменности, если в любой конкретный момент времени никакое строгое подмножество множества атрибутов не обладает свойством уникальности. |
Ключи должны удовлетворять следующим свойствам:
- Уникальность
- Неизменность
Естественные и суррогатные ключи
Различия суррогатных и натуральных ключей (виды ключей [3]):
- Натуральные – соответствуют бизнес-правилам, часто составные
- Суррогатные – простые и эффективные
Примечания
Литература
- Дейт К. : Введение в системы баз данных (Глава 9)
- Уидом Д., Ульман Д. : Основы реляционных баз данных (Глава 3)
- W.W. Armstrong : Dependency Structures of Data Base Relationships