Упражнения и задачи

Вопросы и задания для повторения

 

1) Объясните своими словами смысл терминов:

· База данных.

· Жизненный цикл базы данных.

· Пользователи базы данных.

· Физическое проектирование базы данных.

· Предварительное планирование базы данных.

· Реализация базы данных.

· Модель.

· Объектное множество.

· Суррогатный ключ.

· Обобщение.

· Составное объектное множество.

· Мощность.

· N-арное отношение.

· Атрибут.

· Реляционная модель данных.

· ER-модель.

· Рекурсивное отношение.

· Внешний ключ.

· Реляционная схема базы данных.

· Правило категорной целостности.

· Нормализация.

· Аномалия обновления.

· Аномалия ввода.

· Нормальные формы.

· Атомарное значение.

· Многозначная зависимость.

2) Опишите взаимосвязь трех видов моделей (внешней, концептуальной и внутренней).

3) Из каких этапов состоит жизненный цикл базы данных?

4) Опишите разницу между концептуальным и внешним уровнями базы данных.

5) Назовите и опишите основные конструкции, используемые при моделировании данных.

6) Каким образом опросы пользователей и анализ отчетов используются при концептуальном моделировании данных в процессе проектирования базы данных?

7) Обсудите, каким образом анализируются запросы пользователей для определения следующих конструкций модели данных:

· объектных множеств;

· атрибутов;

· отношений;

· конкретизаций.

8) Обсудите, как анализируются отчеты для определения следующих конструкций концептуальной модели данных:

· объектных множеств;

· атрибутов;

· отношений;

· конкретизаций.

9) В каких случаях при моделировании данных требуются составные объектные множества? Когда следует пользоваться отношениями высокого порядка? Приведите примеры.

10) Сравните следующие термины и назовите различия между ними:

· ключи и внешние ключи;

· атрибуты и столбцы;

· кортежи и строки;

· категорная целостность и целостность на уровне ссылок.

11) Проанализируйте следующее утверждение: «Реляционная таблица имеет третью нормальную форму, если каждый неключевой атрибут зависит от ключа, от ключа целиком и ни отчего, кроме ключа». Какая часть утверждения относится ко второй нормальной форме, а какая – к третьей?

12) В чем заключаются недостатки таблиц, не отвечающих требованиям второй и третьей нормальных форм?

13) Опишите процесс преобразования концептуальной модели в реляционную для каждой из следующих конструкций:

· объектное множество с атрибутами с ключом и без него;

· отношение один-к-одному;

· отношение один-ко-многим;

· отношение много-ко-многим;

· отношение конкретизации;

· составное множество;

· рекурсивное отношение.

14) Сравните следующие два подхода к моделированию данных:

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

· пропуск этапа создания концептуальной модели и прямое создание реляционной модели с последующим применением теории нормализации для исключения аномалий.

15) На каком этапе (этапах) жизненного цикла базы данных выполняются следующие действия:

· определение файлов, необходимых для квартального отчета о продажах;

· выяснение того, располагает ли фирма специалистами, имеющими техническую подготовку, необходимую для создания и поддержания базы данных;

· определение основных функций системы;

· ввод данных в базу данных;

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

· определение изменений, необходимых для повышения эффективности базы данных;

· определение полной концептуальной структуры базы данных;

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

· определение функций, выполняемых системой для каждого отдела предприятия.

 

 

 

1) Определите функции информационной системы, которая может использовать следующие наборы данных:

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

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

 

2) В каждой из следующих задач требуется создать концептуальную модель данных, состоящую из объектных множеств, отношений с указанием мощности и атрибутов, которая давала бы ответы на вопросы:

· Сколько преподавателей работает на факультете информатики и прикладной математики? Их фамилии?

· Какие студенты специализируются в математике, физике ?

· Кто из преподавателей читает курсы по программированию? Какие курсы они читают?

· Какие товары имеют продажную цену более 200 рублей? Какие из них имеют закупочную цену менее 150 рублей? Какие товары произведены в восточных регионах России? Какие фирмы производят эти товары?

· Кто из продавцов оформил наибольшее количество продаж? Даты этих продаж? Каков оклад этих продавцов?

· Какой процент обладателей текущих счетов банка составляют его служащие?

· Сколько кассиров и сколько менеджеров имеют в банке сберегательные счета? Сколько кассиров не имеют таких счетов?

· В каких соревнованиях и в каком году участвовал спортсмен? Кто из спортсменов участвовал в данных соревнованиях?

· Спортсмены каких стран участвовали в данных соревнованиях? Кто занял призовые места?

· Из каких материалов изготавливается деталь? Чем можно заменить недостающий материал?

· Какие поезда и в какое время проходят через железнодорожную станцию? На каких станциях останавливается поезд? Время стоянки каких поездов на данной станции превышает 5 минут?

 

 

3) Для каждого из следующих утверждений нарисуйте модель данных, показывающую отношение между объектными множествами, составное объектное множество и его атрибут:

· Студенты изучают предметы и получают по ним оценки.

· Лекции по данному предмету начинаются в определенное время в определенной аудитории.

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

· Каждый день служащие работают определенное количество часов.

· Люди подписываются на журналы. Каждая подписка имеет дату начала и окончания.

· Летчики имеют определенное число налетов на каждом типе самолета.

· Расход топлива автомобиля зависит от его марки и времени года.

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

· Аптека заказывает медикаменты у поставщиков из разных городов. Прайс-лист определенного поставщика получают в определенный день и определенное время.

· За каждой рубрикой газеты бесплатных объявлений закреплен определенный менеджер по рекламе, который принимает объявления установленного размера в указанное время.

 

4) Рассмотрите следующую реляционную таблицу, (заглавные буквы обозначают имена атрибутов, строчные буквы и цифры – значения атрибутов):

Таблица X

A B C D E
a1 b2 c1 d3 e2
a3 b2 c3 d2 e4
a1 b3 c1 d1 e2
а1 b4 c1 d4 e2

Обведите кружком те функциональные зависимости, которые кажутся Вам выполненными для таблицы Х.

A->C D->E C->A E->B E->A C->B B->D

Определите возможный ключ таблицы Х.

 

5) Для каждой из следующих реляционных таблиц определите, каким нормальным формам удовлетворяют таблицы, и покажите, как разбить исходную таблицу на несколько таблиц, каждая из которых удовлетворяет нормальной форме самого высокого порядка:

· СДУЖАЩИЙ (ТАБЕЛЬНЫЙ НОМЕР, ИМЯ, АДРЕС, ТЕЛЕФОН, ПРОФЕССИЯ)

Функциональная зависимость: АДРЕС -> ТЕЛЕФОН

· РАБОТНИК (ИДЕНТИФИКАТОР РАБОТНИКА, ИМЯ, ИДЕНТИФИКАТОР СУПРУГА, ИМЯ СУПРУГА)

Функциональная зависимость:

ИДЕНТИФИКАТОР СУПРУГА -> ИМЯ СУПРУГА

· ПРОДАЖА (ДАТА, КЛИЕНТ, ТОВАР, ПРОДАВЕЦ, ГОРОД ПРОДАВЦА)

Функциональная зависимость:

ПРОДАВЕЦ -> ГОРОД ПРОДАВЦА

 

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

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

· База данных торговой фирмы, представленной сетью магазинов и складов, предназначена для хранения информации о магазинах, складах и имеющихся товарах. Каждый магазин характеризуется классом, номером, названием и имеет несколько отделов. Каждым отделом управляет собственный заведующий. О каждом товаре содержится следующая информация: наименование, сорт, количество в наличие, цена. Розничные цены магазинов на товары зависят от класса магазина и сорта товара.

· База данных, предназначенная для сотрудников ГАИ, должна обеспечивать хранение сведений о водителях (номер водительского удостоверения, ФИО, адрес), принадлежащих им автомобилям (регистрационный номер, марка, цвет, год выпуска), нарушениях ПДД (код нарушения, наименование нарушения, мера пресечения) и данные об обстоятельствах совершенных нарушений (дата, время, место, погодные условия).

· База данных, предназначенная для использования сотрудниками почтового отделения, должна обеспечивать хранение следующих сведений о газетах (название, индекс, цена, ФИО редактора, номер типографии, где печатается газета (газета может издаваться в нескольких типографиях)), о типографиях (адрес, количество печатаемых экземпляров газет каждого наименования (в типографии могут печатать несколько газет)), о почтовых отделениях (адрес, номер, количество экземпляров газет каждого наименования, поступающих в отделение).

· База данных, предназначенная для использования сотрудниками администрации гостиничного комплекса, должна обеспечивать хранение следующей информации: сведения о клиенте (код клиента, город, ФИО клиента), о том, когда и в какой номер был заселен клиент, когда планирует убыть из гостиницы; сведения о номерах гостиницы (типы номеров, количество номеров каждого типа, их номера, этаж).

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

 

7) Дано словесное описание информационной системы, хранящей специфичную информацию, характерную для данной предметной области. Необходимо построить концептуальную модель и перейти от нее к реляционной схеме БД:

· База данных для почтового отделения должна обеспечивать хранение сведений о газетах (название, индекс, цена, ФИО редактора, номер типографии, где печатается газета (газета может издаваться в нескольких типографиях)) о типографиях (адрес, количество печатаемых экземпляров газет каждого наименования (в типографии могут печатать несколько газет)) о почтовых отделениях (адрес, номер, количество экземпляров газет каждого наименования, поступающих в отделение).

· База данных для сотрудников ГАИ должна обеспечивать хранение сведений о водителях (номер водительского удостоверения, ФИО, адрес), принадлежащих им автомобилям (регистрационный номер, марка, цвет, год выпуска), нарушениях ПДД (код нарушения, наименование нарушения, мера пресечения) и данные об обстоятельствах совершенных нарушений (дата, время, место, погодные условия).

· База данных предназначена для использования сотрудниками кадровых агентств. Необходимо обеспечить хранение следующих сведений о сотрудниках кадровой службы (агентах): шифр агента, ФИО, рабочий телефон, мобильный телефон, e-mail; о каждой из вакансий, которыми располагает агентство, должны хранится ее номер, предлагаемая должность, требуемое образование, специальность, пол претендента, возраст и т.д. О каждом работодателе необходимо иметь следующие сведения: название фирмы (организации, предприятия), адрес, телефон, ФИО контактного лица.

· База данных предназначена для продюсера музыкальных групп. Необходимо обеспечить хранение сведений о группах (название, страна, год образования, количество исполнителей и музыкантов), о музыкантах и исполнителях (ФИО, адрес, год рождения), о репертуаре группы (название песен, ФИО автора текса, ФИО композитора), о последних гастролях (название гастрольной программы, дата начала и дата окончания) и местах проведения концертов (город, место проведения, средняя цена билета, количество билетов).

· База данных предназначена для сотрудников страховой компании. Необходимо обеспечить хранение следующих сведений: о каждом страховом агенте должны быть известны его шифр, ФИО, рабочий телефон, мобильный телефон; сведения о видах страхования обязательно должны включать тип страхования, минимальный и максимальный сроки действия; О клиенте в БД должны заноситься следующие данные: ФИО, паспортные данные, дата рождения, род деятельности; по каждому заключенному полису страхования БД должна располагать сведениями о его типе, серии, номере, дате заключения, дате окончания срока действия страховки, кроме того, для каждого полиса должна предоставляться возможность хранения информации, зависящей от типа страховки.

· База данных предназначена для почтовых работников. Необходимо обеспечить хранение сведений о подписчиках газет данного почтового отделения. К обязательным данным о подписчиках относятся: ФИО, домашний адрес, дата оформления подписки, срок действия подписки. Каждое издание, на которое оформляется подписка, характеризуется подписным индексом, названием и подписной ценой. За каждым почтальоном почтового отделения закрепляется свой участок (возможно несколько участков), включающий в себя несколько близлежащих домов. База данных также должна содержать служебную информацию о почтальонах отделения и данные о принадлежности подписчиков к участкам.

· База данных предназначена для использования сотрудниками агентств недвижимости. Необходимо обеспечить хранение сведений о штатных и внештатных агентах (шифр агента, ФИО, рабочий телефон, домашний телефон, мобильный телефон, домашний адрес), о совершенных сделках с недвижимостью (дата заключения, ФИО клиента, номер паспорта клиента), сведений об объектах недвижимости (тип объекта, город, район, улица, общая площадь, полезная площадь, количество комнат, цена, дополнительная информация). Кроме этого, база данных должна содержать сведения о том, какие операции с недвижимостью вправе осуществлять агентство (название операции, дата получения лицензии, дата окончания лицензии).

· База данных предназначена для использования сотрудниками Городской Управляющей организации. БД должна обеспечивать хранение сведений о собственниках жилья в многоквартирных домах (ФИО владельца лицевого счета на квартиру, номер паспорта, количество собственников, номер квартиры, номер договора управления), о праве собственности (номер свидетельства о государственной регистрации права собственности, номер договора на передачу квартиры в собственность), сведения о собственности (номер дома, номер квартиры, общая площадь, жилая площадь, количество комнат), о договоре управления (номер договора, дата заключения, размер тарифов (отопление, горячая и холодная вода, электроэнергия, газ, содержание жилого фонда, сточные воды, вывоз бытовых отходов, обслуживание лифтов и т.д.).

· База данных предназначена для использования работниками приемной комиссии университета. БД должна обеспечивать хранение следующей информации о каждом абитуриенте: личные данные абитуриента (ФИО, дата рождения, адрес, школа), номер экзаменационного листа, информация о кафедре и факультете, номер группы и потока сдачи экзаменов, экзаменационные оценки, даты консультаций и экзаменов по предметам для каждого потока.