Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
PAGE 1
ЛАБОРАТОРНАЯ РАБОТА №2 «Моделирование данных в нотации IDEF1x. Язык SQL»
Цель работы
получить навыки информационного моделирования предметной области и описания логической схемы реляционной базы данных с помощью метода IDEF1X.
Содержание отчета
Варианты заданий
[0.0.1] 1. Информационная система вуза [0.0.2] 2. Информационная система торговой организации [0.0.3] 3. Информационная система медицинских организаций города [0.0.4] 4. Информационная система автопредприятия города [0.0.5] 5. Информационная система проектной организации [0.0.6] 6. Информационная система авиастроительного предприятия [0.0.7] 7. Информационная система военного округа [0.0.8] 8. Информационная система строительной организации [0.0.9] 9. Информационная система библиотечного фонда города [0.0.10] 10. Информационная система спортивных организаций города [0.0.11] 11. Информационная система автомобилестроительного предприятия [0.0.12] 12. Информационная система гостиничного комплекса [0.0.13] 13. Информационная система магазина автозапчастей [0.0.14] 14. Информационная система представительства туристической фирмы в зарубежной стране [0.0.15] 15. Информационная система аптеки [0.0.16] 16. Информационная система библиотеки вуза [0.0.17] 17. Информационная система туристического клуба [0.0.18] 18. Информационная система городской телефонной сети [0.0.19] 19. Информационная система театра [0.0.20] 20. Информационная система аэропорта [0.0.21] 21. Информационная система зоопарка [0.0.22] 22. Информационная система ГИБДД [0.1] IDEF1X [0.1.1] Сущность [0.1.2] Атрибут [0.1.3] Связь (отношение) [0.1.3.1] Типы зависимых сущностей [0.1.3.2] Связь типа "наследование" [0.1.3.3] Неопределенная связь (non-specific) [0.2] Нормализация данных [0.2.1] Первая НФ [0.2.2] Вторая НФ [0.2.3] Третья НФ [0.2.4] Краткое описание нормальных форм [0.2.5] Замечание о денормализации [0.3] Этапы построения модели (по IDEF1X) |
Студенты, организованные в группы, учатся на одном из факультетов, возглавляемом деканатом, в функции которого входит контроль за учебным процессом. В учебном процессе участвуют преподаватели кафедр, административно относящиеся к одному из факультетов. Преподаватели подразделяются на следующие категории: ассистенты, преподаватели, старшие преподаватели, доценты, профессора. Ассистенты и преподаватели могут обучаться в аспирантуре, ст. преподаватели, доценты, могут возглавлять научные темы, профессора - научные направления. Преподаватели любой из категории в свое время могли защитить кандидатскую, а доценты и профессора и докторскую диссертацию, при этом преподаватели могут занимать должности доцента и профессора только, если они имеют соответственно звания доцента и профессора.
Учебный процесс регламентируется учебным планом, в котором указывается, какие учебные дисциплины на каких курсах и в каких семестрах читаются для студентов каждого года набора, с указанием количества часов на каждый вид занятий по дисциплине (виды занятий: лекции, семинары, лабораторные работы, консультации, курсовые работы, ИР и т.д.) и формы контроля (зачет, экзамен). Перед началом учебного семестра деканаты раздают на кафедры учебные поручения, в которых указываются какие кафедры (не обязательно относящиеся к данному факультету), какие дисциплины и для каких групп должны вести в очередном семестре. Руководствуясь ими, на кафедрах осуществляется распределение нагрузки, при этом по одной дисциплине в одной группе разные виды занятий могут вести один или несколько разных преподавателей кафедры (с учетом категории преподавателей, например, ассистент не может читать лекции, а профессор никогда не будет проводить лабораторные работы). Преподаватель может вести занятия по одной или нескольким дисциплинам для студентов как своего, так и других факультетов. Сведения о проведенных экзаменах и зачетах собираются деканатом.
По окончании обучения студент выполняет дипломную работу, руководителем которой является преподаватель с кафедры, относящейся к тому же факультету, где обучается студент, при этом преподаватель может руководить несколькими студентами.
Виды запросов в информационной системе:
Получить перечень и общее число тем кандидатских и докторских диссертаций, защитивших сотрудниками указанной кафедры либо указанного факультета.
Получить перечень кафедр, проводящих занятия в указанной группе либо на указанном курсе указанного факультета в указанном семестре, либо за указанный период.
Получить список и общее число преподавателей, проводивших (проводящих) занятия по указанной дисциплине в указанной группе или на указанном курсе указанного факультета.
Получить перечень и общее число преподавателей, проводивших (проводящих) лекционные, семинарские и другие виды занятий в указанной группе либо на указанном курсе указанного факультета в указанном семестре, либо за указанный период.
Получить список и общее число студентов указанных групп, сдавших зачет или экзамен по указанной дисциплине с указанной оценкой.
Получить список и общее число студентов указанных групп или указанного курса указанного факультета, сдавших указанную сессию на отлично, без троек, без двоек.
Получить перечень преподавателей, принимающих (принимавших) экзамены в указанных группах по указанным дисциплинам в указанном семестре.
Получить список студентов указанных групп или которым заданный преподаватель поставил некоторую оценку за экзамен по определенным дисциплинам в указанных семестрах за некоторый период.
Получить список студентов и тем дипломных работ, выполняемых ими на указанной кафедре или у указанного преподавателя.
Получить список руководителей дипломных работ с указанной кафедры или факультета полностью и раздельно по некоторым категориям преподавателей.
Получить нагрузку преподавателей (название дисциплины, количество часов), ее объем по отдельным видам занятий и общую нагрузку в указанном семестре для конкретного преподавателя или для преподавателей указанной кафедры.
Торговая организация ведет торговлю в торговых точках разных типов: универмаги, магазины, киоски, лотки и т.д.), в штате которых работают продавцы. Универмаги разделены на отдельные секции, руководимые управляющими секций и расположенные, возможно, на разных этажах здания. Как универмаги, так и магазины могут иметь несколько залов, в которых работает определенное число продавцов, универмаги, магазины, киоски могут иметь такие характеристики, как размер торговой точки, платежи за аренду, коммунальные услуги, количество прилавков и т.д. Кроме того, в универмагах и магазинах учет проданных товаров ведется персонифицированно с фиксацией имен и характеристик покупателя, чего в киосках и на лотках сделать не представляется возможным.
Заказы поставщику составляются на основе заявок, поступающих из торговых точек. На основе заявок менеджеры торговой организации выбирают поставщика, формируют заказы, в которых перечисляются наименования товаров и заказываемое их количество, которое может отличаться от запроса из торговой точки. Если указанное наименование товара ранее не поставлялось, оно пополняет справочник номенклатуры товаров. На основе маркетинговых работ постоянно изучается рынок поставщиков, в результате чего могут появляться новые поставщики и исчезать старые. При этом одни и те же товары торговая организация может получать от разных поставщиков и, естественно, по различным ценам.
Поступившие товары распределяются по торговым точкам и в любой момент можно получить такое распределение.
Продавцы торговых точек ведут продажу товаров, учитывая все сделанные продажи, фиксируя номенклатуру и количество проданного товара, а продавцы универмагов и магазинов дополнительно фиксируют имена и характеристики покупателей, что позволяет вести учет покупателей и сделанных ими покупок. В процессе торговли торговые точки вправе менять цены на товары в зависимости от спроса и предложения товаров, а также по согласованию передавать товары в другую торговую точку.
Виды запросов в информационной системе:
Каждая больница города состоит из одного или нескольких корпусов, в каждом из которых размещается одно или несколько отделений, специализирующихся на лечении определенной группы болезней; каждое отделение и имеет некоторое количество палат на определенное число коек. Поликлиники могут административно быть прикрепленными к больницам, а могут не быть прикреплены. Как больницы, так и поликлиники обслуживаются врачебным (хирурги, терапевты, невропатологи, окулисты, стоматологи, рентгенологи, гинекологи и пр.) и обслуживающим персоналом (медицинские сестры, санитары, уборщицы и пр.). Каждая категория врачебного персонала обладает характеристиками, присущими только специалистам этого профиля и по-разному участвует в связях: хирурги, стоматологи и гинекологи могут проводить операции, они же имеют такие характеристики, как число проведенных операций, число операций с летальным исходом; рентгенологи и стоматологи имеют коэффициент к зарплате за вредные условия труда, у рентгенологов и невропатологов более длительный отпуск. Врачи любого профиля могут иметь степень кандидата или доктора медицинских наук. Степень доктора медицинских наук дает право на присвоение звания профессора, а степень кандидата медицинских наук на присвоение звания доцента. Разрешено совместительство, так что каждый врач может работать либо в больнице, либо в поликлинике, либо и в одной больнице и в одной поликлинике. Врачи со званием доцента или профессора могут консультировать в нескольких больницах или поликлиниках.
Лаборатории, выполняющие те или иные медицинские анализы, могут обслуживать различные больницы и поликлиники, при условии наличия договора на обслуживание с соответствующим лечебным заведением. При этом каждая лаборатория имеет один или несколько профилей: биохимические, физиологические, химические исследования.
Пациенты амбулаторно лечатся в одной из поликлиник и по направлению из них могут стационарно лечиться либо в больнице, к которой относится поликлиника, либо в любой другой, если специализация больницы, к которой приписана поликлиника, не позволяет провести требуемое лечение. Как в больнице, так и в поликлинике ведется персонифицированный учет пациентов, полная история их болезней, все назначения, операции и т.д. В больнице пациент имеет в каждый данный момент одного лечащего врача, в поликлинике - несколько.
Виды запросов в информационной системе:
Автопредприятие города занимается организацией пассажирских и грузовых перевозок внутри города. В ведении предприятия находится автотранспорт различного назначения: автобусы, такси, маршрутные такси, прочий легковой транспорт, грузовой транспорт, транспорт вспомогательного характера, представленный различными марками. Каждая из перечисленных категорий транспорта имеет характеристики, свойственные только этой категории: например, к характеристикам только грузового транспорта относится грузоподъемность, пассажирский транспорт характеризуется вместимостью и т.д. С течением времени, с одной стороны, транспорт стареет и списывается (возможно, продается), а с другой стороны, предприятие пополняется новым автотранспортом.
Предприятие имеет штат водителей, закрепленных за автомобилями (за одним автомобилем может быть закреплено более одного водителя). Обслуживающий персонал (техники, сварщики, слесари, сборщики и др.) занимается техническим обслуживанием автомобильной техники, при этом различные вышеперечисленные категории также могут иметь уникальные для данной категории атрибуты. Обслуживающий персонал и водители объединяется в бригады, которыми руководят бригадиры, далее следуют мастера, затем начальники участков и цехов. В ведении предприятия находятся объекты гаражного хозяйства (цеха, гаражи, боксы и пр.), где содержится и ремонтируется автомобильная техника.
Пассажирский автотранспорт (автобусы, маршрутные такси) перевозит пассажиров по определенным маршрутам, за каждым из них закреплены отдельные единицы автотранспорта. Ведется учет числа перевозимых пассажиров, на основании чего производится перераспределением транспорта с одного маршрута на другой. Учитывается также пробег, число ремонтов и затраты на ремонт по всему автотранспорту, объем грузоперевозок для грузового транспорта, интенсивность использования транспорта вспомогательного назначения. Учитывается интенсивность работы бригад по ремонту (число ремонтов, объем выполненных работ), число замененных и отремонтированных узлов и агрегатов (двигателей, мостов, шасси и т.д.) по каждой автомашине и суммарно по участку, цеху, предприятию.
Виды запросов в информационной системе:
Проектная организация представлена следующими категориями сотрудников: конструкторы, инженеры, техники, лаборанты, прочий обслуживающий персонал, каждая из которых может иметь свойственные только ей атрибуты. Например, конструктор характеризуется числом авторских свидетельств, техники - оборудованием, которое они могут обслуживать, инженер или конструктор может руководить договором или проектом и т.д. Сотрудники разделены на отделы, руководимые начальником так, что каждый сотрудник числится только в одном отделе.
В рамках заключаемых проектной организацией договоров с заказчиками выполняются различного рода проекты, причем по одному договору может выполняться более одного проекта, и один проект может выполняться для нескольких договоров. Суммарная стоимость договора определяется стоимостью всех проектных работ, выполняемых для этого договора. Каждый договор и проект имеет руководителя и группу сотрудников, выполняющих этот договор или проект, причем это могут быть сотрудники не только одного отдела. Проекты выполняются с использованием различного оборудования, часть которого приписано отдельным отделам, а часть является коллективной собственностью проектной организации, при этом в процессе работы оборудование может передаваться из отдела в отдел. Для выполнения проекта оборудование придается группе, работающей над проектом, если это оборудование не используется в другом проекте.
Для выполнения ряда проектов подрядная организация может привлекать субподрядные организации, передавая им объемы работ.
Ведется учет кадров, учет выполнения договоров и проектов, стоимостной учет всех выполненных работ.
Виды запросов в информационной системе:
Структурно предприятие разбито на цеха, которые в свою очередь подразделяются на участки. Выпускаемые изделия предприятия - самолеты (гражданские, транспортные, военные), планеры, вертолеты, дельтапланы, ракеты (артиллерийские, авиационные, военно-морские), прочие изделия. Каждая категория изделий имеет специфические, присущие только ей атрибуты. Например, для самолетов это число двигателей, для ракеты - мощность заряда и т.д. По каждой категории изделий может собираться несколько видов изделий. Каждой категории инженерно-технического персонала (инженеры, технологи, техники) и рабочих (сборщики, токари, слесари, сварщики и пр.) также свойственны характерные только для этой группы атрибуты. Рабочие объединяется в бригады, которыми руководят бригадиры. Бригадиры выбираются из числа рабочих, мастера, начальники участков и цехов назначаются из числа инженерно-технического персонала.
Каждое изделие собирается в своем цехе (в цехе может собираться несколько видов изделий) и в процессе изготовления проходит определенный цикл работ, перемещаясь с одного участка на другой. Все работы по сборке конкретного изделия на определенном участке выполняет одна бригада рабочих, при этом на участке может работать несколько бригад. Возглавляет работу на участке начальник участка, в подчинении которого находится несколько мастеров. Различные изделия могут проходить одни и те же циклы работ на одних и тех же участках цеха.
Собранное изделие проходит серию испытаний в испытательных лабораториях (полигонах). Испытательные лаборатории могут обслуживать несколько цехов, в свою очередь цеха пользуются, возможно, несколькими испытательными лабораториями. Испытания проводятся испытателями на оборудовании испытательной лаборатории, при этом при испытании конкретного изделия в лаборатории могут быть задействованы различные виды оборудования.
Ведется учет движения кадров и учет выпускаемой продукции.
Виды запросов в информационной системе:
Военные части округа расквартированы по различным местам дислокации, причем в одном месте могут располагаться несколько частей. Каждая воинская часть состоит из рот, роты из взводов, взводы из отделений, в свою очередь воинские части объединяются в дивизии, корпуса или бригады, а те в армии. Военный округ представлен офицерским составом (генералы, полковники, подполковники, майоры, капитаны, лейтенанты) и рядовым и сержантским составом (старшины, сержанты, прапорщики, ефрейторы, рядовые). Каждая из перечисленных категорий военнослужащих может иметь характеристики, присущие только этой категории: для генералов это может быть дата окончания академии, дата присвоения генеральского звания и т.д. Каждое из подразделений имеет командира, причем военнослужащие офицерского состава могут командовать любым из вышеперечисленных подразделений, а военнослужащие рядового и сержантского состава только взводом и отделением. Все военнослужащие имеют одну или несколько воинских специальностей.
Каждой воинской части придана боевая и транспортная техника: БМП, тягачи, автотранспорт и пр. и вооружение: карабины, автоматическое оружие, артиллерия, ракетное вооружение и т.д. Каждая из перечисленных категорий боевой техники и вооружения также имеет специфические, присущие только ей атрибуты и по каждой категории может быть несколько видов техники и вооружения. Инфраструктура военной части представлена набором сооружений (сооружение N1, сооружение N2 ...), некоторые из которых предназначены для дислокации подразделений части.
Виды запросов в информационной системе:
Строительная организация занимается строительством различного рода объектов: жилых домов, больниц, школ, мостов, дорог и т.д. по договорам с заказчиками (городская администрация, ведомства, частные фирмы и т.д.). Каждая из перечисленных категорий объектов имеет характеристики, свойственные только этой или нескольким категориям: например, к характеристикам жилых домов относится этажность, тип строительного материала, число квартир, для мостов уникальными характеристиками являются тип пролетного строения, ширина, количество полос для движения.
Структурно строительная организация состоит из строительных управлений, каждое строительное управление ведет работы на одном или нескольких участках, возглавляемых начальниками участков, которым подчиняется группа прорабов, мастеров и техников. Каждой категории инженерно-технического персонала (инженеры, технологи, техники) и рабочих (каменщики, бетонщики, отделочники, сварщики, электрики, шофера, слесари, и пр.) также свойственны характерные только для этой группы атрибуты. Рабочие объединяется в бригады, которыми руководят бригадиры. Бригадиры выбираются из числа рабочих, мастера, прорабы, начальники участков и управлений назначаются из числа инженерно-технического персонала.
На каждом участке возводится один или несколько объектов, на каждом объекте работу ведут одна или несколько бригад. Закончив работу, бригада переходит к другому объекту на этом или другом участке. Строительному управлению придается строительная техника (подъемные краны, экскаваторы, бульдозеры и т.д.), которая распределяется по объектам.
Технология строительства того или иного объекта предполагает выполнение определенного набора видов работ, необходимых для сооружения данного типа объекта. Например, для жилого дома - это возведение фундамента, кирпичные работы, прокладка водоснабжения и т.д. Каждый вид работ на объекте выполняется одной бригадой. Для организации работ на объекте составляются графики работ, указывающие в каком порядке и в какие сроки выполняются те или иные работы, а также смета, определяющая какие строительные материалы и в каких количествах необходимы для сооружения объекта. По результатам выполнения работ составляется отчет с указанием сроков выполнения работ и фактических расходов материалов.
Виды запросов в информационной системе:
Библиотечный фонд города составляют библиотеки, расположенные на территории города. Каждая библиотека включает в себя абонементы и читальные залы. Пользователями библиотек являются различные категории читателей: студенты, научные работники, преподаватели, школьники, рабочие, пенсионеры и другие жители города. Каждая категория читателей может обладать непересекающимися характеристиками: для студентов это название учебного заведения, факультет, курс, номер группы, для научного работника - название организации, научная тема и т.д. Каждый читатель, будучи зарегистрированным в одной из библиотек, имеет доступ ко всему библиотечному фонду города.
Библиотечный фонд (книги, журналы, газеты, сборники статей, сборники стихов, диссертации, рефераты, сборники докладов и тезисов докладов и пр.) размещен в залах-хранилищах различных библиотек на определенных местах хранения (номер зала, стеллажа, полки) и идентифицируется номенклатурными номерами. При этом существуют различные правила относительно тех или иных изданий: какие-то подлежат только чтению в читальных залах библиотек, для тех, что выдаются, может быть установлен различный срок выдачи и т.д. С одной стороны, библиотечный фонд может пополняться, с другой - с течением времени происходит его списание.
Произведения авторов, составляющие библиотечный фонд, также можно разделить на различные категории, характеризующиеся собственным набором атрибутов: учебники, повести, романы, статьи, стихи, диссертации, рефераты, тезисы докладов и т.д.
Сотрудники библиотеки, работающие в различных залах различных библиотек, ведут учет читателей, а также учет размещения и выдачи литературы
Виды запросов в информационной системе:
Спортивная инфраструктура города представлена спортивными сооружениями различного типа: спортивные залы, манежи, стадионы, корты и т.д. Каждая из категорий спортивных сооружений обладает атрибутами, специфичными только для нее: стадион характеризуется вместимостью, корт - типом покрытия.
Спортсмены под руководством тренеров занимаются отдельными видами спорта, при этом один и тот же спортсмен может заниматься несколькими видами спорта, и в рамках одного и того же вида спорта может тренироваться у нескольких тренеров. Все спортсмены объединяются в спортивные клубы, при этом каждый из них может выступать только за один клуб.
Организаторы соревнований проводят состязания по отдельным видам спорта на спортивных сооружениях города. По результатам участия спортсменов в соревнованиях производится награждение.
Виды запросов в информационной системе:
Структурно предприятие состоит из цехов, которые в свою очередь подразделяются на участки. Выпускаемые изделия предприятия: грузовые, легковые автомобили, автобусы, сельскохозяйственные, дорожно-строительные машины, мотоциклы и прочие изделия. Каждая категория изделий имеет специфические, присущие только ей атрибуты. Например, для автобусов это вместимость, для сельскохозяйственных и дорожно-строительных машин - производительность и т.д. По каждой категории изделий может собираться несколько видов изделий. Для каждой категории инженерно-технического персонала (инженеры, технологи, техники) и рабочих (сборщики, токари, слесари, сварщики и пр.) также характерны атрибуты, свойственные только этой группе. Рабочие объединяются в бригады, которыми руководят бригадиры. Бригадиры выбираются из числа рабочих; мастера, начальники участков и цехов назначаются из числа инженерно-технического персонала.
Каждое изделие собирается в своем цехе (в цехе может собираться несколько видов изделий) и в процессе изготовления проходит определенный цикл работ, перемещаясь с одного участка на другой. Все работы по сборке конкретного изделия на определенном участке выполняет одна бригада рабочих, при этом на участке может работать несколько бригад. Возглавляет работу на участке начальник участка, в подчинении которого находится несколько мастеров. Различные изделия могут проходить одни и те же циклы работ на одних и тех же участках цеха.
Собранное изделие проходит серию испытаний в испытательных лабораториях. Испытательные лаборатории могут обслуживать несколько цехов, в свою очередь цеха могут пользоваться несколькими лабораториями. Испытания проводятся специалистами на оборудовании испытательной лаборатории, при этом при испытании конкретного изделия в лаборатории могут быть задействованы различные виды оборудования.
Ведется учет движения кадров и учет выпускаемой продукции.
Виды запросов в информационной системе:
Гостиничный комплекс состоит из нескольких зданий-гостиниц (корпусов). Каждый корпус имеет ряд характеристик, таких, как класс отеля (двух-, пятизвездочные), количество этажей в здании, общее количество комнат, комнат на этаже, местность номеров (одно-, двух-, трехместные и т.д.), наличие служб быта: ежедневная уборка номера, прачечная, химчистка, питание (рестораны, бары) и развлечения (бассейн, сауна, бильярд и пр.). От типа корпуса и местности номера зависит сумма оплаты за него. Химчистка, стирка, дополнительное питание, все развлечения производятся за отдельную плату.
С крупными организациями (туристические фирмы, организации, занимающиеся проведением международных симпозиумов, конгрессов, семинаров, карнавалов и т.д.) заключаются договора, позволяющие организациям бронировать номера с большими скидками на определенное время вперед не для одного человека, а для группы людей. Каждая из перечисленных групп организаций обладает характеристиками, свойственными только этой группе. Желательно группы людей от одной организации не расселять по разным этажам. В брони указывается класс отеля, этаж, количество комнат и общее количество людей. Броня может быть отменена за неделю до заселения. На основе маркетинговых работ расширяется рынок гостиничных услуг, в результате чего заключаются договора с новыми фирмами. Также исследуется мнение жильцов о ценах и сервисе. Жалобы фиксируются и исследуются. Изучается статистика популярности номеров. Ведется учет долгов постояльца гостинице за все дополнительные услуги.
Новые жильцы пополняют перечень клиентов гостиницы. Ведется учет свободных номеров, дополнительных затрат постояльцев гостиницы и учет расходов и доходов гостиничного комплекса.
Виды запросов в информационной системе:
Магазин розничной торговли осуществляет заказ запчастей в различных странах. Ведется статистика продаж, отражающая спрос на те или иные детали, и, соответственно, потребность магазина в них (сколько единиц, на какую сумму, какого товара продано за последнее время) и на ее основе составляются заказы на требуемые товары. Выбор поставщика на каждый конкретный заказ осуществляют менеджеры магазина. В заказах перечисляется наименование товара, количество. Если указанное наименование товара ранее не поставлялось, оно пополняет справочник номенклатуры товаров.
Поставщики бывают различных категорий: фирмы, непосредственно производящие детали, дилеры, небольшие производства, мелкие поставщики и магазины. В результате поставщики различных категорий имеют различающийся набор атрибутов. Фирмы и дилеры - это самые надежные партнеры, они могут предложить полный пакет документов, скидки, а главное - гарантию, чего не может сделать небольшое производство или мелкий магазин. У них же (фирмы и дилеры) закупается большой объем продукции. Небольшое производство - это низкие цены, но никакой гарантии качества. В мелких лавках можно выгодно купить небольшое количество простых деталей, на которых сразу виден брак. Фирмы и дилеры поставляют детали на основе договоров, чего не делается для небольшого производства и мелкого магазина. В ходе маркетинговых работ изучается рынок поставщиков, в результате чего могут появляться новые поставщики и исчезать старые.
Когда ожидаются новые поставки, магазин собирает заявки от покупателей на свои товары. Груз приходит, производится его таможенное оформление, оплата пошлин, после чего он доставляется на склад в магазин. В первую очередь удовлетворяются заявки покупателей, а оставшийся товар продается в розницу.
В любой момент можно получить любую информацию о деталях, находящихся на складе, либо о поставляемых деталях. Детали хранятся на складе в определенных ячейках. Все ячейки пронумерованы. Касса занимается приемом денег от покупателей за товар, а так же производит возврат денег за брак. Брак, если это возможно, возвращается поставщику, который производит замену бракованной детали. Информация о браке (поставщик, фирма-производитель, деталь) фиксируется.
Виды запросов в информационной системе:
Туристическая фирма в России формирует группу туристов и данные на каждого туриста (ФИО, паспортные данные, пол, возраст, дети, в какой гостинице хотят жить) отправляет в представительство. Представительство на основе этих данных заполняет на каждого пакет документов для получения визы, готовит списки расселения по разным гостиницам и бронирует номера в этих гостиницах.
Представительство занимается приемом туристов в аэропорту, решает проблемы, связанные с визами и таможней, расселяет группу по гостиницам. Представительство предлагает расписание экскурсий и производит запись на определенные экскурсии. Составляется список: кто, на какие экскурсии едет и передается в агентство организации экскурсий.
Туристическая группа делится на туристов, которые едут отдохнуть (они больше интересуются экскурсиями и не интересуются возможностью использования склада), на туристов, которые едут за грузом (они интересуются складом и не будут интересоваться экскурсиями), и их детей. Дети не могут получить визу, сами переселиться, ходить куда-либо без сопровождения родителей. Каждая категория туристов имеет специфические характеристики.
В функциональные обязанности представительства входит также:
хранение и отправка груза туристов. На складе заводится на каждого туриста весовая ведомость, проводится маркировка, взвешивание, упаковка груза. Для отправки груза составляется ведомость на каждого туриста, в ней указывается: количество мест, вес, стоимость упаковки, страховки, итоговая сумма.
предоставление полного финансового отчета в головную фирму. Все статьи расхода и дохода - гостиница, перевозки, экскурсии, непредвиденные расходы, расчеты в аэропорту (загрузка самолета, разгрузка, взлет-посадка, диспетчерские услуги, хранение груза) переносятся в финансовый отчет.
Виды запросов в информационной системе:
Аптека продает медикаменты и изготавливает их по рецептам. Лекарства могут быть разных типов:
Различие в типах лекарств отражается в различном наборе атрибутов, их характеризующих. Микстуры и порошки изготавливаются только для внутреннего применения, растворы для наружного, внутреннего применения и для смешивания с другими лекарствами и мази только для наружного применения. Лекарство различны также по способу приготовления и по времени приготовления. Порошки и мази изготавливаются смешиванием различных компонент. При изготовлении растворов и микстур ингредиенты не только смешивают, но и отстаивают с последующей фильтрацией лекарства, что увеличивает время изготовления.
В аптеке существует справочник технологий приготовления различных лекарств. В нем указываются: идентификационный номер технологии, название лекарства и сам способ приготовления. На складе на все медикаменты устанавливается критическая норма, т.е. когда какого-либо вещества на складе меньше критической нормы, то составляются заявки на данные вещества и их в срочном порядке привозят с оптовых складов медикаментов.
Для изготовления аптекой лекарства, больной должен принести рецепт от лечащего врача. В рецепте должно быть указано: ФИО, подпись и печать врача, ФИО, возраст и диагноз пациента, также количество лекарства и способ применения. Больной отдает рецепт регистратору, он принимает заказ и смотрит, есть ли компоненты заказываемого лекарства. Если не все компоненты имеются в наличии, то делает заявки на оптовые склады лекарств и фиксирует ФИО, телефон и адрес необслуженного покупателя, чтобы сообщить ему, когда доставят нужные компоненты. Такой больной пополняет справочник заказов - это те заказы, которые находятся в процессе приготовления, с пометкой, что не все компоненты есть для заказа. Если все компоненты имеются, то они резервируются для лекарства больного. Покупатель выплачивает цену лекарства, ему возвращается рецепт с пометкой о времени изготовления. Больной также пополняет справочник заказов в производстве. В назначенное время больной приходит и по тому же рецепту получает готовое лекарство. Такой больной пополняет список отданных заказов.
Ведется статистика по объемам используемых медикаментов. Через определенный промежуток времени производится инвентаризация склада. Это делается для того, чтобы определить, есть ли лекарства с критической нормой, или вышел срок хранения или недостача.
Виды запросов в информационной системе:
Библиотека включает в себя абонементы, читальные залы и справочную систему каталогов и картотек. Читателями библиотеки вуза имеют право быть: студенты всех форм обучения, профессорско-преподавательский состав университета, аспиранты, ассистенты и другие сотрудники подразделений вуза, слушатели подготовительного отделения (ПО), факультета повышения квалификации (ФПК), стажеры, абитуриенты. Различные категории читателей среди прочих обладают характеристиками, специфическими для своей категории: для студентов это название факультета, номер группы, для преподавателя - название кафедры, степень, звание и т.д. Слушатели ФПК, абитуриенты, стажеры - разовые читатели - имеют право пользоваться только читальными залами.
Читатели библиотеки имеют право получать книги и другие источники информации на всех пунктах выдачи библиотеки (абонементах и читальных залах), а также получать необходимые издания по межбиблиотечному абонементу, сделав предварительно заказ. Читатели, приходящие на пункт выдачи, обязаны иметь при себе читательский билет с отметками о записи и перерегистрации текущего года на данном пункте выдачи. При выбытии из вуза (отчисление, окончание обучения, увольнение) читатели обязаны вернуть числящиеся за ними издания и сдать читательские билеты.
За нарушение правил пользования библиотекой читатели лишаются права пользования всеми пунктами обслуживания библиотеки на установленные администрацией сроки (от 1 до 6 месяцев). В случае утери или порчи книг читатель обязан заменить их такими же или другими изданиями, признанными библиотекой равноценными, или же возместить их 10-кратную стоимость. В случае невозвращения в библиотеку книг в установленный срок, читатель обязан заплатить штраф.
Срок пользования литературой для различных категорий читателей и количество выдаваемых изданий на каждом абонементе определяется администрацией, исходя из вида литературы и категории читателя. Число книг, выдаваемых в читальных залах, не ограничивается.
При поступлении новых изданий в библиотеку они должны быть внесены в картотеку с указанием их количества для каждого абонемента и читального зала. Выдача книг, сроки, штрафы и т.п. собираются и обрабатываются администрацией.
Виды запросов в информационной системе:
Туристы, приходящие в туристический клуб, могут не только ходить в плановые походы, но и заниматься в различных секциях в течение всего года. Для этого они записываются в группы, относящиеся к определенным секциям.
Туpистов можно условно pазделить на любителей, спортсменов и тpенеpов. Каждая из перечисленных категорий может иметь свой набор характеристик-атрибутов. Секции клуба возглавляются руководителями, в функции которых входит контроль за работой секции. В работе секции участвуют тренеры, административно относящиеся к одной из секций. Руководитель секции назначает каждой группе тренера. Тренер может тренировать несколько групп, причем необязательно принадлежащих его секции. Споpтсмены и тpенеpы могут участвовать в pазличных соpевнованиях.
Каждый год составляется расписание работы секций. В нем указывается, какие будут проводиться тренировки и в каких секциях: их количество, место, время и т.д. В соответствии с этим руководители секций осуществляют распределение нагрузки для тренеров (с учетом их специальности). Сведения о проведенных тренировках и посещаемости тренировок собираются руководителями.
В течение года клуб организует различные походы. Каждый поход имеет свой маршрут, на который отводится определенное количество дней. По маршруту и количеству дней определяется категория сложности данного похода. Поход возглавляет инстpуктоp, котоpым может быть какой-либо тpенеp или споpтсмен. Он набиpает гpуппу в количестве 5-15 человек для своего похода, исходя из типа похода (пеший, конный, водный, гоpный) и физических данных туpистов (по их занятиям в секциях: водники, спелеологи, альпинисты и дpугие с учетом специфики занятий - не умеющего плавать никогда не возьмут на сплав, а в пеший поход небольшой категоpии сложности могут взять любого туpиста). Инстpуктоp может водить в поход, если он сам pанее уже пpошел по этому маршруту.
Походы могут быть плановыми и неплановыми. Для каждого планового похода существует точный план в котором указывается маршрут, расписание привалов и стоянок на каждый день. Во вpемя планового похода ведется дневник. Неплановые походы имеют только маршрут и полное время его прохождения. Hеплановый поход может быть пеpеведен в категоpию плановых. Каждому туpисту пpисваивается категоpия максимально сложного из пpойденных им плановых походов.
Виды запросов в информационной системе:
ГТС представляет собой разветвленную сеть локальных АТС. АТС подразделяются на городские, ведомственные и учрежденческие и, возможно, обладают характерным только для этой группы набором атрибутов. У каждой АТС есть свои абоненты. У абонента может стоять телефон одного из трех типов: основной, параллельный или спаренный. За каждым абонентом (у него есть фамилия, имя, отчество, пол, возраст и т.д.) закреплен свой номер телефона, причем у нескольких абонентов может быть один и тот же номер (при параллельном или спаренном телефоне). Каждому номеру телефона соответствует адрес (индекс, район, улица, дом, квартира), причем параллельные или спаренные телефоны обязательно должны находиться в одном доме.
Все телефоны городской АТС имеют выход на межгород, но для конкретного абонента он может быть либо открыт, либо закрыт по какой-либо причине (отключен по желанию абонента, за неуплату и т.п.). Ведомственные и учрежденческие АТС имеют свою внутреннюю замкнутую сеть телефонов. Сведения о междугородных переговорах собираются и анализируются на ГТС.
Абоненты обязаны платить абонентскую плату. Плата должна вноситься каждый месяц до 20-го числа. При неуплате после письменного уведомления в течение двух суток отключается абонент. При задолженности за междугородние разговоры и неоплате после письменного уведомления производится отключение только возможности выхода на межгород. Включение того и (или) другого производится при оплате стоимости включения, абонентской платы и пени.
Абонентов любой АТС можно подразделить на простых и льготных. К категории льготников относятся пенсионеры, инвалиды и т.д. Льготники платят только 50% абонентской платы. В соответствии со всем этим (тип телефона, льготник или нет, есть ли выход на межгород) рассчитывается размер абонентской платы.
На установку телефона существуют очереди: льготная и обычная. При подходе очередности рассматривается техническая возможность установки (наличие кабеля и свободного канала, наличие свободных телефонных номеров).
В городе также существуют общественные телефоны и таксофоны, расположенные по определенным адресам.
Виды запросов в информационной системе:
Работников театpа можно подpазделить на актеpов, музыкантов, постановщиков и служащих. Каждая из перечисленных категорий имеет уникальные атрибуты-характеристики и может подразделяться (например, постановщики) на более мелкие категории. Театp возглавляет диpектоp, в функции котоpого входят контpоль за постановками спектаклей, утвеpждение pепеpтуаpа, пpинятие на pаботу новых служащих, пpиглашение актеpов и постановщиков. Актеpы, музыканты и постановщики, pаботающие в театpе, могут уезжать на гастpоли. Актеpы театpа могут иметь звания заслуженных и наpодных аpтистов, могут быть лауpеатами конкуpсов. Также актеpами театpа могут быть и студенты театpальных училищ. Каждый актеp имеет свои вокальные и внешние данные (пол, возpаст, голос, pост и т.п.), котоpые могут подходить для каких-то pолей, а для каких-то нет (не всегда женщина может сыгpать мужчину и наобоpот).
Для постановки любого спектакля необходимо подобpать актеpов на pоли и дублеpов на каждую главную pоль. Естественно, что один и тот же актеp не может игpать более одной pоли в спектакле, но может игpать несколько pолей в pазличных спектаклях. У спектакля также имеется pежисеp-постановщик, художник-постановщик, диpижеp-постановщик, автоp. Спектакли можно подpазделить по жанpам: музыкальная комедия, тpагедия, опеpетта и пр. С другой стороны, спектакли можно подразделить на детские, молодежные и пр. В pепеpтуаpе театpа указывается какие спектакли, в какие дни и в какое вpемя будут пpоходить, а также даты пpемьеp. В кассах театpа можно заpанее пpиобpести билеты или абонемент на любые спектакли. Абонемент обычно включает в себя билеты на спектакли либо конкpетного автоpа, либо конкpетного жанpа. Цена билетов зависит от места, и спектакля. Hа пpемьеpы билете доpоже. Администpацией театpа фиксиpуется количество пpоданных билетов на каждый спектакль.
Виды запросов в информационной системе:
Работников аэpопоpта можно подpазделить на пилотов, диспетчеpов, техников, кассиpов, pаботников службы безопасности, спpавочной службы и дpугих, котоpые администpативно относятся каждый к своему отделу. Каждая из перечисленных категорий работников имеет уникальные атрибуты-характеристики, определяемые профессиональной направленностью. В отделах существует pазбиение pаботников на бpигады. Отделы возглавляются начальниками, котоpые пpедставляют собой администpацию аэpопоpта. В функции администpации входит планиpование pейсов, составление pасписаний, фоpмиpование кадpового состава аэpопоpта. За каждым самолетом закpепляется бpигада пилотов, техников и обслуживающего пеpсонала. Пилоты обязяны пpоходить каждый год медосмотp, не пpошедших медосмотp необходимо пеpевести на дpугую pаботу. Самолет должен своевpеменно осматpиваться техниками и пpи необходимости pемонтиpоваться. Подготовка к pейсу включает в себя техническую часть (техосмотp, запpавка необходимого количества топлива) и обслуживающую часть (убоpка салона, запас пpодуктов питания и т.п.).
В pасписании указывается тип самолета, pейс, дни вылета, вpемя вылета и пpилета, маpшpут (начальный и конечный пункты назначения, пункт пеpесадки), стоимость билета. Билеты на авиаpейсы можно пpиобpести заpанее или забpониpовать в авиакассах. Цена билета зависит не только от маpшpута, но и от вpемени вылета (в неудобное вpемя - ночь, pаннее утpо - цена билета ниже). До отпpавления pейса, если в этом есть необходимость, билет можно веpнуть. Авиаpейсы могут быть задеpжаны из-за погодных условий, технических неполадок, а также могут быть отменены, если не пpодано меньше установленного минимума билетов.
Авиаpейсы можно pазделить на следующие категоpии: внутpенние, междунаpодные, чаpтеpные, гpузопеpевозки, специальные pейсы. Пассажиp пpи посадке в самолет должен пpедъявить билет, паспоpт, а для междунаpодного pейса обязан также пpедъявить загpаничный паспоpт и пpойти таможенный досмотp. Пассажиpы могут сдавать свои вещи в багажное отделение. Hа pейсы гpузопеpевозок и специальные рейсы билеты не пpодаются. Для спец. pейсов не существует pасписания. Билеты на чаpтеpные pейсы pаспpостpаняет то агенство, котоpое его оpганизовало.
Виды запросов в информационной системе:
Служащих зоопаpка можно подpазделить на несколько категоpий: ветеpинаpы, убоpщики, дpессиpовщики, стpоители-pемонтники, pаботники администpации. Каждая из перечисленных категорий работников имеет уникальные атрибуты-характеристики, определяемые профессиональной направленностью. За каждым животным ухаживает опpеделенный кpуг служащих, пpичем только ветеpинаpам, убоpщикам и дpессиpовщикам pазpешен доступ в клетки к животным.
В зоопарке обитают животные различных климатических зон, поэтому часть животных на зиму необходимо пеpеводить в отапливаемые помещения. Животных можно подpазделить на хищников и травоядных. Пpи pасселении животных по клеткам необходимо учитывать не только потpебности данного вида, но и их совместимость с животными в соседних клетках (нельзя pядом селить, напpимеp, волков и их добычу - pазличных копытных).
Для коpмления животных необходимы pазличные типы коpмов: pастительный, живой, мясо и pазличные комбикоpма. Растительный коpм это фpукты и овощи, зеpно и сено. Живой коpм - мыши, птицы, коpм для pыб. Для каждого вида животных pассчитывается свой pацион, котоpый в свою очеpедь ваpьиpуется в зависимости от возpаста, физического состояния животного и сезона. Таким обpазом у каждого животного в зоопаpке имеется меню на каждый день, в котоpом указывается количество и вpемя коpмлений в день, количество и вид пищи (обезьянам необходимы фpукты и овощи, мелким хищникам - хоpькам, ласкам, совам, некотоpым кошачьим, змеям - надо давать мышей). У зоопаpка имеются поставщики коpмов для животных. Каждый поставщик специализиpуются на каких-то конкpетных видах коpмов. Часть коpмов зоопаpк может пpоизводить сам: запасать сено, pазводить мышей и т.д.
Ветеpинаpы должны пpоводить медосмотpы, следить за весом, pостом, pазвитием животного, ставить своевpеменно пpививки и заносить все эти данные в каpточку, котоpая заводится на каждую особь пpи ее появлении в зоопаpке. Больным животным назначается лечение и пpи неоходимости их можно изолиpовать в стационаpе.
Пpи опpеделенных условиях (наличие паpы особей, подходящих по возpасту, физическому состоянию) можно ожидать появления потомства. Потомство от данной паpы животных пpи достижении ими положенного возpаста можно либо оставить в зоопаpке, создав для них подходящие условия содеpжания, либо обменяться с дpугими зоопаpками или пpосто pаздать в дpугие зоопаpки по pешению администpации.
Виды запросов в информационной системе:
У ГИБДД есть три наиболее важные функциональные задачи:
регистрация автотранспортных средств при совершении сделки купли-продажи;
разработка мер, повышающих безопасность дорожного движения и выполнение всех мер при совершении ДТП (дорожно-транспортное происшествие) на улицах города (регистрация, разбор, выявление виновных, автоэкспертиза и т.п.);
борьба с угоном автотранспортных средств, оперативный поиск угнанных машин и задержание преступников.
ГИБДД занимается выделением и учетом номерных знаков на автотранспорт. К автотранспортным средствам относятся легковые, грузовые автомобили, прицепы, полуприцепы, мотоциклы, тракторы, автобусы, микроавтобусы. На разные виды транспорта выдаются разные виды номеров и в базу данных заносятся разные характеристики. Номера могут выделяться как частным владельцам, так и организациям. В справочнике номеров, выданных частным владельцам, фиксируется: номер, ФИО владельца, его адрес, марка автомобиля, дата выпуска, объем двигателя, номера двигателя, шасси и кузова, цвет и т.п. В справочнике номеров, выданных организации, дополнительно фиксируется: название организации, район, адрес, руководитель. Существует справочник свободных номеров (серия, диапазон номеров). ГИБДД периодически проводит технический осмотр (ТО) машин. Для прохождения техосмотра необходима квитанция об оплате налогов, сумма оплаты зависит от объема двигателя. Периодичность прохождения зависит от года выпуска и вида транспортного средства. Технические характеристики, проверяемые на ТО и допуски также зависят от вида транспортного средства.
ГИБДД занимается учетом и анализом ДТП (дорожно-транспортное происшествие). При регистрации ДТП фиксируется: дата, тип происшествия (наезд на пешехода, наезд на ограждение либо столб, лобовое столкновение, наезд на впереди стоящий транспорт, боковое столкновение на перекрестке и т.п.), место происшествия, марки пострадавших автомобилей, государственный номер, тип машины (легковая, грузовая, специальная), краткое содержание, число пострадавших, сумма ущерба, причина, дорожные условия и т.п. Анализ накопленной по ДТП статистике поможет правильно расставить запрещающие и предупреждающие знаки на улицах города, а так же спланировать местонахождение постов патрульных.
Угон либо исчезновение виновника ДТП с места происшествия требует оперативного вмешательства всех постов ГИБДД и патрульных машин. Для информирования о разыскиваемой машине ее данные (включая номера двигателя и кузова) извлекаются из базы зарегистрированных номеров и передаются по рации всем постам. Ведение статистики угонов, ее анализ и опубликование результатов в СМИ поможет снизить количество угонов, а хозяевам машин принять необходимые меры (самые угоняемые марки, самый популярный способ вскрытия, самые надежные сигнализации и т.п.).
Виды запросов в информационной системе:
Методические указания к выполнению работы
Цель моделирования данных состоит в обеспечении разработчика ИС схемой базы данных (БД). Схема может состоять из одной или нескольких моделей данных.
Наиболее распространенным способом моделирования данных является подход с использованием диаграмм «сущность-связь» (Entity Relationship Diagrams, ERD), ориентированных на разработку реляционных БД.
Существуют несколько методов построения ERD, различающихся нотацией, описательными возможностями и функциональным предназначением. Ниже построение ERD будет рассматриваться на примере метода IDEF1X.
Метод IDEF1X первоначально был разработан для Министерства обороны США и ныне широко используется как в государственных учреждениях, так и в частных фирмах США. Метод отличается ясной и недвусмысленной графической нотацией.
Основными элементами диаграмм сущность-связь являются:
В общем случае разработка модели по IDEF1X включает следующие шаги:
Таким образом, первый этап собственно моделирования состоит в извлечении информации из данных обследования (интервью) и выделении сущностей.
Сущность (entity) это описание множества реальных или воображаемых объектов, сходных между собой и имеющих существенное значение для рассматриваемой предметной области, так что информация об объектах подлежит хранению.
Отдельное свойство объекта выражает атрибут. Сущность включает определение одного и более атрибутов.
Каждая сущность должна обладать уникальным идентификатором. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от всех других экземпляров данной сущности.
Под экземпляром сущности понимается индивидуальный объект, описываемый совокупностью значений всех атрибутов сущности. Все экземпляры сущности имеют одинаковый набор атрибутов, но отличаются значениями атрибутов. Иначе говоря, если проводить параллели с программированием, сущность можно рассматривать как класс, а экземпляр сущности как экземпляр класса, или объект.
Если рассматривать эти элементы с точки зрения конечной РБД, то сущности соответствует таблица, экземпляру сущности строка, атрибуту колонка таблицы.
Основные свойства сущности:
В IDEF1X сущность отображается в виде прямоугольника. На концептуальном уровне представления модели прямоугольник дополняется только наименованием сущности, надписываемым непосредственно внутри прямоугольника. На логическом и физическом уровнях прямоугольник делится горизонтальной чертой на две части. В верхней части перечисляются в столбик атрибуты, входящие в состав первичного ключа. В нижней части также в столбик указываются все прочие атрибуты. Наименование сущности пишется над прямоугольником. Наименование дается в единственном числе, что облегчает чтение диаграмм. Фактически сущность именуется исходя из наименования ее экземпляра.
Пример отображения сущности "Сотрудник" на разных уровнях модели:
Более детальное рассмотрение свойств сущности требует определения понятия «связь» и дается ниже.
Атрибут (attribute) любая характеристика сущности, значимая для рассматриваемой проблемной области и предназначенная для квалификации, идентификации, классификации количественной оценки характеристики или выражения состояния сущности.
Экземпляр атрибута это значение атрибута. С позиции конечного представления в РБД атрибуту соответствует колонка таблицы.
Атрибуты бывают обязательными и необязательными. Если атрибут необязателен, то он может принимать неопределенное значение (NULL).
Атрибуты также бывают описательными и ключевыми, т.е. входящими в состав первичного ключа уникального идентификатора. Все ключевые атрибуты являются обязательными.
Атрибуты изображаются в виде списка имен внутри блока сущности, при этом каждый атрибут занимает отдельную строку. Атрибуты, входящие в первичный ключ, размещаются в верхней части прямоугольника. Например, для сущности "Сотрудник" первичный ключ состоит из атрибута "Табельный номер" (см. рисунок выше).
Необязательные атрибуты помечаются буквой “O” (optional). Например, пусть атрибут "Телефон" не является обязательным, тогда:
Если, кроме первичного ключа, для сущности можно указать еще несколько атрибутов (групп атрибутов), уникально определяющих экземпляр сущности, то такие атрибуты называются альтернативными ключами. Альтернативные ключи помечаются аббревиатурой AK (от alternate key):
Основные свойства атрибута:
Ряд характеристик, определяемых через связь, рассматриваются в тексте ниже.
Связь (отношение, relationship) поименованная ассоциация между двумя сущностями, определяющая некоторое логическое соотношение между сущностями.
Каждая связь может именоваться глаголом или глагольной конструкцией. Связь определяет логическое ограничение или бизнес-правило.
На уровне конечной БД связи соответствует ограничение целостности.
Наименование связи уникально для связываемых сущностей и состоит обычно из глагола. Наименование формируется с точки зрения родителя (например, «группасостоит<из>студентов»). Смысл наименования связи определяет ролевое имя внешних ключей (см. ниже).
В зависимости от характера связи, соединяющей сущности, в IDEF1X выделяются зависимые и независимые сущности. С этой точки зрения связи делятся на идентифицирующие и неидентифицирующие.
Полная идентификация: каждый экземпляр полностью идентифицируется своими собственными ключевыми атрибутами.
Можно указать следующее правило определения типа связи и зависимости сущности: если внешний ключ полностью входит в состав первичного ключа, то сущность зависимая; если только часть внешнего ключа состоит из внешних атрибутов или такие атрибуты отсутствуют, то сущность независимая. Ниже это рассматривается подробнее.
В случае связи «один ко многим» экземпляру родительской сущности соответствует произвольное, в том числе нулевое, количество экземпляров потомков, а экземпляр сущности-потомка ассоциирован с одним экземпляром родительской сущности:
При использовании отношения «один ко многим» может устанавливаться идентифицирующая (identifying) связь между одной независимой (родительской) и одной зависимой (дочерней) сущностью. Это означает, что экземпляр дочерней сущности не может существовать, если нет соответствующего ему экземпляра родительской сущности. Это достигается путем так называемой миграции атрибутов первичного ключа родительской сущности в состав первичного ключа дочерней сущности. Первичный ключ родительской сущности становится так называемым внешним ключом (foreign key) для дочерней сущности. При этом атрибуты первичного ключа родительской сущности становятся связанными с соответствующими им атрибутами первичного ключа дочерней сущности: удалением экземпляра родительской сущности приводит к принятию атрибутами внешнего ключа неопределенных значений и, соответственно, фактическому удалению тех экземпляров дочерней сущности, которые были связаны с удаленным экземпляром родительской. Действительно, внешний ключ входит в состав первичного ключа дочерней сущности и его атрибуты не могут принимать неопределенные значения без потери свойства однозначной идентифицируемости сущности.
Таким образом, идентифицирующая связь обязательно делает дочернюю сущность зависимой. Пример идентифицирующей связи:
Идентифицирующая связь показывается как сплошная линия, при этом на конце линии, соответствующем дочерней сущности, показывается жирная точка. Зависимая дочерняя сущность изображается прямоугольником со скругленными углами.
Еще раз следует отметить, что при использовании идентифицирующей связи атрибуты первичного ключа родительской сущности переносятся в состав первичного ключа дочерней сущности.
Все мигрировавшие атрибуты помечаются аббревиатурой FK (foreign key). Например, из отображения сущности "Игрок" видно, что атрибут "Наименование" является внешним ключом.
Сущность может иметь произвольное количество внешних ключей. Внешние ключи должны быть частью первичного ключа родительской или родовой (см. ниже) сущности. Например, сущность "Заказ" может идентифицироваться сущностями "Клиент" и "Товар", при этом у последней сущностью первичный ключ составной:
Наименование внешнего ключа его должно соответствовать его наименованию в родительской или родовой сущности, либо необходимо использовать так называемое ролевое имя (role name). Ролевое имя отражает отношение между дочерней и родительской сущностью с точки зрения дочерней. Пример использования ролевого имени:
Ролевое имя логически обратно наименованию связи, которое формируется с точки зрения родителя.
При использовании отношения «один ко многим» неидентифицирующая (non- identifying) связь позволяет оставить дочернюю сущность независимой. В этом случае атрибуты первичного ключа родительской сущности мигрируют в состав описательных (неключевых) атрибутов дочерней сущности. Неидентифицирующая связь показывается пунктиром, и, как и для идентифицирующей, на дочернем конце связи рисуется жирная точка.
Например:
Это случай обязательной (mandatory) неидентифицирующей связи, когда каждый экземпляр дочерней сущности обязательно должен соответствовать одному экземпляру родительской. Поэтому с практической точки зрения ограничения, накладываемые идентифицирующей и обязательной неидентифицирующей связями, часто одинаковы.
Значение необязательной (optional) неидентифицирующей связи принципиально отличается о значения обязательной: экземпляр дочерней сущности должен соответствовать одному экземпляру родительской только тогда, когда соответствующие внешние ключи имеют определенное значение (не NULL).
Изображение необязательной неидентифицирующей связи отличается наличием ромба на родительском конце связи.
Пример:
Такая диаграмма означает, что экземпляр сущности "Игрок" может существовать вне зависимости от наличия какого-либо экземпляра "Команда". Иначе говоря, игрок может не числиться в составе ни одной команды.
В принципе, в случае неидентифицирующей связи допустимо, если часть атрибутов первичного ключа родителя входит в состав первичного ключа дочерней сущности.
Для более точного описания отношения «один ко многим» можно указывать число экземпляров дочерней сущности, соответствующих экземпляру родительской. Это соотношение называется мощностью (cardinality) связи.
В IDEF1X определено 4 типа мощности:
Типы зависимых сущностей
В зависимости от вида отношений зависимая сущность может быть следующих типов:
Связь типа "наследование"
Оригинальное наименование данного типа связи categorization relationship, поэтому точный перевод "категориальное отношение", или "классифицирующее отношение". Тем не менее, чаще используется термин "наследование", причиной чему, видимо, является схожесть смысла этой связи с идеей механизма наследования в языках программирования. В дальнейшем будет использоваться понятие "наследование".
Иерархия наследования тип отношения сущностей, разделяющих общие атрибуты. Если ряд сущностей имеют одинаковые по смыслу атрибуты, то эти атрибуты можно выделить в отдельную обобщенную сущность, или родовую сущность (generic родовой, общий). Специфические для каждой исходной сущности атрибуты располагаются в сущностях-потомках, или категориальных сущностях (category entity).
Таким образом, с точки зрения наследования сущности делятся на родовые сущности и сущности-потомки (категориальные сущности).
Для каждой иерархии указывается дискриминатор (discriminator) атрибут родовой сущности, значение которого позволяет отличить одну категориальную сущность от другой.
Наследование часто используется, когда несколько сущностей имеют общие по смыслу отношения с другими сущностями, или когда лишь определенное подмножество сходных сущностей имеет специфические отношения с другими сущностями.
Пример использования наследования для описания различных типов сотрудников организации:
Здесь "Сотрудник" родовая сущность, "Постоянный сотрудник" и "Совместитель" категориальные сущности. Дискриминатором является атрибут "Тип". Дискриминатор указан рядом со знаком категориальных отношений, представляющим собой окружность, подчеркнутую линией со стороны категориальных сущностей:
Категориальные сущности образуют иерархию категорий (наследования). В оригинале используется термин "cluster" "группа", "гроздь".
Иерархии наследования бывают двух типов полные и неполные. Если могут существовать экземпляры родовой сущности, значению дискриминатора которых не соответствует ни одна категориальная сущность, то такая иерархия является неполной. Иначе, если для каждого значения дискриминатора можно подобрать категориальную сущность, то иерархия полная. Использование неполной категории часто указывает на незавершенность информационной модели или модели данных.
Тип иерархии указывается через вид знака иерархии:
неполная |
|
полная |
Свойства наследования:
Пример вложенных иерархий:
Здесь использована комбинация неполной и полной иерархий. Неполнота иерархии по дискриминатору "Тип" может быть связана, например, с существованием в организации совместителей, получающих определенный процент от суммы прибыли, которую они приносят фирме.
Неопределенная связь (non-specific)
IDEF1X поддерживает неопределенные связи (non-specific) между сущностями, или, в соответствии с более распространенной терминологией, связи типа "многие ко многим". Под определенной связью понимаются отношения типа "один ко многим" и наследование, рассмотренные выше.
Отношение "многие ко многим" задает такое соединение двух сущностей, что, в одной стороны, экземпляру первой сущности может соответствовать ноль, один или более экземпляров второй сущности, и, с другой стороны, экземпляру второй сущности может также соответствовать ноль, один или более экземпляров первой сущности.
Связи "многие ко многим" могут использоваться только на концептуальном уровне модели. На логическом и физическом уровнях все отношения должны быть определенными, т.е. быть либо типа "один ко многим", либо типа наследования.
Использование отношения "многие ко многим" позволяют упростить как концептуальное представление модели, так и ускорить его разработку. Применение данного типа отношений логично вписывается в канву проектирования систем сверху вниз: сначала с помощью набора сущностей и совокупности неопределенных связей формируется целостное представление предметной области, а затем осуществляется постепенная детализация как отношений, так и структур сущностей.
Неопределенная связь показывается как линия с точками на обоих концах. Сущности, соединенные отношением, являются независимыми, если, конечно, они не входят в какое-то определенное (specific) отношение как зависимые дочерние или категориальные.
Пример: если преподаватель может читать группе студентов несколько курсов, и группа студентов может обучаться у нескольких преподавателей, то в этом смысле сущности "преподаватель" и "группа" находятся в отношении "многие ко многим".
На логическом уровне связь "многие ко многим" может быть разрешена следующим образом:
В данном пункте даются самые общие понятия о нормализации данных.
Под нормализацией понимается процесс анализа и реорганизации информационной модели (модели данных) с целью приведения ее в соответствие с требованиями реляционной модели данных и устранения избыточности.
Положительные эффекты от нормализации:
Обычно в результате нормализации получается структура данных, в которой некоторый факт хранится только в одном месте (в одной строке или ячейке некоторой таблицы).
Отрицательные эффекты:
Собственно процесс нормализации можно рассматривать как последовательное приведение структуры модели к так называемым нормальным формам (НФ). НФ представляет собой совокупность формализованных требований к структуре модели. Обычно выделяют шесть НФ:
Наиболее слабые требования к структуре предъявляются в первой НФ, наиболее жесткие в пятой. Следует заметить, что далеко не любую модель в принципе можно представить в пятой НФ.
На практике чаще всего выполняется приведение модели к третьей НФ. Множество средств разработки и СУБД ориентированы именно на такую структуру. Далее будут рассмотрены вопросы приведения модели к первой, второй и третьей нормальным формам как самые типичные.
В таблицы дана краткая характеристика рассматриваемых нормальных форм.
Наименование формы |
Описание |
Первая (1NF) |
Атрибуты всех сущностей содержат только атомарные значения. |
Вторая (2NF) |
Выполняются требования к первой НФ, а также каждый неключевой атрибут любой сущности зависит только целиком от всего первичного ключа этой сущности, а не от части первичного ключа. |
Третья (3NF) |
Выполняются требования ко второй НФ, а также в каждой сущности ни один неключевой атрибут не находится в функциональной зависимости с другим неключевым атрибутом этой сущности. |
Необходимые определения.
Функциональная зависимость: атрибут A сущности E находится в функциональной зависимости от атрибута B сущности E, если значение B однозначно определяет A. Иначе говоря, существует некоторая функция f, так что A = f(B). Можно назвать A атрибутом-функцией, B атрибутом-аргументом. Замечание. Из существования A = f(B) в общем случае не следует существование B = g(A).
Полная функциональная зависимость: атрибут A сущности E находится в полной функциональной зависимости от набора атрибутов B1, B2, …, Bn сущности E, если A функционально зависит от B1, B2, …, Bn, но не зависит функционально ни от какого подмножества из B1, B2, …, Bn.
Смысл ограничений первой НФ в том, что среди атрибутов сущности не должно встречаться групп атрибутов, каждый из которых описывает, фактически, одно из возможных значений одной и той же характеристики.
Например:
Здесь пара атрибутов "Телефон 1" и "Телефон 2" являются явным нарушением первой НФ, поскольку описывают, фактически, одну и ту же характеристику. С другой стороны, продемонстрированный "экстенсивный" подход к описанию характеристик сущности не решает проблему, или решает на короткий срок и в рамках узкой предметной области. Действительно, если у какого-то студента наберется десяток любимых занятий, то придется либо добавлять еще 7 атрибутов в сущность, либо вводе данных в систему принудительно отсекать все списки хобби размером более 3 элементов. Очевидно, что такой подход в общем случае не правилен.
Для приведения сущности к первой НФ необходимо:
Для приведенного примера:
Требования второй НФ имеют смысл только в том случае, если первичный ключ сущности составной. Если первичный ключ является только одним атрибутом, то выполнение условий первой НФ автоматически означает выполнение требований второй НФ.
Пример:
Пусть в соответствии с состоянием предметной области табельный номер преподавателя курса однозначно задает ФИО преподавателя и кафедру, к которой приписан курс. Тогда эта сущность не удовлетворяет требованиям второй НФ.
Для приведения сущности, удовлетворяющей первой НФ, ко второй НФ необходимо:
В случае сущности "Курс" модификация будет такой:
Смысл требований третьей НФ состоит в том, что не должно быть детерминированных зависимостей между неключевыми атрибутами. Естественно, при этом должны выполняться и условия для "младшей" НФ второй.
Пусть в уже использовавшейся для иллюстрации сущности "Курс" имеется также атрибут "Факультет":
Если считать, что каждая кафедра приписана только к одному факультету, то в данной сущности имеется аномалия не только с точки зрения второй НФ, но и третьей НФ.
Последовательность шагов для приведения сущности от второй НФ к третьей:
В соответствии с таким алгоритмов получается следующая структура:
1NF устранены все повторяющиеся атрибуты и все атрибуты имеют атомарное значение. |
2NF нет атрибутов, функционально зависящих (т.е. однозначно определяемых) только от части уникального ключа. Имеет смысл только в том случае, когда уникальный ключ сущности составной. |
3NF нет неключевых атрибутов, зависящих от неключевых атрибутов. |
Не следует ставить нормализацию структуры хранения данных самоцелью. В реальных системах активно используются денормализованные структуры. Это диктуется требованиями к скорости обработки запросов и удобством работы с базой на программном уровне. Часто целесообразно денормализовать БД и, соответственно, усложнить специализированное ПО, поддерживающие БД в непротиворечивом состоянии, но тем самым одновременно облегчить формирование SQL-запросов, упростить их и увеличить скорость обработки. Например, сама концепция баз данных типа «хранилище данных» (data warehouse), ориентированных на накопление и анализ информации, предполагается использование простых избыточных структур.
Оригинальная документация на IDEF1X содержит не только описание визуального языка, но рекомендации по моделированию. В частности, разработчики предлагают придерживаться описываемой ниже последовательности действий.
Весь процесс построения условно делится на пять фаз:
Каждая фаза состоит из нескольких шагов, отличающихся друг от друга по содержанию.
Фаза |
Шаг |
Описание |
1. |
1.1. Определение целей моделирования |
Должны быть определены назначение модели и границы моделирования (очерчена область моделирования). Например, необходимо определиться, будет ли это модель типа «как есть» на самом деле (as is), или типа «как должно быть» (should be). |
1.2. Разработка плана моделирования |
Необходимо установить состав и последовательность выполнения работ, участие персонала, а также оценить затраты. |
|
1.3. Организация команды |
Участники команды должны совместно выполнять по крайней мере пять основных ролей: руководитель, моделировщик, поставщик информации, эксперт в предметной области, участник группы приемочного контроля. Назначение каждому участнику команды одной основной роли позволит распределить ответственность. |
|
1.4. Сбор информации |
Сбор материала для моделирования на основе сформулированных целей. |
|
1.5. Утверждение условных соглашений |
Согласование условных соглашений, форм представления информации. Например, правил формирования наименований сущностей. |
|
2. |
2.1. Выявление сущностей |
Поиск объектов, которые могут стать сущностями. При выявлении сущностей может быть полезно отвечать на такой набор вопросов относительно каждого объекта-кандидата:
Положительные ответы на первые три вопроса идут в пользу того, что объект надо рассматривать как сущность, положительный ответ на последний вопрос свидетельствует в пользу варианта атрибутного характера. |
2.2. Определение сущностей |
Составление словаря сущностей, включающего: наименование сущности, пояснение смысла сущности (собственно определение), синонимы наименования сущности. |
|
3. |
3.1. Выявление взаимосвязанных сущностей |
Определение пар сущностей, между которыми может существовать связь. Новичкам может быть полезно воспользоваться матрицей связей, в которой строки и столбцы помечены наименованиями сущностей, а факт возможной связи между сущностью-строкой и сущностью-столбцом показывается крестом в ячейке пересечения этих строки и столбца. |
3.2. Определение отношений |
Для каждой выявленной связь указывается вид зависимости сущностей, наименование и развернутое словесное описание. Естественно, в процессе определения отношений могут быть отвергнуты одни выявленные связи и/или добавлены другие. |
|
3.3. Построение концептуального уровня модели |
Изображается концептуальный уровень модели, содержащий определенные ранее сущности и отношения, при этом допустимо использовать связи «многие ко многим». |
|
4. |
4.1. Устранение неопределенных отношений |
Все неопределенные отношения заменяются на совокупность связей «один ко многим» и/или связей типа «наследование», при этом обычно формируются новые сущности. Как правило, новые сущности абстрактны, имеют вспомогательный характер и отражают взаимодействие исходных сущностей. Наименования новых сущностей часто сложные, например: сущность «Поставщик-склад» описывает некоторое отношение между сущностью «Поставщик» и сущностью «Склад». |
4.2. Формирование функциональных представлений. |
Поскольку модель становится сложна, то эффективной работы с ней, в частности рецензирования, целесообразно нарисовать некоторое количество фрагментов, соответствующих определенной точке зрения, так называемых функциональных представлений. Каждое представление изображается на одной диаграмме. |
|
4.3. Выявление первичных ключей |
Выявляются все кандидаты на роль первичного ключа, из них выбирается первичный ключ. Оставшиеся ключи помечаются как альтернативные первичные ключи (alternate key) |
|
4.4. Миграция первичных ключей |
Первичный ключ родительской (родовой) сущности добавляется в состав атрибутов дочерней (категориальной) сущности. Он становится так называемым внешним ключом (foreign key). В зависимости от вида связи ключ может войти в состав как первичного ключа, так и описательных атрибутов. |
|
4.5. Проверка ключей и отношений |
Модель должна удовлетворять следующим основным требованиям:
|
|
4.6. Определение ключей |
Для каждого ключа указывается наименование, определение, синонимы. |
|
4.7. Формирование логического уровня модели |
Функциональные представления модели изображаются на логическом уровне, т.е. они включают сущности, отношения, первичные и внешние ключи. |
|
5. |
5.1. Выявление неключевых атрибутов |
Процесс аналогичен вычленению сущностей, но теперь отбираются характеристики. |
5.2. Привязка атрибутов к сущностям |
Каждый атрибут должен быть помещен в состав одной из сущностей. |
|
5.3. Определение атрибутов |
Для каждого атрибута указывается наименование, определение, синонимы. |
|
5.4. Усовершенствование модели |
Анализ и улучшение структуры модели, нормализация. |
|
5.5. Формирование физического уровня модели |
Функциональные представления модели изображаются на физическом уровне, т.е. они включают полные описания сущностей, всех атрибутов и отношений. На основе словарей сущностей, атрибутов и отношений формируется документация. |
Рекомендуемая литература