Программа просмотра учета расписания поездов

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Введение

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

СУБД — система управления базами данных — совокупность программ, и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.

Основные функции СУБД:

· Управление данными во внешней памяти (на дисках);

· Управление данными в оперативной памяти с использованием дискового кэша;

· Поддержка языков БД (язык определения данных, язык манипулирования данными).

На сегодняшний день существует множество различных систем управления базами данных. Они все используют разные средства и функции, но преимущественно у всех СУБД в основе лежат одинаковые понятия. Поэтому для обобщения этих понятий, приемов и методов на весь класс СУБД, я хотела бы взять программу, входящую в Microsoft Office, Microsoft Access.

Microsoft Access — реляционная СУБД, в которой предусмотрены все необходимые средства для определения и обработки данных, а также управления ими при работе с большим объемом информации.

Access — функционально полная система, имеющая мощные средства для работы в этой программе. Ее преимуществом перед другими является простота, наличие всех средств для успешной обработки и управления БД.

1. Описание предметной области

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

2. Язык программирования Delphi

2.1 Краткая информация о Delphi

Объектно-ориентированное программирование — парадигма программирования, в которой основными концепциями являются понятие объектов и классов.

Delphi — это императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal.

2.1.1 Синтаксис языка

2.1.1.1 Операторы

Список операторов через пробел: := + - * / div mod not and or with xor shl shr ^ = < > >= <= < > @ in is as

2.1.1.2 Выражения

Основные логические выражения:

not — «НЕ», отрицание логического выражение;

and — «И», умножение (перечисление) логических выражений;

or — «ИЛИ», объединение логических выражений;

xor — «Исключающая ИЛИ», отрицание ИЛИ, все что не попадает под ИЛИ

2.1.2 Типы данных

Обрабатываемые, а программе данные подразделяются на переменные, константы и литеры.

2.1.2.1 Объекты

Объекты как экземпляры класса объявляются в программе в разделе var как обычные переменные.

2.1.2.2 Классы

Классы — это специальные типы данных, исполняемые для описания объектов.

Классы имеют:

— поля;

— свойства:

— и методы.

2.1.3 Объектно-ориентированные особенности языка:

2.1.3.1 Инкапсуляция

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

2.1.3.2 Наследование

Новые объекты наследуют все свойства и методы своих предков

2.1.3.3 Полиморфизм

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

2.1.4 Модуль

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

2.2 Использованные в программе процедуры

Процедура добавления:

procedure TForm1. BitBtn1Click (Sender: TObject);

begin

Form3. Show;

DataModule2. ADOTable2. Insert;

end;

Процедура удаления:

procedure TForm1. BitBtn3Click (Sender: TObject);

begin

DataModule2. ADOTable2. Delete;

end;

Процедура выхода:

procedure TForm1. N2Click (Sender: TObject);

begin

Close;

end;

3. Описание программы

3.1 Создание базы данных

3.1.1 Этапы проектирования базы данных

3.1.1.1 Определение цели создания базы данных

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

3.1.1.2 Определение таблиц, которые должна содержать база данных

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

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

3.2 Структура моей базы данных

Таблицы

Моя База Данных содержит 3 таблицы:

— Маршрут

— Продолжительность

— Периодичность

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

Таблица Маршрут: предназначена для указания пути состава.

№ п/п — номер по порядку. Поле является счетчиком.

Номер поезда — номер поезда.

Маршрут — стартовая и конечные места назначения.

Тип поезда — выборочная графа типа поезда по классам.

Цена — стоимость билета.

Тип вагона — выборочная графа типа вагона по классам.

Таблица Продолжительность: содержит четыре поля:

№ п/п — номер по порядку. Поле является счетчиком.

Номер поезда — номер поезда.

Время отправки — время начала пути.

Время прибытия — время прибытия на конечную станцию.

Продолжительность — время необходимое на дорогу по данному маршруту.

Таблица Периодичность: состоит из пяти полей:

№ п/п — номер по порядку. Поле является счетчиком.

Номер поезда — номер поезда.

Время отправки — время начала пути.

Время прибытия — время прибытия на конечную станцию.

Стоянка — обязательная остановка.

Периодичность — график расписания отправки.

3.3 Нормализация

Нормализация -- процесс уменьшения избыточности информации в таблицах реляционной БД и, как следствие, построения оптимальной структуры таблиц и связей.

Можно выделить 4 основных правила, которыми следует руководствоваться при проектировании и последующей нормализации таблиц базы данных:

1. Каждое поле любой таблицы должно быть уникальным.

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

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

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

Созданная мною таблица удовлетворяет вышеизложенным требованиям:

1 НФ (Нормальная Форма):

Название таблицы

Ключевое поле

Маршрут

Продолжительность

Периодичность

ID

2 НФ:

выполняются ограничения 1НФ, и каждый не ключевой атрибут функционально полно зависит от составного первичного ключа.

3 НФ:

все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.

Таким образом, база данных удовлетворяет всем требованиям нормализации таблиц и Третья нормальная форма — окончательный результат нормализации моей Базы данных.

3.4 Схема данных

Отношения — это правила, поддерживаемые на уровне механизма реализации СУБД. Различают три типа отношений:

Отношение «один-ко-многим»: одна таблица не содержит вообще или имеет набор связанных «дочерних» записей из другой таблицы.

При разработке БД необходимо принимать во внимание правила обеспечения целостности данных (обеспечивает каскадное обновление записей в связанных таблицах)

3.5 Описание программных модулей

Название модуля

Форма

Назначение

Data Module

Нет формы

Модуль связи с БД

Form1

Form1

Главная форма

Form3

Form3

Дополнительная форма

Скриншоты программы:

Рис. 1 Окно главного меню

Рис. 2 Окно добавить/изменить.

delphi база данные расписание

Заключение

Я разработал программу просмотра учета расписания поездов.

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

Программа позволяет просматривать отчеты об учете расписания поездов, обновлять данные.

Эта программа достаточна, проста и удобна в обращении.

Компоненты: DataModule, BitButton, Panel, Edit, DBGrid, MainMenu, XPManifest.

Я считаю, что применение база данных в среде Delphi удобна и достаточно эффективна. Все зависит от пользователя, объема располагаемых им знаний и умения ими воспользоваться. Говоря о себе, могу сказать, что эта программа имеет много полезных функций и в дальнейшем мне очень пригодится.

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

Список литературы

1. Когловский М.Р., «Технология баз данных на персональных ЭВМ», Москва, 'Финансы и статистика', 1992 г.

2. Шумаков П. В., «Delphi 3.0 и создание баз данных». Москва 1997 г.

3. Джон Матчо, Дэвид Р. Фолкнер. «Delphi» -- пер. с англ. -- М.: Бином, 1995 г.

4. A.M. Епанешников. Епанешников В. А., «Программирование в среде Delphi 2. 0», М.: Диалог-Мифи, 1997 г. -235с.

5. Дж. Мартин., «Организация баз данных в вычислительных системах», М: Мир 1978 г.

6. С. М. Диго, «Проектирование и использования баз данных». Москва: Финансы и статистика 1995.

7. Горев А., Ахаян Р., Макашарипов С., «Эффективная работа с СУБД». СПб. :Питер, 1997. -- 704 с., ил.

8. Атре Ш., «Структурный подход к организации баз данных». — М.: Финансы и статистика, 1983. — 320 с.

9. Бойко В. В., Савинков В. М., «Проектирование баз данных и информационных систем». — М.: Финансы и статистика, 1989. — 351 с.

10. Тиори Т., Фрай Дж., «Проектирование структур баз данных». В 2 кн., — М.: Мир, 1985. Кн. 1. — 287 с.: Кн. 2. — 320 с.

11. «Paradox for Windows: Практическое руководство». Под редакцией Оспищева Д. А. Издательство АОЗ «Алевар», 1993.

12. Брябрин В. М., «Программное обеспечение персональных ЭВМ», Москва, 'Hаука', 1989 г.

13. Шафрин Ю. А., «Основы компьютерной технологии». М., 1998

14. «Рекомендации по общепользовательскому интерфейсу», Microsoft, редакция 1995 г.

15. Тейксейра, Стив, Пачеко, Ксавье. Delphi 4. «Руководство разработчика». СПб: Издательский дом 'Вильямс' 1999 г. -912с.

16. Ден Оузьер, Стив Гробман, Стив Батсон. DELPHI. «Освой самостоятельно» Перевод с англ. -М. :Восточная Книжная Компания, 1997 г. -624с.

Приложение

Исходный код моей программы:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, ExtCtrls, StdCtrls, Buttons, ComCtrls, Menus,

XPMan;

type

TForm1 = class (TForm)

Panel1: TPanel;

Panel2: TPanel;

DBGrid2: TDBGrid;

DBGrid3: TDBGrid;

DBGrid4: TDBGrid;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

StatusBar1: TStatusBar;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

Edit1: TEdit;

Button1: TButton;

XPManifest1: TXPManifest;

Bevel1: TBevel;

procedure BitBtn1Click (Sender: TObject);

procedure BitBtn3Click (Sender: TObject);

procedure BitBtn2Click (Sender: TObject);

procedure N2Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *. dfm}

procedure TForm1. BitBtn1Click (Sender: TObject);

begin

Form3. Show;

DataModule2. ADOTable2. Insert;

end;

procedure TForm1. BitBtn3Click (Sender: TObject);

begin

DataModule2. ADOTable2. Delete;

end;

procedure TForm1. BitBtn2Click (Sender: TObject);

begin

Form3. Show;

end;

procedure TForm1. N2Click (Sender: TObject);

begin

Close;

end;

end.

unit Unit2;

interface

uses

SysUtils, Classes, DB, ADODB;

type

TDataModule2 = class (TDataModule)

ADOConnection1: TADOConnection;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

ADOTable4: TADOTable;

DataSource2: TDataSource;

DataSource3: TDataSource;

DataSource4: TDataSource;

private

{ Private declarations }

public

{ Public declarations }

end;

var

DataModule2: TDataModule2;

implementation

uses Unit1;

{$R *. dfm}

end.

ПоказатьСвернуть
Заполнить форму текущей работой