Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Экон инф-ка 2016.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1.17 Mб
Скачать

4.3. Реляционные базы данных

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

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

Данные в таблицах должны удовлетворять следующим принципам:

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

- значения в каждом столбце должны принадлежать к одному и то­му же типу;

- не должно быть одинаковых строк; - каждый столбец имеет уникальное имя.

Приведем несколько определений.

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

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

В качестве примера приведем таблицу «Сотрудник»

ФИО

Отдел

Должность

Дата рожд.

Волков В. И.

01

Руководитель

20.09.66

Петров П.П.

02

Специалист

15.04.70

Семенов С.И.

01

Инженер

13.01.75

Домен представляет собой множество всех возможных значений опре­деленного атрибута. Отношение «СОТРУДНИК» включает 4 домена: 1) множество всех возможных фамилий сотрудников;

  1. множество всех возможных номеров отделов;

  2. множество всех возможных названий должностей;

  3. множество возможных дат рождения сотрудников.

Значения атрибута принадлежат к одному типу (числовому, символь­ному и т. д.).

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

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

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

Например, пусть имеются две таблицы: Т1 ( Типы товаров) и Т2 (Товары). Пуст

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

. Т1 содержит столбец (поле) КодТипа. Две таблицы можно связать общим полем КодТипа. А именно, в Т2 также должен быть столбец КодТипа (осуществляющий связь) со значениями из столбца КодТипа таблицы Т1.

Табл. Т1 ( Типы товаров) Табл. Т2 (Товары)

Код типа товара

Название типа

Код товара

Название товара

Код типа товара

1

Мебель

1

Тарелка

2

2

Посуда

2

Стул

1

3

Стакан

2

4

Стол

1

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

Пусть БД содержит информацию о ряде заказов на товары. При этом в одном конкретном заказе могут фигурировать несколько товаров, а конкретный товар может содержаться в нескольких заказах (такой тип отношения носит название «многие ко многим»). Структурируем информацию с помощью следующего набора таблиц: таблица Товары (содержит столбцы Код товара и Название товара), таблица ЗаказыЗаказах содержатся только Код заказа и Дата заказа, не указываются заказанные товары) и таблица Детали заказа (содержащая внешние ключи Код заказа и Код товаров). Таблицы Заказы и Детали заказов связывает отношение «один ко многим». Но такое же отношение связывает и таблицы Товары и Детали заказов. Фактически, таблица Детали заказов реализует связь в отношении «многие ко многим» между Товарами и Заказами.

Табл. Т1 (Товары) Табл. Т2 (Заказы) Табл. Т3 (Детали заказа)

Код товара

Название товара

Код заказа

Дата заказа

Код заказа

Код товаров

1

Тарелка

1

12.02.11

1

3

2

Стул

2

17.02.11

1

4

3

Стакан

3

03.03.11

2

1

4

Стол

4

14.03.11

2

4

5

21.03.11

3

2

Проектирование реляционных баз данных.

Проектирование баз данных информационных систем является достаточно трудоемкой задачей. Оно осуществляется на основе формализации структуры и процессов рассматриваемой предметной области, сведения о которой предполагается хранить в БД.

Процесс проектирования можно разбить на несколько этапов.

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

Затем создается логическая модель описания хранимых в ЭВМ данных и связей. Она является представлением выделенных на предыдущем этапе сведений в виде данных в форматах, поддерживаемых выбранной СУБД.

Метод «сущность-связь».

Метод «сущность-связь» состоит в построении диаграмм, отображающих в графической форме основные объекты предметной области и связи между ними. Затем осуществляется переход от диаграмм к таблицам БД.

Определения. Сущность – объект, информации о котором должна быть представлена в БД (обычно соответствует существительному). Пример: сущность Студент. Экземпляр сущности – Николаев А.П. Связь – соединение между двумя или более сущностями (обычно соответствует глаголу). Экземпляр связи - конкретная связь между конкретными экземплярами сущностей. Пример экземпляра связи: Николаев учится в группе 144.

Пример: Преподаватели и дисциплины, которые они читают.

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

Связи могут быть и более высокого порядка (связи между несколькими сущностями). Например: Преподаватель читает дисциплину для группы – тройственная связь..

Связь между сущностями имеет две характеристики: (а) степень связи и (б) класс принадлежности.

(а) Степень связи показывает сколько экземпляров одной сущности может быть связано с каждым экземпляром другой сущности. Может иметь одно из трех значений:

один к одному (1:1), один ко многим (1:М или М:1), многие ко многим (М:N).

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