Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

905

.pdf
Скачиваний:
0
Добавлен:
07.01.2021
Размер:
745.34 Кб
Скачать

Т.А. Санькова

СУБД MICROSOFT ACCESS

ДЛЯ НАЧИНАЮЩИХ

1

Министерство образования Российской Федерации Сибирская государственная автомобильно-дорожная академия (СибАДИ)

Т.А. Санькова

СУБД MICROSOFT ACCESS

ДЛЯ НАЧИНАЮЩИХ

Учебно-методическое пособие

Омск Издательство СибАДИ

2003

2

ГЛАВА I

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ

Понятие базы данных

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

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

Пример

Необходимо найти номер телефона, зная фамилию, имя и отчество.

Найти сотрудников учреждения, имеющих детей в возрасте до семи лет.

Найти продавца, оформлявшего сделку 1 апреля 2000 года по продаже воздушных шаров.

Найти студентов, не сдавших экзамен по начертательной геометрии или зачет по информатике.

Информационная модель данных

Информационная модель – это формализованное описание информационных структур и операций над ними.

Виды информационных моделей:

иерархическая;

сетевая;

реляционная.

Иерархическая модель данных – модель данных, в основе которой лежит граф типа «дерево». Вершине дерева соответствует тип записи, дуге

– отношение между двумя типами записей.

Пример

 

СибАДИ

 

 

 

ИСУ

 

ТТМ

АТ …

 

 

 

 

 

 

 

 

 

Кафедра

Кафедра

Кафедра

Кафедра

… …

«Информационные «Информационная «Детали «Дорожные

 

 

технологии»

безопасность»

машин»

машины»

 

 

3

Сетевая модель данных – модель данных, предназначенная для представления данных сетевой структуры и манипулирования ими.

Пример

Преподаватели

Иванов И.И.

Петров А.И.

Петрова Н.С.

Экзамены

Информационные

Информатика

Математика

 

технологии

 

 

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

Реляционная модель данных – множество нормализованных отношений (таблиц).

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

Пример

Таблица «Студенты»

Фамилия

Имя

 

Отчество

 

№ зачетки

 

Пол

 

Дата рождения

Иванов

Иван

 

Иванович

 

 

М 98-23

 

М

 

11.09.81

Сидоров

Сергей

 

Петрович

 

ИЭ 111-97

 

М

 

21.04.80

Таблица «Преподаватели»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код преподавателя

 

ФИО

 

 

Должность

 

 

 

11

Иванов И. П.

 

Доцент

 

 

 

 

 

12

Петров С. В.

 

Доцент

 

 

 

 

 

13

Смирнов С. Д.

Преподаватель

 

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

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

4

Таблица – некоторая регулярная структура, состоящая из конечного набора однотипных записей.

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

Пример

В таблице, хранящей данные о студентах (см. предыдущий пример):

единичные данные: М 98-23, Сергей, 11 ЭУП;

поля: Фамилия, № зачетки, Пол, Дата рождения – столбцы;

записи: вся строка про Иванова, вся строка про Сидорова.

Все записи состоят из одинаковых полей. Данные одного поля во всех записях имеют одинаковый тип, но разные поля могут иметь разный тип данных. Например, поле Фамилия – текстовое, поле Дата рождения имеет тип «Дата/время».

Первичный ключ

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

Пример

Номер зачетки (поле № зачетки) студента является уникальным. Зная его, можно однозначно определить студента, его фамилию, имя и т. д.

Таким образом, это поле (№ зачетки) является ключевым (первичным ключом), по нему можно найти конкретную запись в таблице.

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

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

Пример

Пусть на двух факультетах номера зачеток формируются по одному и тому же принципу. Тогда для идентификации студента необходимо знать

5

не только номер его зачетки, но и название факультета. Таким образом, первичный ключ будет состоять из двух полей: № зачетки и Факультет.

Первичный ключ – поле (или группа полей), которое единственным образом идентифицирует (определяет) каждую строку в таблице.

По значению первичного ключа может быть найден единственный экземпляр записи.

Внешний ключ

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

Пример

Пусть в базе данных имеются таблицы со сведениями о студентах и об итогах сессии.

Таблица «Студенты»

№ зачетки

Фамилия

Имя

Отчество

Пол

Дата рождения

М 98-23

Иванов

Иван

Петрович

М

11.11.81

М 98-24

Петров

Петр

Петрович

М

12.09.81

М 97-25

Петров

Петр

Петрович

М

11.09.80

Таблица «Итоги сессии»

№ зачетки

Название экзамена

Дата

Оценка

М 98-23

Физика

02.01.99

Хорошо

М 98-23

Математика

08.01.99

Отлично

М 98-23

Информатика

