Базы данных и управление ими




Курсовая работа № 2

по дисциплине

 

«Базы данных и управление ими»

 

(для студентов очной формы обучения)

 

Специальность 050501 – Профессиональное обучение (информатика, вычислительная техника и компьютерные технологии)

Специализация Компьютерные технологии

 

Екатеринбург, 2008

Правила выполнения

 

Контрольная работа рассчитана на выполнение без компьютера на основе изучения теоретических материалов по конспектам и литературе. Возможно выполнение работы с использованием пакета BPWin.

Контрольная работа может быть оформлена на принтере или рукописным образом. В последнем случае необходимо аккуратное оформление на листах формата А4. Листы курсовой работы должны быть сшиты.

Первый лист курсовой работы – титульный. Вариант оформления титульного листа дан в приложении.

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

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

В отчет по курсовой работе должны быть включены:

‑ текст задания;

‑ схемы отношений (таблиц);

‑ для каждого поля – тип данных и требования по обеспечению целостности (спецификация по требованиям команды Create), а также расшифровка физического смысла;

‑ информационная модель («сущность – связь»);

‑ пример заполненной базы данных;

– запросы, перечисленные в задании, на основе предложенной реляционной модели.

- Название ролей и описание их прав доступа к таблицам,

Таблицы должны соответствовать не менее чем третьей нормальной форме. Обучаемый должен уметь изложить требования, предъявляемые к первым трем нормальным формам, и продемонстрировать на практике приведение отношения к первой-третьей нормальной форме.

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

Выполнение курсовой работы по дисциплине является критерием допуска студента к сдаче экзамена. Невыполнение курсовой работы в срок автоматически влечет за собой недопуск к экзамену по дисциплине.

 

 

Содержание курсовой работы

 

1. Определите все поля во всех таблицах, которые должны содержаться для решения поставленных задач (генеральная совокупность полей).

2. Определите сущности (объекты).

3. Распределите генеральную совокупность полей по сущностям (объектам).

4. Проверьте выполнение требований нормализации (первой – третьей нормальных форм).

5. Заполните отношения базы данных необходимым количеством записей. Примеры заполнения должны соответствовать реальной ситуации задачи.

6. При обнаружении повторов данных в таблицах проанализируйте возможность нормализации полученных отношений и повторите действия, начиная с п.4.

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

8. Заполните спроектированную базу данных достаточным количеством записей.

9. Определите спецификации для всех полей (тип данных, значение по умолчанию, допустимость неопределенного значения, …).

10. Составьте на языке SQL запросы, приведенные в заданиях.

 

 

Варианты заданий курсовой работы

 

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

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

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

При решении задач предполагается использование средств, позволяющих разрабатывать схемы баз данных, и приложений, работающих с базами данных (Power Designer, Oracle Developer, ERWin, Power Builder, Borland Delphi, C++ Builder и др.).

 

 

Задача 1. Летопись острова Скалистый

 

Где-то далеко в море находится воображаемый остров Скалистый. Вот уже много лет ведется подробная летопись острова. В эту летопись заносятся данные обо всех людях, какое-то время проживавших на острове. Записываются их имена, пол, даты рождения и смерти. Хранятся там и имена их родителей, если известно, кто они. У некоторых отсутствуют сведения об отце, у некоторых — о матери, а часть людей, судя по записям, — круглые сироты. Из летописи можно узнать, когда был построен каждый дом, стоящий на острове (а если сейчас его уже нет, то когда он был снесен), точный адрес и подробный план этого дома, кто и когда в нем жил.

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

Составить тексты запросов, определяющих:

1) Среднюю продолжительность жизни мужчин и женщин на острове.

2) Динамику изменения количества жителей острова за последние 200 лет.

3) Количество жителей острова, у которых нет сведений о родителях.

4) Список всех предпринимателей, нанимавших себе работников.

5) Количество предпринимателей-картофелеводов, нанимавших более 3-х человек (для каждого года, когда такие работники нанимались).

 

 

Задача 2. База данных «Скачки»

 

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

Составить тексты запросов, определяющих:

1) Жокеев-победителей всех соревнований во всех видах состязаний.

2) Жокея, имеющего наименьшую сумму мест по всем соревнованиям.

3) Жокеев, имеющего наименьшую сумму мест по каждому месту проведения соревнований.

4) Самую быструю лошадь – ту, которая имеет наименьшую удельную сумму мест (сумму мест, отнесенную к количеству соревнований).

5) Жокея, который сменил наибольшее количество лошадей в соревнованиях.

 

 

Задача 3. База данных «Хроника восхождений» в альпинистском клубе

 

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

Написать запросы, осуществляющие следующие операции:

1) Для введенного пользователем интервала дат показать список гор с указанием даты последнего восхождения. Для каждой горы сформировать в хронологическом порядке список групп, осуществлявших восхождение.

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

