Летопись острова Санта-Белинда
ВАРИАНТЫ ЗАДАНИЙ НА КУРСОВОЕ ПРОЕКТИРОВАНИЕ
Список тем
1. БД "Деканат"
2. БД "Отдел кадров" (института)
3. БД "Плановый отдел"
4. БД "Кафедра"
5. БД "Библиотека"
6. БД "Больница"
7. БД "Магазин" (выбрать конкретный профиль)
8. БД "Поликлиника"
9. БД адвоката
10. БД по недвижимости
11. БД "Гостиница"
12. БД "Продажа билетов"
13. БД "Спортивный клуб"
14. Летопись острова Санта-Белинда
15. БД «Скачки»
16. БД «Хроника восхождений» в альпинистском клубе
17. БД «Городская Дума»
18. БД рыболовной фирмы
19. БД фирмы, проводящей аукционы
20. БД музыкального магазина
21. БД кегельной лиги
22. БД для учета аудиторного фонда университета
23. БД для обслуживания работы конференции
24. БД для обслуживания склада
25. БД фирмы
26. БД по прокату автомобилей.
27. БД по регистрации жителей города.
28. БД кинофильмов.
29. БД музыкальных произведений.
Дополнительные темы:
1. СУБД.
2. Мобильных телефонов.
3. Internet-провайдеров.
4. Автомобилей.
5. Обучающих систем.
6. Садовых растений.
7. Лекарственных препаратов.
8. Продуктов питания.
9. Компьютеров.
10. Систем искусственного интеллекта.
11. Систем поддержки принятия решений.
12. Самолетов (вертолетов).
13. Видов спорта.
ЧАСТЬ I
1. БД "Деканат"
Задача - информационная поддержка деятельности деканата вуза:
• ведение расписания сессии, хранение результатов сессии;
• составление зачётных и экзаменационных ведомостей;
• проверка корректности расписания экзаменов (уникальность комбинации "время - дата - аудитория"; между экзаменами в одной группе должно пройти не менее трёх дней);
• составление расписаний экзаменов по группам, кафедрам, для отдельных преподавателей;
• подсчёт по результатам зачётов и экзаменов итоговых значений (количество оценок '5', '4', '3', '2', количество неявок, средний балл по группе);
• получение списка экзаменов на текущую дату.
2. БД "Отдел кадров" (института)
Задача - информационная поддержка деятельности отдела кадров.
Различают три группы сотрудников: а) администрация; б) преподавательский и инженерно-технический состав (по кафедрам); в) технический персонал. БД должна содержать штатное расписание по отделам (кафедрам) с указанием количества ставок по должностям, включать архив сотрудников и учитывать сотрудников, находящихся в отпуске по уходу за ребенком.
БД должна предоставлять возможность составления должностных (штатных) расписаний по кафедрам и отделам и следующих списков:
• вакансий (с учётом сотрудников, находящихся в отпуске по уходу за ребёнком, т.е. с указанием даты, до которой ставка свободна),
• пенсионеров;
• людей предпенсионного возраста (не более 2-х лет до пенсии);
• бездетных сотрудников;
• юбиляров текущего года;
• многодетных сотрудников (трое и более детей);
• ветеранов (работающих в институте не менее тридцати лет);
• сотрудников, работающих более чем на одной ставке.
3. БД "Плановый отдел"
Задача - информационная поддержка деятельности планового отдела (выбрать конкретное производство). БД должна осуществлять:
• ведение плановой документации по основному и вспомогательному производствам (план и факт);
• составление заказов на поставку сырья и комплектующих (в соответствии с планом выпуска продукции);
• составление планов работы вспомогательных производств для обеспечения потребностей основного производства;
• подсчёт энергозатрат;
• определение соответствия результатов работы плану (в процентах)
4. БД "Кафедра"
Задача - информационная поддержка учебного процесса и организационной деятельности на кафедре вуза. БД должна содержать учебный план, расписание занятий, списки групп, выпускаемых кафедрой, и списки аспирантов (с руководителями и темами исследований). БД должна обеспечивать составление:
• расписания занятий на семестр (по группам);
• учебного плана (по семестрам) для каждого курса;
• расписания занятий для преподавателей;
• списка телефонов сотрудников;
• нагрузки по часам для преподавателей;
• списка научных кадров по научным направлениям;
• списков студентов-дипломников (по группам и по преподавателям).
5. БД "Библиотека"
Задача - информационная поддержка деятельности научно-технической библиотеки. БД должна включать два раздела: "Научная литература" и "Журнальные публикации". БД должна обеспечивать:
• ведение автоматизированного учёта выдачи/приёма литературы;
• ведение очередей на литературу (по заказам);
• учёт рейтинга изданий (количество читателей и дата последней выдачи);
• поиск литературы по требуемым разделу, теме, автору, ключевому слову (с заданием интересующего периода);
• составление списков должников по годам.
6. БД "Больница"
Задача - информационная поддержка деятельности регистратуры больницы. БД должна осуществлять:
• учёт поступления пациентов (по отделениям);
• учёт проведённого лечения:
• учёт платных услуг с выдачей счетов на оплату;
• ведение архива выписанных пациентов.
Необходимо предусмотреть определение (по отделениям):
• пропускной способности больницы;
• среднего времени пребывания больных в стационаре;
• наличия свободных мест в палатах (отдельно для мужчин и для женщин);
• количества прооперированных пациентов (из них - с осложнениями и умерших);
• смертности.
7. БД "Магазин" (выбрать конкретный профиль)
Задача - информационная поддержка деятельности магазина выбранного профиля. БД должна осуществлять:
• учёт поставщиков и поставок,
• учёт продаж по отделам;
• подсчёт остатков товаров (по отделам);
• оформление заказов на товары, запасы которых подходят к концу;
• подведение финансовых итогов дня (по отделам и в целом по магазину);
• анализ результативности работы продавцов (для премирования);
• анализ объёмов продаж по дням недели и по месяцам.
8. БД "Поликлиника"
Задача - информационная поддержка деятельности поликлиники. БД должна осуществлять:
• ведение медицинских карт пациентов;
• учёт рецептов, направлений на анализы, процедур;
• учёт платных услуг с выдачей счёта на оплату;
• ведение очередей на приём к специалистам по направлениям лечащих врачей.
Необходимо предусмотреть:
• определение посещаемости отдельных кабинетов (нагрузки врачей);
• подсчёт количества заболевших за день для определения наступления эпидемии.
БД адвоката
Задача - информационная поддержка деятельности адвокатской конторы. БД должна осуществлять:
• ведение списка адвокатов;
• ведение списка клиентов;
• ведение архива законченных дел.
Необходимо предусмотреть:
· получение списка текущих клиентов для конкретного адвоката;
· определение эффективности защиты (максимальный срок минус полученный срок) с учётом оправданий, условных сроков и штрафов;
· определение неэффективности защиты (полученный срок минус минимальный срок);
· подсчёт суммы гонораров (по отдельных делам) в текущем году;
· получение для конкретного адвоката списка текущих клиентов, которых он защищал ранее (из архива, с указанием полученных сроков и статей).
БД по недвижимости
Задача - информационная поддержка деятельности фирмы, занимающейся продажей и арендой жилых и нежилых помещений. БД должна:
• осуществлять ведение списков жилых и нежилых помещений, предназначенных для аренды и/или продажи;
• поддерживать архив проданных и сданных в аренду помещений;
• производить поиск вариантов в соответствии с требованиями клиента.
Необходимо предусмотреть получение разнообразной статистики:
• наличие помещений разных типов;
• изменение цен на рынке;
• уровни спроса и предложения;
• средние показатели (среднее время нахождения помещения в БД (по типам помещений), среднюю стоимость аренды/продажи помещений и т.п.
11. БД "Гостиница"
Задача - информационная поддержка деятельности гостиницы. БД должна осуществлять:
• ведение списка постояльцев;
• учёт забронированных мест;
• ведение архива выбывших постояльцев за последний год.
Необходимо предусмотреть:
• получение списка свободных номеров (по количеству мест и классу);
• получение списка номеров (мест), освобождающихся сегодня и завтра;
• выдачу информации по конкретному номеру;
• автоматизацию выдачи счетов на оплату номера и услуг;
• получение списка забронированных номеров;
• проверку наличия брони по имени клиента и/или названию организации.
12. БД "Продажа билетов"
Задача - информационная поддержка деятельности транспортных касс (выбрать вид транспорта). БД должна осуществлять:
• ведение списка рейсов и билетов на них с указанием класса;
• учёт забронированных мест;
• ведение архива пассажиров за последний месяц.
Необходимо предусмотреть:
• продажу билетов в оба конца;
• поиск места на рейс в соответствии с требованиями заказчика;
• получение списка свободных мест на рейс;
• выдачу информации по конкретному рейсу;
• получение списка проданных мест;
• проверку наличия брони по имени клиента и/или названию организации.
13. БД "Спортивный клуб"
Задача - информационная поддержка деятельности спортивного клуба. БД должна осуществлять:
• ведение списков спортсменов и тренеров;
• учёт проводимых соревнований (с ведением их архива);
• учёт травм, полученных спортсменами.
Необходимо предусмотреть:
• возможность перехода спортсмена от одного тренера к другому;
• составление рейтингов спортсменов;
• составление рейтингов тренеров;
• выдачу информации по соревнованиям;
• выдачу информации по конкретному спортсмену;
• подбор возможных кандидатур на участие в соревнованиях (соответствующего уровня мастерства, возраста и без травм).
ЧАСТЬ II
Летопись острова Санта-Белинда
Где-то в великом океане находится воображаемый остров Санта-Белинда. Вот уже триста лет ведется подробная летопись острова. В эту летопись заносятся и данные обо всех людях, какое-то время проживавших на острове. Записываются их имена, пол, даты рождения и смерти. Хранятся там и имена их родителей, если известно, кто они. У некоторых отсутствуют сведения об отце, у некоторых — о матери, а часть людей, судя по записям, — круглые сироты. Из летописи можно узнать, когда был построен каждый дом, стоящий на острове (а если сейчас его уже нет, то когда он был снесен), точный адрес и подробный план этого дома, кто и когда в нем жил.
Точно так же, как и столетия назад, на острове действуют предприниматели, занимающиеся, в частности, ловлей рыбы, заготовкой сахарного тростника и выращиванием табака. Большинство из них занимается своим промыслом самостоятельно, а некоторые нанимают работников, заключая с ними контракты разной продолжительности. Имеются записи и о том, кто кого нанимал, на какую работу, когда начался и закончился контракт. Собственно, круг занятий жителей острова крайне невелик и не меняется веками. Неудивительно поэтому, что в летописи подробно описывается каждое дело, будь то рыбная ловля или выпечка хлеба. Все предприниматели — уроженцы острова. Некоторые объединяются в кооперативы, и по записям можно установить, кто участвовал в деле, когда вступил и когда вышел из него, каким паем владел. Имеются краткие описания деятельности каждого предпринимателя или кооператива, сообщающие в том числе, когда было начато дело, когда и почему прекращено.
Предлагается сформировать систему нормализованных таблиц, в которых можно было бы хранить всю эту многообразную информацию. Подыщите выразительные имена для таблиц и полей, снабдив их при необходимости соответствующими пояснениями.
15. БД «Скачки»
В информационной системе клуба любителей скачек должна быть представлена информация об участвующих в скачках лошадях (кличка, пол, возраст), их владельцах (имя, адрес, телефон) и жокеях (имя, адрес, возраст, рейтинг). Необходимо сформировать таблицы для хранения информации по каждому состязанию: дата, время и место проведения скачек (ипподром), название состязаний (если таковое имеется), номера заездов, клички участвующих в заездах лошадей и имена жокеев, занятые ими места и показанное в заезде время.
16. БД «Хроника восхождений» в альпинистском клубе
В базе данных должны записываться даты начала и завершения каждого восхождения, имена и адреса участвовавших в нем альпинистов, название и высота горы, страна и район, где эта гора расположена.
Присвойте выразительные имена таблицам и полям для хранения указанной информации. Написать запросы, осуществляющие следующие операции:
1) Для введенного пользователем интервала дат показать список гор с указанием даты последнего восхождения. Для каждой горы сформировать в хронологическом порядке список групп, осуществлявших восхождение.
2) Предоставить возможность добавления новой вершины с указанием ее названия, высоты и страны местоположения.
3) Предоставить возможность изменения данных о вершине, если на нее не было восхождения.
4) Показать список альпинистов, осуществлявших восхождение в указанный интервал дат. Для каждого альпиниста вывести список гор, на которые он осуществлял восхождения в этот период, с указанием названия группы и даты восхождения.
5) Предоставить возможность добавления нового альпиниста в состав указанной группы.
6) Показать информацию о количестве восхождений каждого альпиниста на каждую гору. При выводе список отсортировать по количеству восхождений.
7) Показать список восхождений (групп), которые осуществлялись в указанный пользователем период времени. Для каждой группы показать ее состав.
8) Предоставить возможность добавления новой группы, указав ее название, вершину, время начала восхождения.
9) Предоставить информацию о том, сколько альпинистов побывало на каждой горе. Список отсортировать в алфавитном порядке по названию вершин.
17. БД «Городская Дума»
В базе хранятся имена, адреса, домашние и служебные телефоны всех членов Думы. В Думе работает порядка сорока комиссий, все участники которых являются членами Думы. Каждая комиссия имеет свой профиль, например, вопросы образования, проблемы, связанные с жильем, и так далее. Данные по каждой из комиссий включают: председатель и состав, прежние (за 10 предыдущих лет) председатели и члены этой комиссии, даты включения и выхода из состава комиссии, избрания ее председателей. Члены Думы могут заседать в нескольких комиссиях. В базу заносятся время и место проведения каждого заседания комиссии с указанием депутатов и служащих Думы, которые участвуют в его организации.
1) Показать список комиссий, для каждой — ее состав и председателя.
2) Предоставить возможность добавления нового члена комиссии. Для введенного пользователем интервала дат и названия комиссии показать в хронологическом порядке всех ее председателей.
3) Показать список членов Думы, для каждого из них — список комиссий, в которых он участвовал и/или был председателем.
4) Предоставить возможность добавления новой комиссии с указанием ее председателя.
5) Для указанного интервала дат и комиссии выдать список членов с указанием количества пропущенных заседаний.
6) Вывести список заседаний в указанный интервал в хронологическом порядке, для каждого заседания — список присутствующих.
7) Предоставить возможность добавления нового заседания с указанием присутствующих.
8) По каждой комиссии показать количество проведенных заседаний в указанный период времени.
БД рыболовной фирмы
Фирме принадлежит небольшая флотилия рыболовных катеров. Каждый катер имеет «паспорт», куда занесены его название, тип, водоизмещение и дата постройки. Фирма регистрирует каждый выход на лов, записывая название катера, имена и адреса членов команды с указанием их должностей (капитан, боцман и т.д.), даты выхода и возвращения, а также вес пойманной рыбы отдельно по сортам (например, трески). За время одного рейса катер может посетить несколько рыболовных мест (банок). Фиксируется дата прихода на каждую банку и дата отплытия, качество выловленной рыбы (отличное, хорошее, плохое). На борту улов не взвешивается. Написать запросы, осуществляющие следующие операции:
1) По указанному типу и интервалу дат вывести все катера, осуществлявшие выход в море, указав для каждого в хронологическом порядке записи о выходе в море и вес улова.
2) Предоставить возможность добавления выхода катера в море с указанием команды.
3) Для указанного интервала дат вывести для каждого сорта рыбы список катеров с наибольшим уловом.
4) Для указанного интервала дат вывести список банок с указанием среднего улова за этот период. Для каждой банки вывести список катеров, осуществлявших лов.
5) Предоставить возможность добавления новой банки с указанием данных о ней.
6) Для заданной банки вывести список катеров, которые получили улов выше среднего.
7) Вывести список сортов рыбы и для каждого сорта — список рейсов с указанием даты выхода и возвращения, величины улова. При этом список показанных рейсов должен быть ограничен интервалом дат.
8) Для выбранного пользователем рейса и банки добавить данные о сорте и количестве пойманной рыбы.
9) Предоставить возможность пользователю изменять характеристики выбранного катера.
10) Для указанного интервала дат вывести в хронологическом порядке список рейсов за этот период времени с указанием для каждого рейса веса пойманной рыбы.
11) Предоставить возможность добавления нового катера.
12) Для указанного сорта рыбы и банки вывести список рейсов с указанием количества пойманной рыбы.
Список должен быть отсортирован в порядке уменьшения количества.