86437

Проектирование базы данных «Автовокзал»

Контрольная

Информатика, кибернетика и программирование

Для определения второй нормальной формы необходимо определить ключевой атрибут отношения. Для отношения «Водители» ключевым можно выбрать атрибут «Код_Водителя», который в базе данных никогда не повторится и однозначно идентифицирует здания.

Русский

2015-04-07

1.85 MB

19 чел.

1 ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ

1.1 Определение исходных отношений

Для обеспечения деятельности отдела «Автовокзал» необходимо иметь следующую информацию (Таблица 1):

Отношение, сформулированное в таблице 1, находится в первой нормальной форме, поскольку все атрибуты отношения являются атомарными.

Таблица 1

поле

Описание

lastName

Фамилия водителя

FirstName

Имя водителя

Patronemic

Отчество водителя

Experiense

Стаж работы

Year

Год рождения

Category

Категория водителя(D,E) 

class

Классность водителя(1,2,3)

DriverID

Идентификационный номер водителя

поле

Описание

BusNumber

Индетификационный номер автобуса

Brand

Марка автобуса

Picture

Фотография автобуса

model

Мадель автобуса

Capacity

Количество места в автобусе

YearBus

Год выпуска автобуса

YearRepair

Год капитального ремонта

Distance

Пробег автобуса ,км

Поле

Описание

RoutelId

Идентефикатор маршрута

PointStart

Начальный пункт

Pointstop

Конечный пункт

DataStart

Дата отправления

TimeStart

Время отпровления

TimeAll

Время в пути до конечного пункта

PlaceNumber

Номер места

PleceSign

Билет продан на автовокзале (да\нет)

SumDriver

Выручка на маршруте

SumTax

Штраф на водителя

Comment

Промежуточные пункты прохода

Для определения второй нормальной формы необходимо определить ключевой атрибут отношения. Для отношения «Водители» ключевым можно выбрать атрибут «Код_Водителя», который в базе данных никогда не повторится и однозначно идентифицирует здания.

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

Таким образом, получаем три отношения, находящиеся во второй нормальной форме (Таблицы 2-4).

Таблица 2 – 2НФ «Водители»

Наименование атрибута

Описание

IDDrivers

Код водителя

lastName

Фамилия водителя

FirstName

Имя водителя

Patronemic

Отчество водителя

Experiense

Стаж работы

Year

Год рождения

Category

Категория водителя(D,E) 

class

Классность водителя(1,2,3)

Таблица 3 – 2НФ «Автобусы»

Наименование атрибута

Описание

BusID

Код автобуса

BusNumber

Идентификационный номер автобуса

Brand

Марка автобуса

Picture

Фотография автобуса

model

Модель автобуса

Capacity

Количество места в автобусе

YearBus

Год выпуска автобуса

YearRepair

Год капитального ремонта

Distance

Пробег автобуса ,км

otprovleniyaID

Номер отправляемого маршрута

Таблица 4 – 2НФ «Информация о маршрутах»

Наименование атрибута

Описание

RoutelID

Идентификатор маршрута

PointStart

Начальный пункт

Pointstop

Конечный пункт

DataStart

Дата отправления

TimeStart

Время отправления

TimeAll

Время в пути до конечного пункта

PlaceNumber

Номер места

PleceSign

Билет продан на автовокзале (да\нет)

SumDriver

Выручка на маршруте

SumTax

Штраф на водителя

Otprovleniya

Номер отправляемого автобуса

Comment

Промежуточные пункты прохода

Отношения «Автобусы» и «Водители»  находятся в третьей нормальной форме, поскольку среди не ключевых атрибутов нет атрибутов, зависящих от ключа транзитивно.

Отношение  «Информация о маршрутах» не находятся в третьей нормальной форме.

Для приведения отношения в третью нормальную форму, необходимо выделить еще одно отношение: отношение «Билеты» и «Проходящие_маршруты». Тогда отношения «Информация о маршрутах», «Билеты» и «Проходящие_маршруты» будут находиться в третьей нормальной форме (Таблицы 5-7).

Таблица 5 – Отношение «Информация о маршрутах» в 3НФ

Наименование атрибута

Описание

RoutelId

Идентификатор маршрута

PointStart

Начальный пункт

Pointstop

Конечный пункт

DataStart

Дата отправления

TimeStart

Время отправления

TimeAll

Время в пути до конечного пункта

PlaceNumber

Номер места

PleceSign

Билет продан на автовокзале (да\нет)

SumDriver

Выручка на маршруте

SumTax

Штраф на водителя

otprovleniya

Номер отправляемого автобуса

Comment

Промежуточные пункты прохода

Таблица 6 – Отношение «Билеты» в 3НФ

Наименование атрибута

Описание

IDTikets

Код билета

Place

Место прибытия

Scena

Цена билеты

Bagage

Наличие багажа

RoutelID

Идентификатор маршрута

Таблица 7 – Отношение «Проходящие_маршруты» в 3НФ

Наименование атрибута

Описание

ProxodID

Код проходящего маршрута

PointStart

Начальный пункт

Pointstop

Конечный пункт

BusID

Код автобуса

PointProxod

Проходящие пункты

1.2 Проектирование ER-модели

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

- Водители;

- Автобусы;

- Информация о маршрутах;

- Билеты;

- Проходящие маршруты;

Таким образом, получаем следующие сущности (Таблицы 8- 12).

Таблица 8 – Сущность «Водители»

Наименование атрибута

Тип данных

IDDrivers

lastName

FirstName

Patronemic

Experiense

Year

Category

class

Таблица 9 – Сущность «Автобусы»

Наименование атрибута

Тип данных

BusID

BusNumber

Brand

Picture

model

Capacity

YearBus

YearRepair

Distance

otprovleniyaID

Таблица 10 – Сущность «Информация о маршрутах»

Наименование атрибута

Тип данных

RoutelId

PointStart

Pointstop

DataStart

TimeStart

TimeAll

PlaceNumber

PleceSign

SumDriver

SumTax

otprovleniya

Таблица 11 – Сущность «Билеты»

Наименование атрибута

Тип данных

IDTikets

Place

Scena

Bagage

RoutelID

Таблица 12- Сущность «Проходящие_маршруты»

Наименование атрибута

Тип даных

ProxodID

PointStart

Pointstop

BusID

PointProxod

Сущность «Автобус» и «Информацияо маршрутах» связаны связью 1:М, то есть один автобус может иметь пройти через несколько марщрутов. Связь осуществляется по атрибуту «BusID».

Сущность «Водители» и «Информация о маршрутах» связаны связью 1:М, то есть оди водитель может иметь несколько маршрутов. Связь осуществляется по атрибуту «IDDrivers».

Сущность «Информация о маршрутах» и «Билеты» связаны связью 1:М, то есть в одном маршруте может быть несколько билетов. Связь осуществляется по атрибуту «RoutelID».

Сущность «Информация о маршрутах» и «Проходящие маршруты» связаны связью 1:М, то есть один маршрут может иметь несколько проходящих маршрутов. Связь осуществляется по атрибуту «RoutelID».

ER-модель данных базы данных представлена на рисунке 1.

Рисунок 1 – УК-модель базы данных

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

2. Реализация базы данных

2.1 Создание таблиц и запросов

Реализация базы данных в Access начинается с реализации таблиц. Таблицы реализуются в соответствии с таблицами 8-12.

Таблица «Avtobys» имеет ключевое поле «BusID», тип данных в котором – «Счетчик», который автоматически увеличивается на единицу при каждой новой записи. Структура таблицы показана на рисунке 2.

Рисунок 2 – Структур таблицы «Avtobys»

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

Рисунок 3 – Таблица «Avtobys»

Таблица «Bilety» имеет ключевое поле «TiketsID», тип данных в котором – «Счетчик», который автоматически увеличивается на единицу при каждой новой записи. Структура таблицы показана на рисунке 4.

Рисунок 4 – Структур таблицы «Bilety»

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

Рисунок 5 – Таблица «Bilety»

Таблица «InfoMaechryta» имеет ключевое поле «RoutelID», тип данных в котором – «Счетчик», который автоматически увеличивается на единицу при каждой новой записи. Структура таблицы показана на рисунке 6.

Рисунок 6 – Структур таблицы «InfoMaechryta»

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

Рисунок 7 – Таблица «InfoMaechryta»

Таблица «ProxodMarchryta» имеет ключевое поле «ProxoID», тип данных в котором – «Счетчик», который автоматически увеличивается на единицу при каждой новой записи. Структура таблицы показана на рисунке 8.

Рисунок 8 – Структур таблицы «ProxodMarchryta»

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

Рисунок 9 –Таблица «ProxodMarchryta»

Таблица «Voditel» имеет ключевое поле «DriverID», тип данных в котором – «Счетчик», который автоматически увеличивается на единицу при каждой новой записи. Структура таблицы показана на рисунке 10.

Рисунок 10 – Структур таблицы «Voditel»

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

Рисунок 11 –Таблица «Voditel»

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

2.2 Реализация запросов

В базе данных созданы следующие запросы:

  1.  Запрос на выборку водителей по маршрутам. Запрос имеет параметр  - фамилию. В запросе участвуют таблицы «Voditely», «InfoMarchryta» (рис. 12).

SELECT Voditel.DriverID, Voditel.lastName, Voditel.FirstName, Voditel.Patronemic, InfoMarchryta.PointStart, InfoMarchryta.Pointstop, InfoMarchryta.DataStart, InfoMarchryta.TimeStart, InfoMarchryta.TimeAll

FROM Voditel INNER JOIN InfoMarchryta ON Voditel.DriverID = InfoMarchryta.DriverID;

Рисунок 12- Структура запроса на выборку водителей по маршрутам.

При выполнение запроса пользователь фамилию водителя и ему выводится его маршруты.

  1.  Запрос на выборку автобусов по маршруту. Запрос имеет параметр  - номер автобуса. В запросе участвуют таблицы «Avtobys», «InfoMarchryta» (рис. 13).

SELECT Avtobys.BusID, Avtobys.BusNumber, Avtobys.Brand, Avtobys.model, InfoMarchryta.PointStart, InfoMarchryta.Pointstop, InfoMarchryta.DataStart, InfoMarchryta.otprovleniya

FROM Avtobys INNER JOIN InfoMarchryta ON Avtobys.BusID = InfoMarchryta.BusID;

Рисунок 13- Структура запроса на выборку автобусов по маршруту.

При выполнение запроса пользователь вводит номер автобуса  владельца и ему выводится все маршруты на этот автобус.

Запросы используются для формирования отчетов.

3 Описание программного проекта

В данной главе описываются формы, созданные в среде BorlandDelphi для работы с базой данных.

Начинаем описание с формы 1- вход в предприятие «Газокомплект»: на ней 2 Edit где осуществляется ввод логина и пароля и 1 кнопка Button служит для перехода на главную форму (Рисунок 20).

Рисунок 20- вход в предприятие «Газокомплект»

Затем открывается главная Форма 2 на которой находится 6 кнопок Button служат для перехода на формы: квартиры, осмотр и показания, район и здания, осмотр квартир, показания квартир, квартиры по зданиям. Имеет фон расположенный с помощью Image (Рисунок 21).

Рисунок 21 – главная форма программы

Форма 3- Квартиры.

На этой форме расположены объекты: ADOConnection- соединяет форму с БД, ADOTable- соединяется с таблицей из БД, DataSource- соединяет объекты формы с таблицами БД с помощью ADOConnection. DBNavigator- будет нужен для пролистовки записи на DBEdit. Форма имеет 3 кнопки Button, две которые добавляют новые записи, а другая осуществляет переход на главную форму (Рисунок 22).

Рисунок 22- Квартиры

Форма 4- Осмотр и Показания.

На этой форме расположены объекты: ADOConnection- соединяет форму с БД, ADOTable- соединяется с таблицей из БД, DataSource- соединяет объекты формы с таблицами БД с помощью ADOConnection. DBNavigator- будет нужен для пролистовки записи на DBEdit, а в свою очередь DBEdit связан с двумя DBGrid. Форма имеет кнопку Button  осуществляющую переход на главную форму. На форме объединены 3 таблицы Осмотры, Показания и Квартиры (Рисунок 23).

Рисунок 23 – Осмотр и показания

Форма 5- Здания и квартиры.

На этой форме расположены объекты: ADOConnection- соединяет форму с БД, ADOTable- соединяется с таблицей из БД, DataSource- соединяет объекты формы с таблицами БД с помощью ADOConnection. DBNavigator- будет нужен для пролистовки записи на DBEdit,. Форма имеет кнопку Button  осуществляющую переход на главную форму. На форме объединены 2 таблицы Район и Здания (Рисунок 24).

Рисунок 24- Район и здания.

Форма 6- Осмотр квартир.

На этой форме расположены объекты: ADOConnection- соединяет форму с БД, ADOTable- соединяется с таблицей из БД, DataSource- соединяет объекты формы с таблицами БД с помощью ADOConnection. DBNavigator- будет нужен для пролистовки записи на DBEdit. Форма имеет кнопку Button  осуществляющую переход на главную форму (Рисунок 25).

Рисунок 25- Осмотр квартир.

Форма 7- Показания квартир.

На этой форме расположены объекты: ADOConnection- соединяет форму с БД, ADOTable- соединяется с таблицей из БД, DataSource- соединяет объекты формы с таблицами БД с помощью ADOConnection. DBNavigator- будет нужен для пролистовки записи на DBEdit. Форма имеет кнопку Button  осуществляющую переход на главную форму (Рисунок 26).

Рисунок 26- Показания квартир.

Форма 8- Показания квартир.

На этой форме расположены объекты: ADOConnection- соединяет форму с БД, ADOTable- соединяется с таблицей из БД, DataSource- соединяет объекты формы с таблицами БД с помощью ADOConnection. DBNavigator- будет нужен для пролистовки записи на DBEdit. Форма имеет кнопку Button  осуществляющую переход на главную форму (Рисунок 27).

Рисунок 27- Квартиры по зданиям.


Заключение

В курсовом проекте была разработана база данных «Газокомплект».

Целью курсового проектирования является автоматизация «Газокомплект».

Для достижения данной цели были решены следующие задачи:

Спроектирована база данных. В базе данных определены 9 таблицы, выполнена нормализация таблиц, определенны связи между таблицами. Все связи имеют тип «один ко многим» построена реалиционая модель базы данных.

Реализована база данных в среде MicrosoftAccess. Создано 9 таблицы, связи между таблицами, во всех таблицах определены первичные ключи. Выполнено тестовое заполнение таблицы.

В среде BorlandDelphi создано приложение для работы с базой данных, приложение содержит 8 форм:

Форма для работы с таблицами «Квартиры»

Форма для работы с таблицами «Осмотр», «Показания» и «Квартиры»

Форма для работы с таблицами «Район», «Здания»

Форма для работы с таблицами «Осмотр», «Квартиры»

Форма для работы с таблицами «Показания», «Квартиры»

Форма для работы с таблицами «Квартиры», «Здания»

Форма для входа «Вход в предприятие Газокомплект»

И главная форма «Предприятие Газокомплект»

Дальнейшим развитием проекта является: Изменение строение и внешнего вида сделанного в BorlandDelphi, добавление нескольких новых таблиц и т.д.


Приложения 1

unit Unit1;

interface

uses

 SysUtils, Classes, DB, ADODB;

type

 TfDM = class(TDataModule)

   ADOConnection1: TADOConnection;

   TOsmotr: TADOTable;

   TPokazania: TADOTable;

   TRaion: TADOTable;

   TStrany: TADOTable;

   TTipPerekr: TADOTable;

   TTipSten: TADOTable;

   TVidKvartir: TADOTable;

   TZdania: TADOTable;

   DSKvartiry: TDataSource;

   DSOsmotr: TDataSource;

   DSPokazania: TDataSource;

   DSRaion: TDataSource;

   DSStrany: TDataSource;

   DSTipPerekr: TDataSource;

   DSTipSten: TDataSource;

   DSVidKvartir: TDataSource;

   DSZdania: TDataSource;

   TKvartiry: TADOTable;

   TRaionKodRaiona: TAutoIncField;

   TRaionNazvanieRaiona: TWideStringField;

   TZdaniaKodZdania: TAutoIncField;

   TZdaniaKodRaiona: TIntegerField;

   TZdaniaKodSten: TIntegerField;

   TZdaniaKodPerekr: TIntegerField;

   TZdaniaFoto: TBlobField;

   TZdaniaBalancoderzatel: TWideStringField;

   TZdaniaPodezdDoma: TIntegerField;

   TZdaniaKvartiryDoma: TIntegerField;

   TOsmotrKvartir: TADOTable;

   TPokazaniaKvartir: TADOTable;

   DSOsmotrKvartir: TDataSource;

   DSPokazaniaKvartir: TDataSource;

   TZdaniaKvartiry: TADOTable;

   DSZdaniaKvartiry: TDataSource;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 fDM: TfDM;

implementation

{$R *.dfm}

end.

unit Unit2;

interface

uses

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

 Dialogs, StdCtrls, jpeg, ExtCtrls;

type

 TGlavnaia = class(TForm)

   Label1: TLabel;

   Label2: TLabel;

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   Button4: TButton;

   Button5: TButton;

   Button6: TButton;

   Image1: TImage;

   Image2: TImage;

   procedure Button3Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button4Click(Sender: TObject);

   procedure Button5Click(Sender: TObject);

   procedure Button6Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Glavnaia: TGlavnaia;

implementation

uses Unit3, Unit4, Unit5, Unit6, Unit7, Unit10;

{$R *.dfm}

procedure TGlavnaia.Button3Click(Sender: TObject);

begin

OsmotrPokazania.show;

Glavnaia.Hide;

end;

procedure TGlavnaia.Button2Click(Sender: TObject);

begin

RaionZdania.Show;

Glavnaia.Hide;

end;

procedure TGlavnaia.Button4Click(Sender: TObject);

begin

OsmotrKvartir.show;

Glavnaia.Hide;

end;

procedure TGlavnaia.Button5Click(Sender: TObject);

begin

PokazaniaKvartir.Show;

Glavnaia.Hide;

end;

procedure TGlavnaia.Button6Click(Sender: TObject);

begin

KvartiryZdania.show;

Glavnaia.Hide;

end;

procedure TGlavnaia.Button1Click(Sender: TObject);

begin

Kvartiry.show;

Glavnaia.Hide;

end;

end.

unit Unit3;

interface

uses

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

 Dialogs, DBCtrls, StdCtrls, Mask, ExtCtrls, jpeg;

type

 TRaionZdania = class(TForm)

   Button3: TButton;

   DBNavigator2: TDBNavigator;

   DBEdit8: TDBEdit;

   DBEdit3: TDBEdit;

   DBEdit10: TDBEdit;

   DBEdit9: TDBEdit;

   DBEdit7: TDBEdit;

   DBNavigator1: TDBNavigator;

   DBEdit1: TDBEdit;

   DBEdit2: TDBEdit;

   DBLookupComboBox1: TDBLookupComboBox;

   DBLookupComboBox2: TDBLookupComboBox;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   Label8: TLabel;

   Label9: TLabel;

   Label1: TLabel;

   Image1: TImage;

   Image2: TImage;

   Button1: TButton;

   Button2: TButton;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 RaionZdania: TRaionZdania;

implementation

uses Unit1, Unit8, Unit9, Unit2;

{$R *.dfm}

procedure TRaionZdania.Button1Click(Sender: TObject);

begin

TipSten.show;

end;

procedure TRaionZdania.Button2Click(Sender: TObject);

begin

TipPerekr.show;

end;

procedure TRaionZdania.Button3Click(Sender: TObject);

begin

Glavnaia.show;

RaionZdania.close;

end;

end.

unit Unit4;

interface

uses

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

 Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, Mask, jpeg;