3) Предоставить возможность добавления нового альпиниста в состав указанной группы.

4) Показать информацию о количестве восхождений каждого альпиниста на каждую гору. При выводе список отсортировать по количеству восхождений.

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

6) Предоставить информацию о том, сколько альпинистов побывало на каждой горе. Список отсортировать в алфавитном порядке по названию вершин.

7) Определить, сколько раз ежегодно (за последние 5 лет) использовалось снаряжение различных фирм.

 

 

Задача 4. База данных медицинского центра

 

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

Составить тексты запросов, определяющих:

1) Вывести фамилии и инициалы пациентов, имеющих не менее трех сходных симптомов болезни, а также предполагаемые диагнозы.

2) Вывести фамилии и инициалы пациентов, принятых в указанный диапазон дат каждым врачом центра.

3) Вывести количество пациентов, принятых каждым врачом центра на дому.

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

5) Вывести все виды диагнозов, поставленных врачами центра по любым двум симптомам (по выбору обучаемого).

Задача 5. База данных «Городская Дума»

 

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

Составить следующие запросы, с помощью которых можно:

1) Показать список комиссий, для каждой — ее состав и председателя.

2) Предоставить возможность добавления нового члена комиссии.

3) Для введенного пользователем интервала дат и названия комиссии показать в хронологическом порядке всех ее председателей.

4) Показать список членов Думы, для каждого из них — список комиссий, в которых он участвовал и/или был председателем.

5) Предоставить возможность добавления новой комиссии с указанием ее председателя.

6) Для указанного интервала дат и комиссии выдать список членов с указанием количества пропущенных заседаний.

7) Вывести список заседаний в указанный интервал в хронологическом порядке, для каждого заседания — список присутствующих.

8) По каждой комиссии показать количество проведенных заседаний в указанный период времени.

 

 

Задача 6. База данных рыболовной фирмы

 

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

Написать запросы, осуществляющие следующие операции:

1) По указанному типу и интервалу дат вывести все катера, осуществлявшие выход в море, указав для каждого в хронологическом порядке записи о выходе в море и вес улова.

2) Предоставить возможность добавления выхода катера в море с указанием команды.

3) Для указанного интервала дат вывести для каждого сорта рыбы список катеров с наибольшим уловом.

4) Для указанного интервала дат вывести список банок с указанием среднего улова за этот период. Для каждой банки вывести список катеров, осуществлявших лов.

5) Предоставить возможность добавления новой банки с указанием данных о ней.

6) Для заданной банки вывести список катеров, которые получили улов выше среднего.

7) Вывести список сортов рыбы и для каждого сорта — список рейсов с указанием даты выхода и возвращения, величины улова. При этом список показанных рейсов должен быть ограничен интервалом дат. S'

8) Для выбранного пользователем рейса и банки добавить данные о сорте и количестве пойманной рыбы.

9) Предоставить возможность пользователю изменять характеристики выбранного катера.

10) Для указанного интервала дат вывести в хронологическом порядке список рейсов за этот период времени с указанием для каждого рейса веса пойманной рыбы.

11) Предоставить возможность добавления нового катера.

12) Для указанного сорта рыбы и банки вывести список рейсов с указанием количества пойманной рыбы. Список должен быть отсортирован в порядке уменьшения количества.

 

 

Задача 7. База данных фирмы, проводящей аукционы

 

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

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

Написать запросы, осуществляющие следующие операции:

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

2) Добавить для продажи на указанный пользователем аукцион предмет искусства с указанием начальной цены.

3) Вывести список аукционов с указанием отсортированных по величине суммарных доходов от продажи.

4) Для указанного интервала дат вывести список проданных на аукционах предметов. Для каждого из предметов дать список аукционов, где выставлялся этот же предмет.

5) Предоставить возможность добавления факта продажи на указанном аукционе заданного предмета.

6) Для указанного интервала дат вывести список продавцов в порядке убывания общей суммы, полученной ими от продажи предметов в этот промежуток времени.

7) Вывести список покупателей и для каждого из них — список аукционов, где были сделаны приобретения в указанный интервал дат.

8) Предоставить возможность добавления записи о проводимом аукционе (место, время).

9) Для указанного места вывести список аукционов, отсортированных по количеству выставленных вещей.

10) Для указанного интервала дат вывести список продавцов, которые принимали участие в аукционах, с указанием для каждого из них списка выставленных предметов.

11) Предоставить возможность добавления и изменения информации о продавцах и покупателях.

12) Вывести список покупателей с указанием количества приобретенных предметов в указанный период времени.

 

 

Задача 8. База данных музыкального магазина

 

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

