русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

РАЗРАБОТКА РЕЛЯЦИОННОЙ МОДЕЛИ МНОГОТАБЛИЧНОЙ БАЗЫ ДАННЫХ


Дата добавления: 2015-07-09; просмотров: 592; Нарушение авторских прав


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

· Студенты (код студента, фамилия, имя, отчество, номер группы, дата рождения, стипендия, оценки);

· Дисциплины (код дисциплины, название дисциплины);

· Преподаватели (код преподавателя, фамилия, имя, отчество, дата рождения, телефон, разряд).

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

Рассмотрим основные типы связей: один к одному (1:1); один ко многим (1:М); многие ко многим (М:М).

1. Один-к-одному (1:1). При использовании отношения "один-к-одному" запись в таблице А (главной таблице) может иметь не более одной связанной записи в таблице В (связанной таблице) и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением "один-к-одному" используют для разделения очень широких таблиц или для отделения части таблицы по соображениям защиты. В таблицах, связанных отношением "один-к-одному", ключевые поля должны быть уникальными (в этих полях не допускаются повторяющиеся данные).

2. Один-ко-многим (1:М). Связь с отношением "один-ко-многим" является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице А могут соответствовать несколько записей в таблице В, а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А. В таблице А ключевое поле должно быть уникальным. Связь с отношением "один-ко-многим" таблиц А и В можно рассматривать как связь с отношением "многие-к-одному" таблиц В и А.



3. Многие-ко-многим (М:М). При использовании отношения "многие-ко-многим" одной записи в таблице А могут соответствовать несколько записей в таблице В, а одной записи в таблице В несколько записей в таблице А. В этом случае не требуется уникальности ключевых полей таблиц А и В. Этот вид отношения используется для связывания таблиц, имеющих только внешние ключи.

Важно!

Связанные поля не обязательно должны иметь одинаковые имена, однако они должны иметь одинаковые типы данных. Кроме того, связываемые поля типа Числовой должны иметь одинаковые значения свойств Размер поля.

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

Рассмотрим связь между таблицами Студенты и Дисциплины. Студент изучает несколько дисциплин, что соответствует многозначной связи и отражено на рис. 11 двойной стрелкой. Очевидно, что каждая дисциплина изучается множеством студентов. Это тоже многозначная связь, обозначаемая двойной стрелкой. Таким образом, связь между объектами Студенты и Дисциплины относится к типу Многие-ко-многим (М:М).

Рис.11. Типы связей между таблицами Студенты, Дисциплины и Преподаватели.

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

Рис.12. Модель реляционной базы данных

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

Студенты 1:М Оценки Дисциплины 1:М Преподаватели
Код студента Код студента 1:М Код дисциплины Код дисциплины
Фамилия   Код дисциплины   Дисциплина   Код преподавателя
Имя   Оценки       Фамилия
Отчество           Имя
Номер группы           Отчество
Дата рождения           Дата рождения
Стипендия           Должность
            Дисциплина
            Телефон
            Разряд ЕТС

 

Рис. 13. Логическая модель реляционной базы данных



<== предыдущая лекция | следующая лекция ==>
Задание 5. Ввод и просмотр данных посредством формы | Задание 6. Создание многотабличной базы данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.114 сек.