type

 TOsmotrPokazania = class(TForm)

   DBEdit1: TDBEdit;

   Label1: TLabel;

   DBEdit2: TDBEdit;

   Label2: TLabel;

   DBEdit3: TDBEdit;

   Label3: TLabel;

   DBEdit4: TDBEdit;

   Label4: TLabel;

   DBEdit5: TDBEdit;

   Label5: TLabel;

   DBGrid1: TDBGrid;

   DBGrid2: TDBGrid;

   DBNavigator1: TDBNavigator;

   Button1: TButton;

   Image1: TImage;

   Image2: TImage;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 OsmotrPokazania: TOsmotrPokazania;

implementation

uses Unit1, Unit2;

{$R *.dfm}

procedure TOsmotrPokazania.Button1Click(Sender: TObject);

begin

Glavnaia.show;

OsmotrPokazania.Close;

end;

end.

unit Unit5;

interface

uses

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

 Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, jpeg;

type

 TOsmotrKvartir = class(TForm)

   Label1: TLabel;

   DBEdit2: TDBEdit;

   Label2: TLabel;

   DBEdit3: TDBEdit;

   DBNavigator1: TDBNavigator;

   Label3: TLabel;

   DBEdit4: TDBEdit;

   Label4: TLabel;

   DBEdit5: TDBEdit;

   Label5: TLabel;

   DBEdit1: TDBEdit;

   Label6: TLabel;

   DBEdit6: TDBEdit;

   Label7: TLabel;

   DBEdit7: TDBEdit;

   Button1: TButton;

   Image1: TImage;

   Image2: TImage;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 OsmotrKvartir: TOsmotrKvartir;

implementation

uses Unit1, Unit2;

{$R *.dfm}

procedure TOsmotrKvartir.Button1Click(Sender: TObject);

begin

Glavnaia.show;

OsmotrKvartir.Close;

end;

end.

unit Unit6;

interface

uses

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

 Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, jpeg;

type

 TPokazaniaKvartir = class(TForm)

   Label1: TLabel;

   DBEdit2: TDBEdit;

   DBNavigator1: TDBNavigator;

   Label2: TLabel;

   DBEdit1: TDBEdit;

   Label3: TLabel;

   DBEdit3: TDBEdit;

   Label4: TLabel;

   DBEdit4: TDBEdit;

   Label5: TLabel;

   DBEdit5: TDBEdit;

   Label6: TLabel;

   DBEdit6: TDBEdit;

   Label7: TLabel;

   DBEdit7: TDBEdit;

   Button1: TButton;

   Image1: TImage;

   Image2: TImage;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 PokazaniaKvartir: TPokazaniaKvartir;

implementation

uses Unit1, Unit2, Unit7;

{$R *.dfm}

procedure TPokazaniaKvartir.Button1Click(Sender: TObject);

begin

Glavnaia.Show;

PokazaniaKvartir.Close;

end;

end.

unit Unit7;

interface

uses

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

 Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, jpeg;

type

 TKvartiryZdania = class(TForm)

   Label1: TLabel;

   DBEdit2: TDBEdit;

   DBNavigator1: TDBNavigator;

   Label2: TLabel;

   DBEdit1: TDBEdit;

   Label3: TLabel;

   DBEdit3: TDBEdit;

   Label4: TLabel;

   DBEdit4: TDBEdit;

   Label5: TLabel;

   DBEdit5: TDBEdit;

   Label6: TLabel;

   DBEdit6: TDBEdit;

   Label7: TLabel;

   DBEdit7: TDBEdit;

   Button1: TButton;

   Image1: TImage;

   Image2: TImage;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 KvartiryZdania: TKvartiryZdania;

implementation

uses Unit1, Unit2;

{$R *.dfm}

procedure TKvartiryZdania.Button1Click(Sender: TObject);

begin

Glavnaia.show;

KvartiryZdania.Close;

end;

end.

unit Unit8;

interface

uses

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

 Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, jpeg;

type

 TTipSten = class(TForm)

   DBGrid1: TDBGrid;

   DBNavigator1: TDBNavigator;

   Image1: TImage;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 TipSten: TTipSten;

implementation

uses Unit1;

{$R *.dfm}

end.

unit Unit9;

interface

uses

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

 Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, jpeg;

type

 TTipPerekr = class(TForm)

   DBGrid1: TDBGrid;

   DBNavigator1: TDBNavigator;

   Image1: TImage;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 TipPerekr: TTipPerekr;