Кроме того, в базе данных хранится информация о компакт-дисках, которыми торгует магазин. Каждый компакт-диск, а точнее, его наклейка, идентифицируется отдельным номером, так что всем его копиям, созданным в разное время, присвоены одинаковые номера. На компакт-диске может быть записано несколько вариантов исполнения одного и того же произведения — для каждого из них в базе заведена отдельная запись. Когда выходит новый компакт-диск, регистрируется название выпустившей его компании (например, EMI), а также адрес оптовой фирмы, у которой магазин может приобрести этот компакт-диск. Не исключено, что компания-производитель занимается и оптовой продажей компакт-дисков. Магазин фиксирует текущие оптовые и розничные цены на каждый компакт-диск, дату его выпуска, количество экземпляров, проданных за прошлый год и в нынешнем году, а также число еще не проданных компакт-дисков.

Написать запросы, осуществляющие следующие операции:

1) Для всех компакт-дисков вывести разницу между оптовой и розничной ценами на конкретную дату.

2) Для указанного интервала дат показать список проданных компакт-дисков и количество для каждого диска.

3) Для каждого произведения указать количество вариантов исполнения.

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

5) Привести фамилии всех музыкантов, играющих на определенном инструменте.

6) Определить ансамбль, имеющий наибольшее количество компакт-дисков.

 

 

Задача 9. База данных кегельной лиги

 

Спроектировать базу данных для секретаря кегельной лиги небольшого городка, расположенного на Среднем Западе США, для хранения информации о кегельной лиге и формирования еженедельных отчетов о состоянии лиги. Специальный отчет предполагается формировать в конце сезона.

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

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

Секретарь планирует включать в еженедельные отчеты информацию об общем числе набранных очков и общем числе проведенных игр каждым игроком, эта информация используется при вычислении их текущей результативности и текущего гандикапа. Используемый в лиге гандикап составляет 75% от разности между 200 и результативностью игрока, при этом отрицательный гандикап не допускается. Если результатом вычисления гандикапа является дробная величина, то она усекается. Перерасчет гандикапа осуществляется каждую неделю.

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

Наконец, в БД должна содержаться вся информация, необходимая для расчета положения команд. Команде засчитывается одна победа за каждую игру, в которой ей удалось набрать больше очков (выбить больше кеглей) (с учетом гандикапа), чем команде соперников. Точно так же команде засчитывается одно поражение за каждую встречу, в которой эта команда выбила меньшее количество кеглей, чем команда соперников. Команде также засчитывается одна победа (поражение) в случае, если по сравнению с командой соперников ею набрано больше (меньше) очков за три встречи, состоявшиеся на неделе. Таким образом, на каждой неделе разыгрывается 4 командных очка (побед или поражений). В случае ничейного результата каждая команда получает 1/2 победы и 1/2 поражения. В случае неявки более чем двух членов команды их команде автоматически засчитывается 4 поражения, а команде соперников — 4 победы. В общий результат команде, которой засчитана неявка, очки не прибавляются, даже если явившиеся игроки в этой встрече выступили, однако в индивидуальные показатели — число набранных очков и проведенных встреч — будут внесены соответствующие изменения. Написать запросы, осуществляющие следующие операции:

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

2) Предоставить возможность добавления новой команды.

3) Вывести список игровых площадок с указанием количества проведенных игр на каждой их них.

4) Для указанного интервала дат вывести список игровых площадок с указанием списка игравших на них команд.

5) Предоставить возможность заполнения результатов игры двух команд на указанной площадке.

6) Вывести список площадок с указанием суммарной результативности игроков на каждой из них.

 

 

Задача 10. База данных библиотеки

 

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

Написать запросы, осуществляющие следующие операции:

1) Определить общее количество экземпляров для всех книг библиотеки с учетом филиалов.

2) Определить количество книг, полученных всеми студентами указанного факультета.

3) Определить наиболее востребованную книгу библиотеки.

4) Определить общее количество книг, взятое студентами разных факультетов.

5) Определить стоимость всех книг, используемых в учебном процессе конкретного факультета.

 

 

Задача 11. База данных по учету успеваемости студентов

 

База данных должна содержать сведения:

 

•о контингенте студентов — фамилия, имя, отчество, год поступления, форма обучения (дневная/вечерняя/заочная), номер или название группы;

о структуре каждого факультета – названия кафедр, специальностей для каждой кафедры, список групп;

•об учебном плане — название специальности, дисциплина, семестр, количество отводимых на дисциплину часов, форма отчетности (экзамен/зачет);

•о журнале успеваемости студентов — год/семестр, студент, дисциплина, оценка.

Написать запросы, осуществляющие следующие операции:

1) Вывести списки студентов всех групп дневной формы обучения.

2) Вывести номера всех групп второго курса.

3) Вывести список всех дисциплин для студентов 4 курса одной конкретной специальности.

