База данных Бюро знакомств

29748
знаков
0
таблиц
0
изображений

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ КОРАБЛЕБУДУВАННЯ

ім. адм. Макарова

Херсонський філіал


Кафедра інформаційних технологій


Курсова робота


З ДИСЦИПЛІНИ


“Об’єктно – орієнтоване програмування”


ТЕМА: Розробка програмного забезпечення “Бюро знайомств”


Виконав:


Перевірив:


Херсон 2004

Ход работы программы


Модуль Proect1 содержит информацию о всех 7-ми Формах.

Форма 1 (Unit1) состоит из 6-ти кнопок и хранит процедуры их обработки:

Кнопка Новая анкета позволяет создать новую анкету клиента, содержащую данные о нем.

Кнопка Просмотр анкет выводит список ранее зарегистрированных клиентов.

Кнопка Работа с архивом открывает таблицу, содержащую личные данные клиентов о себе и раздел анкет по полу.

Кнопка Просмотр архива открывает таблицу архива, содержащую личные данные и параметры клиентов.

Кнопка Просмотр сохраненных приглашений открывает диалоговое окно, содержащее информацию о текущем приглашении пары (по умолчанию в кафе “Ночной Тарзан”).

Кнопка Выход завершает работу программы Бюро знакомств.

Форма 2 (Unit 2) создаёт новую анкету, содержащую такие поля: Дата, Регистрационный номер (задаётся автоматически), Фамилия, Имя, Отчество, Пол, Возраст, О себе, Требования. Так же имеются 2 кнопки: OK – сохраняет новую, заполненную анкету, Cancel - отменяет создание новой анкеты.

Форма 3 (Unit3) – это форма, просмотра анкет, она содержит такие заполненные поля: Рег №, Дата регистрации, Имя, Фамилия, Возраст, Пол, данные клиента о себе и требования к партнёру. Так же есть строка поиска по регистрационному номеру и две кнопки: Удалить – удаляет полностью выбранную анкету, Выход – закрывает форму Просмотр анкет.

Форма 4 (Unit4) содержит таблицу, содержащую личные данные клиентов и сортировку пар по полу. Имеются 3 кнопки: Занести в архив – занос в архив выбранной пары, Выход – завершение работы с архивом, Подготовить приглашение – открывает окно подготовки приглашения пары в кафе “Ночной Тарзан” на вечер знакомства с кандидатом женского пола и кандидатом мужского пола. Далее приглашение можно сохранить нажатием кнопки Сохранить, либо отменить приглашение, нажатием кнопки Выйти.

Форма 5 (Unit5) состоит из строк для просмотра всех данных клиента: регистрационный номер, дата регистрации, пол, данные о себе, требования, возраст, ФИО. Так же имеется кнопка Выход – завершающая просмотр данной формы.

Форма 6 (Unit 6) открывает окно подготовки приглашения пары в кафе “Ночной Тарзан” на вечер знакомства с кандидатом женского пола и кандидатом мужского пола. Далее приглашение для дальнейшего редактирования можно сохранить нажатием кнопки Сохранить, что открывает окно диалога сохранения файла и сохраняем текстовую область Mtmo1 в указанный файл, либо отменить приглашение, нажатием кнопки Выйти.

Форма 7 (Unit7) представляет собой окно, для просмотра готовых приглашений тех пар, которым были назначены встречи, тут же можно отредактировать приглашение и сохранить заново. Имеются 3 кнопки:

Открытие приглашения – открытие готового приглашения, путём вывода окна диалога, которое открывает файл. В этом окне происходит заполнение текстовой области Memo1 из указанного файла;

Сохранить приглашение – даёт возможность сохранить новое, отредактированное приглашение путём открытия окна диалога сохранения файла и сохраняется текстовая область Memo1 в указанный файл;

Выход – завершение работы Unite7.


Текст программы

program Project1;


uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas' {Form2},

Unit3 in 'Unit3.pas' {Form3},

Unit4 in 'Unit4.pas' {Form4},

Unit5 in 'Unit5.pas' {Form5},

Unit6 in 'Unit6.pas' {Form6},

Unit7 in 'Unit7.pas' {Form7};


{$R *.res}


begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm4, Form4);

Application.CreateForm(TForm5, Form5);

Application.CreateForm(TForm6, Form6);

Application.CreateForm(TForm7, Form7);

Application.Run;

end.


unit Unit1;


interface


uses

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

Dialogs, StdCtrls;


type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button4: TButton;

Button3: TButton;

Button5: TButton;

Button6: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form1: TForm1;


implementation


uses Unit2, Unit3, Unit4, Unit5, Unit7;


{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);//Процедура обработки клика кнопки "Новая форма"

begin

form2.ShowModal; //показ формы Form2. Форма открывается в режиме при котором другие формы не доступны

end;


procedure TForm1.Button2Click(Sender: TObject);//Процедура обработки клика кнопки "Просмотр анкет"

begin

Form3.showmodal;//показ формы Form3. Форма открывается в режиме при котором другие формы не доступны

end;


procedure TForm1.Button4Click(Sender: TObject);//Процедура обработки клика кнопки "Выход"

begin

Close;//Закрытие формы Form1, что означает выход из программы

end;


procedure TForm1.Button3Click(Sender: TObject);//Процедура обработки клика кнопки "Работа с архивом"

begin

form4.ShowModal;//показ формы Form4. Форма открывается в режиме при котором другие формы не доступны

end;


procedure TForm1.Button5Click(Sender: TObject);//Процедура обработки клика кнопки "Просмотр архива"

begin

form5.Table1.Open; //откритие таблицы Table1 находящейся на форме FORM5

form5.ShowModal; //показ формы Form5. Форма открывается в режиме при котором другие формы не доступны

end;


procedure TForm1.Button6Click(Sender: TObject);

begin

form7.ShowModal;//показ формы Form7. Форма открывается в режиме при котором другие формы не доступны

end;


end.



unit Unit2;


interface


uses

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

Dialogs, DBCtrlsEh, Mask, DBCtrls, DB, DBTables, StdCtrls, Buttons;


type

TForm2 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

DBMemo1: TDBMemo;

DBMemo2: TDBMemo;

Table1: TTable;

DataSource1: TDataSource;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBDateTimeEditEh1: TDBDateTimeEditEh;

DBEdit5: TDBEdit;

Label6: TLabel;

Label7: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

DBEdit6: TDBEdit;

Label8: TLabel;

procedure FormCreate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

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

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form2: TForm2;


implementation


uses Unit3;


{$R *.dfm}


procedure TForm2.FormCreate(Sender: TObject);//При показе, активации и создании формы Form2 выполняются действия:

begin

Table1.Open;//Открывается таблица Table1

table1.Append;//Добавляется в конец таблицы новая строка в таблицу Table1

table1.FieldByName('date').AsDateTime:=date;//Записываем в текущую строку в поле Date сегодняшнее число

table1.Post; //Сохранение изменений

table1.edit; //Начинаем изменения в таблице Table1 в текущей сторке


end;


procedure TForm2.BitBtn1Click(Sender: TObject);//Процедура обработки клика кнопки "ОК"

begin

table1.Post; //Сохранение изменений

close;//Закрытие формы Form2

end;


procedure TForm2.BitBtn2Click(Sender: TObject);

begin

table1.Cancel;//отмена изменений

table1.Delete;//Удаление текущей строки в таблице Table1

close;//Закрытие формы Form2


end;


procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);//Процедура обработки событя при закрытии формы Form2

begin

form3.Table1.Refresh;//Обновление данных в таблице Table1 находящейся на форме Form3

end;


end.



unit Unit3;


interface


uses

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

Dialogs, StdCtrls, DBCtrls, Grids, DBGrids, Buttons, ExtCtrls, DB,

DBTables;


type

TForm3 = class(TForm)

DataSource1: TDataSource;

Table1: TTable;

Panel1: TPanel;

DBGrid1: TDBGrid;

DBMemo1: TDBMemo;

DBMemo2: TDBMemo;

Button1: TButton;

Button2: TButton;

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Label3: TLabel;

procedure FormCreate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Edit1Change(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form3: TForm3;


implementation


{$R *.dfm}


procedure TForm3.FormCreate(Sender: TObject); //прцедура обработки события при создании формы Form3

begin

table1.Open;//Открытие таблицы table1

end;


procedure TForm3.BitBtn1Click(Sender: TObject);//Процедура обработки клика кнопки "Удалить"

begin

table1.Delete;//Удаление текущей строки в таблице Table1

end;


procedure TForm3.Button2Click(Sender: TObject);//Процедура обработки клика кнопки "Выход"

begin

Close;//Закрытие Form3

end;


procedure TForm3.Edit1Change(Sender: TObject);

begin

Try //Задействование обработчика ошибок

Table1.FindKey([strtoint(edit1.Text)]); //Поиск по индексу (ставит курсор в таблице ближе всего находящейся к искомому значению)

except

Showmessage('Не верный параметр для поиска'); //в солучае возникновения ошибки будет дано сообщение

end;

end;


end.



unit Unit4;


interface


uses

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

Dialogs, StdCtrls, DB, Grids, DBGrids, DBTables;


type

TForm4 = class(TForm)

Table1: TTable;

Table2: TTable;

Table3: TTable;

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

DataSource1: TDataSource;

DataSource2: TDataSource;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

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

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form4: TForm4;


implementation


uses Unit6;


{$R *.dfm}


procedure TForm4.Button2Click(Sender: TObject);

begin

close;

end;


procedure TForm4.Button1Click(Sender: TObject);//Процедура обработки клика кнопки "Занести в архив"

begin

//table1.Open;

//table2.Open;

table1.DisableControls;//Отмена слежения за изменениями в таблице Table1

table2.DisableControls;//Отмена слежения за изменениями в таблице Table2

table3.Open;//Открываем таблицу Table3

table3.Append;//Добавляем в конец таблицы новую строку

table3.FieldByName('reg').AsInteger:=table1.FieldByName('reg').AsInteger;//копируем в поле "REG" таблицы Table3 значение поля "REG" таблицы Table1

table3.FieldByName('date').Asdatetime:=table1.FieldByName('date').Asdatetime;//копируем в поле "DATE" таблицы Table3 значение поля "DATE" таблицы Table1

table3.FieldByName('pol').Asstring:=table1.FieldByName('pol').Asstring;//копируем в поле "POL" таблицы Table3 значение поля "POL" таблицы Table1

table3.FieldByName('osebe').AsVariant:=table1.FieldByName('osebe').AsVariant;//копируем в поле "OSEBE" таблицы Table3 значение поля "OSEBE" таблицы Table1

table3.FieldByName('treb').AsVariant:=table1.FieldByName('treb').AsVariant;//копируем в поле "TREB" таблицы Table3 значение поля "TREB" таблицы Table1

table3.FieldByName('name').Asstring:=table1.FieldByName('name').Asstring;//копируем в поле "NAME" таблицы Table3 значение поля "NAME" таблицы Table1

table3.FieldByName('family').Asstring:=table1.FieldByName('family').Asstring;//копируем в поле "FAMILY" таблицы Table3 значение поля "FAMILY" таблицы Table1

table3.FieldByName('father').Asstring:=table1.FieldByName('Father').Asstring;//копируем в поле "FATHER" таблицы Table3 значение поля "FATHER" таблицы Table1

table3.Post;//Сохраняем изменения в таблице Table3

table3.Append;//Добавляем в конец таблицы новую строку

table3.FieldByName('reg').AsInteger:=table2.FieldByName('reg').AsInteger;//копируем в поле "REG" таблицы Table3 значение поля "REG" таблицы Table2

table3.FieldByName('date').Asdatetime:=table2.FieldByName('date').Asdatetime;//копируем в поле "DATE" таблицы Table3 значение поля "DATE" таблицы Table2

table3.FieldByName('pol').Asstring:=table2.FieldByName('pol').Asstring;//копируем в поле "POL" таблицы Table3 значение поля "POL" таблицы Table2

table3.FieldByName('osebe').AsVariant:=table2.FieldByName('osebe').AsVariant;//копируем в поле "OSEBE" таблицы Table3 значение поля "OSEBE" таблицы Table2

table3.FieldByName('treb').AsVariant:=table2.FieldByName('treb').AsVariant;//копируем в поле "TREB" таблицы Table3 значение поля "TREB" таблицы Table2

table3.FieldByName('name').Asstring:=table2.FieldByName('name').Asstring;//копируем в поле "NAME" таблицы Table3 значение поля "NAME" таблицы Table2

table3.FieldByName('family').Asstring:=table2.FieldByName('family').Asstring;//копируем в поле "FAMILY" таблицы Table3 значение поля "FAMILY" таблицы Table2

table3.FieldByName('father').Asstring:=table2.FieldByName('Father').Asstring;//копируем в поле "FATHER" таблицы Table3 значение поля "FATHER" таблицы Table2

table3.Post;//Сохраняем изменения в таблице Table3

Button3Click(Sender);//Вызов процедуры Button3Click(см ниже)

table1.Delete;//Удаляем текущую строку из таблицы TABLE1

table2.Delete;//Удаляем текущую строку из таблицы TABLE2

table1.EnableControls;//Возобновляем контроль над таблицей TABLE1

table2.EnableControls;//Возобновляем контроль над таблицей TABLE2

table1.Refresh;//Обновляем данные в таблице Table1

table2.Refresh;//Обновляем данные в таблице Table1


end;


procedure TForm4.FormShow(Sender: TObject); //При показе формы Form4 выполняются действия:

begin

table1.Open;//открытие таблицы Table1

table2.Open;//открытие таблицы Table2

end;


procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);//При закрытии формы Form4 выполняются действия:

begin

table1.Close;//Закрытие таблицы Table1

table2.Close;//Закрытие таблицы Table2

end;


procedure TForm4.Button3Click(Sender: TObject);//Процедура обработки клика кнопки "Подготовить приглашение"

var ff:textfile;//Объявление типа файловой переменной

begin

assignfile(ff,'c:\Prigl.txt'); //процедура ассоциации имени файла с файловой переменной FF

rewrite(ff);//Перезапись файла

Writeln(ff,'Приглашение в кафе "Ночной Тарзан"');//Добавляем строку в файл

Writeln(ff,'На вечер знакомства с '+table1.fieldbyname('Family').asstring+' '+table1.fieldbyname('Name').asstring);//Добавляем строку в файл со значениями некоторых полей из таблиц Table1 и Table2

Writeln(ff,' и '+table2.fieldbyname('Family').asstring+' '+table2.fieldbyname('Name').asstring);

closefile(ff);//Закрытие файла

form6.Memo1.Lines.LoadFromFile('c:\Prigl.txt');//Заполняем текстовое поле Memo1 в окне формы 6 содержимым только что сохранненого файла

form6.ShowModal;//показ формы Form6. Форма открывается в режиме при котором другие формы не доступны

end;

end.



unit Unit5;


interface


uses

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

Dialogs, StdCtrls, Buttons, DBCtrls, ExtCtrls, DB, DBTables, Grids,

DBGrids;


type

TForm5 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Table1: TTable;

Panel1: TPanel;

DBMemo1: TDBMemo;

DBMemo2: TDBMemo;

BitBtn1: TBitBtn;

Label1: TLabel;

Label2: TLabel;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form5: TForm5;


implementation


{$R *.dfm}


procedure TForm5.BitBtn1Click(Sender: TObject);

begin

close;//закрытие формы Form5

end;


end.



unit Unit6;


interface


uses

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

Dialogs, StdCtrls, ExtCtrls;


type

TForm6 = class(TForm)

Memo1: TMemo;

Panel1: TPanel;

Button1: TButton;

