Судоходная компания

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Проектирование баз данных
  • 35 35 страниц
  • 11 + 11 источников
  • Добавлена 03.01.2024
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
Введение 3
1. Описание предметной области 4
2. Проектирование и создание базы данных 6
2.1. Нормализация 7
2.2. Логическая модель данных 11
2.3. СУБД Microsoft Access 12
2.4. Создание таблиц в СУБД Microsoft Access 14
2.5. ER-диаграмма 16
3. Проектирование и создание приложения 18
3.1. Среда программирования 18
3.2. Создание модуля данных 19
3.3. Создание экранных форм 21
3.4. Отчеты 24
4. Руководство пользователя 26
Заключение 29
Список использованных источников 30
Приложение 32
Фрагмент для ознакомления

CustomValue, S.["Name"], C.DepartureDate, C.OriginFROM Ship AS S INNER JOIN (Cargo AS C INNER JOIN Transp AS T ON C.CustomValue = T.CustomValue) ON S.RegNumber = T.RegNumberWHERE C.DepartureDate>=depDateФорма отчета приведена на рисунке 14.Рисунок 14 – Форма отчетаНа форме располагается компонент выбора даты и сетка данных. После выбора даты и нажатия на кнопку в обработчике событий задается параметр и выполняется запрос.mainDM->qReport->Close();mainDM->qReport->Parameters->ParamByName("depDate")->Value=dtpDep->Date;mainDM->qReport->Open();Компонент запроса связан с сеткой данных и результаты запроса отображаются в ней.Руководство пользователяПосле запуска программы появляется на экране появляется главное окно содержащее главное меню и список перевозок (рисунок 15).Рисунок 15 – Главная формаЧтобы добавить судно необходимо перейти в меню “Справочники” и выбрать пункт “Суда”.Появиться окно, представленное на рисунке 16.Рисунок 16 – Форма “Суда”Для добавления судна необходимо нажать кнопку добавления, заполнить данные о корабле, нажать дважды на место картинки и выбрать изображения корабля.После ввода данных для их сохранения необходимо нажать на кнопку с сохранения.Аналогичным образом заполняется справочник организаций, показанный на рисунке 17.Рисунок 17 – Список организацийПосле этого можно приступать к формированию партий грузов в меню “Таможня”. После выбора соответствующего пункта появиться форма, представленная на рисунке 18.Рисунок 18 – Партии грузаНа форме находится список партий и список грузов в каждой из них. Сначала заполняются партии грузов. ИНН получателя и отправителя выбираются из выпадающих списков, они должны быть зарегистрированы в системе ранее.Списки грузов формируются внутри каждой партии.После этого на главном окне программы можно отправить грузы, ка показано на рисунке 19.Рисунок 19 – Отправка грузаДля этого надо добавить доставку, выбрать партию груза и корабль. Здесь же можно указать комментарий к отправке.ЗаключениеВ ходе работы была создана информационная система для судоходной компании “Балтика”.Был проведен анализ предметной области и на основе исходных данных создана логическая модель базы данных удовлетворяющая требованиям нормализации до третьей нормальной формы.В качестве среды реализации базы данных была выбрана СУБД MicrosoftAccess. Приложение пользователя реализовано в Embarcadero® RAD Studio 10.3 С++ Builder 10.3.В ходе работы были закреплены навыки проектирования и создания БД, а также создания приложения пользователя для взаимодействия с созданной базой данных.Список использованных источниковВажность транспортной логистики в современном мире и тенденции ее развития [Электронный ресурс]. URL: https://sitec-it.ru/blog/v-pomoshch-biznesu/vazhnost-transportnoy-logistiki-v-sovremennom-mire-i-tendentsii-ee-razvitiya/Шустова Л.И. Базы данных / Л.И. Шустова, О.В. Тараканов. - Москва : Инфра-М, 2021. - 304 с. - ISBN 978-5-16-014161-9. - URL: https://ibooks.ru/bookshelf/360603/reading. - Текст: электронныйОписание основных приемов нормализации базы данных. URL: https://learn.microsoft.com/ru-ru/office/troubleshoot/access/database-normalization-descriptionСтружкин, Н. П. Базы данных: проектирование : учебник для вузов / Н. П. Стружкин, В. В. Годин. — Москва : Издательство Юрайт, 2023. — 477 с. — (Высшее образование). — ISBN 978-5-534-00229-4. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/511019Реляционная СУБД [Электронный ресурс]. URL: https://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%D0%A0%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%A1%D0%A3%D0%91%D0%94Основные сведения о базах данных Access [Электронный ресурс]. URL: https://support.microsoft.com/ru-ru/topic/%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D1%81%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BE-%D0%B1%D0%B0%D0%B7%D0%B0%D1%85-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-a849ac16-07c7-4a31-9948-3c8c94a7c204Управление источниками данных ODBC[Электронный ресурс]. URL:https://support.microsoft.com/ru-ru/topic/%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-odbc-b19f856b-5b9b-48c9-8b93-07484bfab5a7RADStudio 10.3 [Электронный ресурс]. URL: https://www.embarcadero.com/ru/products/rad-studio/whats-new-in-10-3-rioRADStudio. Основы визуального программирования интерфейса[Электронный ресурс]. URL: https://sites.google.com/site/erinaprogram/theory/8-rad-studioПоставщик MicrosoftOLEDB для ODBC[Электронный ресурс]. URL: https://learn.microsoft.com/ru-ru/office/client-developer/access/desktop-database-reference/microsoft-ole-db-provider-for-odbcОбщие сведения о программировании OLEDB[Электронный ресурс]. URL: https://learn.microsoft.com/ru-ru/cpp/data/oledb/ole-db-programming-overview?view=msvc-170ПриложениеКод модуля Baltica.cpp//--------------------------------------------------------------#include #pragma hdrstop#include //--------------------------------------------------------------USEFORM("main.cpp", frmMain);USEFORM("org.cpp", frmOrg);USEFORM("ship.cpp", frmShip);USEFORM("dm.cpp", mainDM); /* TDataModule: File Type */USEFORM("cargo.cpp", frmCargo);USEFORM("rep.cpp", frmReport);//--------------------------------------------------------------int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int){try{Application->Initialize();Application->MainFormOnTaskBar = true;Application->CreateForm(__classid(TfrmMain), &frmMain);Application->CreateForm(__classid(TmainDM), &mainDM);Application->CreateForm(__classid(TfrmShip), &frmShip);Application->CreateForm(__classid(TfrmOrg), &frmOrg);Application->CreateForm(__classid(TfrmCargo), &frmCargo);Application->CreateForm(__classid(TfrmReport), &frmReport);Application->Run();}catch (Exception &exception){Application->ShowException(&exception);}catch (...){try{throw Exception("");}catch (Exception &exception){Application->ShowException(&exception);}}return 0;}Модуль данных dm.cpp//--------------------------------------------------------------#pragma hdrstop#include "dm.h"//--------------------------------------------------------------#pragma package(smart_init)#pragma classgroup "Vcl.Controls.TControl"#pragma resource "*.dfm"TmainDM *mainDM;//--------------------------------------------------------------__fastcallTmainDM::TmainDM(TComponent* Owner): TDataModule(Owner){}//--------------------------------------------------------------void __fastcallTmainDM::DataModuleCreate(TObject *Sender){connDB->Open();tabShip->Sort="RegNumber ASC";tabOrg->Sort="INN ASC";tabCargo->Sort="CustomValue ASC";}//--------------------------------------------------------------void __fastcallTmainDM::DataModuleDestroy(TObject *Sender){connDB->Close();}//--------------------------------------------------------------void __fastcallTmainDM::connDBAfterConnect(TObject *Sender){tabShip->Open();tabOrg->Open();tabCargo->Open();tabTransp->Open();tabShipment->Open();}//--------------------------------------------------------------void __fastcallTmainDM::connDBBeforeDisconnect(TObject *Sender){tabShipment->Close();tabTransp->Close();tabCargo->Close();tabOrg->Close();tabShip->Close();}//--------------------------------------------------------------void __fastcallTmainDM::tabShipmentNewRecord(TDataSet *DataSet){tabShipment->FieldByName("CustomValue")->Value=tabCargo->FieldByName("CustomValue")->Value;}//--------------------------------------------------------------void __fastcallTmainDM::tabCargoNewRecord(TDataSet *DataSet){tabCargo->FieldByName("CustomClearance")->AsBoolean=true;}//--------------------------------------------------------------Модуль главной формы main.cpp//--------------------------------------------------------------#include #pragma hdrstop#include "main.h"#include "ship.h"#include "org.h"#include "dm.h"#include "cargo.h"#include "rep.h"//--------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TfrmMain *frmMain;//--------------------------------------------------------------__fastcallTfrmMain::TfrmMain(TComponent* Owner): TForm(Owner){}//--------------------------------------------------------------void __fastcallTfrmMain::N2Click(TObject *Sender){frmShip->ShowModal();}//--------------------------------------------------------------void __fastcallTfrmMain::N3Click(TObject *Sender){frmOrg->ShowModal();}//--------------------------------------------------------------void __fastcallTfrmMain::N5Click(TObject *Sender){frmCargo->ShowModal();}//--------------------------------------------------------------void __fastcallTfrmMain::N6Click(TObject *Sender){frmReport->ShowModal();}//--------------------------------------------------------------void __fastcallTfrmMain::N7Click(TObject *Sender){Close();}Код модуля ship.cpp//--------------------------------------------------------------#include #pragma hdrstop#include "ship.h"#include "dm.h"//--------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TfrmShip *frmShip;//--------------------------------------------------------------__fastcallTfrmShip::TfrmShip(TComponent* Owner): TForm(Owner){}//--------------------------------------------------------------void __fastcallTfrmShip::imgClick(TObject *Sender){boolneedPost=false;if (dlgOpen->Execute()) {if (mainDM->tabShip->State!=dsInsert &&mainDM->tabShip->State!=dsEdit){ mainDM->tabShip->Edit(); needPost=true; }TStream *pBS=mainDM->tabShip->CreateBlobStream(mainDM->tabShip->FieldByName("Picture"),bmWrite);TFileStream *pFS=new TFileStream(dlgOpen->FileName,fmOpenRead);pBS->CopyFrom(pFS,pFS->Size);deletepFS; delete pBS;if (needPost) mainDM->tabShip->Post(); }}

1.Важность транспортной логистики в современном мире и тенденции ее развития [Электронный ресурс]. URL: https://sitec-it.ru/blog/v-pomoshch-biznesu/vazhnost-transportnoy-logistiki-v-sovremennom-mire-i-tendentsii-ee-razvitiya/
2.Шустова Л.И. Базы данных / Л.И. Шустова, О.В. Тараканов. - Москва : Инфра-М, 2021. - 304 с. - ISBN 978-5-16-014161-9. - URL: https://ibooks.ru/bookshelf/360603/reading. - Текст: электронный
3.Описание основных приемов нормализации базы данных. URL: https://learn.microsoft.com/ru-ru/office/troubleshoot/access/database-normalization-description
4.Стружкин, Н. П. Базы данных: проектирование : учебник для вузов / Н. П. Стружкин, В. В. Годин. — Москва : Издательство Юрайт, 2023. — 477 с. — (Высшее образование). — ISBN 978-5-534-00229-4. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/511019
5.Реляционная СУБД [Электронный ресурс]. URL: https://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%D0%A0%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%A1%D0%A3%D0%91%D0%94
6.Основные сведения о базах данных Access [Электронный ресурс]. URL: https://support.microsoft.com/ru-ru/topic/%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D1%81%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BE-%D0%B1%D0%B0%D0%B7%D0%B0%D1%85-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-a849ac16-07c7-4a31-9948-3c8c94a7c204
7.Управление источниками данных ODBC [Электронный ресурс]. URL: https://support.microsoft.com/ru-ru/topic/%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-odbc-b19f856b-5b9b-48c9-8b93-07484bfab5a7
8.RAD Studio 10.3 [Электронный ресурс]. URL: https://www.embarcadero.com/ru/products/rad-studio/whats-new-in-10-3-rio
9.RAD Studio. Основы визуального программирования интерфейса [Электронный ресурс]. URL: https://sites.google.com/site/erinaprogram/theory/8-rad-studio
10.Поставщик Microsoft OLE DB для ODBC [Электронный ресурс]. URL: https://learn.microsoft.com/ru-ru/office/client-developer/access/desktop-database-reference/microsoft-ole-db-provider-for-odbc
11.Общие сведения о программировании OLE DB [Электронный ресурс]. URL: https://learn.microsoft.com/ru-ru/cpp/data/oledb/ole-db-programming-overview?view=msvc-170