logo
Разработка автоматизированной информационной системы кинотеатра

1.3 Основные этапы проектирования баз данных

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

Основные шаги при выполнении проектирования базы данных следующие:

1. Определить список данных, которые необходимо хранить в БД.

2. Определить состав и структуру таблиц.

3. Назначить ключевые поля для каждой таблицы.

4. Выполнить нормализацию таблиц.

5. Установить связи между таблицами.

Рассмотрим пример проектирования базы данных информационной системы.

Шаг 1. Определяем список данных, которые необходимо хранить в БД.

Шаг 2. Определяем состав и структуру таблиц.

Если все сведения хранить в одной таблице, то таблица станет очень неудобной для работы. В ней начнутся повторы данных. Так никто не работает. Это долго, трудно и чревато многочисленными ошибками.

Гораздо удобнее сделать несколько таблиц. Разделение базы на связанные таблицы не только удобно, но иногда и необходимо. Если данные в разных записях начинают повторяться, это может говорить о том, что база имеет плохую структуру. Каждая таблица содержит сведения об информационном объекте.

Определяем структуру таблиц. Создать структуру таблицы означает:

- определить число полей таблицы;

- каждому полю присвоить своё имя;

- определить тип поля;

- назначить число позиций для размещения информации в каждом поле (ширина столбца);

- присвоить таблице уникальное имя.

Число полей - определяется из анализа предметной области данной задачи. Анализируя исходную информацию, выбираем из нее всю информацию, которая связана по смыслу с информационным объектом. Имя каждого поля должно быть уникально. Желательно давать такие имена полям базы данных, чтобы они отражали содержимое этих полей и поэтому легче запоминались

Тип поля - определяется характером информации, размещаемой в данном поле.

Шаг 3. Назначаем ключевые поля для каждой таблицы.

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

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

Шаг 4. Выполняем нормализацию таблиц.

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

Шаг 5. Установление связей между таблицами.

Между разными информационными объектами, а также между информационным объектом и его характеристиками возникают определенные ассоциации, называемые связями. При проектировании БД принято рассматривать взаимосвязи трех типов: «один к одному»; «один по многим»; «многие по многим».

Следует отметить, что реляционные базы данных не позволяют реализовать связь «многие по многим». В случае выявления такой связи, например связь между сущностями СТУДЕНТ и ПРЕДМЕТ, необходимо ввести дополнительную сущность ИЗУЧЕНИЕ_ПРЕДМЕТА. Каждый экземпляр введенной сущности связан с одним студентом и с одним предметом.

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

Хранение данных в связанных таблицах обладает рядом преимуществ:

- экономия времени, поскольку одни и те же данные не приходится вводить в нескольких таблицах;

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

- существенное сокращение количества ошибок.

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

программный автоматизация листинг учет