Структурные элементы базы данных

Создавая базу данных, пользователь стремится упорядочить данные по различ­ным признакам и быстро извлекать информацию с разным набором этих признаков. Сде­лать это возможно, только если данные структурированы [2](таблица 1).

Понятие базы данных тесно связано с такими понятиями структурных элементов, как поле, запись, файл (таблица). Для определённости терминологии приведена следующая таблица:

Термины реляционной теории Практические термины разработчика БД
Сущность Информационный объект
Отношение Таблица
Атрибут, реквизит Поле, столбец таблицы
Кортеж Запись, строка таблицы

Поле элементарная единица логической организации данных.

Для описания поля используются сле­дующие характеристики:

· имя поля, например: Фамилия, Имя, Отчество, Дата рождения;

· т и п, например, символьный, числовой, календарный;

· длина, например, 15 байт, причем будет определяться максимально

возможным ко­личеством символов;

· точность для числовых данных, например два десятичных знака для

отображения дробной части числа.

Запись совокупность логически связанных полей.

Запись содержит конкретные значения ее полей, например:

  Зайцева Оксана 15.03.87  

Файл (таблица, отношение) — совокупность записей одной структуры.

Пример – таблица 1.

№ зачётки Фамилия Имя Дата рождения Группа
  Сафина Регина 01.01.87  
  Зайцева Оксана 15.03.87 2202
  Якупов Ленар 14.04.87  

G Примечания.

- В одной записи находится, как правило, несколько значений полей.

- В одном поле – несколько значений поля.

- Ячейка таблицы – значение конкретного поля конкретной записи.

В структуре записи файла указываются поля, значения которых являются ключами.

       
 
   
 


Пример 1. В таблице 1 поле «№ зачётки» удобно выбрать ключом и с его помощью обращаться ко всей записи.

Например, по ключу 22202 можно выяснить всю информацию о студенте с таким номером зачётки – Зайцева Оксана из группы 2202.

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

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

Таким образом, таблица РАСПИСАНИЕ имеет ключи Номер группы и ФИО преп., которые являются внешними по отношению к таблицам ГРУППА и ПРЕПОДАВАТЕЛЬ и обеспечивают связь между ними.

ГРУППА ПРЕПОДАВАТЕЛЬ

 
 


РАСПИСАНИЕ

Рис.4. Пример реляционной модели, построенной на ос­нове таблиц:

ГРУППА, ПРЕПОДАВАТЕЛЬ, РАСПИСАНИЕ

1.3. Связи между таблицами

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

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

Пример - ситуация переноса занятия группы на другое время.

Чтобы предупредить группу о переносе занятия, нужно узнать фамилию старосты группы. По заданному ключу Номер группы (например, 2202) в таблице РАСПИСАНИЕ связываемся с ключом Номер в таблице ГРУППА, находим совпадающее значение (2202) и определяем фамилию старосты в записи с этим значением ключа.

Таким же образом ключ «ФИО преп.» (РАСПИСАНИЕ) связываем с ключом ФИО ( ПРЕПОДАВАТЕЛЬ ) и узнаём телефон преподавателя с соответствующим значением ключа, чтобы сообщить о переносе.

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

• один к одному (1:1);

• один ко многим (1: М);

• многие ко многим (М: М).

Связь «один к одному» (1:1) означает, что любая запись в одной таблице соответствует только одной записи в другой таблице и наоборот.

Например, связь между информационными объектами:

СТУДЕНТ n ЗАЧЁТКА.

Каждый студент имеет определенную зачётку с уникальным номером.

Назначение связи «один к одному»:

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

b) отделение части таблицы по соображениям защиты,

c) сохранение сведений, относящихся к подмножеству записей в главной таблице.

Например, выделить сведения об участии студентов в общественной работе в отдельную таблицу с установлением связи “1:1”,для того, чтобы не занимать оперативную память, если эти данные используются сравнительно редко.

При связи «один ко многим» (1:М) каждой записи из одной таблицы соответствует несколько записей из другой таблицы, однако любая запись из второй таблицы связана только с одной записью в первой.

Примером связи 1:М служит связь между таблицами СТУДЕНТ и ОЦЕНКИ:

Одинаковые оценки за экзамен могут получить несколько студентов, но каждый студент имеет одну оценку за конкретный экзамен.

Именно эта связь описывает широко распространенный механизм классификаторов. По определённому коду (ключу) классификатора в справочной таблице находится информация, соответствующая этому коду.

Связь «многие ко многим» (М:М) возникает между двумя таблицами тогда, когда одна запись из первой таблицы связана с несколькими записями из другой таблицы и наоборот.

Например, ПРЕПОДАВАТЕЛЬ и ГРУППА.

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

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

Пример на рис.4: дополнительная таблица РАСПИСАНИЕ разбивает связь М:М между таблицами ПРЕПОДАВАТЕЛЬ и ГРУППА на две связи 1:М.

Каждая запись таблицы РАСПИСАНИЕ имеет два внешних ключевых поля (Номер группы и ФИО преп.), связанных с первичными ключами Номер (в таблице ГРУППА) и ФИО (в таблице ПРЕПОДАВАТЕЛЬ).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: