Реляционная модель данных. Ключи — различия между версиями
|  (Добавлены знания по отношениям.) |  (Добавлено определение реляционной модели.) | ||
| Строка 1: | Строка 1: | ||
| {{Определение | {{Определение | ||
| |definition = | |definition = | ||
| − | '''Реляционная модель данных''' — это модель данных,  | + | '''Реляционная модель данных''' — это модель данных, построенная на логике первого порядка <ref>[https://en.wikipedia.org/wiki/First-order_logic First-order logic — Wikipedia]</ref>, где все данные представлены в виде кортежей, связанных отношениями.}} | 
| == Отношение ==   | == Отношение ==   | ||
| Строка 10: | Строка 10: | ||
| * Заголовок отношения — описание данных, представляющее собой множество пар <code>{имя: тип}</code>, | * Заголовок отношения — описание данных, представляющее собой множество пар <code>{имя: тип}</code>, | ||
| * Тело отношения — данные, представляющие собой множество множеств пар <code>{имя: значение}</code>.}} | * Тело отношения — данные, представляющие собой множество множеств пар <code>{имя: значение}</code>.}} | ||
| − | Заданное отношение соответствует тому, что  | + | Заданное отношение соответствует тому, что мы называли расширением предиката<ref>[https://en.wikipedia.org/wiki/Extension_(predicate_logic) Extension (predicate logic) — Wikipedia]</ref> в логике первого порядка. | 
| ''' Пример отношения ''' | ''' Пример отношения ''' | ||
| Строка 26: | Строка 26: | ||
| === Отношения и таблицы === | === Отношения и таблицы === | ||
| + | Изоморфизму — нет, различиям — да! | ||
| {| class="wikitable" | {| class="wikitable" | ||
| |- | |- | ||
Версия 11:51, 29 декабря 2020
| Определение: | 
| Реляционная модель данных — это модель данных, построенная на логике первого порядка [1], где все данные представлены в виде кортежей, связанных отношениями. | 
Содержание
Отношение
Определение и пример
| Определение: | 
| Отношение — это кортеж с именем, состоящий из (Заголовок, Тело), где: 
 | 
Заданное отношение соответствует тому, что мы называли расширением предиката[2] в логике первого порядка.
Пример отношения
{id: int, name: string}
{{id: 10, name: Иванов},
 {id: 20}}
Отношения и математика
Отношения и таблицы
Изоморфизму — нет, различиям — да!
| Таблицы | Отношения | 
|---|---|
| Столбцы – список | Атрибуты – множество | 
| Строки – элемент расширенного декартова произведения | Кортежи – элемент декартова произведения | 
| Таблица – список строк | Отношение – множество кортежей | 
Ключи
Надключи
Ключи
Требования к ключам
Естественные и суррогатные ключи
Выбор ключей
Примечания
Литература
- Дейт К. : Введение в системы баз данных (Глава 9)
- Уидом Д., Ульман Д. : Основы реляционных баз данных (Глава 3)
- W.W. Armstrong : Dependency Structures of Data Base Relationships
