Лабораторная работа по базам данных(тема:База автовокзала ). 4-ая лаба. Разработка базы данных о расписании движения автобусов (автовокзал города)
Скачать 244.11 Kb.
|
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «Национальный исследовательский ядерный университет «МИФИ» Обнинский институт атомной энергетики – филиал федерального государственного автономного образовательного учреждения высшего образования «Национальный исследовательский ядерный университет «МИФИ» (ИАТЭ НИЯУ МИФИ) Отделение интеллектуальных кибернетических систем ИНДИВИДУАЛЬНЫЙ ПРОЕКТ по дисциплине «Управление данными» на тему «Разработка базы данных о расписании движения автобусов (автовокзал города)» Исполнитель студент гр. ИС-Б20 __________________ Джемхуров К.А. Принял Доцент __________________ Качанов Б.В. Обнинск, 2022 г.Раздел 1. Анализ предметной областиОбщая характеристика предметной области1. Общественный транспорт обеспечивает доступ к образованию, медицинскому обслуживанию, экономической деятельности и позволяет всем сферам общественной жизни эффективно функционировать. Для этого общественный транспорт в стране должен быть хорошо организован, спроектирован потому что без него может остановиться или пострадать другие отрасли страны. В связи с этим собирается база где храниться информация о транспорте, маршрут этого транспорта кто управляет и куда относиться (автопарк) этот транспорт, создаются программы отслеживавшее работу это общественного транспорта. С помощью этой базы можно получить информацию о интересующего нас транспорта. Например, о водителе, о маршруте этого транспорта, какому автопарку он относиться, где в пути он остановиться (остановки) и собственно о самого транспортного средства. 2. Разработка любого проекта начинается с формулировки требований. Итак, сформулируем в произвольной форме постановку нашей задачи. Требуется создать базу данных для автовокзала, в котором персонал может с ней взаимодействовать. Поступает запрос сколько времени занимает данный маршрут. Персонал открывает базу данных и смотрит информацию по данному маршруту. Для каждого маршрута должна быть представлена информация о рейсе, название (начальная и конечная точка маршрута), протяжённость маршрута, продолжительность маршрута.
Описание процессов в ИС Внесение данных в базу (автобусы, водители, остановки и т.д). Удаление данных с базы (автобусы, водители, остановки и т.д). Выборочное изменение данных. Пользователи проектируемой ИС, их функции Работать с этой базой будут только сотрудники вокзала и автопарков. Им будет предоставлен полный доступ к данным базы, и они смогут внести изменение к данным базы. Они представят определенные данные по запросу. Раздел 2. Концептуальная модель Можно выделить следующие основные сущности: Маршрут (ID_маршрут, Название маршрута, начало пути, конец пути, Продолжительность маршрута;) Рейс (ID_рейса, ID_водителя (FK), ID_автобуса (FK), ID_маршрута (FK) Автобус (ID_автобус, марка автобуса, Дата выпуска, дата последнего капремонта, VIN, регистрационный номер, ID_автопарка (FK)) Водитель (ID_водителя, Фамилия, Имя, Отчество, Стаж, Дата Рождение) Автопарк (ID_автопарк, Название автопарка, Телефон, адрес) Остановки (ID_остановки, название остановки) Порядок остановок в маршруте (ID_маршрут (FK), ID_остановки (FK), номер остановки в данном маршруте) Автобусы и рейсы(ID_автобуса (PK), ID_рейса(PK)) Раздел 3. Физическая модель АВТОБУСЫ:
ВОДИТЕЛЯ:
РЕЙСЫ:
Автопарки:
МАРШРУТЫ:
Порядок остановок в маршруте:
ОСТАНОВКИ:
Автобусы и рейсы:
Раздел 4. Реализация БД и наполнение таблиц тестовыми данными.Создание таблицы остановки :CREATE TABLE busstops (Id BIGSERIAL NOT NULL PRIMARY KEY,Name_bus_stop VARCHAR(50) NOT NULL);Внесение названии остановки в таблицу остановки:INSERT INTO busstops VALUES (‘1’,‘Wokzal’);Отображение данных из таблицы остановки:SELECT * FROM busstops;Отображение всех таблиц, которые в базе существуют:\ dОтображение какие водители на каких маршрутах работают.SELECT * FROM driversJOIN routes ON id = id_routes;Вывод фамилию и стажа из таблицы водители, где стаж больше 3-х лет и тех водителей который не имеет отчество.SELECT last_name,experience FROM driversWHERE experience>3 AND middle_name = NULL;Выводит водителя с самым минимальным стажем. SELECT last_name,first_name,experience FROM drivers WHERE experience = (SELECT MIN(experience) FROM drivers); Выводит сколько водителей, сколько рейсов сделали. Какой автобус принадлежит какому автопарку, и телефонный номер автопарка чтобы связаться с автопарком. Список Использованных источников: https://metanit.com/sql/postgresql/4.5.php https://youtu.be/PfyC39EzTmk?list=PLPPIc-4tm3YQsdhSV1qzAgDKTuMUNnPmp https://postgrespro.ru/docs/postgresql/15/tutorial-createdb https://iu5bmstu.top/index.php/PostgreSQL_-_Кириллица_в_psql_под_Windows https://yandex.ru/maps/967/obninsk/routes/bus_3__KG_/796d617073626d313a2f2f7472616e7369742f6c696e653f69643d32303336393236383537266c6c3d33362e35383630393125324335352e303939393234266e616d653d332b25323825443025394125443025393325323926723d3239343126747970653d627573/?azimuth=5.935499163699296&ll=36.607663%2C55.092490&tab=stops&tilt=0.8726646259971648&z=13.25 |