СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Переход от концептуальной (инфологической) модели к реляционной модели данных

Категория: Информатика

Нажмите, чтобы узнать подробности

Данный методический материал содержит презентацию к уроку "Переход от концептуальной (инфологической) модели к реляционной модели данных". Полезен при изучении  дисциплины МДК.03.02 " Системы управления базами данных"  специальности 09.02.01 СПО углубленной подготовки. 

Просмотр содержимого документа
«Переход от концептуальной (инфологической) модели к реляционной модели данных»

Переход от концептуальной (инфологической) модели к реляционной модели данных

Переход от концептуальной (инфологической) модели к реляционной модели данных

Инфологическая модель используется на ранних стадиях разработки проекта. Для ER-модели существует  алгоритм однозначного преобразования ее в реляционную модель данных .

  • Каждой сущности ставится в соответствие отношение реляционной модели данных.

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

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

Например, сущность может быть названа "Книжный каталог", а соответствующее ей отношение желательно назвать, например, BOOKS (без пробелов и латинскими буквами).

  • Каждый  атрибут сущности  становится атрибутом соответствующего отношения. Переименование атрибутов должно происходить в соответствии с теми же правилами, что и переименование отношений в п.1. Для каждого атрибута задается конкретный допустимый в СУБД тип данных и обязательность или необязательность данного атрибута (то есть допустимость или недопустимость NULL значений для него).
Первичный ключ сущности становится PRIMARY KEY соответствующего отношения. Атрибуты, входящие в  первичный ключ отношения , автоматически получают свойство обязательности ( NOT NULL ). В каждое отношение, соответствующее подчиненной сущности, добавляется набор атрибутов основной сущности, являющейся первичным ключом основной сущности. В отношении, соответствующем подчиненной сущности, этот набор атрибутов становится внешним ключом ( FOREIGN KEY ).
  • Первичный ключ сущности становится PRIMARY KEY соответствующего отношения.
  • Атрибуты, входящие в  первичный ключ отношения , автоматически получают свойство обязательности ( NOT NULL ). В каждое отношение, соответствующее подчиненной сущности, добавляется набор атрибутов основной сущности, являющейся первичным ключом основной сущности. В отношении, соответствующем подчиненной сущности, этот набор атрибутов становится внешним ключом ( FOREIGN KEY ).
Для моделирования необязательного типа связи на физическом уровне у атрибутов, соответствующих внешнему ключу, устанавливается свойство допустимости неопределенных значений (признак NULL ). При обязательном типе связи атрибуты получают свойство отсутствия неопределенных значений (признак NOT NULL ).  Для отражения категоризации сущностей при переходе к реляционной модели возможны несколько вариантов представления. Возможно создать только одно отношение для всех подтипов одного  супертипа . В него включают все атрибуты всех подтипов. Однако тогда для ряда экземпляров ряд атрибутов не будет иметь смысла. И даже если они будут иметь неопределенные значения, то потребуются дополнительные правила различения одних подтипов от других. Достоинством такого представления является то, что создается всего одно отношение.
  • Для моделирования необязательного типа связи на физическом уровне у атрибутов, соответствующих внешнему ключу, устанавливается свойство допустимости неопределенных значений (признак NULL ). При обязательном типе связи атрибуты получают свойство отсутствия неопределенных значений (признак NOT NULL ).
  • Для отражения категоризации сущностей при переходе к реляционной модели возможны несколько вариантов представления. Возможно создать только одно отношение для всех подтипов одного  супертипа . В него включают все атрибуты всех подтипов. Однако тогда для ряда экземпляров ряд атрибутов не будет иметь смысла. И даже если они будут иметь неопределенные значения, то потребуются дополнительные правила различения одних подтипов от других. Достоинством такого представления является то, что создается всего одно отношение.
При втором способе для каждого подтипа и для  супертипа  создаются свои отдельные отношения. Недостатком такого способа представления является то, что создается много отношений, однако достоинств у такого способа больше, так как вы работаете только со значимыми атрибутами подтипа. Кроме того, для возможности переходов к подтипам от  супертипа  необходимо в супертип включить идентификатор связи. Дополнительно при описании отношения между типом и подтипами необходимо указать тип дискриминатора. Дискриминатор может быть взаимоисключающим (M/E, mutually exclusive ) или нет.  Если установлен данный тип дискриминатора, то это значит, что один  экземпляр сущности   супертипа  связан только с одним экземпляром сущности подтипа и для каждого экземпляра сущности  супертипа  существует потомок. Кроме того, необходимо указать для второго способа, наследуется ли только идентификатор  супертипа  в подтипы или наследуются все атрибуты  супертипа . Если мы зададим наследование только идентификатора, то мы получим следующее преобразование (см. рисунки ниже)
  • При втором способе для каждого подтипа и для  супертипа  создаются свои отдельные отношения. Недостатком такого способа представления является то, что создается много отношений, однако достоинств у такого способа больше, так как вы работаете только со значимыми атрибутами подтипа. Кроме того, для возможности переходов к подтипам от  супертипа  необходимо в супертип включить идентификатор связи.
  • Дополнительно при описании отношения между типом и подтипами необходимо указать тип дискриминатора. Дискриминатор может быть взаимоисключающим (M/E, mutually exclusive ) или нет.

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

  • Если мы зададим наследование только идентификатора, то мы получим следующее преобразование (см. рисунки ниже)

Разрешение связей типа " многие-ко-многим ".

Так как в реляционной модели данных поддерживаются между отношениями только связи типа " один-ко-многим ", а в ER-модели допустимы связи " многие-ко-многим ",

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

Так, например, в схеме "Библиотека" присутствует  связь  такого типа между сущностью "Книги" и "Системный каталог". Для разрешения этой неспецифической связи при переходе к реляционной модели должно быть введено специальное дополнительное  отношение , которое имеет всего два атрибута: ISBN ( шифр  книги) и KOD (код области знаний). При этом каждый из атрибутов нового отношения является внешним ключом ( FOREIGN KEY ), а вместе они образуют  первичный ключ  ( PRIMARY KEY ) новой связующей сущности. 

На рисунке ниже  представлена реляционная модель, соответствующая представленной ранее  инфологической модели "Библиотека".