Контрольная работа по КТиБД. ФакультетПриборостроение и техническое регулирование Заочная форма обучения
Скачать 169.12 Kb.
|
Донской государственный технический университет факультет«Приборостроение и техническое регулирование» Заочная форма обучения Студент: Бурылов А.Э. Адрес: burylov.sanya@yandex.ru Группа ПЗСМ11 Шифр 2178234 (номер зачетной книжки) Контрольная работа Компьютерные технологии и базы данных За 1 курс Вариант №4 Содержание контрольной работы Автомобили: - государственный номер; - марка; - информация Водители: - ФИО; - профессия; - принадлежность (т.е. в каком цехе (гараж, бокс) работает); - закрепление (применительно к водителям, за каким автомобилем закреплен). Цеха: - вид транспорта (т.е. транспорт какой категории располагается в данном гараже); Профессии: -названия профессий Работы: -названия ремонтных работ, которые выполняют рабочие Получение авто: -дата получения; Списание авто: -дата списания; Виды перевозок, осуществляемые на этом авто: -дата перевозки; -количество пассажиров; Распределение авто по маршрутам: -дата распределения; -количество; Маршруты: -название маршрута; -длина маршрута. Связь 1 к ∞ реализуется следующим образом: ключ из главной таблицы переносится в вспомогательную таблицу. Связь ∞ к ∞ реализуется следующим способом: создается новая таблица в которую переносятся ключевые поля из связуемых таблиц. В среде Access были созданы 13 таблиц. Далее представлены характеристики и свойства полей данных таблиц: Avto (Kod_Avto, Gosnomer_Avto, Marka_Avto, Inform_Avto, Kod_Vidatransp, Kod_Polychenia, Kod_Spisania) Raspredelenie ( Kod_ Raspredelenia ,Date_ Raspredelenia,Kod_Marsh, Kod_Avto, Kol-vo_Avto) Marshryti (Kod_Marsh, Dina_marsh) Polychenie (Kod_Polychenia, Date_ Polychenia) Perevozki (Kod_Perevozki,kod_Avto, Date_Perevozki, Kol-vo_Passajirov) Spisanie ( Kod_Spisania, Date_Spisania) Remont(Kod_Remont, Date_Remont, Stoimost_Remont,Kod_Avto,Kod_Rabot,Kod_VidaRemont) Vid remonta( Kod_Vidaremonta,Vid_Remonta) Voditeli (Kod_Vodit, Kod Profes, Fam_Vodit, Name_Vodit, Otch_Vodit, Kod_Cheha, Kod_Avto) Professia (Kod_Profes,Nazv_Profes) Cheha(Kod_Cheha, Nazv_Cheha, Kod_ Vidatransp) Rabochie( Kod_Rabot, Nazv_Rabot , kod_Profes, Kod_Cheha) Transport( Kod_Vidattansp, Vid_Transp) Описание хранимых атрибутов
Схема отношения в первой нормальной форме состоит из:34 хранимых атрибутов и в которой ключ не выделен, но допускается его выделение: R(Kod_Avto ,Gonomer_Avto ,Marka_Avto, Inform_Avto, Kod_Raspredelenia , Date_Raspredelenia, Kod_Marsh ,Kol-vo_Avto ,Nazv_Marsh ,Dlina_Marsh ,Kod_Perevozki , Date_Perevozki , Kol-vo_Passajirov , Kod_Polychenia, Date_Polychenia ,Kod_Spisania , Date_Spisania , Kod_Remont ,Date_Remont, Stoimost_Remont , Kod_VidaRemont , Vid_Remont , Kod_Vodit, Fam_Vodit, Name_Vodit ,Otch_Vodit, Kod_Cheha, Nazv_Cheha, Kod_Profes, Nazv_Profes, Kod_Rabot, Nazv_Rabot ,Kod_VidaTransp ,Vid_Transp) Отношение во второй НФ – это отношение в первой НФ, в котором любой реквизит, не входящий в состав ключа, полно зависит от ключа. R1[Kod_Avto#, Gosnomer_Avto, Marka_Avto, Inform_Avto]; R2[Kod_Raspredelenia#, Date_raspredelenia, Kod_Marsh, Nazv_Marsh, Dlina_Marsh]; R3[Kod_Perevozki#, Date_Perevozki, Kol-vo_Passajirov]; R4[Kod_Polychenia#, Date_Polychenia]; R5[Kod_Spisania#, Date_Spisania]; R6[Kod_Remont#, Date_Remont, Stoimost_Remont, Kod_VidaRemont, Vid_Remont]; R7[Kod_Vodit#,Fam_Vodit, Name_Vodit, Otch_Vodit]; R8[Kod_Profes#,Nazv_Profes]. R9[Kod_Cheha#,Nazv_Cheha]. R10[Kod_Rabot#,Nazv_Rabot]. R11[Kod_VidaTransp#,Vid_Transp]. Отношение в третьей НФ – это отношение во второй НФ, в котором любой реквизит, не входящий в состав ключа, не транзитивно зависит от ключа. Avto [Kod_Avto, Gosnomer_Avto, Marka_Avto, Inform_Avto] - автомобили Raspredelenie [Kod_Raspredelenia, Date_raspredelenia, Kod_Marsh, Nazv_Marsh, Dlina_Marsh] – распределение автомобалей Perevozki [Kod_Perevozki, Date_Perevozki, Kol-vo_Passajirov] – осуществляемые перевозки на этих автомобилях Polychenie [Kod_Polychenia, Date_Polychenia] – получение авто Spisanie [Kod_Spisania, Date_Spisania] - списание авто Remont [Kod_Remont, Date_Remont, Stoimost_Remont, Kod_VidaRemont, Vid_Remont] – ремонт авто Voditeli [Kod_Vodit,Fam_Vodit, Name_Vodit, Otch_Vodit] – водители авто Profesii [Kod_Profes,Nazv_Profes] - профессии Cheha [Kod_Cheha,Nazv_Cheha] - цеха Rabochie [Kod_Rabot,Nazv_Rabot] - рабочие Transport [Kod_VidaTransp,Vid_Transp] - транпорт ER-модель Рис.1 ER-модель 3.3 Построение схемы данныхРис.2 Схема данных Маршруты – распределение Kod_Marsh 1-∞ Код маршрута Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многим Автомобили - перевозки Kod_Avto 1-1 Код перевозки Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многим Автомобили - распределение Kod_Avto1-∞ Код авто Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многим Получение - автомобили Kod_Polychenia 1-∞ Код получения Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многимСписание – автомобилиKod_Spisania 1-∞Код списания Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многимАвтомобили – ремонтKod_Avto 1-∞ Код авто Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многимВид ремонта- ремонтKod_Remont 1-∞Код ремонта Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многимАвтомобили- водителиKod_Avto1-∞ Код авто Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многимПрофессии – водителиKod_Profes-∞ Код профессии Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многимЦеха-водителиKod_Cheha 1-∞ Код цеха Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многимЦеха- рабочиеKod_Cheha 1-∞ Код цеха Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многимТраспорт – автомобилиKod_Transport 1-∞ Код транспорта Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многимТранспорт – цехаKod_Transport 1-∞ Код потранспорта Атрибуты: обеспечение целостности, каскадные обновления, каскадные удаления Атрибуты: один-ко-многимГлава 4. Реализация СУБД Приложение №1 Запросы Создание SQL запросов SQL - язык, который дает вам возможность создавать и работать в реляционных базах данных, содержащиеся в базе, управлять ими и налагать правила, обеспечивающие целостность реляционных данных, которые являются наборами связанной информации сохраняемой в таблицах. Чтобы войти в режим SQL в access нужно в поле конструктора запроса нажать правой кнопкой и в появившемся окне нажать “Режим SQL”. Запрос №1 SELECT * FROM avto; Запрос №2 SELECT avto.Kod_Avto, avto.GosNomer_Avto, avto.Marka_Avto, raspredelenie.Date_Raspredelenia FROM avto INNER JOIN raspredelenie ON avto.Kod_Avto = raspredelenie.Kod_Avto WHERE (((raspredelenie.Kod_Raspredelenia)=[a].[Kod_Avto]) AND ((avto.Marka_Avto)=[Введите марку])) ORDER BY avto.Kod_Avto; запрос 2 запрос 2 Запрос №3 SELECT Max(perevozki.Date_Perevozki) AS [Max-Date_Perevozki], marshryti.Nazv_Marsh, marshryti.Dlina_Marsh FROM marshryti, perevozki WHERE (((marshryti.Dlina_Marsh)>=150)) GROUP BY marshryti.Nazv_Marsh, marshryti.Dlina_Marsh; Запрос №4 SELECT avto.Marka_Avto, avto.GosNomer_Avto, remont.Stoimost_Remont, remont.Date_Remont FROM avto INNER JOIN remont ON avto.Kod_Avto = remont.Kod_Avto WHERE (((remont.Date_Remont)=#12/17/2008#)) GROUP BY avto.Marka_Avto, avto.GosNomer_Avto, remont.Stoimost_Remont, remont.Date_Remont ORDER BY avto.Marka_Avto; Запрос №5 SELECT avto.Marka_Avto, polychenie.Date_Polychenia, raspredelenie.Date_Raspredelenia, raspredelenie.[kol-vo_Avto], spisanie.Date_Spisania, voditeli.[Fam-Vodit], remont.Date_Remont, remont.Stoimost_Remont FROM spisanie INNER JOIN (polychenie INNER JOIN (((avto INNER JOIN raspredelenie ON avto.Kod_Avto = raspredelenie.Kod_Avto) INNER JOIN remont ON avto.Kod_Avto = remont.Kod_Avto) INNER JOIN voditeli ON avto.Kod_Avto = voditeli.Kod_Avto) ON polychenie.Kod_Polychenia = avto.Kod_Polychenia) ON spisanie.Kod_Spisania = avto.Kod_Spisania GROUP BY avto.Marka_Avto, polychenie.Date_Polychenia, raspredelenie.Date_Raspredelenia, raspredelenie.[kol-vo_Avto], spisanie.Date_Spisania, voditeli.[Fam-Vodit], remont.Date_Remont, remont.Stoimost_Remont HAVING (((avto.Marka_Avto)="волга")); Запрос №6 SELECT * FROM avto AS avto LEFT JOIN voditeli AS voditeli ON voditeli.Kod_Avto=avto.Kod_Avto WHERE voditeli.Kod_Avto>5; Запрос №7 SELECT * FROM cheha AS c LEFT JOIN voditeli AS v ON c.kod_Cheha = v.Kod_Cheha WHERE (((v.Kod_Cheha)>1)); Запрос №8 SELECT avto.Kod_Avto, avto.GosNomer_Avto, avto.Marka_Avto, avto.Inform_Avto, raspredelenie.Date_Raspredelenia FROM avto INNER JOIN raspredelenie ON avto.Kod_Avto = raspredelenie.Kod_Avto WHERE (((avto.Kod_Avto)=[raspredelenie].[Kod_Avto])) ORDER BY avto.GosNomer_Avto; Запрос №9 SELECT voditeli.[Fam-Vodit], voditeli.Name_Vodit, voditeli.Otch_Vodit FROM voditeli ORDER BY voditeli.[Fam-Vodit]; Запрос №10 SELECT avto.GosNomer_Avto, avto.Marka_Avto, perevozki.Date_Perevozki, perevozki.[kol-vo_Passajirov] FROM avto INNER JOIN perevozki ON avto.Kod_Avto = perevozki.kod_Avto ORDER BY avto.GosNomer_Avto, avto.Marka_Avto, perevozki.Date_Perevozki, perevozki.[kol-vo_Passajirov]; Запрос №11 SELECT avto.GosNomer_Avto, raspredelenie.[kol-vo_Avto] FROM avto INNER JOIN raspredelenie ON avto.Kod_Avto = raspredelenie.Kod_Avto GROUP BY avto.GosNomer_Avto, raspredelenie.[kol-vo_Avto] ORDER BY raspredelenie.[kol-vo_Avto]; Запрос №12 SELECT voditeli.[Fam-Vodit], avto.Marka_Avto, perevozki.Date_Perevozki, Sum(perevozki.[kol-vo_Passajirov]) AS [Sum-kol-vo_Passajirov] FROM marshryti, (avto INNER JOIN perevozki ON avto.Kod_Avto = perevozki.Kod_Avto) INNER JOIN voditeli ON avto.Kod_Avto = voditeli.Kod_Avto GROUP BY voditeli.[Fam-Vodit], avto.Marka_Avto, perevozki.Date_Perevozki HAVING (((perevozki.Date_Perevozki)=#12/9/2008#)) ORDER BY voditeli.[Fam-Vodit]; Запрос №13 Запрос №14 Запрос №15 Приложение №2 Формыформа «автомобили» форма «маршруты» форма «отчеты» форма «старт» Приложение №3 Отчеты отчет «перевозки по маршрутам» Рис.37 отчет «ремонт автомобилей» |