Профтемы студенту и преподавателю
Taketop.ru
СТУДЕНТУ И ПРЕПОДАВАТЕЛЮ
лекции по дисциплинам
Информатика и вычислительная техника :: Базы данных
Построение реляционной модели базы данных
Теперь перейдем к построению реляционной модели дан­ных.
 
Для этого нужно описать все отношения с указанием главных ключей, а также представить схему БД — структу­ру связей между таблицами.
 
Каждая из запланированных выше таблиц будет пред­ставлена в БД отдельным отношением.
Опишем все их в строчной форме, определив в некоторых случаях сокращен­ные имена полей и подчеркнув главные ключи.
 
Факультеты (КОД_ФАК, ФАКУЛЬТЕТ, ЭКЗАМЕН_1,ЭКЗАМЕН_2, ЭКЗАМЕН_3)
Специальности (КОД_СПЕЦ, СПЕЦИАЛЬНОСТЬ, КОД_ФАК, ПЛАН)
Абитуриенты (РЕГ_НОМ, КОД_СПЕЦ, МЕДАЛЬ, СТАЖ)
Анкеты (PEГ_HOM, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ДАТА_РОЖД, ГОРОД,    УЧ_ЗАВЕДЕНИЕ)
Оценки (РЕГ_НОМ, ОЦЕНКА_1, ОЦЕНКА_2, ОЦЕНКА_3)
Итоги (РЕГ_НОМ, ЗАЧИСЛЕНИЕ)
 
Чтобы эти шесть таблиц представляли собой систему, между ними должны быть установлены связи.
 
Фактически связи уже имеются через общие имена по­лей.
Первые два отношения связаны между собой кодом фа­культета,
 второе и третье — кодом специальности,
а три по­следних — регистрационным номером.
Связи позволяют определить соответствия между любыми данными в этих таблицах, например: между фамилией некоторого абитури­ента и его оценкой по математике;
между названием города и результатами экзамена по русскому языку выпускников школ этого города и пр.
Благодаря этим связям становится возможным получение ответов на запросы, требующие поис­ка информации в нескольких таблицах одновременно.
 
Для явного указания связей между таблицами должна быть построена
схема базы данных.
В схеме указывается на­личие связей между таблицами и тип связей.
Схема для на­шей системы представлена на рис. 1.7.
 
 Рис. 1.7. Схема базы данных
 
В схеме использованы два типа связей: один к одному и один ко многим.
Первый обозначен двунаправленной оди­нарной стрелкой, второй — одинарной стрелкой в одну и двойной в другую сторону.
При связи «один к одному» с од­ним экземпляром записи в одной таблице связан один эк­земпляр записи в другой таблице.
Например, одна запись об абитуриенте связана с одним списком оценок.
 
При наличии связи «один ко многим» одна запись в одной таблице связа­на с множеством записей в другой таблице.
Например, с од­ним факультетом связано множество специальностей, а с од­ной специальностью — множество абитуриентов, поступаю­щих на эту специальность.
 
Связь «один ко многим» — это связь между двумя сосед­ними уровнями иерархической структуры.
А таблицы, свя­занные отношениями «один к одному», находятся на одном уровне иерархии.
В принципе, все эти четыре таблицы мо­гут быть объединены в одну таблицу, поскольку главный ключ у них один — «РЕГ_НОМ».
 
Однако с такой таблицей работать будет неудобно — слишком много полей. Каждая из четырех таблиц в отдельности лучше обозревается, кроме того, каждая из них имеет самостоятельный смысл.
 
Организация связей между таблицами обеспечивает одно важное качество базы данных, которое называется целостностью данных.
Система не допустит, чтобы одноименные поля в разных связанных между собой таблицах имели разные значения.
Ввод данных автоматически контролируется.
В связанных таблицах может быть установлен режим каскадной замены:
если в одной из таблиц изменяется значение поля, по которо­му установлена связь, то в других таблицах автоматически изменятся значения одноименных полей.
 Аналогично дейст­вует режим каскадного удаления: достаточно удалить запись из одной таблицы, чтобы связанные записи исчезли из всех остальных таблиц.
Это естественно, поскольку, например, если закрывается какой-то факультет, то исчезают и все его специальности. Или если у абитуриента сменили регистраци­онный номер в таблице «Абитуриенты», то автоматически его номер должен обновиться и в других таблицах.
На этом проектирование базы данных завершено.
Это был теоретический этап.
 Дальнейшая работа будет происходить в среде СУБД MS Access
Работы, представленные на сайте http://taketop.ru, предназначено исключительно для ознакомления. Все права в отношении работ и/или содержимого работ, представленных на сайте http://taketop.ru, принадлежат их законным правообладателям. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие или полученные в связи с использованием работ и/или содержимого работ, представленных на сайте http://taketop.ru
Рейтинг@Mail.ru
Сайт управляется SiNG cms © 2010-2015