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

Автор работы: Пользователь скрыл имя, 12 Января 2013 в 07:05, курсовая работа

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

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

Содержание

Введение
1 Теоретическая часть
1.1 Основные понятия баз данных
1.2 Принципы проектирования информационных систем
1.3 Язык SQL
1.4 Выбор среды разработки
2. Практическая часть
2.1 Назначение и характеристики программы
2.2 Создание таблиц и схемы данных
2.3 Разработка клиентского приложения
2.3.1 Добавление данных
2.3.2. Удаление данных
2.3.3 Сортировка данных
2.4 Внешний вид программы
Заключение
Список используемых источников
Приложение А

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

Курсовойбд.docx

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

3. принадлежность множеству: проверяется,  принадлежит ли результат вычислений  выражения заданному множеству  значений;

4. соответствие шаблону: проверяется,  отвечает ли некоторое строковое  значение заданному шаблону.

5. значение NULL: проверяется, содержит  ли данный столбец определитель NULL (неизвестное значение).

В языке SQL можно использовать следующие  операторы сравнения: = - равенство; < - меньше; > - больше; <= - меньше или  равно; >= - больше или равно; <> - не равно.

Более сложные предикаты могут  быть построены с помощью логических операторов AND, OR или NOT, а также скобок, используемых для определения порядка  вычисления выражения. Вычисление выражения  в условиях выполняется по следующим  правилам:

1. выражение вычисляется слева  направо;

2. первыми вычисляются подвыражения  в скобках;

3. операторы NOT выполняются до  выполнения операторов AND и OR;

4. операторы AND выполняются до  выполнения операторов OR.

Для устранения любой возможной  неоднозначности рекомендуется  использовать скобки.

Оператор BETWEEN используется для поиска значения внутри некоторого интервала, определяемого своими минимальным  и максимальным значениями. При этом указанные значения включаются в  условие поиска.

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

Оператор IS NULL используется для сравнения  текущего значения со значением NULL - специальным  значением, указывающим на отсутствие любого значения. NULL - это не то же самое, что знак пробела (пробел - допустимый символ) или ноль (0 - допустимое число). NULL отличается и от строки нулевой  длины (пустой строки).

В общем случае строки в результирующей таблице SQL - запроса никак не упорядочены. Однако их можно требуемым образом  отсортировать, для чего в оператор SELECT помещается фраза ORDER BY, которая  сортирует данные выходного набора в заданной последовательности. Сортировка может выполняться по нескольким полям, в этом случае они перечисляются  за ключевым словом ORDER BY через запятую. Способ сортировки задается ключевым словом, указываемым в рамках параметра ORDER BY следом за названием поля, по которому выполняется сортировка. По умолчанию  реализуется сортировка по возрастанию. Явно ога задается ключевым словом ASC. Для выполнения сортировки в обратной последовательности необходимо после  имени поля, по которому она выполняется, указать ключевое слово DESC. Фраза ORDER BY позволяет упорядочить выбранные  записи в порядке возрастания  или убывания значений любого столбца  или комбинации столбцов, независимо от того, присутствуют эти столбцы  в таблице результата или нет. Фраза ORDER BY всегда должна быть последним  элементом в операторе SELECT.

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

Пользователю доступны следующие  основные итоговые функции:

1. Count (Выражение) - определяет количество  записей в выходном наборе SQL-запроса;

2. Min/Max (Выражение) - определяют наименьшее  и наибольшее из множества  значение в некотором поле  запроса;

3. Avg (Выражение) - эта функция позволяет  рассчитать среднее значение  множества значений, хранящихся  в определенном поле отобранных  запросом записей. Оно является  арифметическим средним значением,  т.е. суммой значений, деленной  на их количество.

4. Sum (Выражение) - вычисляет сумму  множества значений, содержащихся  в определенном поле отобранных  запросом записей.

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

Все эти функции оперируют со значениями в единственном столбце  таблицы или с арифметическим выражением и возвращают единственное значение. Функции COUNT, MIN и МАХ применимы  как к числовым, так и к нечисловым полям, тогда как функции SUM и AVG могут  использоваться только в случае числовых полей, за исключением COUNTY*. При вычислении результатов любых функций сначала  исключаются все пустые значения, после чего требуемая операция применяется  только к оставшимся конкретным значениям  столбца. Вариант COUNT(*) - особый случай использования функции COUNT, его назначение состоит в подсчете всех строк  в результирующей таблице, независимо от того, содержатся там пустые, дублирующиеся  или любые другие значения.

Если до применения обобщающей функции  необходимо исключить дублирующиеся  значения, следует перед именем столбца  в определении функции поместить  ключевое слово DISTINCT. Оно не имеет смысла для функций MIN и МАХ, однако его использование может повлиять на результаты выполнения функций SUM и AVG, поэтому необходимо заранее обдумать, должно ли оно присутствовать в каждом конкретном случае. Кроме того, ключевое слово DISTINCT может быть указано в любом запросе не более одного раза.

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

Часто в запросах требуется формировать  промежуточные итоги, что обычно отображается появлением в запросе  фразы «для каждого...». Для этой цели в операторе SELECT используется предложение GROUP BY. Запрос, в котором присутствует GROUP BY, называется группирующим запросом, поскольку в нем группируются данные, полученные в результате выполнения операции SELECT, после чего для каждой отдельной группы создается единственная суммарная строка. Стандарт SQL требует, чтобы предложение SELECT и фраза GROUP BY были тесно связаны между собой. При наличии в операторе SELECT фразы GROUP BY каждый элемент списка в предложении SELECT должен иметь единственное значение для всей группы. Более того, предложение SELECT может включать только следующие  типы элементов: имена полей, итоговые функции, константы и выражения, включающие комбинации перечисленных  выше элементов.

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

Если совместно с GROUP BY используется предложение WHERE, то оно обрабатывается первым, а группированию подвергаются только те строки, которые удовлетворяют  условию поиска.

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

При помощи HAVING отражаются все предварительно сгруппированные посредством GROUP BY блоки данных, удовлетворяющие заданным в HAVING условиям. Это дополнительная возможность «профильтровать» выходной набор.

Условия в HAVING отличаются от условий  в WHERE:

1. HAVING исключает из результирующего  набора данных группы с результатами  агрегированных значений;

2. WHERE исключает из расчета агрегатных  значений по группировке записи, не удовлетворяющие условию;

3. в условии поиска WHERE нельзя  задавать агрегатные функции.

До появления SQL в СУБД (независимо от того, на какой модели они основывались) приходилось поддерживать, по крайней  мере, три языка, которые обычно имели  мало общего: язык определения данных (ЯОД), служащий для спецификации структур БД (обычно общую структуру БД называют схемой БД); язык манипулирования данными (ЯМД), позволяющий создавать прикладные программы, взаимодействующие с  БД; и язык администрирования БД (ЯАДБ), с помощью которого можно  было выполнять служебные действия (например, изменять структуру БД или  производить ее настройку с целью  повышения эффективности). Кроме  того, если требовалось предоставить пользователям СУБД интерактивный  доступ к БД, приходилось вводить  еще один язык, операторы которого выполняются в диалоговом режиме. Язык SQL позволяет решать все эти  задачи.

1.4 Выбор среды разработки

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

Delphi - это продукт Borland International для  быстрого создания приложений. Высокопроизводительный  инструмент визуального построения  приложений включает в себя  настоящий компилятор кода и  предоставляет средства визуального  программирования, несколько похожие  на те, что можно обнаружить  в Microsoft Visual Basic или в других  инструментах визуального проектирования. В основе Delphi лежит язык Object Pascal, который является расширением  объектно-ориентированного языка  Pascal. В Delphi также входят локальный  SQL-сервер, генераторы отчетов, библиотеки  визуальных компонентов, и прочее, необходимое для того, чтобы чувствовать  себя совершенно уверенным при  профессиональной разработке информационных  систем или просто программ [6].

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

Преимущества Delphi по сравнению с  аналогичными программными продуктами:

1. быстрота разработки приложения;

2. высокая производительность разработанного  приложения;

3. низкие требования разработанного  приложения к ресурсам компьютера;

4. наращиваемость за счет встраивания  новых компонент и инструментов  в среду Delphi;

5. возможность разработки новых  компонентов и инструментов собственными  средствами Delphi;

6. удачная проработка иерархии  объектов.

Система программирования Delphi рассчитана на программирование различных приложений и предоставляет большое количество компонентов для этого [7].

Разработка приложений баз данных является одной из наиболее востребованных возможностей среды программирования Delphi. Эта среда программирования предоставляет разработчику поистине великолепный набор простых в  использовании инструментов, позволяющих  быстро разрабатывать сложные проекты, создавая приятный и удобный пользовательский интерфейс. В этой среде очень  просто работать с любым современным  сервером баз данных, для которого есть соответствующий драйвер. Благодаря  сумме технологий DataSnap, ADO и СОМ  очень легко разрабатывать распределенные двух- и трехзвенные приложения баз  данных. Связь с базой данных вDelphi устанавливается настройкой всего  нескольких свойств и заданием пары тройки дополнительных параметров.

2.  
Практическая часть

2.1 Назначение и характеристики  программы

Данная программа предназначена  для отслеживания финансовой стороны  работы компании.

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

Данное клиентское приложение позволяет  производить различные действия с базой данных студентов:

1. Просмотр информации о сделках,  клиентах и услугах.

2. Добавление новых записей в  базу данных.

3. Удаление уже существующих  записей.

4. Сортировка записей базы данных.

Данное клиентское приложение является очень удобным в применении и  незаменимым при отслеживании финансовой стороны работы компании.

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.

Код запроса на заполнение таблицы  «Клиенты» представлен ниже:

INSERT INTO Клиенты ( Код_клиента, Название, Вид_деятельности, Адрес, Телефон  )

VALUES (3, "Балаева", "финансы", "Ростов", "35232");

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

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