Лабораторных и практических работ
ЖУРНАЛ
по дисциплине Технология разработки и защиты баз данных
Выполнил
студент 3-4 курса ПКС 13 1/9 группы
Сиваков Владислав Владимирович
Проверил _______________Дворянова Т.Н.
2014 год
Практическая работа №1 Тема: Построение БД на основе нормализации отношений. Цель: Цель. Научиться проектировать реляционные БД. Контрольные вопросы 1. Что представляет собой предметная область задачи? 2. Опишите два пути проектирования бд на основе нормализации 3. Какое отношение считают родительским, а какое дочерним 4. Опишите виды и назначения ключей 5. Что понимают под функциональной зависимостью? Дать характеристику видам функциональных зависимостей
6. Опишите требования к целостности данных в реляционной модели? 7. Охарактеризуйте операции, нарушающие целостность 8. Что такое "аномалия", виды аномалий 9. Дать характеристику видам связей между отношениями 10. Каким образом отношения распределяются по уровням в ДЛМ и для чего
БД о Жителях многоквартирного дома.
В доме находится много квартир. В каждой квартире живут много людей. Уточнения: Люди могу съехать, могут заселится новые. Люди: ФИО, Номер квартиры, личные данные, Домашние животные. О квартире известно: Кол-во комнат, Площадь, номер этажа. Нужно знать сколько человек живёт в квартире, есть ли в квартире животные и д.р.
Таблица 1.1- Функциональные зависимости в 1НФ
Для второго отношения в качестве ключа могут быть выбраны все 3 элемента. Для того что бы сделать ключ простым введём норме квартиры как новый атрибут
Таблица 1.2- Функциональные зависимости во 2НФ
Так как транзитивной зависимости в отношениях нет, значит все эти зависимости находятся в 3 нормальной форме. 3НФ.
Таблицы 2 и 3 из методички пропущены На основе материалов образуем информационные объекты.
Таблица 1.3- Результат группировки атрибутов
Таблица 1.4– Cвязи информационных объектов
Построение дата логической модели Для реализации выбираем СУ БД Access
Графическое обозначение по уровням Рисунок 1.1 Логическая структура реляционной базы
Дата-Логическая модель
Рисунок 1.2 Логическая структура реляционной базы
Таблица 1.5. - Chel
Ответы на контрольные вопросы 1. Предметная область - Это часть реального мира, подлежащая изучению с целью создания базы данных для автоматизации процесса управления. 2. Этап 1-й. Концептуальное проектирование – создание представления (схемы, модели) БД, включающего определение важнейших сущностей (таблиц) и связей между ними, но не зависящего от модели БД (иерархической, сетевой, реляционной и т. д.) и физической реализации (целевой СУБД). Этап 2-й. Логическое проектирование – развитие концептуального представления БД с учетом принимаемой модели (иерархической, сетевой, реляционной и т.д.). 3. Отношения подчиненности определяют, что для каждой записи главной таблицы (Родительской) может существовать одна или несколько записей в подчиненной таблице (Дочерняя) 4. Ключи · Суперключ (superkey) – атрибут или множество атрибутов, которое единственным образом идентифицирует экземпляр сущности.
· Потенциальный ключ (potential key) – суперключ, который не содержит подмножества, также являющегося суперключом данной сущности, т. е. суперключ, содержащий минимально необходимый набор атрибутов, единственным образом идентифицирующих экземпляр сущности. · Первичный ключ (primary key) – потенциальный ключ, который выбран для уникальной идентификации экземпляров внутри сущности; · Альтернативные ключи (alternative key) – потенциальные ключи, которые не выбраны в качестве первичного ключа. 5. Зависимости · Функциональная зависимость определяется следующим образом. Пусть A и B – произвольные наборы атрибутов отношения. Тогда B функционально зависит от A (A → B), в том и только в том случае, если каждому значению A соответствует в точности одно значение B. Левая часть функциональной зависимости (A) называется детерминантом, а правая (B) – зависимой частью. · Полная функциональная зависимость определяется следующим образом. В некотором отношении атрибут В полностью зависит от атрибута А, если атрибут В функционально зависит от полного значения атрибута А и не зависит от какого-либо подмножества полного значения атрибута А. · Транзитивная зависимость. Если для атрибутов А, В и С некоторого отношения существуют зависимости вида А → В и В → С, то атрибут С транзитивно зависит от атрибута А через атрибут В. 6. К этим ограничениям относятся: · обязательные данные – атрибуты, которые всегда должны содержать одно из допустимых значений (NOT NULL). Например, поворот кривой (влево или вправо) должен быть обязательно задан. Обязательными также являются все атрибуты, входящие в первичный ключ сущности; · домены – наборы допустимых значений для атрибута. Например, радиус кривой должен быть положительным числом не более 4 цифр или поворот кривой может принимать одно из двух допустимых значений – «Л» (влево) или «П» (вправо); · бизнес-правила (бизнес-ограничения) – ограничения, принятые в рассматриваемой предметной области. Например, сумма длин переходных кривых не должна быть более длины всей кривой, километраж начала или конца кривой должен быть в пределах общего километража пути и т. д.;
· Ссылочная целостность – набор ограничений, определяющих действия при вставке, обновлении и удалении записей (экземпляров сущности). 7. Целостность · При наличии обязательной связи вставка записи в дочернюю сущность требует обязательного заполнения атрибутов внешнего ключа, и введенному значению должна соответствовать запись родительской сущности. · Аналогичное требование выдвигается при обновлении внешнего ключа в дочерней сущности; · Удаление записи из дочерней сущности или вставка записи в родительскую не вызывают нарушения ссылочной целостности; · Удаление записи в родительской сущности может требовать удаления всех связанных записей в дочерней сущности. 8. Аномалии – это проблемы, возникающие в данных из-за дефектов проектирования БД. Существуют три вида аномалий: вставки, удаления и модификации. · Аномалии вставки проявляются при вводе данных в дефектную таблицу. Добавляя информацию о новом сотруднике, мы должны добавить номер и название отдела. Если ввести данные, не соответствующие имеющимся в таблице (например, 42, отдел проектирования), будет не ясно, какая из строк БД содержит правильную информацию. · Аномалии удаления возникают при удалении данных из дефектной схемы. Предположим, что все сотрудники отдела 128 уволились в один и тот же день. После удаления записей этих сотрудников в БД больше не будет ни одной записи, содержащей информацию об отделе 128. · Аномалии модификации возникают при изменении данных дефектной схемы. Предположим, что отдел 128 решили переименовать в отдел передовых технологий. Необходимо изменить соответствующие данные о каждом сотруднике отдела. Если мы пропустим хотя бы одну запись, возникнет аномалия модификации. 9. «Один-к-одному» - любому экземпляру сущности А соответствует только один экземпляр сущности В, и наоборот. «Один-ко-многим» - любому экземпляру сущности А соответствует 0, 1 или несколько экземпляров сущности В, но любому экземпляру сущности В соответствует только один экземпляр сущности А. «Многие-к-одному» - любому экземпляру сущности А соответствует только один экземпляр сущности В, но любому экземпляру сущности В соответствует 0, 1 или несколько экземпляров сущности А. «Многие-ко-многим» - любому экземпляру сущности А соответствует 0, 1 или несколько экземпляров сущности В, и любому экземпляру сущности В соответствует 0, 1 или несколько экземпляров сущности А. 10. Отношения в ДЛМ распределяются по уровням в зависимости от связываемых сущностей, родительская сущность будет находиться выше по уровню, так же в большинстве СУБД нету отношения М:М, для этого в ДЛМ делается дополнительная сущность и разбивает связь на две связи «1:М»
Практическая работа №2
Тема. Построение моделей БД с использованием ER-диаграмм Цель работы. Выполнить проектирование базы данных, используя ER-диаграммы.
Контрольные вопросы 1 В чем состоит отличие понятия типа сущности и элемента сущности и набора сущностей? 2 Каковы способы представления сущности? 3 Каковы фундаментальные виды связей? 4 В чем заключается формализация связи? 5 Что такое подтип и супертип?
Практическое задание:
Рисунок 1.1 – Сущности
Можно ввести две сущности – Люди, квартиры. Квартира будет как отдельная сущность, которая имеет свои характеристики по которым идет переселение жителей.(Рис. 1.1)
2. Определить необходимый набор атрибутов каждой сущности, выделив идентифицирующие атрибуты.
Рисунок 1.2 – Существа и их атрибуты
3. Классифицировать атрибуты каждой сущности (описательные указывающие, вспомогательные).
Таблица 1.1 - Классификация атрибутов
4. Определить сущности вида подтип/супертип, где это необходимо.
На данном этапе нет супертипов и подтипов сущностей. При необходимости определим позже.
5. Определить связи между сущностями.
Рисунок 1.3 - Связи между сущностями
6. Проанализировав структуру связей, исключить избыточные. Несколько человек должны поживать в какой ни будь квартире
Рисунок 1.4 – Структура связей
7. Определить множественность и условность связей. Дать формулировку связей с точки зрения каждой участвующей сущности. Сущность «Люди» и сущность «квартира» имеют связь многие ко многим. В данном случае сущности со многими ролями может соответствовать любое число сущностей с другой ролью Каждый человек должен проживать в какой-либо квартире.
8.
Рисунок 1.5 - ER-диаграмма
9. Преобразовали множество сущностей в отношение с тем же кол-вом атрибутов. Связь «Проживают» преобразовали в отношение, содержащее указующие атрибуты сущностей Люди и Квартира. В реляционной БД связи многих ко многим нету, для этого её нужно преобразовать в связь один к одному.
м Квартира
1. Тип сущности – набор однородных личностей, предметов, идей и т.д выступающих как целое Экземпляр сущности –Конкретный атрибут набора. Набор сущностей (entity set) - множество сущностей одного типа (обладающих одинаковыми свойствами). Примеры: все люди, предприятия, праздники и т.д. Наборы сущностей не обязательно должны быть непересекающимися. 2. Обычно сущности представляются в виде таблиц, хотя во время проектирования они могут выступать в виде прямоугольников внутри которых написано название сущности, в ER диаграммах сущности представлены в виде прямоугольников с перечнем атрибутов 3. Один к одному, один ко многим, многие ко многим 4. Цель формулировки связи состоит в том, чтобы позволить установить связь экземпляра одной сущности с экземпляром другой. Это выполняется размещением вспомогательных атрибутов в соответствующих сущностях на модели. Когда это выполнено, говорят, что связь формализована. · Для формализации связи "один к одному" вспомогательные атрибуты могут быть добавлены к любой сущности (но не к обоим). · Для формализации связи "один ко многим" вспомогательные атрибуты должны быть добавлены к сущности на стороне "многого", поскольку размещение такого вспомогательного атрибута на стороне "один" будет нарушать третье правило атрибутов. · Для формализации связи "многие ко многим" создают отдельную ассоциативную сущность, которая содержит ссылки на идентификаторы каждого из участвующих экземпляров. 5. Супертип – это класс объектов, который делится на взаимоисключающие подгруппы меньшего размера. Супертип может иметь собственные свойства или просто использоваться как имя группы. Подтип – это класс объектов, представляющий разбитую группу в рамках супертипа. Каждый подтип неявно наследует все свойства и связи супертипа, кроме того, он может иметь свои собственные свойства и связи.
Практическая работа №3 Тема. Разработка данных контрольного примера Цель. Составить контрольный пример для проверки работоспособности БД спроектированной в Пр№1
Для непосредственной работы с элементами модели в программе имеется палитра инструментов (Erwin Toolbox), представляющая собой «плавающее окошко» (рис. 1.2). При необходимости палитру инструментов можно убирать с экрана и вызывать нажатием комбинации клавиш «CTRL-T».
Практическое задание
Разработка данных контрольного примера
В данных контрольного примера отразим требования описания предметной области:
Таблица 1 – Человек
Таблица 2 – Квартира
Ответы на контрольные вопросы 1. Что означает «адекватность предметной области»
Адекватность предметной области – Означает что состояние БД в каждый момент времени должно соответствует состоянию предметной области. Изменения состояния предметной области обязательно приводит к соответствующему состоянию БД
2. Какие виды целостности Вам известны, дать определения
Сущностная целостность или целостность по первичному ключу по своему определению значение первичного ключа в таблице должно быть уникальным т.к. основной принцип Р.Б.Д. звучит что доступ к данным в таблице осуществляется по цепочке. Имя БД à Имя таблицы à Имя столбца à первичный ключ (значение). Ссылочная целостность – это целостность поддерживается в связях между таблицами. Для того чтобы содержимое двух связанных таблиц правильно отражало предметную область. На операции изменяющие содержимое таблиц должны накладываться определенные ограничения (ограничения целостности). Это относится к трем операциям: - удаление записей (из главной таблицы) - изменение записей (в главной таблице) - Вставка записей во второстепенные таблицы.
Лабораторная работа №1 Тема. Построение модели БД с использованием средств автоматизации Цель. Построение физической модели данных. Генерация схемы базы данных. Ход работы 1 Повторить теоретическую часть 2 Ответить на контрольные вопросы 3 Выполнить практическое задание
Контрольные вопросы 1 Поясните, в чем отличие логического и физического уровня моделирования? 2 Опишите окно редактора сущностей 3 Что происходит при установке указующей связи между сущностями? 4 Какую информацию о связи можно указать в редакторе связей 5 В каком случае логическая модель требует нормализации? 6 Поясните назначение валидации данных 7 Охарактеризуйте известные вам виды представлений? 8 Охарактеризуйте правила ссылочной целостности?
Практическое задание Построить физическую модель проектируемой БД средствами Erwin. Сгенерировать схему базы данных для СУБД Access. Последовательность выполнения работы Знакомство с пользовательским интерфейсом Загрузите программу Erwin. В появившемся диалоговом окне установите переключатель Crеаte а New Model. На экране появится диалог Create Model – Select Template, где необходимо выбрать уровень моделирования. Установите переключатель Logical/Physical для создания модели с логическим или физическим уровнями. В полях DataBase и Version указывается тип и версия сервера, для которого создается модель. Выберите в списке Access. Нажмите кнопку ОК. На экране появится основное окно программы. Рассмотрите рабочую область, в которой создается ER-диаграмма. Запишите назначение кнопок панели инструментов Таблица 1.1–Кнопки, расположенные на панели инструментов программы Erwin.
В результате проделанной работы физическая модель будет иметь вид: Рисунок 1.1 – Уровень Сущьностей
Рисунок 1.2 – Уравень атрибутов
Ответы на контрольные вопросы 1. 1.1. Логический уровень проектирования представляет собой детализацию элементов концептуальной схемы: описание характеристик элементов (атрибутов) и связей между элементами. Именно на этом уровне могут появиться новые сущности, и нам придется возвратиться к концептуальному уровню проектирования базы данных. Логический уровень проектирования уже весьма близок к схеме реляционной базы данных. Именно здесь мы должны определиться с первичными ключами, обозначить типы связи их имена и характеристики, определить ограничения, накладываемые на хранимые в базе данные. 1.2. На физическом уровне проектирования логическая модель данных преобразуется к реляционной базе данных конкретной СУБД. Происходит преобразование сущностей логической модели в конкретные таблицы, атрибуты сущностей в атрибуты (столбцы) таблицы, связи между сущностями в связи между таблицами, первичные ключи сущностей в первичные ключи таблиц. Кроме этого создаются индексы таблиц, а также реализуются ограничения целостности базы данных средствами конкретной СУБД. Заметим также, что возможно на данном этапе может потребоваться нормализация некоторых таблиц. 2. Командой Model/Entity/Attribute Editor можно создать (кнопка Add) новые, откорректировать (Update) или удалить (Delete) существующие сущности и атрибуты. Например, добавим сущность «Справочник подразделений» (рисунок 3.5.2.1) и в сущность «Выпуск изделий» добавим новый атрибут «Код подразделения» с кодом подразделения, выпустившего изделие. В полях Entity и Attribute указываются имена создаваемых сущностей или атрибутов соответственно. Командой Arrow Data из контекстного меню стрелки можно связать стрелку с атрибутами сущностей. Экспорт данных из BPWin в ERWin реализуется командой File/Export/ERWin (BPX). Импорт данных в ERWin из BPWin реализуется командой File/Import/ERWin. В окне ERWin/BPWin Import (рисунок 3.5.2.2) отображаются новые сущности и атрибуты, отсутствующие в модели ERWin, и нужно выбрать импортируемые сущности и атрибуты из модели BPWin в модель ERWin. Далее можно доработать полученную модель ERWin.
3.Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Зависимая сущность изображается прямоугольником со скругленными углами (сущность "Служащий", справа на рис. 16). Экземпляр зависимой сущности определяется только через отношение к родительской сущности, то есть в структуре на рис.16 информация о служащем не может быть внесена и не имеет смысла без информации об отделе, в котором он работает. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности переносятся в состав первичного ключа дочерней сущности (миграция атрибутов). В дочерней сущности они помечаются как внешний ключ - (FK). При установлении неидентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности мигрируют в состав неключевых компонентов родительской сущности.
4.Каждый атрибут хранит информацию об определенном свойстве сущности. Каждый экземпляр сущности должен быть уникальным. Атрибут или группа атрибутов, которые идентифицируют сущность, называется первичным ключом. Для описания атрибутов следует, кликнув правой кнопкой по сущности, выбрать в появившемся меню пункт Attribute Editor. Появляется диалог Attribute Editor.
5.К модели данных предъявляются определенные требования, называемые нормальными формами. Процесс приведения к нормальным формам называется нормализацией. Так, первая нормальная форма требует, чтобы все атрибуты были атомарными.Вторая нормальная форма требует, чтобы каждый неключевой атрибут зависел от всего первичного ключа, не должно быть зависимости от части ключа. Для приведения ко второй нормальной форме необходимо создать новую сущность, перенести в нее атрибуты, зависящие от части ключа, сделать часть ключа первичным ключом новой сущности и установить идентифицирующую связь от новой сущности к старой.
6.Но если всё-таки проверка нужна, логика подсказывает, что удобно проверять данные в том месте, где они попадают в программу из внешнего мира. После такой проверки можно быть уверенным, что в программу попадают правильные данные и в дальнейшем они могут использоваться без дополнительных проверок.
1. Стандартные представления - Сочетание данных из одной или нескольких таблиц с помощью стандартного представления позволяет использовать почти все преимущества представлений. Сюда входит фокусировка на конкретных данных и упрощение управления ими. 2. Индексированные представления - Индексированным называется материализованное представление. Это значит, что оно вычислено и сохранено. Индексировать представление можно, создав для него уникальный кластеризованный индекс. 3. Секционированные представления - Секционированным называется представление, соединяющее горизонтально секционированные данные набора базовых таблиц, находящихся на одном или нескольких серверах. При этом данные выглядят так, как будто находятся в одной таблице. 7. 7.1. Стандартные представления - Сочетание данных из одной или нескольких таблиц с помощью стандартного представления позволяет использовать почти все преимущества представлений. Сюда входит фокусировка на конкретных данных и упрощение управления ими. 7.2. Индексированные представления - Индексированным называется материализованное представление. Это значит, что оно вычислено и сохранено. Индексировать представление можно, создав для него уникальный кластеризованный индекс. 7.3. Секционированные представления - Секционированным называется представление, соединяющее горизонтально секционированные данные набора базовых таблиц, находящихся на одном или нескольких серверах. При этом данные выглядят так, как будто находятся в одной таблице. 8. · 1. RESTRICT — запрещает удаление экземпляра родительской сущности, пока в дочерней сущности есть экземпляры, зависящие от него. · 2. CASCADE— удаление экземпляра родительской сущности приводит у удалению всех экземпляров дочерней сущности, зависящих от него. · 3. SET NULL— при удалении экземпляра родительской сущности значение связанного поля во всех экземплярах дочерней сущности, зависящих от него, заменяются значением NULL. · 4. SET DEFAULT— при удалении экземпляра родительской сущности значение связанного поля во всех экземплярах дочерней сущности, зависящих от него, заменяются значением по умолчанию. · 5. NONE— при удалении экземпляра родительской сущности значение связанного поля во всех экземплярах дочерней сущности остается неизменным.
Лабораторная работа №2
Тема. Создание таблиц и схемы БД Цель. Научиться создавать таблицы базы данных, задавать их структуру, выбирать типы полей и управлять их свойствами, определять ключевые поля, создавать связи между таблицами и определять правила, гарантирующие, что связи всегда будут корректными.
Задание 1. Создать в режиме конструктора таблицы разработанной БД. Таблицы в режиме конструктора создаются следующим образом
2. Для каждой таблицы определить свойства данных. Для каждой таблицы определить ключевые поля(результат записать в виде: имя таблицы, имя поля, свойства поля,..)
Таблица 1.1 – Человек
Таблица 1.2 - Квартиры
3. Создать схему БД Рисунок 1.1 – Схема БД
Контрольные вопросы 1. С какой целью определяют свойства полей
2. С какой целью определяют ключевые поля
3. Что понимают под структурой(схемой) БД
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|