Логическое проектирование

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

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

Таблица?

Описание студентов

Код_Сту Фамилия Имя Отчество Пол Год рождения
1 Иванов Иван Иванович Муж.  
2 Петрова Елена Владимировна Жен.  

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

Таблица?

Описание специальностей

Код_Спец Специальность Сокращенное название Квалификационные требования
1 Программирование вычислительных систем ПВС  
2 Технология машиностроения ТМС  
3 Механика и аппараты пищевых производств МПП  

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

Аналогично опишем другие объекты, используемые в нашей программе:

Таблица?

Описание предметов (дисциплин)

Код_Дис Дисциплина Содержание
1 Математика, часть I Функции, дифференцирование, интегрирование, аналитическая геометрия…
2 Физика, часть I Механика: кинематика, динамика, вращательное движение…

Таблица?

Список групп

Код_К Курс Группа
1   ПВС 11
2   ПВС 12

Таблица?

Список преподавателей

Код_Преп Фамилия Имя Отчество Должность Кафедра
1 Кац Альберт Маркович Зав. кафедрой КИТФ
     

Тот факт, что студент Иванов поступил в институт в 2001 году на специальность ПВС, можно записать в таблицу:

Таблица?

Таблица соответствия

«Студент-специальность-год поступления»

Код_Ст Код_Спец Год поступления
     
     

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

Рис?. Логическая модель данных

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: