русс | укр

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

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

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

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


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

Проектирование БД. Понятие информационного объекта


Дата добавления: 2013-12-23; просмотров: 999; Нарушение авторских прав


В результате проектирования БД должна быть разработана информационно-логическая модель (ИЛМ) данных. Компонентами ИЛМ являются информационные объекты и структурные связи между ними.

ИО – это информационное отображение некоторого реального объекта, явления, процесса, информация о котором должна быть представлена в БД, в виде совокупности логически свя­занных реквизитов (информационных элементов, атрибутов). Например, информаци­онный объект Студент имеет реквизиты: Номер зачетки*, Фамилия, Имя, Дата рождения и т.д. Информационный объект имеет множество реа­лизаций - экземпляров, каждый из которых представлен совокупностью конкретных значений реквизитов и определяется значением первичного ключа. Информа­ционный объект может иметь один первичный и несколько внешних ключей, которые используются для связи с другими ИО.

Все информационные объекты из некоторой предметной области связаны между собой. Различают связи трёх типов:

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

· один ко многим (1 :∞);

· многие ко многим (∞:∞),

Связь 1:1 предполагает, что одному экземпляру первого ИО соответствует только один экземпляр второго ИО и наоборот. Такие ИО можно объединить в один, содержащий атрибуты двух объектов. Пример: связь между информацион­ными объектами Студент и Сессия, когда каждый студент имеет определённый набор экзаменационных оценок в сессию.

Связь 1 : ∞ означает, что одному экземпляру первого ИО соответ­ствует 0, 1 или более экземпляров второго ИО, но каждому экземпляру второго ИО обязательно соответствует один экземпляр первого ИО. Примером связи 1: ∞ служит связь между информационными объектами Факультет и Студент, когда название факультета может повторяться многократно для различных студентов, а для каждого студента обязательно должен быть факультет, на котором он учится.



Связь ∞:∞ предполагает, что одному экземп­ляру первого ИО соответствует 0, 1 или более экземпляров второго ИО и наоборот. Пример такой связи - связь между информационными объектами Студент и Преподаватель, когда один студент обучается у мно­гих преподавателей, а один преподаватель обучает многих студентов.

Построенная ИЛМ должна быть отображена в логическую структуру БД, которая является составной частью конкретной СУБД. ИО должны быть представлены в виде реляционных таблиц. Связи между реляционными таблицами устанавливаются при помощи совпадающих значений полей.

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

Для связей между ИО 1:1 и 1: ∞ каждый ИО представляется соответствующей таблицей с теми же видами связей. Например, можно связать таблицу Группа, содержащую поля группа, староста, факультет, с таблицей Студент по полю группа. При этом вид связи будет 1:со, одной записи в таблице Группа будет соответствовать много записей в таблице Студент.

Связь ¥:¥ не реализуется в реляционных БД непосредственно для двух таблиц. Для организации такой связи используется промежуточная третья таблица. Все реквизиты двух ИО (и возможно некоторые дополнительные) представляются тремя таблицами с двумя связями вида 1: ∞

Для каждой связи определяется главная таблица (на стороне отношения 1) и подчиненная (на стороне отношения ∞). В главной таблице связующее поле является первичным ключом (уникальным), а в подчиненной внешним (повторяющимся). Для каждого значения внешнего ключа обязательно должно быть такое же значение первичного ключа.

Пример: Создать БД "Распределение оборудования по кафедрам", содержащую следующие данные: наименование оборудования, количество единиц оборудования, стоимость единицы оборудования, наименование кафедры, факультет.

Промежуточная таблица Распределение оборудования связывает таблицы Оборудование и Кафедры, т.к. связь между соответствующими ИО ¥:¥. Введены дополнительные числовые ключевые поля код оборудования и код кафедры.



<== предыдущая лекция | следующая лекция ==>
Основные понятия реляционной модели данных | Создание первичного ключа


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


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

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

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


 


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

 
 

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

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