Лекция 2


НазваниеЛекция 2
страница5/11
ТипЛекция
filling-form.ru > бланк строгой отчетности > Лекция
1   2   3   4   5   6   7   8   9   10   11

Реляционная модель данных

Основные определения из теории множеств.


Множество – совокупность некоторых объектов, которые называются элементами множества.

Элемент множества не может быть включен во множество несколько раз. Он либо принадлежит множеству, либо не принадлежит.

Задавая некоторое множество, мы определяем, какие элементы в него входят, но не определяем порядок этих элементов.

Кортеж длины n – упорядоченная последовательность из n элементов x1, x2, …, xn. Обозначается <x1, x2, …, xn >.

Декартовым (прямым) произведением множеств А1, А2, …, Аn называется множество , обозначаемое через A1×A2×…×An или .

n-местным отношением на множествах А1, А2, …, Аn называется любое подмножество декартова произведения A1×A2×…×An.

Элементы x1, x2, …, xn (где ) связаны отношением P тогда и только тогда, когда .

Пример: множество A={a, b, c} и множество B={1, 2}. A×B = {{a, 1}, {a, 2}, {b, 1}, {b, 2}, {c, 1}, {c, 2}}. Пример отношения на множествах A и B: {{a, 2}, {b, 1}, {b, 2}}.

Пример: есть множество телефонных номеров (ТН), множество фамилий (Ф), множество имен (И), множество дат (Д), множество номеров паспортов (ПН).

На декартовом произведении И×Ф×ПН×Д можно задать отношение:

{{Иван, Петров, 6912 789568, 01.01.1985}, -- видим, что задан порядок, т.е. это кортеж

{Петр, Иванов, 7112 789568, 02.03.1985},

{Елена, Кузнецова, 7012 789568, 03.02.1985},

{Ирина, Семёнова, 6822 789568, 01.01.1985}}

Запись в виде A1×A2×…×An задает порядок следования множеств в ДП, что позволяет различать в элементах отношения какой элемент внутри кортежа из какого множества был взят.

Из этого примера видно, что через мат. аппарат отношений можно формально описать данные о некоторых сущностях предметной области. Например, И×Ф×ПН×Д выражает множество всех возможных сотрудников предприятия, каждое из множеств-членов произведения выражает множество возможных значений атрибутов сущности, а каждый элемент или кортеж отношения задает значение конкретного экземпляра сущности.

Определения, данные в реляционной модели


Однако, возможности теории множеств оказались довольно скудны, и в реляционной теории были дополнены новыми понятиями, а существующие понятия были переопределены.

Начнем с определения типа данных или домена.

Домен – множество всех возможных значений, которые может принимать некоторый атрибут.

В нашем примере каждое из множеств, входящих в ДП, можно назвать доменом. Иногда домены также называют типами. В реляционной теории домен и тип – одно и то же, и чаще используется термин домен. Иногда под типами понимают более общие множества, например, целое или строка. Например, можно определить домен «адрес электронной почты». Несмотря на то, что адрес выражается в виде строки, не каждая строка является адресом. Многие СУБД позволяют задавать свои домены, а многие – указывать только базовый тип, но это не имеет отношения к реляционной теории.

Теперь вернемся к отношениям.

Определение кортежа и отношения из теории множеств не очень-то удобно для использования в области БД. Во-первых, в отношении нет информации об имени атрибута. Даже если мы знаем домен (например, телефонный номер), то как мы отличим мобильный номер телефона от рабочего? Оба они принадлежат одному домену.

Во-вторых, само отношение не несет информации о том, к каким доменам принадлежат элементы кортежей. Это становится известно только если непосредственно указано подмножеством какого ДП является отношение.

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

Поэтому определения кортежа и отношения в реляционной теории немного другие. Приведём формулировки, данные Кристофером Дейтом. В различной литературе можно встретить и другие определения (в том числе, данные Коддом). Однако, терминология Дейта представляется достаточно ясной и непротиворечивой.

Если дана коллекция типов (доменов) Ti (i = 1, 2, …, n), которые не обязательно все должны быть разными, то кортежем t, определенным с помощью этих типов, является множество упорядоченных троек в форме , где Ai – имя атрибута, Ti – имя домена, vi – значение, принадлежащее домену Ti.

n – это степень или арность кортежа. Кортеж степени n называют n-арным или n-элементным.

Упорядоченная тройка - компонент кортежа.

Упорядоченная пара - атрибут кортежа, и однозначно определяется именем атрибута Ai (разные компоненты в одном кортеже не могут иметь одинаковое имя атрибута).

vi – значение атрибута.

Множество атрибутов составляет заголовок кортежа или тип кортежа.

Кортежи t1 и t2 являются равными тогда и только тогда, когда они имеют одинаковые атрибуты А1, А2, …, Аn и для всех i (i = 1, 2, …, n) и значение v1 атрибута Ai в кортеже t1 равно значению v2 атрибута Ai в кортеже t2.

Если t1 = t2, то t1 и t2 называются дубликатами по отношению друг к другу.

К кортежам неприменимы операции сравнения < и >. Т.е. они не упорядочиваются.

Пример кортежа.

Имя сотрудника: Имя

Фамилия сотрудника: Фамилия

Номер паспорта сотрудника: Номер паспорта

Дата рождения: Дата

Елена

Кузнецова

7012 789568

03.02.1985

Свойства кортежей

  • Каждый кортеж содержит точно одно значение для каждого из своих атрибутов.

  • Значение атрибута кортежа не может быть пустым.

  • Компоненты кортежа не упорядочены (пояснить, что это следует из определения), в отличие от аналога из ТМ.

  • Подмножество кортежа является кортежем, а подмножество заголовка является заголовком.

Отношение (значение отношения) r состоит из заголовка и тела, которые соответствуют следующим определениям.

Заголовок отношения (схема отношения или тип отношения) r представляет собой заголовок кортежа, определение которого дано в определении кортежа. Атрибутами отношения называют атрибуты его заголовка, и, соответственно, степенью отношения называется степень его заголовка.

Тело отношения r представляет собой множество кортежей, имеющих один и тот же заголовок, совпадающий с заголовком отношения. Кардинальность отношения r определяется как кардинальность этого множества (т.е. количество кортежей).

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

Имя сотрудника: Имя

Фамилия сотрудника: Фамилия

Номер паспорта сотрудника: Номер паспорта

Дата рождения: Дата

Елена

Кузнецова

7012 789568

03.02.1985

Иван

Петров

6912 789568

01.01.1985

Петр

Иванов

7112 789568

02.03.1985

Ирина

Семёнова

6822 789568

01.01.1985

Свойства отношений:

  1. Каждый кортеж содержит точно одно значение соответствующего типа для каждого атрибута.

  2. Атрибуты не характеризуются упорядочиванием (например, слева направо).

  3. Кортежи не характеризуются упорядочиванием (например, сверху вниз).

  4. В отношении отсутствуют дубликаты кортежей.

  5. Даже если отношение не содержит кортежей, у него есть заголовок.

Лекция 7

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


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

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

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

Различать значения отношений и переменные отношений так же важно, как понимать разницу между переменной и её значением. К сожалению, в литературе ОЧЕНЬ часто отношение и переменную отношения обозначают одним термином. Из-за этого возникает непонимание при разборе более сложных понятий, использование плохой терминологии неизбежно приводит к противоречиям.

Реляционная база данных — это такая база данных, которая воспринимается ее пользователями как множество переменных отношения, неформально называемых таблицами.

Ограничения целостности.


Неформально выражаясь, ограничение целостности – это логическое выражение, связанное с некоторой БД, результатом вычисления которого всегда должно быть истинное значение. Если какая-либо операция приводит к тому, что это выражение принимает ложное значение, эта операция не должна быть применена, а состояние БД должно остаться таким, каким оно было до применения операции.

Ограничением базы данных называется ограничение на значения, которые разрешено принимать указанной базе данных.

Ограничением переменной отношения называется ограничение на значения, которые разрешено принимать указанной переменной отношения.

Ограничением атрибута называется ограничение на значения, которые разрешено принимать указанному атрибуту. В некотором смысле, это тоже можно считать спецификацией домена. (Пример с корпоративной почтой.)

Ограничение типа представляет собой не что иное, как определение множества значений, из которых состоит данный тип. Т.е., это способ спецификации домена.

Ключи

Одним из важнейших понятий в реляционной модели является понятие ключей.

Потенциальный ключ

Допустим, что к — множество атрибутов переменной отношения R. В таком случае к является потенциальным ключом для R тогда и только тогда, когда оно обладает одновременно двумя перечисленными ниже свойствами.

а) Уникальность. Ни одно допустимое значение R никогда не содержит два разных кортежа с одним и тем же значением к.

б) Несократимость. Никакое строгое подмножество к не обладает свойством уникальности.

Каждая переменная отношения имеет, по меньшей мере, один потенциальный ключ (поскольку множество всех атрибутов отношения R обладает свойством уникальности; это означает, что в любой конкретный момент времени никакие два кортежа в значении R не являются дубликатами друг друга.)

Ключ может быть простой (состоит из одного атрибута) и составной (состоит из нескольких атрибутов).

Потенциальные ключи в реляционной модели предоставляют основной механизм адресации на уровне кортежей. Зная значение потенциального ключа, мы можем найти кортеж в отношении, и если он в отношении присутствует, то гарантированно в единственном экземпляре.

Любое надмножество потенциального ключа будет обладать свойством уникальности. Такое надмножество называется суперключом (СК). СК обладает свойством уникальности, но необязательно обладает свойством несократимости. Потенциальный ключ – частный случай суперключа.

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

Выбор первичного ключа (ПК) определяется удобством работы с БД, но этот аспект выходит за рамки реляционной модели. С точки зрения РМ, выбор ПК является произвольным.

Понятия потенциального ключа, ПК, АК аналогичны таким же понятиям из ER-модели.

Внешние ключи

Если бы мы писали программу, то для связывания двух экземпляров сущности использовали что-то типа указателей. В РМД указателей нет, т.к. нет адресов. Однако в качестве ссылки можно использовать значение потенциального ключа.

Для этого в сущность, которая мы хотим, чтобы ссылалась на другую сущность, добавляется дополнительный атрибут, в котором хранится значение соответствующего ПК связываемой сущности. Этот атрибут (или множество атрибутов, если ключ составной) и называют внешним ключом.

Пример. Группы – Студенты.

В принципе, просто добавив соответствующий атрибут, мы уже можем сохранить в БД информацию о том, какую зарплату в какое время получал сотрудник. Но внешний ключ – это не просто атрибут. Это – ограничение целостности. СУБД следит за тем, чтобы значения внешнего ключа всегда соответствовали значениям ПК другой сущности. Мы не сможем указать номер несуществующей группы. Также мы не сможем удалить группу из переменной отношения, если есть студенты, относящиеся к этой группе, потому что иначе у нас бы остались студенты, ВК у которых указывал бы на несуществующую группу. Это ограничение также называется ограничением ссылочной целостности (referential integrity), а задача обеспечения того, чтобы БД не включала недопустимых значений ВК, называется задачей поддержки ссылочной целостности.

Поэтому при указании внешнего ключа обязательно надо указать сущность и ПК, на который ссылается ВК. На диаграммах это обычно обозначается стрелкой от ВК к ПК. Переменная отношения с ПК иногда обозначается, как Parent, Master или Главная, а с ВК – как Child, Detail или Подчинённая соответственно.

Более формально это можно описать следующим образом.

Допустим, что R2 — переменная отношения. В таком случае внешним ключом в R2 является множество атрибутов R2, скажем, FK, такое, что выполняются следующие требования:

а) существует переменная отношения R1 (R1 и R2 не обязательно должны быть разными) с потенциальным ключом CK;

б) существует взаимнооднозначное соответствие между атрибутами FK и атрибутами CK, такое что атрибут A2i из FK определен на том же домене, что и соответсвующий атрибут A1i из CK

в) в любое время каждое значение атрибута A2i из FK в значении R2 идентично значению атрибута A1i из СК в некотором кортеже в текущем значении R1.

Показать все на примере Студент – Группа с составным ключом.

Достаточно очевидно, что связь через внешний ключ реализует тип связи «один ко многим», где переменная отношения с ВК находится на стороне «многие». Кардинальность на стороне «многие» является 0..М, в данном случае это означает, что в БД может быть информация о группах, в которых нет ни одного студента.

Связь «один к одному» можно реализовать объединением связываемых переменных отношения в одну, либо сделав ВК потенциальным ключом.

Связь «многие ко многим» реализуется через промежуточную переменную отношения (пример «Автор – Книга»).

Если сущность является слабой (зависимой), то в соответствующей ей переменной отношения ВК будет частью ПК (пример «Автор – Книга»).

Допускается связь по внешнему ключу переменной сущности самой на себя (пример).
1   2   3   4   5   6   7   8   9   10   11

Похожие:

Лекция 2 iconЛекция №17 77 Синдром воспаления 77 Лекция №18 80 Синдром воспаления...
Хирургический метод лечения имеет большое значение в клинической медицине. Одну четверть заболеваний составляют хирургические болезни....

Лекция 2 iconЛекция религии современных неписьменных народов: человек и его мир...
Редактор Т. Липкина Художник Л. Чинёное Корректор Г. Казакова Компьютерная верстка М. Егоровой

Лекция 2 icon2. Лекция: "Общие критерии", часть Основные идеи 8
Лекция: Обзор наиболее важных стандартов и спецификаций в области информационной безопасности 3

Лекция 2 iconЛекция Автоматическое и автоматизированное управление. 5
Лекция Основные требования к scada-системам и их возможности. Аппаратные и программные средства scada-систем 17

Лекция 2 iconЛекция к вопросу о трудностях перевода при обучении студентов немецкому...
Цель: ознакомить со спецификой перевода текстов по специальности на немецком языке, дать характеристику трудностей, возникающих при...

Лекция 2 iconЛекция №5 Налогообложение общественных организаций инвалидов (часть...
Жением. В связи с этим, пятая лекция будет посвящена также вопросам налогового законодательства: налог на прибыль, налог на имущество,...

Лекция 2 iconЛекция №1 Открытые данные: введение Часть 1 Иван Бегтин я вначале...
Надеюсь, для последующих лекций нам удастся найти зал побольше. А некоторые лекции мы хотим вообще сделать публичными, чтобы на них...

Лекция 2 iconЛекция 10. Международное сотрудничество в ОРД лекция 11. Проблемы...
Спецкурс «Актуальные вопросы оперативно-розыскной деятельности» как открытая учебная дисциплина представляет устоявшуюся систему...

Лекция 2 iconЛекция №15. Тема: «Проложение хода технического нивелирования и ведение полевого журнала»
Лекция №15. Тема: «Проложение хода технического нивелирования и ведение полевого журнала». Учебник В. Д. Киселёв, Д. Ш. Михелёв....

Лекция 2 iconЛекция I 10

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск