РефератыИнформатика, программированиеБаБаза данных Бюро знакомств

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


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



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



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



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


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


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


З ДИСЦИПЛІНИ


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


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


Виконав:


Перевірив:


Херсон 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<

/B>;

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


лок-схема
Unit7

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: База данных Бюро знакомств

Слов:4141
Символов:44842
Размер:87.58 Кб.