Нормальные формы


Глава 2. Реляционная модель данных



жүктеу 4,63 Mb.
бет10/72
Дата11.02.2023
өлшемі4,63 Mb.
#41261
түріУчебное пособие
1   ...   6   7   8   9   10   11   12   13   ...   72
Копия Теория баз данных

Глава 2. Реляционная модель данных


2.1 Элементы реляционной модели данных
Реляционная модель данных (РМД) некоторой предметной области представля­ет собой набор отношений, изменяющихся во времени. При создании информацион­ной системы совокупность отношений позволяет хранить данные об объектах пред­метной области и моделировать связи между ними. Элементы РМД и формы их пред­ставления приведены в табл. 2.1.
Таблица 2.1 Элементы реляционной модели



Элемент реляционной модели

Форма представления

Отношение

Таблица

Схема отношения

Строка заголовков столбцов таблицы (заголовок таблицы)

Кортеж

Строка таблицы

Сущность

Описание свойств объекта

Атрибут

Заголовок столбца таблицы

Домен

Множество допустимых значений атрибута

Значение атрибута

Значение поля в записи

Первичный ключ

Один или несколько атрибутов

Тип данных

Тип значений элементов таблицы

Отношение является важнейшим понятием и представляет собой двумерную таб­лицу, содержащую некоторые данные.
Сущность есть объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении.
Атрибуты представляют собой свойства, характеризующие сущность. В структу­ре таблицы каждый атрибут именуется и ему соответствует заголовок некоторого стол­бца таблицы.
На рис. 2.1 приведен пример представления отношения СОТРУДНИК.



Значение атрибута (значение поля в записи)
Рис. 2.1. Представление отношения СОТРУДНИК
В общем случае порядок кортежей в отношении, как и в любом множестве, не опреде­лен. Однако в реляционных СУБД для удобства кортежи все же упорядочивают. Чаще всего для этого выбирают некоторый атрибут, по которому система автоматически сорти­рует кортежи по возрастанию или убыванию. Если пользователь не назначает атрибута упорядочения, система автоматически присваивает номер кортежам в порядке их ввода. Формально, если переставить атрибуты в отношении, то получается новое отно­шение. Однако в реляционных БД перестановка атрибутов не приводит к образова­нию нового отношения.
Домен представляет собой множество всех возможных значений определенного атрибута отношения. Отношение СОТРУДНИК включает 4 домена. Домен 1 содер­жит фамилии всех сотрудников, домен 2 — номера всех отделов фирмы, домен 3 — названия всех должностей, домен 4 — даты рождения всех сотрудников. Каждый до­мен образует значения одного типа данных, например, числовые или символьные.
Отношение СОТРУДНИК содержит 3 кортежа. Кортеж рассматриваемого отно­шения состоит из 4-х элементов, каждый из которых выбирается из соответствующе­го домена. Каждому кортежу соответствует строка таблицы (рис. 2.1).
Схема отношения (заголовок отношения) представляет собой список имен ат­рибутов. Например, для приведенного примера схема отношения имеет вид СОТРУДНИК(ФИО, Отдел, Должность, Д_Рождения). Множество собственно кортежей от­ношения часто называют содержимым (телом) отношения.
Первичным ключом (ключом отношения, ключевым атрибутом) называется атрибут отношения, однозначно идентифицирующий каждый из его кортежей. На­пример, в отношении СОТРУДНИК(ФИО, Отдел, Должность, Д_Рождения) клю­чевым является атрибут "ФИО". Ключ может быть составным (сложным), т. е. со­стоять из нескольких атрибутов.
Каждое отношение обязательно имеет комбинацию атрибутов, которая может слу­жить ключом. Ее существование гарантируется тем, что отношение - это множество, которое не содержит одинаковых элементов - кортежей. Т. е. в отношении нет повто­ряющихся кортежей, а это значит, что по крайней мере вся совокупность атрибутов обладает свойством однозначной идентификации кортежей отношения. Во многих СУБД допускается создавать отношения, не определяя ключи.
Возможны случаи, когда отношение имеет несколько комбинаций атрибутов, каж­дая из которых однозначно определяет все кортежи отношения. Все эти комбинации атрибутов являются возможными ключами отношения. Любой из возможных клю­чей может быть выбран как первичный. Если выбранный первичный ключ состоит из минимально необходимого набора атрибутов, говорят, что он является не избыточным.
Ключи обычно используют для достижения следующих целей:

  1. исключения дублирования значений в ключевых атрибутах (остальные атри­буты в расчет не принимаются);

  2. упорядочения кортежей. Возможно упорядочение по возрастанию или убыванию значений всех ключевых атрибутов, а также смешанное упорядочение (по одним — возрастание, а по другим — убывание);

  3. ускорения работы к кортежами отношения;

  4. организации связывания таблиц.

Пусть в отношении R1 имеется не ключевой атрибут А, значения которого являют­ся значениями ключевого атрибута В другого отношения R2. Тогда говорят, что атри­бут А отношения R1 есть внешний ключ.




Рис. 2.2. Связь отношений

С помощью внешних ключей устанавливаются связи между отношениями. На­пример, имеются два отношения СТУДЕНТ(ФИО, Группа, Специальность) и ПРЕДМЕТ(Назв.Пр, Часы), которые связаны отношением


СТУДЕНТ_ПРЕДМЕТ(ФИО, Назв.Пр, Оценка) (рис. 2.2). В связующем отношении атрибуты ФИО и Назв.Пр образуют составной ключ. Эти атрибуты представляют собой внешние ключи, являю­щиеся первичными ключами других отношений.
Реляционная модель накладывает на внешние ключи ограничение для обеспечения целостности данных, называемое ссылочной целостностью. Это означает, что каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях. Поскольку не всякой таблице можно поставить в соответствие отношение, приве­дем условия, выполнение которых позволяет таблицу считать отношением.

  1. Все строки таблицы должны быть уникальны, т. е. не может быть строк с одинаковыми первичными ключами.

  2. Имена столбцов таблицы должны быть различны, а значения их простыми, т. е.недопустима группа значений в одном столбце одной строки.

З.Все строки одной таблицы должны иметь одну структуру, соответствующую именам и типам столбцов.
4. Порядок размещения строк в таблице может быть произвольным.
Наиболее часто таблица с отношением размещается в отдельном файле.
В некото­рых СУБД одна отдельная таблица (отношение) считается базой данных. В других СУБД база данных может содержать несколько таблиц. В общем случае можно считать, что БД включает одну или несколько таблиц, объе­диненных смысловым содержанием, а также процедурами контроля целостности и обработки информации в интересах решения некоторой прикладной задачи. Напри­мер, при использовании СУБД Microsoft SQL Server в файле БД наряду с таблицами хра­нятся и другие объекты базы: диаграммы, представления, хранимые процедуры, функции.
К отношениям можно применять систему операций, позволяющую получать одни отношения из других. Например, результатом запроса к реляционной БД может быть новое отношение, вычисленное на основе имеющихся отношений. Поэтому можно разделить обрабатываемые данные на хранимую и вычисляемую части. Основной единицей обработки данных в реляционных БД является отношение, а не отдельные его кортежи (записи).

жүктеу 4,63 Mb.

Достарыңызбен бөлісу:
1   ...   6   7   8   9   10   11   12   13   ...   72




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау