Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задачи на зачет

.pdf
Скачиваний:
9
Добавлен:
04.03.2022
Размер:
804.84 Кб
Скачать

связь 1:м (м-заказы на ремонт) и кп обязательно, аналогично связана сущность заказы на ремонт с остальными сущностями таблицы.

14. Разработайте ER-схему БД Сеть кондитерских магазинов: виды товара, поставщики, торговые точки, журнал поступления и отпуска товара.

Добавим атрибуты Код товара, Код поставщика, Код точки и Код поступления, так как использовать номера телефонов неудобно, названия товаров могут повторятся, а за одно поступления может доставиться несколько товаров.

Связи: будем считать, что торговая точка – это супер маркет, в которую поступают все товара от всех поставщиков (или несколько видов от нескольких), а один поставщик может поставлять разные товары и один товар могут поставлять разные поставщики. Основываясь на этом, получим следующие связи:

Виды товара – Журнал поступления 1:м, кп м обязательное Виды товара – Связка 1:м, кп м обязательное Поставщики – Журнал поступления 1:м, кп м обязательное Виды товара – Связка 1:м, кп м обязательное

Торговые точки – Журнал поступления 1:м, кп м обязательное

15. Дано отношение ДОКУМЕНТАЦИЯ (первые 6 записей):

Номер

Наименование

Тип документа,

Количество выпускаемых

отдела

отдела

выпускаемого

документов данного типа

 

 

отделом

 

 

 

 

 

1

Бухгалтерия

Док2

100

 

 

 

 

1

Бухгалтерия

Док4

200

 

 

 

 

1

Бухгалтерия

Док5

120

 

 

 

 

2

Технический

Док2

140

 

 

 

 

2

Технический

Док3

100

 

 

 

 

3

Чертежный

Док3

130

 

 

 

 

и т.д.

Номер отдела и наименование отдела - уникальны, документы одного типа могут выпускаться в разных отделах. Определите потенциальные ключи, аномалии, зависимости. Нарушение какой нормальной формы наблюдается? Нормализуйте отношение. Постройте реляционную схему БД.

Потенциальные ключи: Номер отдела+тип документа, выпускаемого отделом; наименование отдела+тип документа, выпускаемого отделом Аномалии:Удаления, включения и модификации

Зависимости: Номер отдела->Тип документа; Номер отдела+Тип документа- >Количество выпускаемых документов данного типа; Наименование отдела- >Тип документа; Наименование отдела+Тип документа->Количество выпускаемых документов данного типа Нарушение 2НФ

Отделы

Номер отдела*

Наименование

отдела

Документация

Номер отдела*

Тип документа

Количество

документов

16. Дано отношение СОТРУДНИКИ (первые 4 записи):

Код

ФИО

Должность

Номер

Наименование

Квалифика-

сотрудника

 

 

отдела

отдела

ция

 

 

 

 

 

 

7513

Иванов

Программист

128

Программный

C++, Java

 

И.И.

 

 

 

 

 

 

 

 

 

 

9842

Сидоров

Администратор

42

Финансовый

DB2

 

С.С.

БД

 

 

 

 

 

 

 

 

 

6651

Петров

Программист

128

Программный

VB, Java

 

П.П.

 

 

 

 

 

 

 

 

 

 

9006

Николаев

Сисадмин

128

Программный

Windows,

 

Н.Н.

 

 

 

Linux

 

 

 

 

 

 

и т.д.

Нарушения каких нормальных форм наблюдаются? Нормализуйте отношения. Постройте реляционную схему БД.

Нарушение 1НФ, 3НФ, НФБК

17. Дано отношение ИЗДАТЕЛЬСТВА (первые 6 записей):

Номер издательства

Наименование издательства

Жанр

Количество

 

 

изданий

изданий

 

 

 

 

1

ФОРУМ

Детектив

1000

 

 

 

 

1

ФОРУМ

IT-литература

2000

 

 

 

 

4

ЛЭИЗ

Детектив

12000

 

 

 

 

2

ТРАНС

Фантастика

14000

 

 

 

 

2

ТРАНС

Спорт

10000

 

 

 

 

3

ФИЗМАТ

IT-литература

13000

 

 

 

 

и т.д.

Номера и наименования издательств – уникальны, издания одного и того же жанра могут издаваться разными издательствами. Определите потенциальные ключи, аномалии, зависимости. Нарушение какой нормальной формы наблюдается? Нормализуйте отношение. Постройте реляционную схему БД.

Потенциальные ключи: Номер издательства+жанр изданий; Наименование издательства+жанр изданий Аномалии:Удаления, включения и модификации

Зависимости: Номер издательства->Жанр изданий; Номер издательства+Жанр изданий->Количество изданий; Наименование издательства->Жанр изданий; Наименование

издательства+Жанр изданий->Количество изданий Нарушение 2НФ

 

 

 

 

 

Работа

 

 

Издательства

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер

Номер

 

 

 

 

 

 

 

издательства*

 

 

издательства*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Жанр изданий

Наименование

 

 

 

 

Количество

издательства

 

 

изданий

 

 

 

 

 

 

 

 

 

 

 

 

Ответы на вопросы по лекциям

ЛК2

1. Определите понятия:

a) Отношения-сущности-таблицы

Отношение - это двумерная таблица, имеющая уникальное имя и состоящая из строк и столбцов

b)Атрибут — это поименованный столбец отношения.

c)Экземпляр отношения - это соответствующая строка

Схема отношения – это именованное множество имен атрибутов; Кортежем - это множество пар {имя атрибута, значение атрибута}, в которых

атрибуты совпадают с атрибутами схемы, а их значения принадлежат соответствующему домену.

Тело отношения - множество кортежей Тело отношения характеризуется мощностью или кардинальным числом,

которое равно количеству содержащихся в нем кортежей.

Степень отношения определяется количеством атрибутов, которое в нем присутствует. Определение степени отношения осуществляется по заголовку отношения.

Заголовок отношения – это множество имен атрибутов.

d)Ключи – это множество атрибутов, которые удовлетворяют два независимых от времени условия: уникальность и минимальность.

Домен – множество допустимых значений атрибута

e)Связывание отношений – установление соответствий полей связи основной (родительской) и дополнительной (дочерней) таблиц

Типы связей:

1.Один-к-одному (1:1)

2.Один-ко-многим (1:М)

3.Многие-ко-многим (М:М)

f) Индексирование – процесс построение индексов (индексы – структуры данных, используемые для ускорения поиска и доступа к отдельным записям реляционной таблицы)

2. Поддержка целостность БД

a)Ограничение атрибутов - первый тип ограничений, проистекает из того факта, что каждый атрибут может быть определен только на своем домене, или наоборот: домен атрибута задает множество значений, которые может принимать атрибут.

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

c)Ссылочная целостность – третий тип ограничений, состоит в том, что либо

значение внешнего ключа каждой записи дочерней таблицы должно быть неопределенным (NULL), либо для него должна найтись запись с таким же значением первичного ключа в родительской таблице

d) Методы контроля целостности 1. Ввод (INSERT) новых записей.

Ввод новых записей в родительскую таблицу никоим образом не может нарушить ссылочную целостность БД.

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

Для реализации данного подхода данные с новыми значениями ключевых полей должны вводиться сначала в родительскую таблицу. В MS Access этот подход реализован с помощью механизма подстановок.

2. Обновление (UPDATE) записей.

При обновлении записей дочерней таблицы следует применять тот же подход, что и при вводе новых записей. В этом случае гарантируется, что обновляемая запись в дочерней таблице может “сменить родителя”, но никогда не останется без него.

Что касается обновления записей родительской таблицы, то здесь возможны два метода контроля целостности на уровне СУБД:

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

·изменения в родительской таблице сразу передавать в дочерние таблицы (Cascade - каскадное обновление).

Выбор того или иного метода зависит от пользователя (прикладного программиста и/или администратора БД).

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

3. Удаление (DELETE) записей.

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

