Реляционная модель данных. Ключи — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Добавлены отличия таблиц от отношений.)
(Добавлены знания по отношениям.)
Строка 3: Строка 3:
 
'''Реляционная модель данных''' — это модель данных, тра-ля-ля логики первого порядка <ref>[https://en.wikipedia.org/wiki/First-order_logic First-order logic — Wikipedia]</ref>}}
 
'''Реляционная модель данных''' — это модель данных, тра-ля-ля логики первого порядка <ref>[https://en.wikipedia.org/wiki/First-order_logic First-order logic — Wikipedia]</ref>}}
  
== Основные понятия ==  
+
== Отношение ==  
=== Отношение ===
+
=== Определение и пример ===
=== Кортежи ===
+
{{Определение
=== Представление null'ов ===
+
|definition =
=== Отличия таблиц и отношений ===
+
'''Отношение''' — это кортеж с именем, состоящий из (Заголовок, Тело), где:
 +
* Заголовок отношения — описание данных, представляющее собой множество пар <code>{имя: тип}</code>,
 +
* Тело отношения — данные, представляющие собой множество множеств пар <code>{имя: значение}</code>.}}
 +
Заданное отношение соответствует тому, что называется расширением предиката<ref>[https://en.wikipedia.org/wiki/Extension_(predicate_logic) Extension (predicate logic) — Wikipedia]</ref> в логике первого порядка.
 +
 
 +
''' Пример отношения '''
 +
 
 +
'''{id: int, name: string}'''
 +
{{id: 10, name: Иванов},
 +
  {id: 20}}
 +
 
 +
=== Отношения и математика ===
 +
 
 +
<tex>
 +
R = (\{a_1:T_1,a_2:T_2,\dots,a_n:T_n\},\{\{a_1:v_1,a_2:v_2,\dots ,a_n:v_n\},\dots\}) \\
 +
R(a_1,a_2,\dots ,a_n)⊂T_1×T_2×\cdots×T_n \\
 +
\;\;(v_1,v_2,\dots ,v_n)∈T_1×T_2×\cdots×T_n</tex>
 +
 
 +
=== Отношения и таблицы ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Строка 18: Строка 36:
 
| Таблица – список строк || Отношение – множество кортежей
 
| Таблица – список строк || Отношение – множество кортежей
 
|}
 
|}
 
  
 
== Ключи ==
 
== Ключи ==

Версия 11:26, 29 декабря 2020

Определение:
Реляционная модель данных — это модель данных, тра-ля-ля логики первого порядка [1]


Отношение

Определение и пример

Определение:
Отношение — это кортеж с именем, состоящий из (Заголовок, Тело), где:
  • Заголовок отношения — описание данных, представляющее собой множество пар {имя: тип},
  • Тело отношения — данные, представляющие собой множество множеств пар {имя: значение}.

Заданное отношение соответствует тому, что называется расширением предиката[2] в логике первого порядка.

Пример отношения

{id: int, name: string}
{{id: 10, name: Иванов},
 {id: 20}}

Отношения и математика

[math]
 R = (\{a_1:T_1,a_2:T_2,\dots,a_n:T_n\},\{\{a_1:v_1,a_2:v_2,\dots ,a_n:v_n\},\dots\}) \\
 R(a_1,a_2,\dots ,a_n)⊂T_1×T_2×\cdots×T_n \\
 \;\;(v_1,v_2,\dots ,v_n)∈T_1×T_2×\cdots×T_n[/math]

Отношения и таблицы

Таблицы Отношения
Столбцы – список Атрибуты – множество
Строки – элемент расширенного декартова произведения Кортежи – элемент декартова произведения
Таблица – список строк Отношение – множество кортежей

Ключи

Надключи

Ключи

Требования к ключам

Естественные и суррогатные ключи

Выбор ключей

Примечания

Литература

  • Дейт К. : Введение в системы баз данных (Глава 9)
  • Уидом Д., Ульман Д. : Основы реляционных баз данных (Глава 3)
  • W.W. Armstrong : Dependency Structures of Data Base Relationships

Ссылки