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

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

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

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

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


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


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


З ДИСЦИПЛІНИ


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


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


Виконав:


Перевірив:


Херсон 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 выберем наш каталог с базой Люди, далее Кеер

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: