Создание базы данных для предметной области "Нотариальная контора"

Автор работы: Пользователь скрыл имя, 18 Декабря 2012 в 17:57, курсовая работа

Краткое описание

Технологический аспект данного вопроса связан с различными видами ограничений, которые поддерживаются структурой СУБД и должны быть доступны пользователю. К ним относятся: ограничение обновления определенных атрибутов с целью сохранения требуемых пропорций между их старыми и новыми значениями, ограничения, требующие сохранение значений поля показателя в некотором диапазоне, ограничения, связанные с заданными функциональными зависимостями.
Целью разработки системы управления организацией, является упрощение процедуры поиска, добавления, удаления, изменения информации о сотрудниках

Содержание

Введение
Теоретическая часть
.1 Основные понятия баз данных
.2 Принципы проектирования информационных систем
.3 Язык SQL
.4 Выбор среды разработки
. Практическая часть
.1 Назначение и характеристики программы
.2 Создание таблиц и схемы данных
.3 Разработка клиентского приложения
.3.1 Добавление данных
.3.2. Удаление данных
.3.3 Сортировка данных
.4 Внешний вид программы
Заключение
Список используемых источников
Приложение А

Вложенные файлы: 1 файл

Нотариальная контора.docx

— 841.85 Кб (Скачать файл)

2.2 Создание таблиц и схемы данных

 

Перед началом  разработки базы данных и клиентского  приложения необходимо спроектировать архитектуру БД. Для этого создадим несколько таблиц: «Клиенты», «Сделки», «Услуги».

Таблица «Клиенты» содержит всю необходимую  информацию о клиентах: код клиента, название, вид деятельности, адрес  и телефон. Код запроса на создание таблицы «Клиенты » представлен ниже:

CREATE TABLE Клиенты(

Код_клиента counter not null primary key,

Название char(20),

Вид_деятельности char(20),

Адрес char(20),

Телефон char(20));

Таблица «Клиенты» представлена на рисунке 2.1- Таблица «Клиенты»

 

Рисунок 2.1- Таблица «Клиенты»

 

Таблица «Услуги» содержит информацию об услугах: код услуги, название, описание. Код  запроса на создание таблицы «Услуги» представлен ниже:

CREATE TABLE Услуги(

Код_услуги counter not null primary key,

Название char(20),

Описание char(200));

Таблица «Услуги» представлена на рисунке 2.2- Таблица  «Услуги».

 

Рисунок 2.2- Таблица «Услуги»

 

Таблица «Сделки» содержит информацию о сделках  клиентов и нужных им услугах: код  сделки, код клиента, код услуги, сумма, комиссионные, описание. Код  запроса на создание таблицы «Сделки» представлен ниже:

CREATE TABLE Клиенты(

Код_клиента counter not null primary key,

Название  char(20),

Вид_деятельности char(20),

Адрес char(20),

Телефон char(20));

Таблица «Сделки» представлена на рисунке 2.3- Таблица  «Сделки».

 

Рисунок 2.3- Таблица «Сделки»

 

Заполнение  таблиц происходит с помощью оператора  INSERT INTO.

Код запроса  на заполнение таблицы «Клиенты»  представлен ниже:INTO Клиенты ( Код_клиента, Название, Вид_деятельности, Адрес, Телефон )(3, "Балаева", "финансы", "Ростов", "35232");

Связывание  таблиц между собой происходит при  помощи ключевых элементов и оператора  Foreign key (…) References (…).Полученная схема базы данных отображена на рисунке 2.4- Схема данных.

 

 

Рисунок 2.4- Схема данных

2.3 Разработка клиентского приложения

 

Для создания клиентского приложения необходимо сначала связать базу данных с  формой Borland Delphi. Для этого используется элемент ADOConnection. В свойствах добавленного ADOConnection зададим поставщика данных Microsoft Jet 4.0 OLE DB Provider, как наиболее подходящего для работы с БД MS Access, и укажем путь к созданной базе данных Курсовая.mdb. Также выставим свойство LoginPrompt в False, чтобы программа при открытии не запрашивала пароль доступа к БД. У компонента ADOTable необходимо в свойстве Connection указать созданный компонент ADOConnection, а у компонента DataSource в свойстве DataSet указать ADOTable. В свойствах DataSource компонента DBGrid указать DataSource1.

2.3.1 Добавление данных

Для добавления данных необходимо выбрать соответствующую  таблицу и нажать кнопку «Добавить» на форме.

При нажатии  кнопки появляется форма для добавления. Она содержит поля , в которые  нужно вписывать данные. Рядом  с полями написано, какого рода информация должна вводиться в соответствующее  поле.

Разберем  добавление данных на примере таблицы  «Клиенты».

При выборе таблицы «Клиенты» и нажатии  на кнопку «Добавить» появляется форма  для добавления. Заполним эту форму. Заполненная форма представлена на рисунке 2.5- Форма для добавления.

 

Рисунок 2.5- Форма для добавления.

 

При нажатии  на клавишу Добавить происходит добавление данных. В этой процедуре сначала  проверяется, все ли поля для добавления заполнены. Если заполнены не все  поля, появляется сообщение «Заполните все поля». Если все поля заполнены, происходит его добавление. Код процедуры  добавления для таблицы «Клиенты»  представлен ниже:

procedure TForm2.Button1Click(Sender: TObject);(Edit1.Text='') or (Edit2.Text='') or (Edit3.Text='') or (Edit4.Text='') then ShowMessage('Заполните все поля!') else.ADOQuery1.SQL.Add('INSERT INTO Клиенты ( Название, Вид_деятельности, Адрес, Телефон ) VALUES ');.ADOQuery1.SQL.Add('('''+Edit1.Text+'''');.ADOQuery1.SQL.Add(','''+Edit2.Text+'''');.ADOQuery1.SQL.Add(','''+Edit3.Text+'''');.ADOQuery1.SQL.Add(','''+Edit4.Text+'''');.ADOQuery1.SQL.Add(');');.ADOQuery1.ExecSQL;.ADODataSet2.Active:=false;.ADODataSet2.Active:=true;.ADODataSet1.Active:=false;.ADODataSet1.Active:=true;.ADOQuery1.SQL.Clear;

form2.Close();;;

Результат добавления в таблицу «Клиенты»  представлен на рисунке 2.6- Добавление данных.

 

Рисунок 2.6- Добавление данных

2.3.2 Полный код процедуры добавления представлен в приложении А

2.3.3 Удаление данных

Для удаления данных необходимо выбрать соответствующую  таблицу и строку, требующую удаления, нажать кнопку «Удалить» на форме.

Разберем  удаление данных на примере таблицы  «Клиенты». Откроем таблицу и  выберем строку, требующую удаления. При нажатии на кнопку Удалить  происходит процедура удаления. Код  процедуры удаления представлен  ниже:

procedure TForm1.Button5Click(Sender: TObject);DBGrid1.SelectedField.AsString<>'' thenbutton1.Enabled=false then.SQL.Add('DELETE cascade FROM Клиенты where Код_клиента=');.SQL.Add(DBGrid1.SelectedField.AsString);.ExecSQL;.Active:=false;.Active:=true;.ADODataSet1.Active:=false;.ADODataSet1.Active:=true;.SQL.Clear;5.Enabled:=false;

end;

Таблица «Клиенты» до удаления записи и после  представлена соответственно на рисунке 2.7- Таблица «Клиенты» и на рисунке 2.8- Удаление записи.

 

 

Рисунок 2.7- Таблица «Клиенты»

 

Рисунок 2.8- Удаление записи

2.3.3 Сортировка данных

Для сортировки данных необходимо выбрать просмотр.

В просмотре  нужно выбрать по какому полю сортировать  и по какому признаку, то есть по убыванию или возрастанию.

Процедура сортировки происходит с помощью  свойства элемента ADODataSet1. Свойство называется ADODataSet1.Sort. Ниже представлен код процедуры сортировки:

procedure TForm1.cbb1Change(Sender: TObject);

begin

ADOdataset1.Active:=false;

ADOdataset1.CommandText:='select Сделки.Код_сделки, Клиенты.Название, Клиенты.Вид_деятельности, Клиенты.Адрес, Клиенты.Телефон, Услуги.Название, Услуги.Описание, Сделки.Комиссионные, Сделки.Описание, Сделки.Сумма ';

ADOdataset1.CommandText:=ADOdataset1.CommandText+'from Сделки, Услуги, Клиенты WHERE (Сделки.Код_услуги=Услуги.Код_услуги)AND(Сделки.Код_клиента=Клиенты.Код_клиента) ORDER BY ';

ADOdataset1.CommandText:=ADOdataset1.CommandText+cbb1.Text;combobox1.ItemIndex=1 then ADOdataset1.CommandText:=ADOdataset1.CommandText+' DESC';.Active:=true;;

procedure TForm1.ComboBox1Change(Sender: TObject);.Active:=false;.CommandText:='select Сделки.Код_сделки, Клиенты.Название, Клиенты.Вид_деятельности, Клиенты.Адрес, Клиенты.Телефон,  Услуги.Название, Услуги.Описание, Сделки.Комиссионные, Сделки.Описание, Сделки.Сумма ';.CommandText:=ADOdataset1.CommandText+'from Сделки, Услуги, Клиенты WHERE (Сделки.Код_услуги=Услуги.Код_услуги)AND(Сделки.Код_клиента=Клиенты.Код_клиента) ORDER BY ';.CommandText:=ADOdataset1.CommandText+cbb1.Text;combobox1.ItemIndex=1 then ADOdataset1.CommandText:=ADOdataset1.CommandText+' DESC';1.Active:=true;

end;

Разберем  процедуру сортировки на примере. Выберем  параметры сортировки. Выберем поле «Клиенты.Название», по убыванию. Отсортированная  таблица представлена на рисунке 2.9 - Отсортированная таблица.

 

Рисунок 2.9- Отсортированная таблица

2.4 Внешний вид программы

 

При запуске  программы появляется форма, представленная на рисунке 2.10- Программа.

 

 

Рисунок 2.10- Программа

 

В появившейся  форме необходимо выбрать таблицу, с которой предполагается работать. Сделать это нужно следующим  образом: нажать на кнопочку с соответствующим  названием таблицы. После выбора появится выбранная таблица. Нажимая  на кнопки Добавить или Удалить, можно  производить эти действия с таблицей. Выберем, например, таблицу «Сделки». Результат представлен на рисунке 2.11 - Таблица «Сделки». Полный код  программы представлен в приложении А.

 

Рисунок 2.11 - Таблица «Сделки»

 

Заключение

 

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

 

Список используемых источников

 

1. Карпова Т.С. Базы данных: модели, разработка. - СПб.: Питер, 2001.-304 с.

2. Дейт К. Введение в системы баз данных: Пер. с англ. - М.: Наука, 1980.-464 с.

. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А.Д. Хомоненко. - СПб.: КОРОНА принт, 2000. - 416с.

. Горев А., Макащарипов С., Владимиров Ю. Microsoft SQL. Server 6.5 для профессионалов. - СПб.: Питер, 1998. - 270 с.

. Тиори Т., Фрай Дж. Проектирование структур баз данных: В 2-х кн. Пер. с англ. - М.: Мир, 1985. - 287 с.

. Роберт Дж. Мюллер. Базы данных и UML. Пер. с англ. - издательство «Лори», 2002. - 420 с.

7. Материалы сайта Мурманского государственного технического университета, [Электронный ресурс] - www.mstu.edu.ru <http://www.mstu.edu.ru>.

. Материалы сайта «Интернет университет информационных технологий», [Электронный ресурс] - www.intuit.ru <http://www.intuit.ru>.

. Хомоненко А. «Delphi 7, программирование, BHV» СПб, 2003 г., 1216 с.

. Райордан Р. Основы реляционных баз данных: Пер. с англ. - М.: Издательско-торговый дом «Русская Редакция», 2001. - 384 с.

 

Приложение А

 

Процедуры добавления данных

 

procedure TForm2.Button1Click(Sender: TObject);(Edit1.Text='') or (Edit2.Text='') or (Edit3.Text='') or (Edit4.Text='') then ShowMessage('Заполните все поля!') else.ADOQuery1.SQL.Add('INSERT INTO Клиенты ( Название, Вид_деятельности, Адрес, Телефон ) VALUES ');.ADOQuery1.SQL.Add('('''+Edit1.Text+'''');.ADOQuery1.SQL.Add(','''+Edit2.Text+'''');.ADOQuery1.SQL.Add(','''+Edit3.Text+'''');.ADOQuery1.SQL.Add(','''+Edit4.Text+'''');.ADOQuery1.SQL.Add(');');.ADOQuery1.ExecSQL;.ADODataSet2.Active:=false;.ADODataSet2.Active:=true;.ADODataSet1.Active:=false;.ADODataSet1.Active:=true;.ADOQuery1.SQL.Clear;.Close();;;TForm3.Button1Click(Sender: TObject);(Edit1.Text='') or (Edit2.Text='') then ShowMessage('Заполните все поля!') else.ADOQuery1.SQL.Add ('INSERT INTO Услуги ( Название, Описание ) VALUES');.ADOQuery1.SQL.Add('('''+Edit1.Text+'''');.ADOQuery1.SQL.Add(','''+Edit2.Text+'''');.ADOQuery1.SQL.Add(');');.ADOQuery1.ExecSQL;.ADODataSet2.Active:=false;.ADODataSet2.Active:=true;.ADODataSet2.Active:=false;.ADODataSet2.Active:=true;.ADOQuery1.SQL.Clear;.Close();;;TForm4.Button1Click(Sender: TObject);(DBLookupComboBox1.Text='') or (DBLookupComboBox2.Text='') or (Edit3.Text='') or (Edit4.Text='') or (Edit5.Text='') then ShowMessage('Заполните все поля!') else.ADOQuery1.SQL.Add ('INSERT INTO Сделки ( Код_клиента, Код_услуги, Сумма, Комиссионные, Описание ) VALUES ');.ADOQuery1.SQL.Add('('+IntToStr(Form4.DataSource1.DataSet.FieldValues['Код_клиента']));.ADOQuery1.SQL.Add(','+IntToStr(Form4.DataSource2.DataSet.FieldValues['Код_услуги']));.ADOQuery1.SQL.Add(','''+Edit3.Text+'''');.ADOQuery1.SQL.Add(','''+Edit4.Text+'''');.ADOQuery1.SQL.Add(','''+Edit5.Text+'''');.ADOQuery1.SQL.Add(');');.ADOQuery1.ExecSQL;.ADODataSet2.Active:=false;.ADODataSet2.Active:=true;.ADODataSet1.Active:=false;.ADODataSet1.Active:=true;.ADOQuery1.SQL.Clear;

form4.Close();;;


Информация о работе Создание базы данных для предметной области "Нотариальная контора"