Создавая базу данных, пользователь стремится упорядочить данные по различным признакам и быстро извлекать информацию с разным набором этих признаков. Сделать это возможно, только если данные структурированы [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:М.
Каждая запись таблицы РАСПИСАНИЕ имеет два внешних ключевых поля (Номер группы и ФИО преп.), связанных с первичными ключами Номер (в таблице ГРУППА) и ФИО (в таблице ПРЕПОДАВАТЕЛЬ).
|
|