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

Материал из Викиконспекты
Перейти к: навигация, поиск
(Исправлены маленькие неточности.)
(Надключи)
Строка 49: Строка 49:
 
|definition =  
 
|definition =  
 
Возьмем любое множество атрибутов отношения R, это множество является '''надключом''' для R тогда и только тогда, когда оно обладает одновременно двумя перечисленными ниже свойствами:
 
Возьмем любое множество атрибутов отношения R, это множество является '''надключом''' для R тогда и только тогда, когда оно обладает одновременно двумя перечисленными ниже свойствами:
* В отношении нет кортежей с одинаковыми значениями атрибутов.
+
* Обладает свойством уникальности.
 
* В проекции на надключ нет повторяющихся кортежей.
 
* В проекции на надключ нет повторяющихся кортежей.
 
}}
 
}}
 +
 
=== Ключи ===
 
=== Ключи ===
 
=== Требования к ключам ===
 
=== Требования к ключам ===

Версия 12:32, 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]

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

Изоморфизму — нет, различиям — да!

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

Ключи

Надключи

Определение:
Пусть R — отношение. Будем говорить, что заданное множество атрибутов R обладает свойством уникальности, если в любой конкретный момент времени никакие два кортежа в R не являются дубликатами друг друга.

По определению, множество всех атрибутов R обладает свойством уникальности.

Определение:
Возьмем любое множество атрибутов отношения R, это множество является надключом для R тогда и только тогда, когда оно обладает одновременно двумя перечисленными ниже свойствами:
  • Обладает свойством уникальности.
  • В проекции на надключ нет повторяющихся кортежей.


Ключи

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

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

Выбор ключей

Примечания

Литература

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

Ссылки