Информационные системы

Автор работы: Пользователь скрыл имя, 24 Апреля 2012 в 20:20, контрольная работа

Описание работы

Целью выполнения данной дипломной работы является разработка системы "ГАИ" и соответствующей ей базы данных, позволяющей документировать в электронном виде автоматизацию учета движений автомобилей и предоставлять необходимые отчеты.

В качестве среды разработки базы данных была выбрана СУБД MSSQL Server 2000.

Содержание работы

Введение

1.1 Постановка задачи

1.2 Информационные системы

2.1 Введение в базы данных

2.2 Шаги проектирования базы данных

Заключение

Список использованной литературы

Приложение 1.

Файлы: 1 файл

Диплом 2012.doc

— 383.50 Кб (Скачать файл)

 

V. Пятый шаг предполагает выработку правил, которые будут устанавливать и поддерживать целостность данных. Будучи определенными, такие правила в клиент-серверных СУБД поддерживаются автоматически - сервером баз данных; в локальных же СУБД их поддержание приходится возлагать на пользовательское приложение.

 

Эти правила включают:

 

 

      определение типа данных

      выбор набора символов, соответствующего данной стране

      создание полей, опирающихся на домены

      установка значений по умолчанию

      определение ограничений целостности

      определение проверочных условий.

 

VI. На шестом шаге устанавливаются связи между объектами (таблицами и столбцами) и производится очень важная операция для исключения избыточности данных - нормализация таблиц.

 

Каждый из различных типов связей должен быть смоделирован в базе данных. Существует несколько типов связей:

 

      связь “один-к-одному”

      связь “один-ко-многим”

      связь “многие-ко-многим”.

 

Связь “один-к-одному” представляет собой простейший вид связи данных, когда первичный ключ таблицы является в то же время внешним ключом, ссылающимся на первичный ключ другой таблицы. Такую связь бывает удобно устанавливать тогда, когда невыгодно держать разные по размеру (или по другим критериям) данные в одной таблице. Например, можно выделить данные с подробным описанием изделия в отдельную таблицу с установлением связи “один-к-одному” для того чтобы не занимать оперативную память, если эти данные используются сравнительно редко.

 

Связь “один-ко-многим” в большинстве случаев отражает реальную взаимосвязь сущностей в предметной области. Она реализуется уже описанной парой “внешний ключ-первичный ключ”, т.е. когда определен внешний ключ, ссылающийся на первичный ключ другой таблицы. Именно эта связь описывает широко распространенный механизм классификаторов. Имеется справочная таблица, содержащая названия, имена и т.п. и некие коды, причем, первичным ключом является код. В таблице, собирающей информацию - назовем ее информационной таблицей - определяется внешний ключ, ссылающийся на первичный ключ классификатора. После этого в нее заносится не название из классификатора, а код. Такая система становится устойчивой от изменения названия в классификаторах. Имеются способы быстрой “подмены” в отображаемой таблице кодов на их названия как на уровне сервера БД (для клиент-серверных СУБД), так и на уровне пользовательского приложения. Но об этом - в дальнейших уроках.

 

Связь “многие-ко-многим” в явном виде в реляционных базах данных не поддерживается. Однако имеется ряд способов косвенной реализации такой связи, которые с успехом возмещают ее отсутствие. Один из наиболее распространенных способов заключается во введении дополнительной таблицы, строки которой состоят из внешних ключей, ссылающихся на первичные ключи двух таблиц. Например, имеются две таблицы: КЛИЕНТ и ГРУППА_ИНТЕРЕСОВ. Один человек может быть включен в различные группы, в то время как группа может объединять различных людей. Для реализации такой связи “многие-ко-многим” вводится дополнительная таблица, назовем ее КЛИЕНТЫ_В_ГРУППЕ, строка которой будет иметь два внешних ключа: один будет ссылаться на первичный ключ в таблице КЛИЕНТ, а другой - на первичный ключ в таблице ГРУППА_ИНТЕРЕСОВ. Таким образом в таблицу КЛИЕНТЫ_В_ГРУППЕ можно записывать любое количество людей и любое количество групп.

 

Итак, после определения таблиц, полей, индексов и связей между таблицами следует посмотреть на проектируемую базу данных в целом и проанализировать ее, используя правила нормализации, с целью устранения логических ошибок. Важность нормализации состоит в том, что она позволяет разбить большие отношения, как правило, содержащие большую избыточность информации, на более мелкие логические единицы, группирующие только данные, объединенные “по природе”. Таким образом, идея нормализации заключается в следующем. Каждая таблица в реляционной базе данных удовлетворяет условию, в соответствии с которым в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное значение, и никогда не может быть множества таких значений.

 

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

      данные легко обновлять или удалять

      исключается возможность рассогласования копий данных

      уменьшается возможность введения некорректных данных.

 

Процесс нормализации заключается в приведении таблиц в так называемые нормальные формы. Существует несколько видов нормальных форм: первая нормальная форма (1НФ), вторая нормальная форма (2НФ), третья нормальная форма (3НФ), нормальная форма Бойса-Кодда (НФБК), четвертая нормальная форма (4НФ), пятая нормальная форма (5НФ). С практической точки зрения, достаточно трех первых форм - следует учитывать время, необходимое системе для “соединения” таблиц при отображении их на экране. Поэтому мы ограничимся изучением процесса приведения отношений к первым трем формам.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

 

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

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

В четвертом разделе была описаны шаги проектирования базы данных.

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

Информационная система предназначена для автоматизации учета автомобилей в "ГАИ". Система должна предусматривать режимы ведения системного каталога, отражающего список районов учета движений автомобилей, марок, цвета кузова. Техосмотр автомобиля может быть проведен или просрочен,  в связи с этим дорожная полиция должна вовремя отреагировать. В системном каталоге операция имеет код и полное наименование, каждый автомобиль характеризуется следующими параметрами: марка автомобиля, цвет кузова.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список использованной литературы
 

1.      Delphi 2005 для Win32 (+ CD-ROM): Евгений Марков, Петр Дарахвелидзе — Москва, БХВ-Петербург, 2005 г.- 1136 с.

2.      Delphi. Профессиональное программирование: Дмитрий Осипов — Санкт-Петербург, Символ-Плюс, 2006 г.- 1056 с.

3.      InterBase и Firebird. Практическое руководство для умных пользователей и начинающих разработчиков (+ CD-ROM): Александр Бондарь — Санкт-Петербург, БХВ-Петербург, 2007 г.- 592 с.

4.      Базы данных (+ CD-ROM): В. П. Агальцов — Москва, Мир, 2002 г.- 376 с.

5.      Базы данных и Delphi. Теория и практика (+ DVD-ROM): Д. Л. Осипов — Санкт-Петербург, БХВ-Петербург, 2011 г.- 752 с.

6.      Базы данных. Разработка приложений: Л. В. Рудикова — Санкт-Петербург, БХВ-Петербург, 2006 г.- 496 с.

7.      Базы данных: от проектирования до разработки приложений (+ дискета): Александр Чекалов — Москва, БХВ-Петербург, 2003 г.- 384 с.

8.      Основы программирования в Delphi XE (+ CD-ROM): Н. Б. Культин — Москва, БХВ-Петербург, 2011 г.- 416 с.

9.      Программирование в Delphi для Windows. Версии 2006, 2007, Turbo Delphi (+ CD-ROM): А. Я. Архангельский — Санкт-Петербург, Бином-Пресс, 2007 г.- 1248 с.

10. Разработка приложений Microsoft Office 2007 в Delphi: Юрий Магда — Санкт-Петербург, БХВ-Петербург, 2009 г.- 160 с.

11. Самоучитель Delphi 7 Studio: Вячеслав Понамарев — Санкт-Петербург, БХВ-Петербург, 2003 г.- 504 с.

12. Галисеев Г. В. Программирование в среде Delphi 7. Самоучитель.М.: Издательский дом «Вильямс», 2004.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение 1.

 

Исходный код  для входа в базу данных

 

unit paswd;

 

interface

 

uses

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

  Dialogs, StdCtrls, ComCtrls;

 

type

  TForm2 = class(TForm)

    Button1: TButton;

    Edit1: TEdit;

    Label1: TLabel;

    Edit6: TEdit;

    RichEdit2: TRichEdit;

    procedure Button1Click(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure Edit1KeyPress(Sender: TObject; var Key: Char);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form2: TForm2;

  shif_str: string;

 

implementation

 

uses adsbaz, usprint;

 

{$R *.dfm}

 

procedure TForm2.Button1Click(Sender: TObject);

begin

if Edit1.Text=''

then ;

if Edit1.Text=shif_str

then

  begin

   Form3.Show;

   Form2.Hide;

  end

else

  begin

   MessageDlg('Неверный пароль!',mtError,[mbOk],0);

   Close;

  end;

end;

 

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=caFree;

end;

 

procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if Key=#13 then Button1.Click;

end;

 

procedure TForm2.FormCreate(Sender: TObject);

Label M;

var

i,j,j1,x,n,z,s,s1,tt,c,f: integer;

st,a: string;

begin

Application.Title:='База данных ГАИ';

// пароль как при входе в Win XP

Edit1.Font.Name:='Wingdings';

Edit1.PasswordChar:='l'; // символ "точка"

//

j:=78575;

j1:=j;

Edit6.Text:='1234567890АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~ .,:;"-=+\/|!?@#$%^&*_№<>()[]{}`';

try

  RichEdit2.Lines.LoadFromFile('conf.ps');

except

  MessageDlg('Файл "conf.ps" не найден!',mtError,[mbOK],0);

  Close;

end;

st:='1234567890АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~ .,:;"-=+\/|!?@#$%^&*_№<>()[]{}`';

a:=RichEdit2.Lines.Strings[0];

x:=length(a);

try

  for i:=1 to x do

   begin

    if pos(a[i],Edit6.Text)<>0 then

     begin

      Edit6.SelStart:=pos(a[i],Edit6.Text)-1;

      n:=Edit6.SelStart;

      s1:=n+1;

      j:=j1;

      s:=s1-j;

      if ((s<=159) and (s>=0)) then

       begin

        s:=s1-j;

        a[i]:=st[s];

        goto M;

       end;

      j:=j1-n-1;

      repeat

       tt:=j-159;

       s:=abs(tt);

       j:=s;

      until (s<=159);

      s:=159-s;

      a[i]:=st[s];

      M:

     end

    else

   end;

  shif_str:=a;

except

  MessageDlg('Ошибка открытия пароля!',mtError,[mbOK],0);

end;

end;

 

end.

 

 

 

Информация о работе Информационные системы