Студопедия

КАТЕГОРИИ:

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

Создание логической модели данных




ЛАБОРАТОРНАЯ РАБОТА № 1

Тема:ИЗУЧЕНИЕ ОСНОВНЫХ ТЕХНОЛОГИЧЕСКИХ ПРИЕМОВ

ИСПОЛЬЗОВАНИЯ ИНСТРУМЕНТАЛЬНОЙ CASE-СИСТЕМЫ ERWIN

 

Цели занятия

Ознакомиться с назначением и основными технологическими приемами использования инструментальной CASE-системы ERwin

– Понять и усвоить особенности процесса проектирования информационной модели.

– Изучить принципы построения основных компонентов ER-диаграмм: сущностей, связей и атрибутов.

– Получить представление об элементах управления главного меню.

– Освоить уровни демонстрации изображения в Erwin

Изучить графические характеристики диаграммы в ERwin

 

Общие сведения

Система ERwin – это программное средство из категории т.н. CASE (Computer – Aided Software Engineering) - систем для моделирования и проектирования баз данных (БД). Система ERwin поддерживает процесс проектирования модели данных, генерацию схемы БД на языке SQL для целевой системы управления базы данных (СУБД). Такими СУБД могут быть ORACLE, Informix, InterBase, Ingres, Sybase, DB/2 IBM, Microsoft SQL Server, Progress и некоторые др. Система Erwin позволяет также проводить реинжиниринг (reengineering) существующей БД.

Сама аббревиатура названия системы - ERwin – указывает на то, что в основу ее функционирования положено представление о ER (Entity-Relationalship)-модели данных или модели «сущность-связь». Основным объектом работы пользователя системы являются модели данных в виде ER-диаграмм.

Назначение системы

Применение системы ERwin существенно повышает эффективность разработки информационных систем. Среди основных преимуществ его использования можно назвать:

- повышение скорости разработки за счет мощного редактора ER-диаграмм,

- автоматической генерации схемы БД, автоматической подготовки

документации;

- возможность легко вносить изменения в модель данных при разработке и расширении системы;

- система документации, которая может быть использована коллективом разработчиков базы данных и приложения для общения между собой и с конечным пользователем при выполнении проекта;

- обеспечения наглядности представления ограничений ссылочной целостности, что весьма существенно при разработке реляционных моделей;

- предоставление концептуальной схемы, независимой от типа используемой СУБД, которая используется затем для генерации схемы данных для конкретной СУБД. Таким образом, одна и та же диаграмма ERwin может быть использована для генерации нескольких реляционных схем для

Различных СУБД.

 

Моделирование в ERwin

Процесс построения информационной модели

Процесс построения информационной модели состоит из следующих шагов:

1. определение сущностей;

2. определение зависимостей между сущностями;

3. задание первичных и альтернативных ключей;

4. определение атрибутов сущностей;

5. приведение модели к требуемому уровню нормальной формы;

6. переход к физическому описанию модели: задание типов данных и

ограничений;

7. генерация модели данных.

ERwin создает визуальное представление (модель данных) для решаемой задачи. Это представление может использоваться для детального анализа, уточнения и распространения как части документации, необходимой в цикле разработки. ERwin автоматически создает базу данных: таблицы, индексы, хранимые процедуры, триггеры для обеспечения ссылочной целостности и другие объекты, необходимые для управления данными.

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

 

Отображение логического и физического уровня модели данных в ERwin В

ERwin существуют два уровня представления и моделирования - логический и физический. Логический уровень означает прямое отображение фактов из реальной жизни. Например, люди, столы, отделы, компьютеры являются реальными объектами. Они именуются на естественном языке, с любыми разделителями слов (пробелы, запятые и т.д.). На логическом уровне не рассматривается использование конкретной СУБД, не определяются типы данных (например, целое или вещественное число) и не определяются индексы для таблиц.

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

 

Сущности (Entity) в ERwin

На диаграмме сущность изображается прямоугольником. В зависимости от режима представления диаграммы прямоугольник может содержать имя сущности, ее описание, список ее атрибутов и другие сведения. Горизонтальная линия прямоугольника разделяет атрибуты сущности на два набора - атрибуты, составляющие первичный ключ в верхней части, и прочие (не входящие в первичных ключ) - в нижней части, как показано на рисунок 1.1:

Рисунок 1.1 – Отображение ключевых и неключевых атрибутов сущности

 

Сущность представляет собой множество реальных или абстрактных объектов, например: люди, места, события, факты, которые имеют общие характеристики.

Сущность - это логическое понятие. Сущности соответствует таблица в реальной СУБД. В ERwin сущность визуально представляет три основных вида информации:

● атрибуты, составляющие первичный ключ;

● не ключевые атрибуты;

● тип сущности (независимая/зависимая).

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

Правила определения сущностей состоят в следующем:

● Сущность должна иметь уникальное имя.

● Сущность обладает одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через отношения.

● Сущность обладает одним или несколькими атрибутами, которые однозначно идентифицируют каждый образец сущности и называются ключом или составным ключом.

● Каждая сущность может обладать любым количеством отношений с другими сущностями.

● Если внешний ключ целиком используется в составе первичного ключа, то сущность является зависимой от идентификатора.

Экземпляры независимой (родительской) сущности могут быть уникально идентифицированы без определения ее связей с другими сущностями; зависимая

(дочерняя) сущность, наоборот, не может быть уникально идентифицирована без определения ее связей с другими сущностями. Зависимая сущность отображается в ERwin прямоугольником с закругленными углами (рисунок 1.2).

 

 

Рисунок 1.2 – Пример представления родительской и дочерней сущности.

 

Существует несколько видов связей:

1. Идентифицирующая. Идентифицирующая связь указывает на то, что дочерняя сущность в связи является зависимой от родительской сущности.

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

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

2. Не идентифицирующая. Связь называется не идентифицирующей, если экземпляр дочерней сущности идентифицируется иначе, чем через связь с родительской сущностью.

Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в состав не ключевых атрибутов дочерней сущности. Не идентифицирующая связь отображается штриховой линией, Рисунок 1.3:

 

Рисунок 1.3 – Отображение не идентифицирующей связи

 

3. Рекурсивная. Это такая связь, при которой одна и та же сущность является и родительской, и дочерней.

Такая ситуация часто встречается в “реальном мире”. Люди - родители людей. Руководители управляют руководителями. Компании приобретают компании. Существует два типа рекурсии, оба распространены и оба отражены в системе ERwin. Первый тип называется “иерархической рекурсией” (другое название - однотабличная рекурсия или “петля”), и задает иерархию связей между родительской и дочерней сущностью, при которой родитель может породить любой количество дочерних сущностей, но дочерняя сущность может иметь только одного родителя. Указывает на связь сущности саму на себя, рисунок 1.4.

 

Рисунок 1.4 – Представление иерархической рекурсивной связи

 

Рекурсивные связи должны быть неидентифицирующими. Обосновать данное утверждение можно с доказательства того, по какой причине им не имеет смысла быть идентифицирующими. В идентифицирующей связи первичный ключ родительской сущности становится подмножеством первичного ключа дочерней, и ключевые атрибуты никогда не могут принимать значение NULL. Подумав об этом и нарисовав простую таблицу экземпляров на основе примера из “реального мира”, можно убедиться, что идентифицирующая связь не имела бы смысла, потому что она бы утверждала, что некоторая сущность является своим собственным родителем. Мигрирующий ключ мигрировал бы бесконечное число раз, что собственно не имеет смысла. В процессе моделирования данных могут быть выявлены сущности, часть атрибутов и связей которых одинаковы. В этом случае используется иерархия категорий. Все общие атрибуты выделяются в сущность называемую супертипом, а отличающиеся атрибуты помещаются в сущности - подтипы, связанные с супертипом, (рисунок 1.5). При помощи дискриминанта определяется, с экземпляром какого подтипа связан экземпляр супертипа.

Для определения связей ERwin выбирается тип связи, затем мышью указывается родительская и дочерняя сущность. Идентифицирующая связь изображается сплошной линией; не идентифицирующая - пунктирной линией. Линии заканчиваются точкой со стороны дочерней сущности. При определении связи происходит миграция атрибутов первичного ключа родительской сущности в соответствующую область атрибутов дочерней сущности. Поэтому такие атрибуты не вводятся вручную. Атрибуты первичного ключа родительской сущности по умолчанию мигрируют со своими именами. ERwin позволяет ввести для них роли, т.е. новые имена, под которыми мигрирующие атрибуты будут представлены в дочерней сущности.

 

Рисунок 1.5 – Выделение супертипа и использование иерархии подтипов

 

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

 

Описание работы с пакетом

Работа с Erwin начинается с запуска приложения и выбора пункта “Create a new model”. Далее необходимо указать уровень создаваемой модели (Logical/Physical) и нажать кнопку “OK”. В появившемся окне, Рисунок 1.6, можно создавать схему модели данных.

 

 

Рисунок 1.6 – Главное окно системы

Как говорилось выше, основными компонентами ER-диаграмм являются сущности, связи и атрибуты. Для создания сущности необходимо воспользоваться кнопкой “Entity”, находящейся на панели инструментов (см. Рисунок 6). Выбрав данную кнопку и щелкнув мышкой на пустом поле, получим экземпляр сущности. В выделенном поле необходимо ввести название сущности – напр., «Student» (по умолчанию ее имя “Е/1”). Для определения атрибутов необходимо щелкнуть правой кнопкой мыши по соответствующей сущности и выбрать пункт меню “Attributes”. В появившемся окне необходимо задать имя атрибута, его тип, если атрибут является ключом, то поставить птичку в соответствующем поле, также определить тип данных указанного поля (integer, string и т.д.). Рассмотрим кратко основные функции ERwin по отображению модели, а также панель и палитру инструментов (см. таблицу 1.1).

 

Таблица 1.1 - Назначение кнопок

 

Палитра инструментов выглядит различно на разных уровнях отображения модели, на логическом уровне (см. Рисунок 1.7) палитра инструментов имеет:

Слева на право, верхний ряд:

● кнопка указателя (режим мыши)

● кнопка внесения сущности

● кнопка категории

● кнопка внесения текстового блока

Слева на право, нижний ряд:

● Кнопка перенесения атрибутов внутри сущностей и между ними

● Кнопка создания связей: идентифицирующую, многие-ко-многим, не идентифицирующую.

 

 

Рисунок 1.7 – Палитра инструментов на логическом уровне

 

На физическом уровне (см. Рисунок 1.8) палитра инструментов имеет:

● Вместо кнопки категорий кнопку внесения представлений

● Вместо кнопки связи «многие-ко-многим» кнопку связи представлений

 

 

Рисунок 1.8 – Палитра инструментов на физическом уровне

 

Контрольные вопросы:

1. К какому типу программных средств относится система ERwin?

2. Какие задачи она может автоматизировать?

3. Какие типы моделей данных (уровни представления данных) поддерживает система?

4. Что такое сущность? Атрибут сущности?

5. Какие типы связей между сущностями возможны в ER-модели?

6. Чем отличается т.н. не идентифицирующая связь от идентифицирующей связи в ER-модели?

 

ЛАБОРАТОРНАЯ РАБОТА № 2

Тема:РАЗРАБОТКА БАЗОВЫХ ER-ДИАГРАММ ДЛЯ ЗАДАННОЙ

ПРЕДМЕТНОЙ ОБЛАСТИ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ СИСТЕМЫ

ERWIN

 

Цели занятия

Изучить процесс построения простейших ER-диаграмм для заданной предметной области.

– Разработать для указанного фрагмента документа концептуальную модель данных в виде простейшей ER- диаграммы, для чего:

● проанализировать информацию, имеющуюся в описании заданной ПрО;

● выделить сущности и связи между ними;

● определить атрибуты сущностей;

● определить размерность и тип принадлежности связей;

– Построить концептуальную модель данных исходной ПрО в виде соответствующих ER-диаграмм.

 

Исходные данные

Исходная предметная область (ПрО) задана в виде фрагмента документа «Комплектующие детали для сборки изделий» табл. 2.1, который составлен в ходе обследования производственной деятельности некоторого предприятия, а именно:

 

Таблица 2.1 – Комплектующие детали для сборки изделий

 

Постановка задачи

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

 

Создание логической модели данных

Проведем анализ предметной области и внесем в диаграмму выявленные сущности. Для внесения сущности в модель необходимо «кликнуть» по кнопке сущности на панели инструментов (ERwin Toolbox)  затем кликнуть по тому месту на диаграмме, где необходимо расположит новую сущность. Щелкнув правой кнопкой мыши по сущности можно вызвать диалог Entities (см. Рисунок 1), в котором определяются имя, комментарии и описание сущности.

 

Рисунок 2.1 – Внешний вид диалогового окна Entities

 

Закладки Note, Note 2, Note 3, UDP служат для внесения дополнительных комментарий и определений к сущности. Следующим шагом в процессе создания логической модели должно стать определение связей между сущностями. Для создания связей между сущностями сначала составим описание данной предметной области при помощи ряда истинных высказываний на естественном языке или т.н. бизнес-правил.

В каждом ИЗДЕЛИИ содержится множество ДЕТАЛЕЙ. Любая ДЕТАЛЬ может быть включена в одно или несколько ИЗДЕЛИЙ.

Таким образом, сформируем имена связей:

ИЗДЕЛИЕ содержит ДЕТАЛИ.

ДЕТАЛЬ включена в ИЗДЕЛИЕ.

Указанная связь является связью «многие-ко-многим». В этом случае выделяется ассоциативная сущность.

Для установки связи необходимо кликнуть по кнопке связь в панели инструментов, затем указать мышью сначала на родительскую сущность, а потом на дочернюю. Задать параметры связи можно при помощи редактора связей Relationship (см. Рисунок 2.1).

 