Button2: TButton;

SaveDialog1: TSaveDialog;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form6: TForm6;


implementation


{$R *.dfm}


procedure TForm6.Button1Click(Sender: TObject);

begin

if SaveDialog1.Execute then memo1.Lines.SaveToFile(SaveDialog1.FileName);//Открываем окно диалога сохранения файла и сохраняем текстовую область Memo1 в указанный файл

end;


procedure TForm6.Button2Click(Sender: TObject);

begin

Close;//Закрытие формы

end;


end.



unit Unit7;


interface


uses

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

Dialogs, StdCtrls, ExtCtrls;


type

TForm7 = class(TForm)

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

Panel1: TPanel;

Memo1: TMemo;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form7: TForm7;


implementation


{$R *.dfm}


procedure TForm7.Button3Click(Sender: TObject);

begin

Close;//Закрытие формы Form7

end;


procedure TForm7.Button1Click(Sender: TObject);

begin

If OpenDialog1.Execute then memo1.Lines.LoadFromFile(OpenDialog1.FileName);//Открываем окно диалога открытия файла и заполняем текстовую область Memo1 из указанного файла

end;


procedure TForm7.Button2Click(Sender: TObject);

begin

If SaveDialog1.Execute then memo1.Lines.SaveToFile(SaveDialog1.FileName);//Открываем окно диалога сохранения файла и сохраняем текстовую область Memo1 в указанный файл

end;


end.


Целью моей курсовой работы является программирование базы даных с помощью Delphi 7. Прежде чем начать выполнять свое задание рассмотрим эту систему программирования, в общем.

Delphi - это греческий город, где жил дельфийский оракул. И этим именем был назван новый программный продукт с феноменальными характеристиками.


Delphi - это комбинация нескольких важнейших технологий:

Высокопроизводительный компилятор в машинный код

Объектно-ориентированная модель компонент

Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов

Масштабируемые средства для построения баз данных


Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”. Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL.

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

Cреда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных.

В Delphi визуальные компоненты пишутся на объектном паскале, на том же паскале, на котором пишется алгоритмическая часть приложения. И визуальные компоненты Delphi получаются открытыми для надстройки и переписывания.

Delphi использует структурный объектно-ориентированный язык (Object Pascal), который сочетает с одной стороны выразительную мощь и простоту программирования, характерную для языков 4GL, а с другой стороны эффективность языка 3GL.


Структура базы данных


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

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

Компьютерная база данных представляет собой файл (или набор связанных файлов), содержащий информацию.

База данных состоит из записей. Каждая запись содержит информацию об одном экземпляре. Записи состоят из полей. Каждое поле содержит информацию об одной характеристике экземпляра. Например, запись базы данных “Бюро знакомств” состоит из следующих полей: "Регистрационный номер", "Дата регистрации", "ФИО", "Возраст", "Пол". Содержимое этих полей характеризует личность клиентов Бюро знакомств.

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

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

Информацию компьютерных баз данных обычно выводят на экран в виде таблиц. Поэтому в литературе довольно часто вместо словосочетания "файл данных" используется словосочетание "таблица данных" или просто "таблица".


Программа управления базой данных


Перед тем как приступить непосредственно к разработке приложения управления базой данных, необходимо, используя утилиту Database Desktop, создать файл данных (таблицу) и добавить в нее несколько записей. Приложение работы с базой данных должно содержать компоненты, обеспечивающие доступ к данным, возможность просмотра и редактирования содержимого полей. Компоненты доступа к данным находятся на вкладке Data Access палитры компонентов, а компоненты отображения данных — на вкладке Data Controls.


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


Приложения баз данных могут получать доступ к источникам данных при помощи разнообразных технологий

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

Delphi имеет стандартное ядро, структура которого определена архитектурой приложения баз данных.

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

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

В основе процесса разработки лежит триада компонентов:

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

- невизуальные компоненты TDataSource;

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


