- •Системы управления базами данных
- •1.1. Основные понятия
- •Реляционные базы данных
- •1.3. Нормализация таблиц
- •2. Основные характеристики субд ms Access
- •2.1. Практическая работа с ms access
- •2.2. Работа с таблицами
- •Создание первичного ключа
- •Просмотр данных
- •2.3. Работа с запросами
- •Вычисляемые поля
- •Параметрические запросы
- •Запросы действия
- •2.4. Работа с формами
- •2.5. Работа с макросами
- •3. Основные этапы разработки информационного приложения
- •4. Пример проектирования базы данных
- •Кнопки панели инструментов режима таблицы
- •Кнопки панели инструментов конструктора форм и отчетов
- •Кнопки панели инструментов окна конструктора запроса
- •Литература
- •Содержание
Реляционные базы данных
Ядром любой базы данных является модель данных - совокупность структур данных и операций их обработки. Далее мы будем рассматривать базы данных на основе одной из наиболее распространенных моделей - реляционной модели данных. В такой модели данные организованы в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
каждый элемент таблицы - один элемент данных;
все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
каждый столбец имеет уникальное имя;
порядок следования строк и столбцов может быть произвольным.
На рис. 4 дан пример реляционной таблицы, содержащей информацию о студентах.
Номер личного дела |
Фамилия |
Имя |
Дата рождения |
Группа |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 4. Пример реляционной таблицы.
Строки реляционной таблицы соответствуют записям, а столбцы - полям. Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи однозначно определяются значениями нескольких полей, то такая таблица имеет составной ключ. В таблице на рис. 4 ключевым полем является поле «Номер личного дела».
Введём понятие информационного объекта - описания некоторого реального объекта, явления, процесса в виде совокупности логически связанных реквизитов (информационных элементов). Например, информационный объект Студент имеет реквизиты: Номер личного дела, Фамилия, Имя, Дата рождения и т.д. Информационный объект имеет множество реализаций - экземпляров, каждый из которых представлен совокупностью конкретных значений реквизитов и определяется значением ключа (простого - один реквизит или составного - несколько реквизитов). Информационный объект может иметь несколько ключей.
Все информационные объекты из некоторой области связаны между собой. Различают связи трёх типов:
один к одному (1:1);
один ко многим (1:);
многие ко многим (:).
Связь 1:1 предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот. При этом каждая запись в таблице, характеризующей объект А, соответствует только одной записи в таблице, характеризующей объект В. Пример: связь между информационными объектами Студент и Сессия, когда каждый студент имеет определённый набор экзаменационных оценок в сессию.
При связи 1: одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с одним экземпляром объекта А. При этом каждая запись в таблице, описывающей объект А, соответствует многим записям в таблице, описывающей объект В. Примером связи 1: служит связь между информационными объектами Стипендия и Сессия, когда установленный размер стипендии может повторяться многократно для различных студентов.
Связь : предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта B и наоборот. Пример такой связи - связь между информационными объектами Студент и Преподаватель, когда один студент обучается у многих преподавателей, а один преподаватель обучает многих студентов.
Связи между реляционными таблицами устанавливаются при помощи совпадающих значений полей. Например, можно связать таблицу Староста, содержащую поля Группа, Староста, с таблицей Студент, приведенной на рис. 4 (связь по полю Группа). При этом получим связь 1:, так как один староста относится к группе студентов, и одной записи в таблице Староста будет соответствовать много записей в таблице Студент.