Что же касается удаления записей из родительской таблицы, то здесь, как и в случае обновления, возможны два метода контроля целостности на уровне СУБД:

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

·при удалении записи одновременно удалять подчиненные записи в дочерних таблицах (Cascade - каскадное удаление).

ЛК3

1.Зачем нужна инфологическая модель и какую пользу она дает проектировщикам?

Еще раз хотим напомнить, что процесс проектирования длительный, он требует обсуждений с заказчиком, со специалистами в предметной области. Наконец, при разработке серьезных корпоративных информационных систем проект базы данных является тем фундаментом, на котором строится вся система в целом, и вопрос о возможном кредитовании проекта часто решается экспертами банка на основании именно грамотно сделанного инфологического проекта БД. Следовательно, инфологическая модель должна включать такое формализованное описание предметной области, которое будет «читабельно» не только для специалистов по базам данных, но и сторонних людей. И это описание должно быть настолько емким, чтобы можно было оценить глубину и корректность проработки проекта БД, и конечно, как говорилось раньше, оно не должно быть привязано к конкретной СУБД. Выбор СУБД — это отдельная задача, для корректного ее решения необходимо иметь проект, который не привязан ни к какой конкретной СУБД.

2.Когда применяется инфологическая модель?

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

3. Что такое модель сущность-связь?

Базовыми элементами инфологических моделей являются сущности с их свойствами (атрибутами) и связи между сущностями, поэтому такие модели называются моделями “сущность-связь”

4.Дайте определение: сущность, тип сущности и экземпляр сущности Сущность – это любой различимый объект, информацию о котором необходимо хранить в БД. Сущностями могут быть различные объекты и процессы реального мира.

Понятие тип сущности относится ко всему набору однородных объектов, выступающих как единое целое.

Понятие экземпляр сущности относится к конкретному объекту в наборе.

5.Ключ, назначение ключа, первичный ключ, внешний ключ

Среди атрибутов особое положение занимают такие, с помощью которых можно идентифицировать экземпляр сущности. Такие атрибуты называются ключами. Атрибут или несколько атрибутов, значения которых однозначно идентифицируют каждый экземпляр сущности, являются потенциальным ключом данной сущности. Потенциальных ключей может быть несколько. Один из потенциальных ключей может быть выбран в качестве первичного ключа. Обычно в качестве первичного ключа выбирается тот, который имеет наименьшую длину. Ключи используются для организации связей между отношениями. Не ключевой набор атрибутов одного отношения, являющийся потенциальным ключом другого отношения, называется внешним ключом.

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

6. Как в РБД реализуются атрибуты и как реализуются связи?

Вреляционных базах данных связи между сущностями реализуются с помощью связей между отношениями (таблицами).

Вреляционных базах данных атрибуты реализуются с помощью столбцов отношений (полей таблиц).

7. Виды сущностей.

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

Ассоциативная сущность выражает собой связь «многие ко многим» между двумя сущностями. Ассоциации являются вполне самостоятельными сущностями. Они могут участвовать в других ассоциациях и обозначениях точно так же, как стержневые сущности. Ассоциации могут иметь не только набор ключевых атрибутов, необходимых для указания связи, но и любое число других атрибутов, характеризующих связь. Некоторые из этих атрибутов могут становиться частью составного ключа ассоциации, добавляясь к ключевым атрибутам связи.

Характеристическая сущность связана с другими сущностями связями «многие к одному» и «один к одному». Характеристическая сущность описывает или уточняет другую сущность. Она полностью зависит от нее и исчезает с исчезновением последней.

Обозначающая сущность является частным случаем ассоциаций. Это такая сущность, с которой другие сущности связаны по принципу «многие к одному» или «один к одному». Обозначение, в отличие от характеристики, является самостоятельной сущностью.

8. Идентифицирующая и не идентифицирующая связи.

Говоря о типах связей между сущностями, различают идентифицирующие и неидентифицирующие связи.

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

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

9. Класс принадлежности сущности Важным показателем характера участия сущности в связи является класс

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

