Проектирование РБД "Санатория" с помощью инструментария AllFusion ERwin Data Modeler - Программирование, компьютеры и кибернетика лабораторная работа

Проектирование РБД "Санатория" с помощью инструментария AllFusion ERwin Data Modeler - Программирование, компьютеры и кибернетика лабораторная работа




































Главная

Программирование, компьютеры и кибернетика
Проектирование РБД "Санатория" с помощью инструментария AllFusion ERwin Data Modeler

Изучение возможностей AllFusion ERwin Data Modeler и проектирование реляционной базы данных (БД) "Санатория" на основе методологии IDEF1x. Определение предметной области, основных сущностей базы, их первичных ключей и атрибутов и связи между ними.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Министерство образования и науки РФ
Государственное образовательное учреждение высшего профессионального образования
«Проектирование РБД “Санатория” с помощью инструментария AllFusion ERwin Data Modeler »
Изучение возможностей AllFusion ERwin Data Modeler, проектирование реляционной БД на основе методологии IDEF1x.
ERwin Data Modeler поддерживает нотации проектирования данных IDEF1х, IE и Dimensional.
IDEF1X является методом для разработки реляционных баз данных и использует условный синтаксис, специально разработанный для удобного построения концептуальной схемы.
Концептуальной схемой мы называем универсальное представление структуры данных в рамках коммерческого предприятия, независимое от конечной реализации базы данных и аппаратной платформы. Будучи статическим методом разработки, IDEF1X изначально не предназначен для динамического анализа по принципу "AS IS", тем не менее, он иногда применяется в этом качестве, как альтернатива методу IDEF1. Использование метода IDEF1X наиболее целесообразно для построения логической структуры базы данных после того, как все информационные ресурсы исследованы (скажем с помощью метода IDEF1) и решение о внедрении реляционной базы данных, как части корпоративной информационной системы, было принято.
Сущность в IDEF1X описывает собой совокупность или набор экземпляров похожих по свойствам, но однозначно отличаемых друг от друга по одному или нескольким признакам. Каждый экземпляр является реализацией сущности. Таким образом, сущность в IDEF1X описывает конкретный набор экземпляров реального мира, в отличие от сущности в IDEF1, которая представляет собой абстрактный набор информационных отображений реального мира. Примером сущности IDEF1X может быть сущность "СОТРУДНИК", которая представляет собой всех сотрудников предприятия, а один из них, скажем, Иванов Петр Сергеевич, является конкретной реализацией этой сущности.
Связи в IDEF1X представляют собой ссылки, соединения и ассоциации между сущностями. Связи это суть глаголы, которые показывают, как соотносятся сущности между собой. Ниже приведен ряд примеров связи между сущностями:
Отдел <состоит из> нескольких Сотрудников
Самолет <перевозит> нескольких Пассажиров.
Во всех перечисленных примерах взаимосвязи между сущностями соответствуют схеме один ко многим . Это означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности. Причем первая сущность называется родительской, а вторая - дочерней. В приведенных примерах глаголы заключены в угловые скобки. Связи отображаются в виде линии между двумя сущностями с точкой на одном конце и глагольной фразой, отображаемой над линией.
Отношения многие ко многим обычно используются на начальной стадии разработки диаграммы, например, в диаграмме зависимости сущностей и отображаются в IDEF1X в виде сплошной линии с точками на обоих концах. Так как отношения многие ко многим могут скрыть другие бизнес правила или ограничения, они должны быть полностью исследованы на одном из этапов моделирования. Например, иногда отношение многие ко многим на ранних стадиях моделирования идентифицируется неправильно, на самом деле представляя два или несколько случаев отношений один-ко-многим между связанными сущностями. Или, в случае необходимости хранения дополнительных сведений о связи многие-ко-многим, например, даты или комментария, такая связь должна быть заменена дополнительной сущностью, содержащей эти сведения. При моделировании необходимо быть увереным в том, что все отношения многие ко многим будут подробно обсуждены на более поздних стадиях моделирования для обеспечения правильного моделирования отношений.
Сущность описывается в диаграмме IDEF1X графическим объектом в виде прямоугольника. Каждый прямоугольник, отображающий собой сущность, разделяется горизонтальной линией на часть, в которой расположены ключевые поля и часть, где расположены неключевые поля. Верхняя часть называется ключевой областью, а нижняя часть областью данных. Ключевая область объекта СОТРУДНИК содержит поле "Уникальный идентификатор сотрудника", в области данных находятся поля "Имя сотрудника", "Адрес сотрудника", "Телефон сотрудника" и т.д.
Ключевая область содержит первичный ключ для сущности. Первичный ключ - это набор атрибутов, выбранных для идентификации уникальных экземпляров сущности. Атрибуты первичного ключа располагаются над линией в ключевой области. Как следует из названия, неключевой атрибут - это атрибут, который не был выбран ключевым. Неключевые атрибуты располагаются под чертой, в области данных.
3. Возможности инструментария проектирования:
AllFusion ERwin Data Modeler (ранее: ERwin) позволяет проектировать, документировать и сопровождать базы данных, хранилища данных и витрины данных (data marts). Создав наглядную модель базы данных, можно оптимизировать структуру БД и добиться её полного соответствия требованиям и задачам организации. Визуальное моделирование повышает качество создаваемой базы данных, продуктивность и скорость её разработки.
Руководители проектов могут с помощью ERwin Data Modeler тщательно задокументировать структуру БД, получить отчеты презентационного качества и обеспечить эффективное управление проектом, используя среду для совместного проектирования AllFusion Model Manager (ранее: ModelMart).
Поскольку ERwin Data Modeler поддерживает работу с БД на физическом уровне, учитывая особенности каждой конкретной СУБД, администраторы БД могут с его помощью максимально повысить производительность информационной системы. Разработчики с помощью ERwin Data Modeler могут сначала, используя визуальные средства, описать схему БД, а затем автоматически сгенерировать файлы данных для выбранной реляционной СУБД (прямое проектирование). Автоматически генерируются также триггеры, обеспечивающие ссылочную целостность БД. ERwin Data Modeler поддерживает нотации проектирования данных IDEF1х, IE и Dimensional .
Пользователь описывает структуру данных визуально. Он задает служащие прообразами реляционных таблиц сущности с их атрибутами и при помощи мыши "натягивает" между ними связи, которые являются прототипами реляционных отношений.
ERwin Data Modeler позволяет по уже существующим файлам БД восстанавливать логическую структуру данных. Это называется обратным проектированием. Оно позволяет, во-первых, переносить структуру БД (но не данные!) из одной СУБД в другую и, во-вторых, исследовать старые проекты. Этот процесс наиболее распространен при переходе с одной технологии на другую (с файл-сервер на клиент-сервер), а также при смене сервера БД. На основе модели данных предоставляется возможность создавать отчеты, которые позволяют существенно упростить процесс документирования технического проекта.
ERwin поддерживает прямое и обратное проектирование 20 типов баз данных различных производителей, от настольных до реляционных СУБД и специализированных СУБД, предназначенных для создания хранилищ данных.
Основные характеристики AllFusion ERwin Data Modeler
· Поддержка стандартной нотации IDEF1x для ER-диаграмм моделей данных, нотации IE и специальной нотации, предназначенной для проектирования хранилищ данных - Dimensional.
· Поддержка проектирования информационных хранилищ (на основе Red Brick и Teradata)
· Поддержка совместного проектирования (версия для ModelMart)
· Поддержка триггеров, хранимых процедур и шаблонов
· Развитые средства проверки корректности моделей данных Reverse Engineering (генерация модели данных на основе анализа существующей базы данных), включая восстановление связей по индексам
· Автоматическая генерация SQL DDL для создания баз данных
· Полная совместимость и поддержка 20-ти типов СУБД на основе прямого доступа к системному каталогу баз данных (отпадает потребность в использовании ODBC).
В данной лабораторной работе в качестве предметной области выступает «Санаторий». Данные, которые необходимо хранить в базе данных:
· Информация об отделениях, из которых состоит санаторий (например, медчасть, спортивный комплекс, пищеблок);
· Информация о секторах, из которых состоят отделения санатория;
· Сведения о сотрудниках, предоставляющих услуги в санатории;
· Функции, выполняемые сотрудниками;
· Информация об условиях проживания в санатории.
Деятельность санатория заключается в предоставлении услуг клиентам, направляемых предприятиями для повышения уровня здоровья служащих предприятий с целью компенсации воздействия на организм вредных факторов.
В данной лабораторной работе при проектировании БД «Санатория» используются следующие сущности с соответствующими атрибутами:
В IDEF1X концепция зависимых и независимых сущностей усиливается типом взаимосвязей между двумя сущностями. Если вы хотите, чтобы внешний ключ передавался в дочернюю сущность (и, в результате, создавал зависимую сущность), то можете создать идентифицирующую связь между родительской и дочерней сущность.
Идентифицирующие взаимосвязи обозначаются сплошной линией между сущностями.
Неидентифицирующие связи, являющиеся уникальными для IDEF1X, также связывают родительскую сущность с дочерней. Неидентифицирующие связи используются для отображения другого типа передачи атрибутов внешних ключей - передача в область данных дочерней сущности (под линией).
Неидентифицирующие связи отображаются пунктирной линией между объектами. Так как переданные ключи в неидентифицирующей связи не являются составной частью первичного ключа дочерней сущности, то этот вид связи не проявляется ни в одной идентифицирующей зависимости. В этом случае и ОТДЕЛ, и СОТРУДНИК рассматриваются как независимые сущности.
При проектировании БД Санатория определены следующие связи между сущностями:
· Отделение состоит из секторов (один-ко-многим);
· Отделение обслуживает клиентов (многие-ко-многим);
· Сектор состоит из рабочих мест (один-ко-многим);
· Рабочее место предоставляется сотруднику (один-ко-многим):
· Функции выполняется на рабочем месте (один-ко-многим);
· Автотранспорт принадлежит отделению (один-ко-многим);
· Клиент имеет путевку (один-ко-многим);
· Клиент работает на предприятии (один-ко-многим);
· Жил.комплекс предоставляется клиенту (один-ко-многим);
· Предприятие-отправитель предоставляет путевки (один-ко-многим);
Рис.1. Логический уровень проектирования БД
7. Переход на физический уровень. Процесс преобразования связи многие-ко-многим:
При переходе на физический уровень особого внимания заслуживают такие типы связей как “многие-ко-многим” и «супертипа с подтипами».
Стандарт EDEF1X допускает присутствие в модели обоих типов связей. Однако без их разрешения физическая база данных будет далека от оптимальной. ERwin предоставляет возможность разрешения этих связей.
Стандартным разрешением связи “многие-ко-многим” является механизм, показанный на рис. 3.
Рис. 2. Разрешение связи "многие-ко-многим"
На логическом уровне проектирования БД существовала связь «многие-ко-многим» между сущностями Отделение и Клиент. В результате перехода на физический уровень образовалась дополнительная сущность с соответствующей областью первичных ключей:
Рис.3 Переход на физический уровень
8. Скрипт для создания БД в Access:
' Starting Access Basic DAO Session...
Set ERwinWorkspace = DBEngine.WorkSpaces(0)
Set ERwinDatabase = ERwinWorkspace.OpenDatabase(sERwinDatabase)
Set ERwinTableDef = ERwinDatabase.CreateTableDef("Client")
Set ERwinField = ERwinTableDef.CreateField("ID client", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID enterprise", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Number of flat", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Surname", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Name", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Lastname", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Address", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Insurance policy", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Birthday", DB_DATETIME)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Client")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("ID client")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("ID enterprise")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("Number of flat")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinTableDef = ERwinDatabase.CreateTableDef("Department")
Set ERwinField = ERwinTableDef.CreateField("ID department", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Department name", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Legal address", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Department")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("ID department")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinTableDef = ERwinDat base.CreateTableDef("Department_Client")
Set ERwinField = ERwinTableDef.CreateField("ID department", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID client", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID enterprise", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Number of flat", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Department_Client")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("ID department")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("ID client")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("ID enterprise")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("Number of flat")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinTableDef = ERwinDatabase.CreateTableDef("Enterprise-sender")
Set ERwinField = ERwinTableDef.CreateField("ID enterprise", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Name", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Legal address", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Number contract", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Enterprise-sender")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("ID enterprise")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinTableDef = ERwinDatabase.CreateTableDef("Function")
Set ERwinField = ERwinTableDef.CreateField("ID function", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID work place", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID sector", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Function's name", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Function")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("ID function")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("ID work place")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("ID sector")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinTableDef = ERwinDatabase.CreateTableDef("Housing estate")
Set ERwinField = ERwinTableDef.CreateField("Number of flat", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Furniture", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Area", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Quantity of places", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Condition", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Housing estate")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("Number of flat")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinTableDef = ERwinDatabase.CreateTableDef("Motor transport")
Set ERwinField = ERwinTableDef.CreateField("State number", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID department", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Car's brand", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Explotation time", DB_DATETIME)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Date maintenance", DB_DATETIME)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Motor transport")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("State number")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinTableDef = ERwinDatabase.CreateTableDef("Permit")
Set ERwinField = ERwinTableDef.CreateField("ID permit", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID client", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID enterprise", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Number of flat", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Period", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Cost", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("People quantity", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Permit")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("ID permit")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("ID client")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("ID enterprise")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("Number of flat")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinTableDef = ERwinDatabase.CreateTableDef("Sector")
Set ERwinField = ERwinTableDef.CreateField("ID sector", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID department", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Sector name", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Sector")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("ID sector")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinTableDef = ERwinDatabase.CreateTableDef("Work place")
Set ERwinField = ERwinTableDef.CreateField("ID work place", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID sector", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Name work place", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Work place")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("ID work place")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("ID sector")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinTableDef = ERwinDatabase.CreateTableDef("Worker")
Set ERwinField = ERwinTableDef.CreateField("ID of worker", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID work place", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("ID sector", DB_INTEGER)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Surname", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Name", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Lastname", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Address", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Pay", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Birthday", DB_DATETIME)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Insurance policy", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
Set ERwinField = ERwinTableDef.CreateField("Delivery date of work", DB_TEXT, 18)
ERwinTableDef.Fields.Append ERwinField
ERwinDatabase.TableDefs.Append ERwinTableDef
Set ERwinTableDef = ERwinDatabase.TableDefs("Worker")
Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")
Set ERwinField = ERwinIndex.CreateField("ID of worker")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("ID work place")
ERwinIndex.Fields.Append ERwinField
Set ERwinField = ERwinIndex.CreateField("ID sector")
ERwinIndex.Fields.Append ERwinField
ERwinTableDef.Indexes.Append ERwinIndex
Set ERwinRelation = ERwinDatabase.CreateRelation("Send", "Enterprise-sender", "Client")
Set ERwinField = ERwinRelation.CreateField("ID enterprise")
ERwinField.ForeignName = "ID enterprise"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
Set ERwinRelation = ERwinDatabase.CreateRelation("Belong to", "Housing estate", "Client")
Set ERwinField = ERwinRelation.CreateField("Number of flat")
ERwinField.ForeignName = "Number of flat"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
Set ERwinRelation = ERwinDatabase.CreateRelation("R/12", "Client", "Department_Client")
Set ERwinField = ERwinRelation.CreateField("ID client")
ERwinField.ForeignName = "ID client"
ERwinRelation.Fields.Append ERwinField
Set ERwinField = ERwinRelation.CreateField("ID enterprise")
ERwinField.ForeignName = "ID enterprise"
ERwinRelation.Fields.Append ERwinField
Set ERwinField = ERwinRelation.CreateField("Number of flat")
ERwinField.ForeignName = "Number of flat"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
Set ERwinRelation = ERwinDatabase.CreateRelation("R/11", "Department", "Department_Client")
Set ERwinField = ERwinRelation.CreateField("ID department")
ERwinField.ForeignName = "ID department"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
Set ERwinRelation = ERwinDatabase.CreateRelation("perform", "Work place", "Function")
Set ERwinField = ERwinRelation.CreateField("ID work place")
ERwinField.ForeignName = "ID work place"
ERwinRelation.Fields.Append ERwinField
Set ERwinField = ERwinRelation.CreateField("ID sector")
ERwinField.ForeignName = "ID sector"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
Set ERwinRelation = ERwinDatabase.CreateRelation("Provide", "Department", "Motor transport")
Set ERwinField = ERwinRelation.CreateField("ID department")
ERwinField.ForeignName = "ID department"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
Set ERwinRelation = ERwinDatabase.CreateRelation("Have", "Client", "Permit")
Set ERwinField = ERwinRelation.CreateField("ID client")
ERwinField.ForeignName = "ID client"
ERwinRelation.Fields.Append ERwinField
Set ERwinField = ERwinRelation.CreateField("ID enterprise")
ERwinField.ForeignName = "ID enterprise"
ERwinRelation.Fields.Append ERwinField
Set ERwinField = ERwinRelation.CreateField("Number of flat")
ERwinField.ForeignName = "Number of flat"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
Set ERwinRelation = ERwinDatabase.CreateRelation("Give to", "Enterprise-sender", "Permit")
Set ERwinField = ERwinRelation.CreateField("ID enterprise")
ERwinField.ForeignName = "ID enterprise"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
Set ERwinRelation = ERwinDatabase.CreateRelation("Consist of", "Department", "Sector")
Set ERwinField = ERwinRelation.CreateField("ID department")
ERwinField.ForeignName = "ID department"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
' CREATE RELATIONSHIP "Consist of"
Set ERwinRelation = ERwinDatabase.CreateRelation("Consist of", "Sector", "Work place")
Set ERwinField = ERwinRelation.CreateField("ID sector")
ERwinField.ForeignName = "ID sector"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
Set ERwinRelation = ERwinDatabase.CreateRelation("Give to", "Work place", "Worker")
Set ERwinField = ERwinRelation.CreateField("ID work place")
ERwinField.ForeignName = "ID work place"
ERwinRelation.Fields.Append ERwinField
Set ERwinField = ERwinRelation.CreateField("ID sector")
ERwinField.ForeignName = "ID sector"
ERwinRelation.Fields.Append ERwinField
ERwinDatabase.Relations.Append ERwinRelation
' Terminating Access Basic DAO Session...
В процессе выполнения данной лабораторной работы были изучены основы работы в AllFusion ERwin Data Modeler, а также определена предметная область, основные сущности БД, информация о которых должна содержаться в базе данных, первичные ключи сущностей, их атрибуты и связи между ними.
AllFusion ERwin Data Modeler позволяет проектировать, документировать и сопровождать базы данных, хранилища данных и витрины данных (data marts). Создав наглядную модель базы данных, можно оптимизировать структуру БД и добиться её полного соответствия требованиям и задачам организации. Визуальное моделирование повышает качество создаваемой базы данных, продуктивность и скорость её разработки
1. Маклаков С.В. CASE-средства разработки информационных систем. BPwin и Erwin -М.: ДиалогМифи, 2001.
2. Постановление Правительства РФ «О мерах по организаии индивидуального (персонифицированного) учета для целей государственного пенсионного страхования».
3. Федеральный закон «Об индивидуальном (персонифицированном) учете в системе государственного пенсионного страхования».
4. Инструкция о порядке ведения индивидуального (персонифицированного) учета сведений о застрахованных лицах для целей государственного пенсионного страхования.
5. «О формах документов индивидуального (персонифицированного) учета в системе государственного пенсионного страхования и инструкции по их заполнению»
Проектирование информационной системы программными средствами AllFusion Process Modeler и AllFusion Erwin Data Modeler. Диаграмма потоков данных DFD. Проектирование информационной системы с использованием UML, RationalRose. Модель вариантов использования. курсовая работа [604,1 K], добавлен 17.12.2015
Выделение объектов предметной области и взаимосвязей между ними. Разработка ER-модели на логическом уровне с использованием системы Erwin Data Modeler. Проектирование даталогической и реляционной модели в среде выбранной системы управления базами данных. курсовая работа [905,6 K], добавлен 26.12.2013
Разработка наиболее информационно наполненной базы данных кинематографа, при помощи которой возможно будет получить информацию о производстве фильма, актерском составе, съемочной группе, рейтингах. Использование баз данных "AllFusion ERwin Data Modeler". курсовая работа [8,0 M], добавлен 19.09.2019
Анализ и описание предметной области, её ограничения. Проектирование модели в ERWin, методология проектирования IDEF1x. Выделение сущностей и атрибутов, связей между ними, переходов на физический уровень. Описание MS Project и правила разработки в WBS. курсовая работа [578,5 K], добавлен 15.11.2009
Проектирование модели базы данных с помощью Erwin: выделение сущностей предметной области и их атрибутов. Разработка SQL-скрипта, предназначенного для генерации базы данных в формате MS SQL Server 2005. Создание процедур и написание проверочных кодов. контрольная работа [1,1 M], добавлен 31.03.2012
Анализ предметной области. Проектирование структуры базы данных в среде case-средства ERWIN в виде инфологической и даталогической моделей. Общие сведения о AllFusion Process Modele
Проектирование РБД "Санатория" с помощью инструментария AllFusion ERwin Data Modeler лабораторная работа. Программирование, компьютеры и кибернетика.
Конкурс Сочинений 4 Класс
Реферат: Сравнительный анализ концепций Ф.Е.Василюка и А. Маслоу. Скачать бесплатно и без регистрации
Реферат: Автоматизированная система диспетчерского контроля
Сочинение На Тему Культура Кочевников
Автореферат На Тему Закономерности Процесса Формования Электродов На Основе Оксида Меди И Влияние Параметров Процесса На Эксплуатационные Характеристики Литиевых Источников Тока
Курсовая работа: Следствие и дознание
Реферат: Принятие христианства на Руси
Савельич И Петр Гринев Сочинение Капитанская Дочь
Реферат На Тему Принципы Построения И Действия Пзс
Принципы Семейного Права Реферат
Реферат: Курортное лечение больных с заболеваниями опорно-двигательного аппарата
Отчет по практике по теме Анализ хозяйственной деятельности УП ММЗ им. Вавилова
Основные Требования К Реферату
Реферат: Расчет преобразователя
Реферат: Варианты русского литературного произношения
Реферат по теме Менталитет личности как философская проблема
Реферат: Переработка зерна в крупу и муку. Скачать бесплатно и без регистрации
Сочинение Про Пушкина 8 Класс
Курсовая работа по теме Технология выращивания высоких урожаев ячменя в условиях зоны достаточного увлажнения Ставропольского края
Темы По Новым Направлениям Итогового Сочинения 2022
Сущность и области применения социальной рекламы - Маркетинг, реклама и торговля реферат
Общая и производственная структура предприятия - Менеджмент и трудовые отношения презентация
Субъекты и объекты организационной деятельности - Менеджмент и трудовые отношения курсовая работа


Report Page