Для создания таблицы автономной базы имеется приложение
Database Desktop, которое вызывается командой Tools/Database Desktop.
Оно имеет собственное окно, меню и кнопки (заставка этого пункта). Новая таблица создается построителем таблиц, который вызывается командой File/New/ТаЫе. На запрос тип СУБД выберем Рагаdох 7.

Рассмотрим основные колонки и поля окна конструктора таблиц.
File Name - идентификаторы полей (не более латинских букв и цифр для совместимости с другими СУБД).

Туре - тип поля (указывается выбором из контекстного меню): А1рhа (А - строка из не более чем 255, символов), Number (N - число с плавающей точкой), Моnеу ($ - аналогичен типу NumЬег, но добавляется денежный знак), Short (S - целое число в диапазоне -32768..32767), LongIntereger (I целое число в диапазоне-2147483.. 2147483647), ВСD (# - число в двоично-десятичном формате), Datе (D - дата). Time (Т - время), Timestamp (@ - дата и время), Меmо (М - строка любой длины), Formatted Memo (F - аналогичен Меmо, но может содержать форматированный текст), Graphic (G -изображение ВМР, РСХ, ТIF, СИР, ЕРS), ОLЕ (О - объект ОLЕ), Logical (L логическое - Т, F), Autoincrement (+ - при добавлении записи, автоматически формируется уникальное значение), Вinary (В – последовательность байтов любой длины), Вуtes (У последовательность не более, чем 255 байтов).

Size- размер поля в байтах.

Кеу - признак первичного ключевого поля (двойной щелчок по колонке).
Таbles properties - дополнительные свойства таблицы: Secondary Index (задание вторичных индексов), Validity Checks (ограничения на ввод значений полей). Рassword Security (определение пароля), Referential Intergity (определение ссылочной целостности между таблицами), ТаЫе Language(задание языка), ТаЫе Lоокор (задание полей просмотра), Depending ТаЫеs(зависимые дочерние таблицы).

Requierd Filed - признак обязательного заполнения поля.
Мiniтит..., Махiпит... - начало и конец диапазона допустимых значений.
Default vа1ие - значение по умолчанию при добавлении пустой записи.
Р1сture,Assist - шаблон и построитель шаблона значения поля.


Вторичные ключи (индексы) создаются путем выбора из списка свойств таблицы строки Secondary Indexes, и после нажатия кнопки Define выводится окно Define Secondary Indexes. Используя кнопки со стрелками или двойными щелчками, перенесем нужное поле или несколько полей, если ключ составной, в список индексов. Имеются переключатели: Unique (уникальный индекс), Саse sensitive (учет регистров строковых полей), Descending (сортировка по возрастанию). Кнопкой ОК. производится выход с указанием имени индекса. Поле, которое является первичным ключом другой родительской таблицы, называют внешним ключом. Для связи таблиц обычно создают индексы по внешним ключам. После формирования таблицы она сохраняется, если нажать кнопку Save As, под указанным именем; при этом в поле имени файла можно указать как
полное имя с каталогами, так и псевдоним базы (Аlias). Псевдоним позволяет не привязываться к каталогу, который может меняться в дальнейшем.


Для создания псевдонима выполним команду Тоо1s/Аlias Мапаger, и появится окно Аlias Маnаgег.

Нажмем кнопку New и в поле Database alias введем имя

псевдонима Учет, кнопкой Вrowse выберем наш каталог с базой Люди, далее Кеер New и ОК.

Командой File/Working Directory установим текущий каталог, выбрав псевдоним Курсовая в списке Alias, займемся созданием таблиц.



Таблица Люди, будет иметь столбцы: Люди, Регистрационный номер, Дата регистрасии, Пол, О себе, Требования, Возраст, ФИО.

Вторая таблица – Архив будет иметьаналогичные названия столбцов.



Для корректировки и просмотра открытой таблицы имеются команды ТаЫе/Restructure (кнопка Restructure) и ТаЫе/Into Structure. Для переименования таблицы следует сохранить ее под новым именем. Для заполнения и редактирования таблицы, после ее связывания с другими таблицами, испочьзуется кнопка Edit Data и меню Record приложения Database Deskot (кириллицу при вводе использовать нельзя).


Сведения о бюро знакомств


С судьбой можно встретиться еще в школе. Или в институте. Можно выйти замуж за кучерявого брюнета из соседнего дома или познакомиться с будущей женой в очереди за жетончиками метро. Вариантов масса. Но даже если все варианты испробованы, а своего единственного вы еще не встретили, остается еще один вариант - знакомство через Бюро знакомств.

Бытует мнение, что в службу знакомств обращаются в основном несчастные, никому ненужные люди. Конечно, можно еще подумать, а можно отнестись к проблеме более целеустремленно. На самом деле это люди с активной жизненной позицией, которые смогли побороть в себе какие-то комплексы и решили попробовать цивилизованный способ знакомства.

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

Названию "брачное агентство" лучше предпочесть более нейтральное - "служба знакомств". Это позволит избегать трудновыполнимых обещаний, поскольку каких-либо гарантий в деле устройства чьей-то судьбы просто не существует.

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


Применение программы на практике


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

Люди приходили в эти службы, заполняли анкеты, оставляя данные о себе, оставляли так же и требования к человеку, которого хотели бы найти.

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

Моя задача – облегчить поиск и подбор желающих познакомиться с новыми людьми через бюро знакомств.

Программа, написанная мной, может хранить данные о личности, такие как ФИО, возраст, пол, дату регистрации, описания внешности и других характеристик клиента, а так же требования, удовлетворяющие желание клиента в поиске избранницы либо избранника. Реализован поиск по регистрационному номеру, что удобно как для работника бюро знакомств (для сортировки анкет), так и для клиентов. Клиент может зарегистрироваться, оставив анкету в бюро знакомств, и автоматически получить регистрационный номер, что поможет при объявлении в той же газете. Введя определённый регистрационный номер, компьютер автоматически выводит все данные о человеке.


Блок-схема Unit1


Блок-схема Unit2


Блок-схема Unit3


Б

Подготовка приглашения и сохранения в выбранный файл

Занесение изменений в таблицу table3

Закрытие формы Form4

лок-схема Unit4

Б

Закрытие формы Form5

лок-схема Unit5

Б

Закрытие формы Form5

Сохранение изменений в выбранный файл

лок-схема Unit6

Б

Сохранение изменений в выбранный файл

Открытие выбранного файл

Закрытие формы Form7

лок-схема U
Информация о работе «База данных Бюро знакомств»
Раздел: Информатика, программирование
Количество знаков с пробелами: 29748
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
150609
31
0

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

Скачать
168397
13
0

... его увеличением для целей инфор­мационного обеспечения исполнительных местных органов [7,8]. 3 ОПЫТ УПРАВЛЕНИЯ И ОБОЩЕНИЕ ДАННЫХ НА ПРИМЕРЕ АЛМАТИНСКОГО ОБЛАСТНОГО УПРАВЛЕНИЯ СТАТИСТИКИ3.1 Алматинское областное управление статистики как субъект сбора и обобщения статистической информации   В своей деятельности Алматинское областное управление статистики (АОУС) руководствуется ...

Скачать
273302
51
24

... мира (2,17 млн. кв. км.). Общая площадь "материковой" части страны - 42,9 тыс. кв. км. ПОГОДА Город to воды пн, 19.1 вт, 20.1 ср, 21.1 чт, 22.1 Дания Копенгаген - +2 / -1 частичная облачность -4 / -8 дождь со снегом -3 / -8 Эсбъерг +2 +5 / 0 +1 / -3 преимущественная облачность -1 / -5 преимущественная облачность ...

Скачать
189143
1
0

... указывает, что первичные документы составляются только по унифицированным формам. Очень важна статья закона о хранении документов. 2.2      Указы Президента РФ, регулирующие нормативно – правовую и методическую базу современного делопроизводства Указы Президента РФ в области документационного обеспечения управления можно разделить на 2 группы: -указы, дополняющие законодательство о работе ...

0 комментариев


Наверх