12.01.99

Хорошо

М 98-24

Физика

02.01.99

Отлично

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

Отношения между таблицами

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

Существует четыре типа отношений между объектами:

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

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

6

многие-к-одному (М:1);

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

Отношение «один-к-одному»

Отношение 1:1 означает, что каждая запись одной таблицы соответствует только одной записи другой таблицы.

Пример

Предметная область: институт. Объекты: факультеты и деканы. Отношение: занимаемая должность.

Факультеты Деканы

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

 

«Факультеты»

 

 

 

 

 

 

«Деканы»

 

 

 

 

 

 

 

 

 

 

 

 

 

Код факультета

 

 

 

Код декана

 

 

 

 

 

 

 

 

Название (полное)

 

 

 

 

ФИО

 

 

Код декана

 

 

 

 

 

 

Ученая степень

 

 

 

 

 

 

 

 

 

Таблица «Факультеты»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код факультета

Название

 

Код декана

 

 

1

ТТМ

 

 

 

 

11

 

 

2

ПГС

 

 

 

 

12

 

Таблица «Деканы»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код декана

 

ФИО

Ученая степень

 

11

Гордыч Д.С.

Канд. техн. наук

 

 

12

Кардаев Е.М.

Канд. техн. наук

 

 

Отношение «один-ко-многим»

Отношение 1:М означает, что одна запись первой таблицы может соответствовать нескольким записям второй таблицы.

7

Пример

Предметная область: институт. Объекты: студенты и экзамены. Отношение: сдача экзамена.

Студент Экзамен

Таблица «Студенты»

 

№ зачетки

Фамилия

Имя

Отчество

Пол

Дата рождения

 

М 98-23

Иванов

Иван

Петрович

М

11.11.81

 

 

М 98-24

Петров

Петр

Петрович

М

12.09.81

 

СМ 99-2

Иванов

Иван

Иванович

М

11.11.82

Таблица «Итоги сессии»

№ зачетки

Название экзамена

Дата

Оценка

М 98-23

Физика

02.01.99

Хорошо

М 98-23

Математика

08.01.99

Отлично

М 98-24

Физика

02.01.99

Удовл.

М 98-24

История

11.01.99

Хорошо

Отношение «многие-к-одному»

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

Пример

Предметная область: институт. Объекты: студенты и факультеты. Отношение: учеба.

Студенты Факультеты

8

Отношение «многие-ко-многим»

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

Пример

Предметная область: институт. Объекты: преподаватели и дисциплины.

Отношение: занятия (или прием зачета или экзамена). Каждый преподаватель может вести занятия по нескольким дисциплинам, а каждая дисциплина может быть связана с несколькими преподавателями.

Таблица «Дисциплины»

 

Код

Название

Семестр

 

125

Информатика

1

 

53

Информационные технологии

2

 

 

25

Технологии программирования

3

Таблица «Преподаватели»

Код

ФИО

Должность

Код кафедры

 

 

53

Иванов И. П.

Доцент

1

 

 

53

Петров С. В.

Доцент

1

 

 

 

 

125

Смирнов С. Д.

Преподаватель

1

 

 

125

Петров С. В.

Доцент

1

 

 

 

 

25

Петров С. В.

Доцент

1

 

 

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

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

«Дисциплины»

«Занятия»

 

 

«Преподаватели»

 

 

 

 

 

 

 

 

 

 

Код

Код занятия

Код преподавателя

 

 

 

 

 

 

 

Название

 

 

 

Код дисциплины

 

 

ФИО

 

 

 

 

 

 

 

Семестр

 

 

 

Код преподавателя

 

 

Должность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код кафедры

9

 

 

 

 

Код

 

 

 

Название

 

Семестр

 

 

 

 

 

 

 

 

125

Информатика

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

53

Информационные технологии

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25

Технологии программирования

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код

Код преподавателя

 

 

 

 

 

 

 

 

 

 

 

 

 

53

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

53

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

125

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

125

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код преподавателя

 

ФИО

Должность

 

Код кафедры

 

 

 

11

 

Иванов И. П.

Доцент

 

1

 

 

 

 

 

 

 

 

 

 

12

 

Петров С. В.

Доцент

 

1

 

 

 

 

 

 

 

 

 

 

13

 

Смирнов С. Д.

Преподаватель

 

1

 

 

 

 

 

 

 

 

 

 

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

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

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

Нормализация может оказаться сложным процессом со многими характерными правилами и различными уровнями нормальной формы. Существует 4 нормальные формы: 1НФ, 2НФ, 3НФ, 4НФ. Причем соблюдается принцип вложенности (рис. 1).

1НФ

2НФ

3НФ

4НФ

Рис. 1. Нормальные формы

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]