implementation

uses Unit1;

{$R *.dfm}

end.

unit Unit10;

interface

uses

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

 Dialogs, StdCtrls, ExtCtrls, DBCtrls, jpeg, Mask;

type

 TKvartiry = class(TForm)

   DBEdit1: TDBEdit;

   DBEdit2: TDBEdit;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   DBLookupComboBox1: TDBLookupComboBox;

   Label4: TLabel;

   DBEdit3: TDBEdit;

   DBCheckBox1: TDBCheckBox;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   Label8: TLabel;

   Label9: TLabel;

   DBEdit4: TDBEdit;

   DBLookupComboBox2: TDBLookupComboBox;

   DBEdit5: TDBEdit;

   DBEdit6: TDBEdit;

   Label10: TLabel;

   Label11: TLabel;

   Label12: TLabel;

   Label13: TLabel;

   Label14: TLabel;

   Label15: TLabel;

   Label16: TLabel;

   Label17: TLabel;

   DBEdit7: TDBEdit;

   DBEdit8: TDBEdit;

   DBEdit9: TDBEdit;

   DBEdit10: TDBEdit;

   DBEdit11: TDBEdit;

   DBEdit12: TDBEdit;

   DBEdit13: TDBEdit;

   DBEdit14: TDBEdit;

   Image1: TImage;

   Image2: TImage;

   DBNavigator1: TDBNavigator;

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Kvartiry: TKvartiry;

implementation

uses Unit1, Unit2, Unit12, Unit11;

{$R *.dfm}

procedure TKvartiry.Button1Click(Sender: TObject);

begin

Glavnaia.show;

Kvartiry.Close;

end;

procedure TKvartiry.Button2Click(Sender: TObject);

begin

VidKvartir.show;

end;

procedure TKvartiry.Button3Click(Sender: TObject);

begin

Stranya.show;

end;

end.

unit Unit11;

interface

uses

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

 Dialogs, jpeg, ExtCtrls, DBCtrls, Grids, DBGrids;

type

 TVidKvartir = class(TForm)

   DBGrid1: TDBGrid;

   DBNavigator1: TDBNavigator;

   Image1: TImage;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 VidKvartir: TVidKvartir;

implementation

uses Unit1;

{$R *.dfm}

end.

unit Unit12;

interface

uses

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

 Dialogs, jpeg, ExtCtrls, DBCtrls, Grids, DBGrids;

type

 TStranya = class(TForm)

   DBGrid1: TDBGrid;

   DBNavigator1: TDBNavigator;

   Image1: TImage;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Stranya: TStranya;

implementation

uses Unit1;

{$R *.dfm}

end.

unit Unit13;

interface

uses

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

 Dialogs, StdCtrls, jpeg, ExtCtrls;

type

 TVxod = class(TForm)

   Edit1: TEdit;

   Edit2: TEdit;

   Label1: TLabel;

   Label2: TLabel;

   Button1: TButton;

   Image1: TImage;

   Image2: TImage;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Vxod: TVxod;

implementation

uses Unit2;

{$R *.dfm}

procedure TVxod.Button1Click(Sender: TObject);

var a,s:string;

R:Word;

begin

a:='1';

s:='1';

If (Edit1.Text=a) and (Edit2.Text=s) then

begin

Glavnaia.Show;

Vxod.Hide;

end

Else R:=MessageDLG('Неверный логин или пароль',mtError,[mbYes],0);

end;

end.


 

А также другие работы, которые могут Вас заинтересовать

22539. Прочность и перемещения при центральном растяжении или сжатии 136 KB
  Напомним что под растяжением сжатием понимают такой вид деформации стержня при котором в его поперечном сечении возникает лишь один внутренний силовой фактор продольная сила Nz. Поскольку продольная сила численно равна сумме проекций приложенных к одной из отсеченных частей внешних сил на ось стержня для прямолинейного стержня она совпадает в каждом сечении с осью Oz то растяжение сжатие имеет место если все внешние силы действующие по одну сторону от данного поперечного сечения сводятся к равнодействующей направленной вдоль...
