Реализация системного каталога. Основные хранимые характеристики: отношения, атрибуты с типами связи, индексы

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



заполняет два поля Foreign(туда записывается имя поля - внешний ключ) и References (содержит имя таблицы).

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

Рисунок 5 - Просмотр системного каталога

Рисунок 6 - Просмотр полей системного каталога

Заключение

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

написаны подпрограммы, реализующие ввод таблиц, полей и ключей;

написаны подпрограммы, создающие системный каталог;

создано приложение, позволяющее добавлять таблицы, поля и ключи, а также выводить данные из системного каталога;

Поставленная в работе цель достигнута, все задачи выполнены полностью.

Список литературы

1.Швецов, В.И., Визгунов, А.Н., Мееров, И.Б. Базы данных [Текст]. - Учебное пособие. - Нижний Новгород: Издательство ННГУ, 2004.- 217 с.

.Рыженков, Д.В. Курс лекций по диiиплине Базы данных, 2009 г.

3.Дейт, К.Дж. Введение в системы баз данных, 6-е издание [Текст]: [пер. С англ.] /К.ДЖ. ДеЙт. - М. [и др.]: Вильямс, 2000. - 848 с.; 24 см. 4000 экз. - ISBN: 5-8459-0019-0.

системный каталог ввод атрибут

Приложение А (обязательное)

Листинг программы

Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Grids, Menus, MyFunction;= class(TForm): TMainMenu;: TMenuItem; //действие: TMenuItem; //добавить: TMenuItem; //таблицу: TMenuItem; //поле: TMenuItem; //ключ: TMenuItem; //просмотр: TMenuItem; //exit: TStringGrid;: TButton;: TEdit;: TLabel;: TComboBox;: TLabel;: TEdit;: TLabel;: TComboBox;: TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TRadioButton;: TRadioButton;: TRadioButton;: TMemo;: TRadioButton;: TCheckBox;: TEdit;N3Click(Sender: TObject);FormCreate(Sender: TObject);Button1Click(Sender: TObject);N4Click(Sender: TObject);ComboBox1DropDown(Sender: TObject);ComboBox1Change(Sender: TObject);ComboBox2Change(Sender: TObject);ComboBox1Select(Sender: TObject);N5Click(Sender: TObject);ComboBox2Select(Sender: TObject);N6Click(Sender: TObject);RadioButton1Click(Sender: TObject);RadioButton2Click(Sender: TObject);RadioButton3Click(Sender: TObject);CheckBox1Click(Sender: TObject);RadioButton4Click(Sender: TObject);N7Click(Sender: TObject);N9Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;: integer;: TextFile; //Файл таблиц: TextFile; //Файл полей: TextFile; //Файл ключей:TextFile;,SpisokField,SpisokKeys,Content,Temp,Temp1,Temp2, Temp3, Temp4:string;, Primary, Foreign, Column, ColumnType,SpisokPrint: string;:boolean;: integer;

{$R *.dfm}ClearAll;i,j:integer;.Label1.Visible:=false;.Label2.Visible:=false;.Label3.Visible:=false;.Label4.Visible:=false;.Label5.Visible:=false;.Label6.Visible:=false;.Button1.Visible:=false;.Edit1.Visible:=false;.Edit2.Visible:=false;.Edit3.Visible:=false;.Edit4.Visible:=false;.Edit5.Visible:=false;.Stringgrid1.Visible:=false;.ComboBox1.Visible:=false;.ComboBox2.Visible:=false;.RadioButton1.Visible:=false;.RadioButton2.Visible:=false;.RadioButton3.Visible:=false;.RadioButton4.Visible:=false;.Memo1.Visible:=false;.CheckBox1.Visible:=false;

;

TForm1.N3Click(Sender: TObject);;:=1;.Label1.Caption:='название таблицы';.Label1.Visible:=true;.Edit1.Text:='';.Edit1.Visible:=true;.Button1.Visible:=true;.Button1.Caption:='Добавить';TForm1.FormCreate(Sender: TObject);;;TForm1.Button1Click(Sender: TObject);i:integer;:boolean;,Temp1,Temp2:string;(MyAction=1) then

//Добавляем таблицуform1.Edit1.Text<>'' then(Form1.Edit1.Text);('Таблица добавлена');(MyAction=2) then

//Добавляем поле(ComboBox1.Text'')then(edit5.Text,ComboBox1.Text, Edit2.Text);('Индекс добавлен');;;if (MyAction=3) then

//Добавляем ключ(Trim(ComboBox1.Text)'.' then inc(i) else break;i<Length(Str) then:=Copy(Str,1,i-1);:=Copy(Str,i+1,Length(Str));InField(Temp1, Temp2) then(Trim(ComboBox1.Text), '', Trim(Edit3.Text), Trim(Edit4.Text), 'Foreign');('Ключ добавлен');('Указанного поля в References '+Temp2+' не найдено в таблице '+Temp1, mtError, [mbOk], 0)('Неправльный формат поля References', mtError, [mbOk], 0)('Указанного поля в Foreign не найдено в таблице '+Trim(ComboBox1.Text), mtError, [mbOk], 0)('Не все поля заполнены', mtError, [mbOk], 0);;;if (MyAction=5) then

//изменяем имя таблицы(Trim(ComboBox1.Text),edit2.Text) ;;radiobutton2.Checked=true then:=FPrintStr();(Content,combobox1.Text, StringGrid1);;;

//добавляем полеTForm1.N4Click(Sender: TObject);;:=2;.ComboBox1.Visible:=true;.Label1.Visible:=true;.Label1.Caption:='Таблица';.Label2.Visible:=true;.Label2.Caption:='Имя поля';.Label3.Visible:=true;.Label3.Caption:='Тип';.Label4.Visible:=true;.Label4.Caption:='Длина';.Edit2.Visible:=true;.Edit3.Visible:=true;.Button1.Visible:=true;.Button1.Caption:='Добавить';.ComboBox2.Visible:=true;.CheckBox1.Visible:=true;.Items.Clear;.Items.Add('int');.Items.Add('char');.Items.Add('varchar');.Items.Add('double');.Text:='Выбрать';;TForm1.CheckBox1Click(Sender: TObject);.Edit5.Visible:=true;;TForm1.ComboBox1Change(Sender: TObject);.Text:='Выбрать';;TForm1.ComboBox2Change(Sender: TObject);.Text:='Выбрать';;TForm1.ComboBox1Select(Sender: TObject);, j, k, n, m: integer;(MyAction=2) then

//Читаем список полей:=FSpisokField;

// ComboBox2.Items.Clear;:=1;:=0;:='';:='';i'|' then Temp1:=Temp1+Temp[j]if Temp1=ComboBox1.Text then:=Temp1+'|';:=Copy(Temp,j+1,Length(Temp)-j-1);.Items.Add(Temp);:='';:='';:=Length(Temp);;(j);;:='';:='';:=0;:=Length(Content);;(k);;:='';;(i);;;;TForm1.N6Click(Sender: TObject);;:=4;.Caption:='Просмотр данных';.Visible:=true;.RadioButton1.Visible:=true;.RadioButton2.Visible:=true;.RadioButton3.Visible:=true;.RadioButton4.Visible:=true;;TForm1.N7Click(Sender: TObject);.Close;;TForm1.N9Click(Sender: TObject);;:=5;.ComboBox1.Visible:=true;.Label1.Visible:=true;.Label1.Caption:='Таблица';.Label2.Visible:=true;.Label2.Caption:='Новое Имя';.Edit2.Visible:=true;.Button1.Visible:=true;;TForm1.RadioButton1Click(Sender: TObject);i,j:integer;.Memo1.Visible:=false;i:=0 to Form1.StringGrid1.RowCount doj:=0 to Form1.StringGrid1.ColCount do.StringGrid1.Cells[i,j]:='';.Visible:=true;.StringGrid1.ColCount:=2;.StringGrid1.Cells[0,0]:='Таблица';.StringGrid1.Cells[1,0]:='Кол-во полей';(stringGrid1);;TForm1.RadioButton2Click(Sender: TObject);i,j:integer;.Memo1.Visible:=false;.Visible:=true;.Visible:=true;.B