Программа просмотра учета расписания поездов
Введение
Базы данных - совокупность данных, организованная по определенным
правилам, предусматривающая общие принципы описания, хранения, манипулирования
данными, независимыми от прикладных программ.
СУБД - система управления базами данных - совокупность программ, и
лингвистических средств общего или специального назначения, обеспечивающих
управление созданием и использованием баз данных.
Основные функции СУБД:
· Управление данными во внешней памяти (на дисках);
· Управление данными в оперативной памяти с использованием
дискового кэша;
· Поддержка языков БД (язык определения данных, язык
манипулирования данными).
На сегодняшний день существует множество различных систем управления
базами данных. Они все используют разные средства и функции, но преимущественно
у всех СУБД в основе лежат одинаковые понятия. Поэтому для обобщения этих
понятий, приемов и методов на весь класс СУБД, я хотела бы взять программу,
входящую в Microsoft Office, Microsoft Access. Access - реляционная СУБД, в
которой предусмотрены все необходимые средства для определения и обработки
данных, а также управления ими при работе с большим объемом информации. -
функционально полная система, имеющая мощные средства для работы в этой
программе. Ее преимуществом перед другими является простота, наличие всех
средств для успешной обработки и управления БД.
1.
Описание предметной области
Транспортная трасса постоянного действия, отличающаяся наличием пути (или
путей) из закрепленных рельсов, по которым ходят поезда, перевозящие
пассажиров, багаж, почту и различные грузы. Понятие "железная дорога"
включает в себя не только подвижной состав (локомотивы, пассажирские и грузовые
вагоны и т.п.), но и полосу отчуждения земли со всеми сооружениями,
постройками, имуществом и правом провоза товаров и пассажиров по ней.
2. Язык программирования Delphi
.1 Краткая информация о Delphi
Объектно-ориентированное программирование - парадигма программирования, в
которой основными концепциями являются понятие объектов и классов. - это
императивный, структурированный, объектно-ориентированный язык
программирования, диалект Object Pascal.
.1.1 Синтаксис языка
.1.1.1 Операторы
Список операторов через пробел::= + - * / div mod not and or with xor shl
shr ^ = <> >= <= < > @ in is as
.1.1.2 Выражения
Основные логические выражения:- «НЕ», отрицание логического выражение;-
«И»,умножение (перечисление) логических выражений;- «ИЛИ»,объединение
логических выражений;- «Исключающая ИЛИ», отрицание ИЛИ, все что не попадает
под ИЛИ
.1.2 Типы данных
Обрабатываемые а программе данные подразделяются на переменные, константы
и литеры.
2.1.2.1 Объекты
Объекты как экземпляры класса объявляются в программе в разделе var как
обычные переменные.
2.1.2.2 Классы
Классы - это специальные типы данных, исполняемые для описания объектов.
Классы имеют:
поля;
свойства:
и методы.
2.1.3 Объектно-ориентированные особенности языка:
2.1.3.1 Инкапсуляция
Инкапсуляция - объединение и скрытее данных, а также обрабатывающих их
методов внутри конкретного класса от пользователя.
.1.3.2 Наследование
Новые объекты наследуют все свойства и методы своих предков
.1.3.3 Полиморфизм
Это методы различных объектов, которые могут иметь одинаковые имена, но
по внутреннему содержимому отличаются друг от друга.
2.1.4 Модуль
Модуль в программировании представляет собой функционально законченный
фрагмент программы, оформленный в виде отдельного файла с исходным кодом или
поименованной непрерывной его части, предназначенный для использования в других
программах. Модули позволяют разбить сложные задачи на более мелкие в
соответствии с принципами модульности. Модули могу объединятся в пакеты и,
далее, в библиотеки.
.2 Использованные в программе процедуры
Процедура добавления:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin.Show;.ADOTable2.Insert;;
Процедура удаления:
procedure TForm1.BitBtn3Click(Sender: TObject);
begin.ADOTable2.Delete;;
Процедура выхода:
procedure TForm1.N2Click(Sender: TObject);
begin;;
3.
Описание программы
3.1 Создание базы данных
.1.1 Этапы проектирования базы данных
.1.1.1 Определение цели создания базы данных
Моя база данных разработана для всех пользователей целью, которой
является ознакомление и подборка необходимых для человека маршрутов. Схема
работы очень проста. Пользователь выбирает: тип вагона, цена, тип поезда,
маршрут, номер поезда.
.1.1.2 Определение таблиц, которые должна содержать база данных
Один из наиболее сложных этапов в процессе создания базы данных -
разработка таблиц, так как результаты, которые должна выдавать база данных не
всегда дают полное представление о структуре таблицы.
Таблицы должны содержать всю информацию разрабатываемой базы. В моем
случае это Маршрут, Продолжительность, Периодичность. Все таблицы хранят
максимально полную характеристику, информацию и описание для дальнейшей
успешной работы с базой данных.
.2 Структура моей базы данных
Таблицы
Моя База Данных содержит 3 таблицы:
Маршрут
Продолжительность
Периодичность
Во всех таблицах в режиме конструктора указываются первичные или внешние
ключи.
Таблица Маршрут: предназначена для указания пути состава.
№ п/п - номер по порядку. Поле является счетчиком.
Номер поезда - номер поезда.
Маршрут - стартовая и конечные места назначения.
Тип поезда - выборочная графа типа поезда по классам.
Цена - стоимость билета.
Тип вагона - выборочная графа типа вагона по классам.
Таблица Продолжительность: содержит четыре поля:
№ п/п - номер по порядку. Поле является счетчиком.
Номер поезда - номер поезда.
Время отправки - время начала пути.
Время прибытия - время прибытия на конечную станцию.
Продолжительность - время необходимое на дорогу по данному маршруту.
Таблица Периодичность: состоит из пяти полей:
№ п/п - номер по порядку. Поле является счетчиком.
Номер поезда - номер поезда.
Время прибытия - время прибытия на конечную станцию.
Стоянка - обязательная остановка.
Периодичность - график расписания отправки.
3.3 Нормализация
Нормализация - процесс уменьшения избыточности информации в таблицах
реляционной БД и, как следствие, построения оптимальной структуры таблиц и
связей.
Можно выделить 4 основных правила, которыми следует руководствоваться при
проектировании и последующей нормализации таблиц базы данных:
1. Каждое поле любой таблицы должно быть уникальным.
2. Каждая таблица должна иметь уникальный первичный ключ, который
может состоять из одного или нескольких полей таблицы.
. Для каждого значения первичного ключа должно быть одно и только
одно значение любого из столбцов данных, и это значение должно относиться к
объекту таблицы.
. Должна иметься возможность изменять значения любого поля (не
входящего в первичный ключ), и это не должно повлечь за собой изменение другого
поля.
Созданная мною таблица удовлетворяет вышеизложенным требованиям:
НФ (Нормальная Форма):
Название таблицы
|
Ключевое поле
|
Маршрут Продолжительность
Периодичность
|
ID
|
НФ:
выполняются ограничения 1НФ, и каждый не ключевой атрибут функционально
полно зависит от составного первичного ключа.
НФ:
все неключевые атрибуты отношения взаимно независимы и полностью зависят
от первичного ключа.
Таким образом, база данных удовлетворяет всем требованиям нормализации
таблиц и Третья нормальная форма - окончательный результат нормализации моей
Базы данных.
3.4 Схема данных
Отношения - это правила, поддерживаемые на уровне механизма реализации
СУБД. Различают три типа отношений:
·
Отношение
«один-ко-многим»: одна таблица не содержит вообще или имеет набор связанных
«дочерних» записей из другой таблицы.
При разработке БД необходимо принимать во внимание правила обеспечения
целостности данных (обеспечивает каскадное обновление записей в связанных
таблицах)
3.5 Описание программных модулей
Название модуля
|
Форма
|
Назначение
|
Data Module
|
Нет формы
|
Модуль связи с БД
|
Form1
|
Form1
|
Главная форма
|
Form3
|
Form3
|
Дополнительная форма
|
Скриншоты программы:
Рис.1 Окно главного меню
Рис.2 Окно добавить/изменить.
delphi база данные расписание
Заключение
Я разработал программу просмотра учета расписания поездов.
С помощью моей программы можно без затруднений и специальных знаний вести
в базу данных, которая позволяет делать все операции с б/д вокзала. То есть
добавлять, изменять, удалять, выполнять.
Программа позволяет просматривать отчеты об учете расписания поездов,
обновлять данные.
Эта программа достаточна, проста и удобна в обращении.
Компоненты: DataModule, BitButton, Panel, Edit, DBGrid, MainMenu,
XPManifest.
Я считаю, что применение база данных в среде Delphi удобна и достаточно
эффективна. Все зависит от пользователя, объема располагаемых им знаний и
умения ими воспользоваться. Говоря о себе, могу сказать, что эта программа
имеет много полезных функций и в дальнейшем мне очень пригодится.
Конечно, не все функции были реализованы, я бы хотел дополнить их в
следующей версии программы.
Список литературы
1. Когловский
М.Р., "Технология баз данных на персональных ЭВМ", Москва, 'Финансы и
статистика', 1992 г.
. Шумаков
П. В., "Delphi 3.0 и создание баз данных". Москва 1997г.
. Джон
Матчо, Дэвид Р.Фолкнер. «Delphi» - пер. с англ. - М.: Бином, 1995г.
. A.M.
Епанешников. Епанешников В.А., "Программирование в среде Delphi
2.0",М.: Диалог-Мифи, 1997г.-235с.
. Дж.
Мартин., "Организация баз данных в вычислительных системах",М: Мир
1978г.
. С.М.
Диго, "Проектирование и использования баз данных". Москва: Финансы и
статистика 1995.
. Горев
А., Ахаян Р., Макашарипов С., "Эффективная работа с СУБД".СПб.:Питер,
1997.- 704 с.,ил.
. Атре
Ш., "Структурный подход к организации баз данных". - М.: Финансы и
статистика, 1983. - 320 с.
. Бойко
В.В., Савинков В.М., "Проектирование баз данных и информационных
систем". - М.: Финансы и статистика, 1989. - 351 с.
. Тиори
Т., Фрай Дж., "Проектирование структур баз данных". В 2 кн., - М.:
Мир, 1985. Кн. 1. - 287 с.: Кн. 2. - 320 с.
. "Paradox
for Windows: Практическое руководство". Под редакцией Оспищева Д. А.
Издательство АОЗ "Алевар", 1993.
. Брябрин
В.М., "Программное обеспечение персональных ЭВМ", Москва, 'Hаука',
1989 г.
. Шафрин
Ю.А., "Основы компьютерной технологии". М., 1998
. "Рекомендации
по общепользовательскому интерфейсу", Microsoft, редакция 1995г.
. Тейксейра,
Стив, Пачеко, Ксавье. Delphi 4. "Руководство разработчика".СПб:
Издательский дом 'Вильямс' 1999г.-912с.
. Ден
Оузьер, Стив Гробман, Стив Батсон. DELPHI. "Освой самостоятельно"
Перевод с англ.-М.:Восточная Книжная Компания, 1997г.-624с.
Приложение
Исходный код моей программы:
Unit1;
, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,,
Grids, DBGrids, ExtCtrls, StdCtrls, Buttons, ComCtrls, Menus,;
= class(TForm): TPanel;: TPanel;: TDBGrid;: TDBGrid;: TDBGrid;: TBitBtn;:
TBitBtn;: TBitBtn;: TStatusBar;: TMainMenu;: TMenuItem;: TMenuItem;:
TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TEdit;: TButton;: TXPManifest;:
TBevel;BitBtn1Click(Sender: TObject);BitBtn3Click(Sender:
TObject);BitBtn2Click(Sender: TObject);N2Click(Sender: TObject);
{ Private declarations }
: TForm1;
Unit2, Unit3;
{$R *.dfm}
TForm1.BitBtn1Click(Sender: TObject);.Show;.ADOTable2.Insert;;
TForm1.BitBtn3Click(Sender: TObject);.ADOTable2.Delete;;
TForm1.BitBtn2Click(Sender: TObject);.Show;;
TForm1.N2Click(Sender: TObject);;;
.
Unit2;
, Classes, DB, ADODB;
= class(TDataModule): TADOConnection;: TADOTable;: TADOTable;:
TADOTable;: TDataSource;: TDataSource;: TDataSource;
{ Private declarations }
{ Public declarations };
: TDataModule2;
Unit1;
{$R *.dfm}
.