4) Вывести список всех дисциплин, имеющих экзамен в весенней сессии 3-го курса для студентов выбранной специальности.

5) Вывести список всех студентов, имеющих отличные оценки и не более одной оценки «хорошо».

6) Вывести список студентов, имеющих 2 и более оценки «неуд».

 

 

Задача 12. База данных для учета аудиторного фонда университета

 

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

Написать запросы, осуществляющие следующие операции:

1) Полагая необходимый метраж на одного студента 2 кв. метра, вывести данные о всех лекционных аудиториях на 3 группы.

2) Вывести упорядоченно данные о всех аудиториях конкретного корпуса.

3) Вывести суммарный метраж всех аудиторий университета, предназначенных для одной академической группы каждая.

4) Определить количество студентов, которых могут вместить все лекционные аудитории одновременно.

5) Определить наименования аудиторий, имеющих наибольший объем для каждого корпуса университета.

 

 

Задача 13. База данных регистрации происшествий

 

Необходимо создать базу данных регистрации происшествий. База должна содержать:

•данные для регистрации сообщений о происшествиях (регистрационный номер сообщения, дата регистрации, краткая фабула (тип происшествия));

•информацию о принятом по происшествию решении (отказано в возбуждении дела, удовлетворено ходатайство о возбуждении уголовного дела с указанием регистрационного номера заведенного дела, отправлено по территориальному признаку);

•информацию о лицах, виновных или подозреваемых в совершении происшествия (регистрационный номер лица, фамилия, имя, отчество, адрес, количество судимостей), отношение конкретных лиц к конкретным происшествиям (виновник, потерпевший, подозреваемый, свидетель).

Написать запросы, осуществляющие следующие операции:

1) Вывести данные о всех происшествиях, по которым принято решение об отказе в возбуждении уголовного дела.

2) Вывести все данные о происшествиях выбранного вида в указанный промежуток времени.

3) Определить все происшествия, в которых в качестве подозреваемого был один и тот же конкретный человек.

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

5) Для данного вида происшествий определить месяц, в котором этих происшествий оказалось менее всего.

 

 

Задача 14. База данных для обслуживания работы конференции

 

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

Написать запросы, осуществляющие следующие операции:

1) Привести список всех участников конференции, имеющих домашний телефон и e‑mail.

2) Привести список всех докладов конференции, посвященных проблемам разоружения.

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

4) Вывести список всех участников, приславших тезисы докладов до даты рассылки второго приглашения.

5) Вывести данные о распределении количества дней проживания для участников конференции, проживавших в гостинице.

 

 

Задача 15. База данных для обслуживания склада

 

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

•информация о «единицах хранения» — номер ордера, дата, код поставщика, балансовый счет, код сопроводительного документа по справочнику документов, номер сопроводительного документа, код материала по справочнику материалов, счет материала, код единицы измерения, количество пришедшего материала, цена единицы измерения;

•информация о хранящихся на складе материалах — справочник материалов — код класса материала, код группы материала, наименование материала;

•информация о единицах измерения конкретных видов материалов — код материала, единица измерения (метры, килограммы, литры и т.д.).

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

Написать запросы, осуществляющие следующие операции:

1) Привести список всех поставщиков данного вида материалов.

2) Вывести данные о всех материалах, хранящихся на складе, и их количестве.

3) Вывести данные о количестве материалов, поступивших в указанный период от различных заказчиков (для различных единиц измерения).

4) Привести данные о поставщиках, поставивших на склад материалы в количестве, превышающем указанную величину.

5) Привести юридические адреса поставщиков материалов, поставивших наибольшее количество материалов по различным единицам измерения.

 

 

Задача 16. База данных фирмы

 

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

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

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

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

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

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

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

Разработайте структуру таблиц базы данных, подберите имена таблиц и полей, в которых могла бы разместиться вся эта информация.

Написать запросы, осуществляющие следующие операции:

1) Для выбранного цеха выдать список выполняемых им операций. Для каждой операции показать список расходных материалов с указанием количества.

2) Показать список инструментов и предоставить возможность добавления нового.

3) Выдать список используемых инструментов, отсортированных по количеству их использования в различных нарядах.

4) Для указанного интервала дат вывести список нарядов в хронологическом порядке, для каждого из которых показать список используемых инструментов.

5) Показать список операций и предоставить возможность добавления новой операции.

6) Выдать список расходуемых материалов, отсортированных по количеству их использования в различных нарядах.

7) Выдать список товаров с указанием используемых при их изготовлении инструментов.

8) Показать список нарядов в хронологическом порядке и предоставить возможность добавления нового.

9) Выдать отчет о производстве товаров различными цехами, указав наименование цеха, название товара и его количество.

 

 

17. База данных по учету кадров университета.

 

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

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

Часть преподавателей работает в только в университете. Другая часть – в



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: