Разработать ER-диаграмму, а затем, пользуясь средствами СУБД Microsoft Access, создать базу данных для информационной системы интернет-провайдера, организующего низкоскоростные модемные подключения через модемный пул. Обслуживание клиентов производится по карточкам, в системе не предусмотрено заключение постоянных договоров и подключения клиентов по выделенным линиям. В системе должно быть предусмотрено хранение следующей информации:
1. Список изготовленных карточек, которые распространяются через газетные киоски. Для каждой карточки необходимо хранить тариф, случайно сгенерированные имя пользователя и пароль, максимальную дату, до которой следует активизировать карту, и текущее состояние счета по данной карте. Тариф характеризуется названием, интервалом времени суток, когда возможно подключение по карте, стоимостью минуты подключения и начальным количеством денег на счете.
2. Информацию о модемном пуле. Для каждого модема должен быть известен его инвентарный номер и тип, для каждого типа модема известны фирма-изготовитель и максимальная скорость передачи данных.
|
|
3. Журнал работы, содержащий информацию о том, когда происходили подключения и отключения, по какой карте, к какому модему и какой IP-адрес был выделен для данного соединения.
База данных должна содержать следующие ограничения целостности:
1. Количество оставшегося времени на счете карты не может быть отрицательным.
2. Если при подключении был указан логин test, внешний IP-адрес не выделяется.
Лабораторная работа №2
В рамках работы необходимо:
Реализовать ER-диаграмму, разработанную в первой лабораторной работе, в среде Power Designer.
3. На основе созданной ER-диаграммы сгенерировать физическую модель базы данных.
4. Убедиться, что полученная физическая модель соответствует схеме данных БД Microsoft Access из первой лабораторной работы.
Лабораторная работа №3
В рамках работы необходимо:
Пользуясь разработанной в предыдущей работе физической моделью БД сгенерировать скрипт создания таблиц базы данных на языке SQL в стандарте SQL 92. В таблицах должны генерироваться первичные ключи и связи, а также содержаться проверки (CHECK CONSTRAINTS) аналогичные проверкам из первой лабораторной работы.
Дополнительно необходимо хранить информацию о количестве трафика, потребляемого пользователем в течение каждой минуты. Необходимые колонки/таблицы нужно разработать и добавить в скрипт вручную, не пользуясь возможностями Power Designer.
Внести необходимые исправления для успешного выполнения скрипта в СУБД SQLite.
Добавить в полученный скрипт команды INSERT для заполнения таблиц примером данных.
|
|
Сгенерировать таблицы, заполненные тестовыми значениями.
Лабораторная работа №4
Необходимо разработать следующие представления (view):
Пользователи, подключенные в настоящее время, которые исчерпали лимит своей карты, и которых необходимо срочно отключить.
5. Три тарифа, пользующиеся наибольшей популярностью.
6. Модемы в модемном пуле, с которыми ни разу за последнюю неделю никто не смог установить соединение.
А также реализовать следующие запросы на модификацию данных:
Отметить в журнале подключений, что с пользователем user33452 только что было разорвано соединение.
7. Удалить информацию о картах, для которых или закончились деньги на счете, или срок действия вышел, а карта так и не была активизирована.
Лабораторная работа №5
Используя триггеры, обеспечить поддержку целостности данных в ранее разработанной базе. Необходимо реализовать не менее двух триггеров, аналогичных внешним ключам, а также следующие триггеры:
Триггер, не позволяющий произвести подключение по карте, на счете которой не осталось денег.
8. Триггер, который при отключении пользователя автоматически обновляет его баланс.
Вариант 11
Лабораторная работа №1
Разработать ER-диаграмму, а затем, пользуясь средствами СУБД Microsoft Access, создать базу данных для агентства, занимающейся трудоустройством.
Клиентами фирмы являются фирмы, размещающие вакансии, и соискатели, размещающие свои резюме. Для размещения вакансии фирма должна внести оплату, а резюме размещаются бесплатно. Любой желающий может просматривать имеющиеся вакансии и резюме, но вакансия не содержит контактной информации, а контактная информация в резюме является скрытой, и для ее просмотра требуется оплата. У каждой фирмы, работающей с агентством, имеется счет, с которого автоматически снимается определенная сумма при размещении вакансии или при просмотре резюме.
Вакансия и резюме могут содержать следующую информацию: ФИО, пол и возраст кандидата, должность, оклад, опыт работы (сколько лет), занятость (полная/неполная), и т.д. Такие поля, как возраст и опыт работы в вакансии можно задавать в виде интервала (от… до…). Оклад в резюме также можно задавать в виде интервала. Не все поля являются обязательными для заполнения. После того, как соискатель подал резюме, сотрудники агентства оценивают полноту предоставленной информации и присваивают резюме рейтинг. Резюме написанное более чем неделю назад считается устаревшим.
База данных должна содержать следующие ограничения целостности:
1. Рейтинг резюме (если он задан) должен быть целым числом от 1 до 5.
2. Для тех полей, которые задаются интервалом от… до…, первое значение не может быть больше второго (т.е. от 5000 до 8000 р. допускается, а от 8000 до 5000 р. — нет)
Лабораторная работа №2
В рамках работы необходимо:
Реализовать ER-диаграмму, разработанную в первой лабораторной работе, в среде Power Designer.
3. На основе созданной ER-диаграммы сгенерировать физическую модель базы данных.
4. Убедиться, что полученная физическая модель соответствует схеме данных БД Microsoft Access из первой лабораторной работы.