
Создание связей
При проектировании баз данных самым важным является установление связей между таблицами. От того, как установлены связи зависит качество работы системы.
Связь один к одному 1:1. Пример. Имеем 2 таблицы: «Студенты» и их «Анкеты». Практически это могла быть одна таблица, но иногда ее удобнее разделить на две. Обе таблицы равноценны. Количество записей в таблицах совпадает, каждой записи одной таблицы соответствует запись другой таблицы. Ключевым полем является № зачетной книжки, по этим полям и осуществляется связь. На рисунке изображены не сами таблицы, а названия полей (столбцов).
Студенты Анкеты
№ зачетной книжки |
|
№ зачетной книжки |
|
||
Фамилия |
|
Адрес |
Имя |
|
Паспорт |
Отчество |
|
Телефон |
Группа |
|
Дата рождения |
Связь один ко многим 1:М: Пример - дипломное проектирование. Каждый преподаватель является руководителем нескольких студентов. Таблица со стороны 1 называется основной, со стороны многие – подчиненной. Для осуществления связи в таблицу «Студенты» надо добавить поле «Табельный номер преподавателя»
Студенты
Преподаватели
№ зачетной книжки |
1 |
Табельный номер |
|
|
|||
ФИО |
|
ФИО |
|
Группа |
|
Кафедра |
|
Т |
|
Ключ «Табельный номер» в таблице «Преподаватели» называется первичным ключом. А ключ «Таб. номер преподавателя» в таблице «Студенты» - внешним ключом. Он будет в этой таблице повторяться, т.к. у разных студентов будет один и тот же преподаватель. А первичным ключом в этой таблице будет «№ зачетной книжки», т.к. он однозначно определяет каждую запись.
Связь многие ко многим М:М. Пример: Студенты – преподаватели. Непосредственно такая связь в БД не осуществляется. Для этого делаются некоторые преобразования для приведения к связям 1:М. В данном случае, что связывает студента с преподавателем? – Предмет. Поэтому надо создать дополнительную таблицу «Предметы».
Студенты Преподаватели
№ зачетной книжки |
1 |
Табельный номер |
|
||
ФИО |
|
ФИО |
Группа |
|
Кафедра |
Предметы
-
Название предмета
№
зачетной книжки
Т абельный номер
Все это приводит к повторению данных в разных таблицах. Но это не страшно, т.к. данные находятся на диске, а не в памяти.
Одним из важных понятий реляционных БД является понятие целостности данных. Остановимся на ссылочной целостности.
Ссылочная целостность - это обеспечение поддержки непротиворечивого состояния БД в процессе модификации при выполнении добавления или удаления данных.
Пример. Если из таблицы «Преподаватели» удалить какого-нибудь преподавателя, то нарушится ссылочная целостность.
Практически все известные СУБД предназначены для работы в многопользовательских средах, т.е. в сетях, где одновременно с базой могут работать несколько пользователей. Поэтому у БД должен быть администратор. Это может быть один человек или группа, которая имеет глобальное представление о структуре БД.
Администратор отвечает за:
Сохранность данных. Это включает в себя защиту от несанкционированного доступа (обычно используются пароли), создание копий. При изменении данных всегда должна оставаться последняя перед изменением копия.
В случае повреждения должна быть предусмотрена возможность восстановления с минимальной задержкой и влиянием на сохранившуюся часть данных.
Модернизацию, эффективность и надежность работы.
Должен иметь полномочия по корректировке данных.
Для выполнения этих функций администратор использует набор специальных программ. Эти программы составляют существенную часть СУБД.
В систему WINDOWS Professional входит СУБД ACCESS. (Переводится как «Доступ»).