Главная Обратная связь Поможем написать вашу работу!

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Типы взаимосвязей данных в модели



Взаимосвязь выражает отображение между двумя множествами данных. Различают взаимосвязи типа “один к одному”, “один ко многим”, “многие ко многим”.

Рассмотрим типы связей на примере связей между сущностями КЛИЕНТ, ЗАКАЗ, ФИРМА.

Взаимосвязь “один к одному”. Допустим, что в определенный момент времени клиент может сделать только один заказ. В этом случае между объектами КЛИЕНТ и ЗАКАЗ устанавливается связь “один к одному”. Схематически это отображается одинарными стрелками.

 
 

Между данными, хранящимися в объектах КЛИЕНТ, ЗАКАЗ будет существовать взаимосвязь, в которой каждая запись в одном объекте будет однозначно указывать на запись в другом объекте.

Взаимосвязь “один ко многим”. Анализируя взаимосвязь КЛИЕНТ, ЗАКАЗ не привязываясь к некоторому моменту времени, получим что один клиент в разное время может производить несколько заказов. С другой стороны, в одном заказе может фигурировать только один клиент. Схематически этот тип связи отображается с помощью одинарной стрелки в напрвлении к “одному” и двойной стрелки в направлении ко многим.

 
 

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

Взаимосвязь “многие ко многим”. Например, один клиент в разное время может приобрести товары в различных фирмах. С другой стороны, в одной фирме могут обслуживаться различные клиенты. Между сущностями КЛИЕНТ, ФИРМА существует связь “многие ко многим”. Такая связь обозначается двойными стрелками

 
 

 


При просмотре данных в объекте КЛИЕНТ можна узнать, в каких фирмах он приобретал товар, однако в объекте ФИРМА при этом необходимо завести несколько записей для каждой фирмы.

Объект КЛИЕНТ Объект ФИРМА

Код_Кл Наим_Кл   Код_Ф Наим_Ф Код_Кл
Клиент_1   Фирма_1
2 Клиент_2   Фирма_1
      Фирма_2
      Фирма_2

Каждая строчка будет соответствовать каждому заказу клиента в данной фирме. При таком подходе возникают серьезные проблемы, например, в объекте ФИРМА нельзя ввести уникальный ключ для каждой фирмы. Согласно теории нормализации, которая будет изложена ниже, для хранения взаимосвязи “многие ко многим” в реляцинных БД требуется три объекта: по одному для каждой сущности и один для хранения связей между ними. В качестве промежуточного объекта между объектами ФИРМА, КЛИЕНТ можна взять объект ЗАКАЗ.



 
 

 


Объект КЛИЕНТ Объект ЗАКАЗ Объект ФИРМА

Код_Кл Наим_Кл   Код_Ф Код_Кл   Код_Ф Наим_Ф
1 Клиент_1     Фирма_1
2 Клиент_2     Фирма_2
           
           

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

 

 
 

Представленная схема связей между объектами отображает концептуальную модель БД.

Типы моделей данных



Иерархическая и сетевая модели данных стали применяться в системах управления базами данных в начале 60-х годов. В начале 70-х годов была предложена реляционная модель данных. Эти три модели различаются способами представления взаимосвязей между объектами.

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

Иерархическая структура реализует отображение “один ко многим” между исходными и порожденными типами записей.

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

Для представления отображения “многие ко многим” требуется дублирование деревьев, если не известен наиболее часто используемый тип записи.

 

 

Так в первом случае легче ответить на вопрос о всех фирмах, в которых клиент заказывал товары, а во втором о всех клиентах, которые заказывали товары в данной фирме. Для первого случая эта задача решается посредством просмотра всех деревьев.

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



Реляционная модель. В реляционной модели объекты и их взаимосвязи представляются с помощью таблиц. Взаимосвязи также рассматриваются в качестве объектов. Например, в наше задачи объект ЗАКАЗ на самом деле представляет связь между объектами ФИРМА, ТОВАР, КЛИЕНТ. В реляционной модели каждая таблица должна иметь первичный ключ (ключевой элемент) - поле или комбинацию полей, которые единственным образом идентифицируют каждую запись в таблице. Благодаря своей простоте модель получила наибольшее распространение в СУБД для ПЭВМ.

Построение логической модели. При разработке логической модели для реляционной модели каждый прямоугольник отображается в одно отношение, которое отражает представление пользователя в удобном для него табличном формате. Основой построения реляционной БД является приведение модели к требуемому уровню нормальной формы.


Просмотров 1358

Эта страница нарушает авторские права




allrefrs.ru - 2021 год. Все права принадлежат их авторам!