необязательному классу принадлежности. Для необязательного класса принадлежности сущности степень связи может быть равна нулю, т.е. экземпляр сущности можно связать с 0, 1 или несколькими экземплярами другой сущности. Для обязательного класса принадлежности степень связи не может равняться нулю.

10.Способы нотации ER-модели. Язык ER-диаграмм и инфологического моделирования.

Под нотацией инфологической модели “сущность-связь” понимается ее графическое или текстовое отображение. В настоящее время существует множество различных способов нотации. К наиболее распространенным способам нотации могут быть отнесены следующие способы:

·нотация Чена;

·нотация Баркера;

·нотация IDEF1X;

·язык инфологического моделирования (ЯИМ).

Нотация П.Чена была предложена им в рамках концепции “сущность-связь”. Позднее эта нотация была дополнена шестиугольниками для изображения сущностей-ассоциаций, трапециями – для изображения характеристических сущностей и параллелограммами – для изображения обозначающих сущностей. Достоинством нотации Чена является ее наглядность. Однако вынесение атрибутов за границы сущности делает это способ очень громоздким и поэтому малопригодным для отображения больших и сложных моделей.

Внотации Баркера сущности изображаются прямоугольниками, содержащими внутри себя имя сущности и список имен атрибутов. Ключевые атрибуты отмечаются символом #. Связи представляются линиями, соединяющими родительскую сущность с одной или несколькими сущностями-потомками. Для связей должно быть определено имя (выражаемое грамматическим оборотом глагола), степень множественности (один или много объектов участвуют в связи) и степень обязательности (т.е. обязательная или необязательная связь между сущностями). Для множественной связи линия присоединяется к прямоугольнику сущности в трех точках, а для одиночной связи – в одной точке. При обязательной связи рисуется непрерывная линия до середины связи, при необязательной – пунктирная линия.

Внотации IDEF1X (Integration DEFinition for Information Modeling) сущности представляются прямоугольниками, разделенными горизонтальной линией на часть, в которой расположены ключевые поля, и часть, где расположены неключевые поля. Верхняя часть называется ключевой областью, а нижняя часть областью данных. Внешние ключи помечают меткой FK. Зависимые сущности представляются прямоугольниками со скругленными углами. Связи отображаются в виде линии между двумя сущностями с точкой на конце «Многие» и глагольной фразой, отображаемой над линией. Идентифицирующие связи обозначаются сплошной линией, а неидентифицирующие – пунктирной.

Помимо перечисленных графических способов нотации часто применяется менее наглядный, но более компактный и содержательный язык инфологического моделирования (ЯИМ).

ЛК4

1.Правила преобразования сущностей.

1.Каждой сущности ставится в соответствие отношение реляционной модели. При этом имена сущности и отношения могут быть различными.

2.Каждый атрибут сущности становится атрибутом отношения, которому приписывают тип данных и свойство обязательности или необязательности данного атрибута.

3.Первичный ключ сущности становится первичным ключом отношения. Атрибуты, входящие в первичный ключ, получают свойство обязательности (NOT NULL).

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

(FOREIGN KEY).

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

2.Правила преобразования связей. Степень связи 1:1. КП обоих

сущностей обязательный.

Если степень бинарной связи 1:1 и КП обеих сущностей является обязательным, то требуется только одно отношение, ключом которого может быть ключ любой из двух сущностей.

3.Правила преобразования связей. Степень связи 1:1. КП одной

сущности обязательный, другой – необязательный.

Если степень бинарной связи 1:1 и КП одной сущности является обязательным, а другой необязательной, то необходимо построение двух отношений. При этом к отношению, где сущность имеет обязательный КП, добавляется в качестве внешнего ключа ключ сущности с необязательным КП.

4.Правила преобразования связей. Степень связи 1:1. КП обеих

сущностей необязательный.

Если степень бинарной связи 1:1 и КП обеих сущностей является необязательным, то необходимо построение трех отношений, одно из которых

Соседние файлы в предмете Реляционные базы данных