22540. Расчет статически неопределимых систем по допускаемым нагрузкам 116.5 KB
  Расчет статически неопределимых систем по допускаемым нагрузкам. Применение к статически определимым системам. Расчетная схема статически определимой стержневой системы Рассчитывая эту систему обычным путем найдем усилия N1 = N2 no формуле: из равновесия узла А. Это всегда имеет место для статически определимых конструкций при равномерном распределении напряжений когда материал по всему сечению используется полностью.
22541. Учет собственного веса при растяжении и сжатии 102 KB
  Длина стержня l площадь поперечного сечения F удельный вес материала и модуль упругости Е. Подсчитаем напряжения по сечению АВ расположенному на расстоянии от свободного конца стержня. Эти напряжения будут нормальными равномерно распределенными по сечению и направленными наружу от рассматриваемой части стержня т. Наиболее напряженным опасным будет верхнее сечение для которого достигает наибольшего значения l; напряжение в нем равно: Условие прочности должно быть выполнено именно для этого сечения: Отсюда необходимая площадь стержня...
22542. Расчет гибких нитей 148.5 KB
  Это так называемые гибкие нити. Обычно провисание нити невелико по сравнению с ее пролетом и длина кривой АОВ мало отличается не более чем на 10 от длины хорды АВ. В этом случае с достаточной степенью точности можно считать что вес нити равно мерно распределен не по ее длине а по длине ее проекции на горизонтальную ось т. Расчетная схема гибкой нити.
22543. Моменты инерции относительно параллельных осей 119.5 KB
  Моменты инерции относительно параллельных осей. Задачу получить наиболее простые формулы для вычисления момента инерции любой фигуры относительно любой оси будем решать в несколько приемов. Если взять серию осей параллельных друг другу то оказывается что можно легко вычислить моменты инерции фигуры относительно любой из этих осей зная ее момент инерции относительно оси проходящей через центр тяжести фигуры параллельно выбранным осям. Расчетная модель определения моментов инерции для параллельных осей.
22544. Главные оси инерции и главные моменты инерции 157 KB
  Главные оси инерции и главные моменты инерции. Как уже известно зная для данной фигуры центральные моменты инерции и можно вычислить момент инерции и относительно любой другой оси. Именно можно найти систему координатных осей для которых центробежный момент инерции равен. В самом деле моменты инерции и всегда положительны как суммы положительных слагаемых центробежный же момент может быть и положительным и отрицательным так как слагаемые zydF могут быть разного знака в зависимости от знаков z и у для той или иной площадки.
22545. Прямой чистый изгиб стержня 99.5 KB
  Прямой чистый изгиб стержня При прямом чистом изгибе в поперечном сечении стержня возникает только один силовой фактор изгибающий момент Мх рис. Так как Qy=dMx dz=0 то Mx=const и чистый прямой изгиб может быть реализован при загружении стержня парами сил приложенными в торцевых сечениях стержня. Сформулируем предпосылки теории чистого прямого изгиба призматического стержня. Для этого проанализируем деформации модели стержня из низкомодульного материала на боковой поверхности которого нанесена сетка продольных и поперечных рисок...
22546. Прямой поперечный изгиб стержня 122 KB
  Прямой поперечный изгиб стержня При прямом поперечном изгибе в сечениях стержня возникает изгибающий момент Мх и поперечная сила Qy рис. 1 которые связаны с нормальными и касательными напряжениями Рис. Связь усилий и напряжений а сосредоточенная сила б распределеннаяРис. Однако для балок с высотой сечения h l 4 рис.
22547. Составные балки и перемещения при изгибе 77.5 KB
  Составные балки и перемещения при изгибе ПОНЯТИЕ О СОСТАВНЫХ БАЛКАХ Работу составных балок проиллюстрируем на простом примере трехслойной балки прямоугольного поперечного сечения. Это означает что моменты инерции и моменты сопротивления трех независимо друг от друга деформирующихся балок должны быть просуммированы Если скрепить балки сваркой болтами или другим способом рис. 1 б то с точностью до пренебрежения податливостью наложенных связей сечение балки будет работать как монолитное с моментом инерции и моментом сопротивления...