Рисунок 2.2 – Диалоговое окно Relationships

 

Задание ограничений ссылочной целостности, а так же указание ролей производится на закладке RI Action панели диалога редактора связей (см. Рисунок 2.2)

после создания атрибутов. После задания связей между сущностями диаграмма будет выглядеть следующим образом (см. Рисунок 2.3).

 

 

Рисунок 2.3 – Вид логической (концептуальной) модели после задания связей

 

Теперь для каждой сущности необходимо указать первичные ключи и не ключевые атрибуты. Кроме того, для некоторых, возможно, понадобится задание альтернативных ключей. Так, например, первичным ключом сущности изделия (product) можно было бы выбрать серийный номер изделия, поскольку он однозначно идентифицирует любой из экземпляров этой сущности. Однако серийный номер изделия не является числом, т.к. кроме цифр, содержит и буквы, и, следовательно, для его хранения будет использоваться строка минимум из 13 символов, что не совсем удобно. Поэтому введем для каждой записи сущности product уникальный номер, который и будет первичным ключом. А атрибут «серийный номер изделия» необходимо сделать альтернативным ключом, чтобы обеспечить возможность быстрого поиска информации о сборках (Integration) по

их значениям, согласно заданию. Для задания первичных ключей и атрибутов используется редактор атрибутов. Для его вызова необходимо кликнуть правой кнопкой мыши на сущности и выбрать пункт Attribute (см. рисунок 2.4).

 

 

Рисунок 2.4 – Диалоговое окно редактора атрибутов

 

Для задания альтернативных ключей следует воспользоваться редактором ключей. Переход в него осуществляется, так же как и в редактор атрибутов. Для вызова данного редактора кликните правой кнопкой мыши на сущности и выберите пункт Key Group Editor. В открывшемся диалоговом окне (см. рисунок 2.4) нажмите кнопку New.

В открывшимся диалоговом окне задайте атрибуты и нажмите ОК. Выберите созданный альтернативный ключ и при помощи клавиши добавьте составляющие его атрибуты. Нажмите ОК. На этом процесс логического моделирования заканчивается, а сама модель приобретает вид, представленный на рисунок 2.5:

 

Рисунок 2.4 (продолжение) – Диалоговое окно New Key Group

 

Рисунок 2.5 – Общий вид логической модели для заданной ПрО

 

4. Контрольные вопросы:

1. Что такое сущность? Атрибут сущности?

2. Какие типы связей между сущностями возможны в ER-модели?

3. Чем отличается т.н. не идентифицирующая связь от идентифицирующей связи в ER-модели?

4. Какие сущности Вы выделили в заданной предметной области и почему? Объясните процесс этого анализа.

5. Какие связи Вы выделили в заданной предметной области и почему? Объясните процесс этого анализа.

 

ЛАБОРАТОРНАЯ РАБОТА № 3

Тема:СОЗДАНИЕ И РАБОТА С SQL-ЗАПРОСАМИ К СУБД MYSQL 5.0

ДЛЯ МАНИПУЛЯЦИИ ДАННЫМИ В БД

 

Цель работы:

Ознакомиться с синтаксисом и основными возможностями SQL- запросов, поддерживаемых в СУБД MySQL 5.0. Изучить возможности работы с запросами с помощью утилиты EMS MySQL Manager Lite . На основании базы данных, разработанной в ходе выполнения лабораторной работы № 4, создать набор запросов для всевозможных манипуляций над данными.

 

Общие сведения

Язык SQL

Язык SQL (Structured Query Language) – структурированный язык запросов. Он представляет собой непроцедурный язык, предназначенный для работы с информацией в реляционных базах данных. Существует несколько стандартов этого языка (ANSI/ISO SQL standards). СУБД MySQL 5.0 поддерживает следующие стандарты “SQL-92”, “SQL:1999” и “SQL:2003”. Данный язык состоит из двух подмножеств:

DDL (Data Definition Language) – язык определения данных. Сюда входят команды для определения структуры или схемы базы данных. Это команды: 1) CREATE… - создание объектов схемы данных.

2) ALTER… - изменение объектов схемы данных.

3) DROP… - удаление объектов схемы данных.

С этими командами вы уже ознакомились в ходе проведения работы № 2-1. DML (Data Manipulation Language) - язык манипуляции данными. Сюда входят команды для изменения данных в таблицах БД. Это команды:

2) UPDATE – изменение существующих данных.

3) DELETE – удаление данных.

4) SELECT – выборка или извлечение данных.

Изучению этих команд посвящена данная лабораторная работа.

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 552.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...