Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Типы мощностей






§ одному экземпляру родительской сущности соответствуют 0, 1 или много

экземпляров дочерней;

Основные конструкции IDEF1X- модели: - Сущности, к которым относятся данные (люди, места, идеи, события), изображаемые блоками. - Отношения между этими сущностями, изображаемые соединяющими блоки дугами. - Характеристики этих сущностей, изображаемые именами атрибутов внутри блоков.

 

Эти конструкции соответствуют основным компонентам IDEF1X-моделей:

Сущности: - независимые (объектные); - зависимые (связные)

Отношения: - неспецифические; - специфические (1-отношения, идентифицирующие связи; 2-отношения, неидентифицирующие связи; 3-отношения категоризации)

Атрибуты: - неключевые; - ключевые (1-внешний ключ (FK); 2-потенциальный; 3-первичный (PK); 4-альтернативный (AK)).

 

Этапы построения модели данных в рамках методологии IDEF1X:

Начало работы над проектом.

Определение (идентификация) сущностей.

Определение (идентификация) отношений (связей).

Определение (идентификация) атрибутов

Документирование модели.

Начало работы над проектом предполагает: - определение цели моделирования, - разработку плана моделирования, - сбор исходной информации.

Наиболее распространенным средством моделирования данных являются диаграммы " сущность-связь" (ERD).

Язык SQL: Использование DISTINCT.

DISTINCT - Исключаем избыточность

Пример:

IDEF1X: Принцип описания абстрактных и реальных объектов с помощью сущностей. Смысл отношений, их выявление.

+ см. выше стр.20

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

Каждый экземпляр является реализацией сущности.

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

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

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

Определения отношений должны быть:

  • специфическими,
  • краткими,
  • осмысленными.

Язык SQL: использование имен корреляции (алиасов, псевдонимов).

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

" Имена корреляции" (этот термин принят для переменных области или псевдонимов), входящие в предложение FROM, обеспечивают использование альтернативных имен для таблиц. Имя корреляции записывается после имени таблицы, и ею определение действует только в течение исполнения оператора, Эти имена не обязательны для базовых таблиц и представлений, но необходимы при работе с таблицами, которые являются результатом подзапроса. Имена корреляции могут применяться для устранения неоднозначностей в используемых в предложении столбцах, в этом случае " имя корреляции" заменяет имя таблицы. Допускается, например, использование соединения таблицы с самой собой, которое будет обрабатываться как соединение двух идентичных таблиц. В лом случае необходимо использовать имя корреляции (псевдоним), чтобы различать две соединяемые копии. Имена корреляции выступают в роли префиксов к именам столбцов и, как обычно, отделяются от имени с помощью точки. Фактически, это переименование столбцов, используемых в предложении SELECT. Однако такие имена используются не для выходных столбцов, а для столбцов, на которые имеется ссылка в оставшейся части оператора, в частности, в предложении WHERE. Имена корреляции не относятся к обязательным элементам и используются только в некоторых случаях для более понятной записи оператора.

Пример 19. Отобрать все пары поставщиков таким образом, чтобы первый поставщик в паре имел статус, больший статуса второго поставщика:

SELECT P1.PNAME AS PNAME1, P1.PSTATUS AS PSTATUS1, P2.PNAME AS PNAME2, P2.PSTATUS AS PSTATUS2 FROM P P1, P P2 WHERE P1.PSTATUS1 > P2.PSTATUS2;

В результате получим следующую таблицу:

PNAME1 PSTATUS1 PNAME2 PSTATUS2
Иванов   Петров  
Иванов   Сидоров  
Сидоров   Петров  

Пример 20. Рассмотрим ситуацию, когда некоторые поставщики (назовем их контрагенты) могут выступать как в качестве поставщиков деталей, так и в качестве получателей. Таблицы, хранящие данные могут иметь следующий вид:

Номер контрагента NUM Наименование контрагента NAME
  Иванов
  Петров
  Сидоров

Таблица 3 Отношение CONTRAGENTS

Номер детали DNUM Наименование детали DNAME
  Болт
  Гайка
  Винт

Таблица 4 Отношение DETAILS (Детали)

Номер поставщика PNUM Номер получателя CNUM Номер детали DNUM Поставляемое количество VOLUME
       
       
       
       
       
       

Таблица 5 Отношение CD (Поставки)

В таблице CD (поставки) поля PNUM и CNUM являются внешними ключами, ссылающимися на потенциальный ключ NUM в таблице CONTRAGENTS.

Ответ на вопрос " кто кому что в каком количестве поставляет" дается следующим запросом:

SELECT P.NAME AS PNAME, C.NAME AS CNAME, DETAILS.DNAME, CD.VOLUME FROM CONTRAGENTS P, CONTRAGENTS C, DETAILS, CD WHERE P.NUM = CD.PNUM AND C.NUM = CD.CNUM AND D.DNUM = CD.DNUM;

В результате получим следующую таблицу:

Наименование поставщика PNAME Наименование получателя CNAME Наименование детали DNAME Поставляемое количество VOLUME
Иванов Петров Болт  
Иванов Сидоров Гайка  
Иванов Сидоров Винт  
Петров Сидоров Болт  
Петров Сидоров Гайка  
Сидоров Иванов Болт  

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.