Автор: Пользователь скрыл имя, 06 Декабря 2013 в 14:26, курсовая работа
В данной курсовой работе в качестве предметной области рассматривается «Изделие на складе». База данных решает следующие задачи: учёт изделий, выдача данных о поставщиках и поставляемых ими товарах, выдача данных о покупателях и осуществляемых ими заказах.
Введение……………………………………………………………………5
1 Основная часть…………………………………………………………6
1.1 Описание предметной области……………………………………6
1.2 Структура реляционной базы данных……………………………9
1.3 Программа реализации информационных запросов……………13
1.4 Итоговые документы, полученные в результате
обработки информационных запросов…………………………………19
2 Вопросы стандартизации…………………………………………….24
Заключение……………………………………………………………….27
Список использованных источников…………………………………..
— требует определить первичный ключ для таблицы, то есть тот столбец или комбинацию столбцов, которые однозначно определяют каждую строку.
Вторая нормальная форма требует, чтобы неключевые столбцы таблиц зависели от первичного ключа в целом, но не от его части. Но если таблица находится в первой нормальной форме и первичный ключ у нее состоит из одного столбца, то она автоматически находится и во второй нормальной форме.
Чтобы таблица находилась в третьей нормальной форме, необходимо, чтобы неключевые столбцы в ней не зависели от других неключевых столбцов, а зависели только от первичного ключа.
База данных «Изделие на складе» нормализована по 1НФ, так как в ней нет повторяющихся столбцов, нет множественных столбцов. Кроме того, в базе данных каждая таблица имеет свой первичный ключ, который однозначно определяет каждый объект, т.е. таблицу.
База данных «Изделие на складе» автоматически сводится ко второй нормальной форме, так как в каждой ее таблице: Поставщик, Покупатель, Заказ - существует несоставной первичный ключ: Код поставщика, Код покупателя и Код заказа соответственно.
И наконец, все таблицы базы данных сведены к третьей нормальной форме, потому что все поля каждой из таблиц не зависят от первичных ключей других таблиц, а зависят только от первичного ключа своей таблицы.
1.3 Программа
реализации информационных
Создание базы данных следует начинать с детальной разработки структуры ее таблиц. Эта структура должна быть такой, чтобы при работе с базой требовалось вводить в нее как можно меньше данных. Уже имеющиеся данные, должны быть доступны для выбора при добавлении новой записи с идентичными полями. Если ручной ввод каких-то данных приходится повторять неоднократно, то структуру базы необходимо изменить, придумав другой набор связанных таблиц, устраняющий этот недостаток.
База данных «Изделие на складе» имеет структуру, показанную на рисунке 2.
Рисунок 2 – Схема данных базы данных «Изделие на складе»
Данная структура имеет таблицы Изделие, Заказ, Поставщик и Покупатель. Таблица Поставщик связана с таблицей Заказ. Таблица Заказ связана с таблицами Изделие и Покупатель. Тем самым посредством этих связей можно осуществлять запросы необходимой информации по каждому полю таблицы при известных некоторых параметрах.
Данная база написана в среде программирования Borland Delphi. Она содержит главную форму, показанную на рисунке 3, нажимая на кнопки которой осуществляется переход в один из режимов базы данных – запросы и таблицы.
Рисунок 3 – Главная форма
В режиме Таблицы, показанном на рисунке 4, осуществляется просмотр имеющихся таблиц на соответствующих вкладках, редактирование необходимой информации по каждой таблице и записи, которое включает изменение, вставка и удаление записей. Кроме того, для удобства поиска записи, которую необходимо редактировать, используется соответствующий запрос.
В курсовой работе осуществляется печать отчётов, для того чтобы перевести электронные данные в бумажный вид.
Рисунок 4 – Режим «Таблицы» базы данных
Для построения пользовательского интерфейса приложения Delphi, работающего с базой данных, используются различные компоненты. Для отображения таблиц используется компонент DBGrid, для их редактирования DBNavigator, кроме того используются стандартные компоненты – Button, Edit, Label. Для подключения оболочки к ядру базы данных, созданной в MS SQL Server использовались компоненты ADO: ADOConnection, ADOQuery, ADODataSet. Кроме того, для доступа к данным использовался компонент DataSource.
В режиме Запросы, показанном на рисунке 5, осуществляется поиск информации по таблицам при вводе некоторых параметров. Запросы осуществляются либо по одному полю, либо возможен сложный запрос, т.е. осуществление запроса по нескольким параметрам.
Рисунок 5 – Режим «Запросы» базы данных
Кроме того, в режиме «Запросы» осуществляется передача данных в Microsoft Word.
В базе данных для отбора информации используются SQL запросы. SQL символизирует собой Структурированный Язык Запросов. Это - язык, который дает возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах.
Язык манипулирования данными используется для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:
—SELECT (выбрать);
—INSERT (вставить);
—UPDATE (обновить);
—DELETE (удалить).
В своей курсовой работе для выбора необходимой информации я использовала команду SELECT, которая имеет следующий синтаксис:
SELECT [ALL|DISTINCT](<Список полей>)
FROM <Список таблиц>
[WHERE <Предикат-условие выборки или соединения>]
[GROUP BY <Список полей результата>]
В разделе FROM задается перечень исходных отношений (таблиц) запроса. В разделе WHERE задаются условия отбора строк результата или условия соединения кортежей исходных таблиц, подобно операции условного соединения в реляционной алгебре. В разделе GROUP BY задается список полей группировки.
Например, для выбора всей заказанной продукции, изображенного на рисунке 6, был прописан следующий код программы:
ADOQuery5.Close;
ADOQuery5.SQL.Clear;
ADOQuery5.SQL.Text:='SELECT
Zakaz.ID_zakaza, Pokupatel.Name_pokup,Izdelie.
try
ADOQuery5.Open;
except
application.MessageBox('Не могу выполнить запрос','Ошибка',MB_OK);
end;
Рисунок 6 –
Форма запроса «Заказанная
А для выполнения динамического запроса, т.е. запроса, при котором параметры задаются в ходе выполнения приложения, представленного на рисунке 7, был использован следующий код:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:= 'SELECT
ID_postav,Name_postav,Adres,
ADOQuery1.Parameters.
try
ADOQuery1.Open;
except
application.MessageBox('Не могу выполнить запрос','Ошибка',MB_OK);
end;
Рисунок 7 – Пример выполнения динамического запроса «Поставщики»
1.4 Итоговые
документы, полученные в
В большинстве случаев данные, которые хранятся в таблицах баз данных, необходимо тем или иным способом публиковать, создавая так называемые отчёты.
В базе данных «Изделие на складе» осуществляется печать отчётов по выбранным таблицам с помощью технологии Borland Delphi Quick Report. Для создания формы отчёта, изображённой на рисунке 8, применяются компонент TQuickRep, TQRLabel, TQRDBText, TQRSysData.
Рисунок 8 – Форма «Отчёт по поставщикам»
Информация в данный отчёт добавляется при помощи компонентов ADO и компонента TQRDBText, в котором в свойствах компонента задаются соответствующие значения.
В итоге при нажатии на форме Таблицы и вкладке Поставщики кнопки «Печать отчёта» появляется окно, показанное на рисунке 9.
Рисунок 9 – Отчёт по поставщикам
Кроме того, в курсовой работе реализована процедура переноса данных из таблиц в Microsoft Word. Для этого в обработчик событий кнопки, при нажатии которой происходит передача данных из таблицы компонента DBGrid в MS Word, необходимо прописать следующий код:
var
MyDir:String;
begin
Getdir(0,MyDir);
Wordapp:=CreateOleObject('
WordApp.Documents.Open(MyDir + '\2.doc');
Wordapp.Visible:=true;
// Печатаем заголовок
WordApp.Selection.
WordApp.Selection.Paragraphs.
WordApp.Selection.Font.Size:=
WordApp.Selection.Font.Bold:=
WordApp.Selection.TypeText('ОО
WordApp.Selection.
WordApp.Selection.Paragraphs.
WordApp.Selection.Font.Size:=
WordApp.Selection.Font.Bold:=
WordApp.Selection.TypeText('Юр
WordApp.Selection.
WordApp.Selection.Paragraphs.
WordApp.Selection.Font.Size:=
WordApp.Selection.Font.Bold:=
WordApp.Selection.TypeText('
WordApp.Selection.
WordApp.Selection.Paragraphs.
WordApp.Selection.Font.Size:=
WordApp.Selection.Font.Bold:=
WordApp.Selection.TypeText('От
// Изменяем стиль текущего абзаца,
// потому что он будет в таблице
WordApp.Selection.Font.Size:=
WordApp.Selection.Paragraphs.
WordApp.Selection.Font.Bold:=
// Создание таблицы
WordApp.ActiveDocument.Tables.
NumRows:=2, NumColumns:=5,
DefaultTableBehavior:=1,
AutoFitBehavior:= 0);
// Заполнение таблицы
WordApp.Selection.Font.Bold:=
WordApp.Selection.TypeText('Ко
WordApp.Selection.MoveRight(
WordApp.Selection.Font.Bold:=
WordApp.Selection.TypeText('
WordApp.Selection.MoveRight(
WordApp.Selection.Font.Bold:=
WordApp.Selection.TypeText('Ад
WordApp.Selection.MoveRight(
WordApp.Selection.Font.Bold:=
WordApp.Selection.TypeText('
WordApp.Selection.MoveRight(
WordApp.Selection.Font.Bold:=
WordApp.Selection.TypeText('ФИ
WordApp.Selection.MoveRight(
ADOQuery1.First;
while not ADOQuery1.eof do begin
WordApp.Selection.TypeText
(ADOQuery1.FieldByName('ID_
WordApp.Selection.MoveRight(
WordApp.Selection.TypeText(
WordApp.Selection.MoveRight(
WordApp.Selection.TypeText(
WordApp.Selection.MoveRight(
WordApp.Selection.TypeText(
WordApp.Selection.MoveRight(
WordApp.Selection.TypeText(
WordApp.Selection.MoveRight(
ADOQuery1.Next;
end;
end;
Пример формы, в которой реализована данная процедура, и результат выполнения данной процедуры приведены на рисунках 10, 11 соответственно.
Рисунок 9 – Форма «Запросы»
Рисунок 10 – Отчёт о поставщиках
2 Вопросы стандартизации
К современным
базам данных, а следовательно, и
к СУБД, на которых они строятся,
предъявляются следующие
Время отклика - промежуток времени от момента запроса к БД до фактического получения данных. Похожим является термин время доступа - промежуток времени между выдачей команды записи (считывания) и фактическим получением данных. Под доступом понимается операция поиска, чтения данных или записи их. Часто операции записи, удаления и модификации данных называют операцией обновления.
2) Простота обновления данных.
3) Независимость данных.
4) Совместное использование данных многими пользователями.
5) Безопасность данных - защита данных от преднамеренного или непреднамеренного нарушения секретности, искажения или разрушения.
6) Стандартизация построения и эксплуатации БД (фактически СУБД).
7) Адекватность отображения данных соответствующей предметной области.
8) Дружелюбный интерфейс пользователя.
Важнейшими являются первые два противоречивых требования: повышение быстродействия требует упрощения структуры БД, что, в свою очередь, затрудняет процедуру обновления данных, увеличивает их избыточность.
Независимость
данных - возможность изменения
Независимость
данных предполагает инвариантность к
характеру хранения данных, программному
обеспечению и техническим