Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект по БД.doc
Скачиваний:
2
Добавлен:
25.09.2019
Размер:
517.12 Кб
Скачать

Реляционное исчисление кортежей

Реляционное исчисление кортежей состоит в отыскании таких кортежей, для которых предикат является истинным.

Например: staff – отношение работник.

Staff (code, FIO, salary)

RANGE OF s IS – определяем область, на которой задается отношение.

Атрибуты s.code, s.FIO | условие s.salary.

Если необходимо указать число кортежей, то используется формула квантор общности () и квантор сущности ().

Например: RANGE OF s IS STAFF

 s {s.FIO=”Иванов”s.salary>300 000}

Квант общности используется, когда необходимо применять его ко всем экземплярам отношений.

s – переменная. Переменные делятся на свободные и связные (в данном случае s – связное).

Branch (OTD, NotD, City)

RANGE OF b IS Branch

 b {b.OTD, b.NotD | b.City=”Минск”}

Используются переменные, которые берутся из доменов отношения. Если у нас p (d1, d2, ... , dn) – представляют предикат заданный на переменных d1, d2, ... , dn, то множество всех переменных { d1, d2, ... , dn | P(d1, d2, ... , dn)}

Отыщем сотрудников, заработная плата которых превышает заданную:

{FIO |  salary (staff(FIO, salary) salary>250 000)}

Реляционное исчисление доменов и кортежей является основоположником непроцедурных языков. На их основе написан язык SQL.

Существуют язык БД – QBE (Query By Example). В его основу положено реляционное исчисление доменов

Проектирование схем реляционной бд

  1. Основные положения

  2. Избыточность данных и аномалии обновления

  3. Функциональная зависимость

  4. I нормальная форма

  5. II нормальная форма

  6. III нормальная форма

  7. Нормальная форма Бойса-Кодда

  8. Обзор процесса нормализации

  9. Многозначные зависимости

  10. IV нормальная форма

  11. V нормальная форма

1. Основные положения

Для определения оптимальная структура кортежа, определения числа отношений и связей между отношениями. В реляционной БД существуют отношения: 1:1 и 1:N.

Если возникает ситуация M:N, необходимо такие отношения разбивать на 2 отношения, путем введения нового отношения, который называется отношением связи. При проектировании схем реляционной БД можно использовать следующие подходы:

- проектирование сверху вниз;

- проектирование снизу вверх.

При первом подходе вначале определяется общее число отношений, затем атрибутный состав и устанавливаются связи между отношениями.

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

С целью упрощения проектирования реляционной БД в 1976г. Была разработана модель «сущность связь» (ER-модель).Основу этой модели составляют типы сущностей, типы связей, атрибуты.

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

Физ. существование

Концеп. существования

Работник

Осмотр объекта недвижимости

Отделение

Продажа объекта недвижимости

Каждый идентифицируется объектом и списком свойств. Сущности подразделяются на слабые и сильные. Слабый тип – тип сущности, существование которого зависит от какого-то другого типа сущности. Сильный тип – существование независимо от других сущностей.

Пример: Аренда и продажа объектов недвижимости

Сильные сущности

(родительские, доменные)

Слабые сущности

(дочерние)

Работник

Объект недвижимости

Отделение

Осмотр объекта недвижимости

Владелец

Модель «сущность связи» представляется в виде диаграммы. На этой модели каждая сильная сущность представлена в в идее прямоугольника с двойным контуром.

Свойства сущности (атрибуты):

- простые;

- составные;

- однозначные;

- многозначные.

Простой – состоящий из одного компонента с независимым существованием.

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

Пример:

Однозначный атрибут – атрибут, который содержит несколько значений для одной сущности.

Производный атрибут – атрибут, который представлен значением производным от связного с ним атрибута. Пример: Возраст сотрудника -> Дата рождения.

Простой атрибут

Атрибут может быть:

- ключевым – обозначается подчеркнутой чертой;

- не ключевым.

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

Пример:

Отделение(NОТД, УЛИЦА, ГОРОД, ИНДЕКС, ТЕЛЕФОН, ФАКС)

Первичный ключ – NОТД.

Альтернативный ключ – ФАКС.

Многопользовательский атрибут – ТЕЛЕФОН.

С оставной атрибут –

В ладелец – объект недвижимости.

Связь - Количество участников связи – степень этой связи.

Между ВЛАДЕЦ объектом недвижимости можно выделить связь ВЛАДЕЕТ.

Основные ограничения на типы связи:

- кардинальность – 1:1, 1:N, M:N;

- степень участия.- количество возможных связей для каждой из сущностей (2).

Существует два варианта участия сущности в связи

- полная;

- частичная.

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

Участия сущности «Сотрудник» в этой связи является частичным, поскольку некоторый работник может не относиться к конкретному отделению.

Участники связи с полным участием - двойная линия.

Участники связи с частичным участием - одинарная линия.

При разработке концептуальной модели БД могут возникать проблемы с неправильной интерпретацией некоторых связей. Эти проблемы – ловушки соединения.

Л овушки разветвления возникают в тех случаях, когда из одной сущности вытекает несколько связей 1:N.

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