Реляционная модель данных. Ключи — различия между версиями
(Добавлено определение реляционной модели.) |
(→Надключи) |
||
| Строка 40: | Строка 40: | ||
== Ключи == | == Ключи == | ||
=== Надключи === | === Надключи === | ||
| + | |||
| + | {{Определение | ||
| + | |definition = | ||
| + | Пусть R — отношение. Будем говорить, что заданное множество атрибутов R обладает свойством '''уникальности''', если в любой конкретный момент времени никакие два кортежа в R не являются дубликатами друг друга. | ||
| + | }} | ||
| + | По определению, множество всех атрибутов R обладает свойством '''уникальности'''. | ||
| + | {{Определение | ||
| + | |definition = | ||
| + | Возьмем любое множество атрибутов отношения R, это множество является '''надключом''' для R тогда и только тогда, когда оно обладает одновременно двумя перечисленными ниже свойствами: | ||
| + | * В отношении нет кортежей с одинаковыми значениями атрибутов. | ||
| + | * В проекции на надключ нет повторяющихся кортежей. | ||
| + | }} | ||
| + | |||
=== Ключи === | === Ключи === | ||
=== Требования к ключам === | === Требования к ключам === | ||
Версия 12:28, 29 декабря 2020
| Определение: |
| Реляционная модель данных — это модель данных, построенная на логике первого порядка [1], где все данные представлены в виде кортежей, связанных отношениями. |
Содержание
Отношение
Определение и пример
| Определение: |
Отношение — это кортеж с именем, состоящий из (Заголовок, Тело), где:
|
Заданное отношение соответствует тому, что мы называли расширением предиката[2] в логике первого порядка.
Пример отношения
{id: int, name: string}
{{id: 10, name: Иванов},
{id: 20}}
Отношения и математика
Отношения и таблицы
Изоморфизму — нет, различиям — да!
| Таблицы | Отношения |
|---|---|
| Столбцы – список | Атрибуты – множество |
| Строки – элемент расширенного декартова произведения | Кортежи – элемент декартова произведения |
| Таблица – список строк | Отношение – множество кортежей |
Ключи
Надключи
| Определение: |
| Пусть R — отношение. Будем говорить, что заданное множество атрибутов R обладает свойством уникальности, если в любой конкретный момент времени никакие два кортежа в R не являются дубликатами друг друга. |
По определению, множество всех атрибутов R обладает свойством уникальности.
| Определение: |
Возьмем любое множество атрибутов отношения R, это множество является надключом для R тогда и только тогда, когда оно обладает одновременно двумя перечисленными ниже свойствами:
|
Ключи
Требования к ключам
Естественные и суррогатные ключи
Выбор ключей
Примечания
Литература
- Дейт К. : Введение в системы баз данных (Глава 9)
- Уидом Д., Ульман Д. : Основы реляционных баз данных (Глава 3)
- W.W. Armstrong : Dependency Structures of Data Base Relationships