Академический Документы
Профессиональный Документы
Культура Документы
КУРСОВАЯ РАБОТА
МДК 02.02
НАУЧНЫЙ РУКОВОДИТЕЛЬ
КУЗНЕЦОВ В.В.
ПРЕПОДАВАТЕЛЬ ПО МДК
02.02
ТУЙМАЗЫ 2020
СОДЕРЖАНИЕ
ВВЕДЕНИЕ..................................................................................................................3
1. Теоретическая часть.......................................................................................4
1.1. Описание и анализ предметной области. Назначение и стадии
разработки...........................................................................................................4
1.2. Проектирование базы данных. Описание логической структуры.........7
1.3. Инфологическая модель БД входящая в программу.............................12
2. Практическая часть......................................................................................14
2.1. Функциональное назначение. Реализация базы данных в СУБД........14
2.2. Приложение для работы с БД. Входные и выходные данные.............25
Заключение................................................................................................................35
Список источников и литературы........................................................................36
ВВЕДЕНИЕ
3
1. Теоретическая часть
4
пользователей об автоматизируемой предметной области, то есть является
человеко-ориентированной.
Даталогическая модель отражает логические связи между элементами
данных вне зависимости от их содержания и среды хранения. Даталогическое
моделирование предполагает описание, создаваемое по инфологической
модели данных.
Пользователям выделяются подмножества этой логической модели,
называемые внешними моделями, отражающие их представления о
предметной области. Внешняя модель соответствует представлениям,
которые пользователи получают на основе логической модели. Другими
словами, даталогическая модель в основном используется для реализации
требований, выдвинутых конечными пользователями, то есть отражённых в
инфологической концептуальной модели.
Таким образом, даталогическая модель реализуется, как модель
представления данных. Следовательно, перед тем как строить
даталогическую модель, необходимо определить какая модель данных будет
положена в основу базы данных и выбрать соответствующую систему
управления базами данных (СУБД). Различают реляционные, иерархические
и сетевые модели представления данных и соответствующие этим моделям
СУБД.
Физическая модель данных — модель, определяющая размещение
данных на внешних носителях, методы доступа и технику индексирования.
Она так же называется внутренней моделью системы, которая определяет и
оперирует размещением данных и их взаимосвязями на запоминающих
устройствах.
Стадия проекта — одна из частей процесса создания программы,
установленная нормативными документами и заканчивающаяся выпуском
проектной документации, содержащей описание полной, в рамках заданных
требований, модели программы на заданном для данной стадии уровне, или
изготовлением программ. По достижении окончания стадии заказчик имеет
5
возможность рассмотреть состояние проекта и принять решение по
дальнейшему продолжению проектных работ. Например, заказчик может
принять решение о продолжении работ по одному из согласованных
вариантов.
Этап проекта — обычно часть стадии проекта, выделенная по
соображениям единства характера работ и (или) завершающего результата
или специализации исполнителей. Иногда выделяют этапы (фазы), которые
охватывают несколько стадий. Например, этап проектирования программы
включает стадии ЭП и ТП. Описания этапов регламентируют порядок
выполнения отдельных видов работ для достижения стадии. Одни и те же
виды работ могут продолжаться ряд этапов.
Основные этапы разработки программ:
1. Постановка задачи.
Задача формулируется на естественном языке. Определяются цели.
Подготавливается техническое задание на разработку программы.
2. Обоснованный выбор средств разработки (программирования).
Разрабатываются форматы ввода исходных данных и отображения
результатов.
3. Выбор метода решения задачи.
Анализ возможности использования ранее разработанного и
доступного для программиста программного обеспечения.
4. Разработка алгоритма решения задачи.
Декомпозиция задачи на подзадачи. Определение последовательности
решения подзадач. Разработка структуры программы.
5. Обоснование выбора средств программирования.
Выбор языка программирования и системы (среды) программирования.
6.Кодирование средствами выбранного языка программирования.
7. Верификация и проверка корректности.
Аналитическое доказательство правильности программы.
8. Тестирование программы.
6
Разработка тестов и контрольных примеров. Сопоставление реальных и
ожидаемых результатов.
9. Отладка программы в случае обнаружения ошибок.
Локализация обнаруженных ошибок. Коррекция ошибок. Возврат к
этапу тестирования.
10. Разработка документации.
Текстовое описание программы. Разработка инструкций пользователю
– лицу, применяющему разработанную программу в своей работе. Разработка
инструкций по эксплуатации, содержащих информацию, требующуюся
программистам, ответственным за нормальное функционирование
программы.
11. Опытная эксплуатация.
Уточнение требований заказчика к представлению исходных данных и
результатов работы программы. При необходимости возврат к предыдущим
этапам.
12. Промышленная эксплуатация.
Сопровождение программы. Обработка требований к новым версиям
программы.
7
что меняет общую структуру БД. Вопросы индексирования будут частично
рассмотрены в данном разделе. Внешнее представление (внешняя схема)
данных является совокупностью требований к данным со стороны некоторой
конкретной функции, выполняемой пользователем. Концептуальная схема
является полной совокупностью всех требований к данным, полученной из
пользовательских представлений о реальном мире. Внутренняя схема - это
сама база данных.
1. Стабильность - может ли значение ключа изменяться. Несмотря на
то, что многие современные СУБД не только не запрещают изменять
значение первичного ключа, но и имеют специальные механизмы,
позволяющие автоматически осуществлять изменения связанных записей
(каскадное изменение), не следует злоупотреблять этой возможностью.
Желательно выбирать в качестве первичного ключа атрибуты, которые не
изменяются.
2. Мнемоничность - легкость запоминания. Поскольку в качестве
ключа обычно используются короткие обозначения, то при прочих равных
условиях следует отдавать предпочтение тем из вероятных ключей, которые
легче запомнить.
Если объект является зависимой по идентификации сущностью, то
ключ соответствующего ему отношения будет составным, включающим
идентификатор этого объекта и идентификатор «вышестоящего»
объекта, т.е. идентификатор основного объекта мигрирует в таблицу,
соответствующую зависимому объекту. Если идентификаторов у главного
объекта несколько, то выбирается один из них, а именно тот, который выбран
в качестве первичного ключа основной сущности. Полученный таким
образом составной идентификатор зависимой по идентификации сущности
будет использоваться во всех случаях, когда нужно отображать связь этого
зависимого объекта с другими.
Обычно зависимый по идентификации объект и тот объект, от которого
он зависит, связаны друг с другом отношением 1:М, и может сложиться
8
впечатление, что перенесение ключа просто соответствует отображению этой
связи. Однако это не совсем так. Если сущность не зависима по
идентификации, то связь 1:М можно отображать в структуре БД как путем
переноса ключа связанного объекта в таблицу, соответствующую
подчиненному объекту (т. е. объекту, стоящему со стороны М), так и
другими способами, а ключом таблицы, соответствующей подчиненному
объекту, будет являться только идентификатор самого этого объекта. Для
зависимого по идентификации объекта связь 1:М дополнительно в схеме БД
отображать не надо. Этап физического проектирования заключается в
определении схемы хранения, т.е. физической структуры БД. Схема хранения
зависит от той физической структуры, которую поддерживает выбранная
СУБД. Физическая структура БД, с одной стороны, должна адекватно
отражать логическую структуру БД, а с другой стороны, должна
обеспечивать эффективное размещение данных и быстрый доступ к ним.
Результаты этого этапа документируются в форме схемы хранения на языке
определения данных (DDL, Data Definition Language) выбранной СУБД.
Принятые на этом этапе решения оказывают огромное влияние на
производительность системы.
Одной из важнейших составляющих проекта базы данных является
разработка средств защиты БД. Защита данных имеет два аспекта: защита от
сбоев и защита от несанкционированного доступа. Для защиты от сбоев на
этапе физического проектирования разрабатывается стратегия резервного
копирования.
Для защиты от несанкционированного доступа каждому пользователю
доступ к данным предоставляется только в соответствии с его правами
доступа, набор которых также является составной частью проекта БД.
Каждое реляционное отношение соответствует одной сущности
(объекту ПрО) и в него вносятся все атрибуты этой сущности. Для каждого
отношения определяются первичный ключ и внешние ключи (в соответствии
со схемой БД). В том случае, если базовое отношение не имеет
9
потенциальных ключей, вводится суррогатный первичный ключ, который не
несёт смысловой нагрузки и служит только для идентификации записей.
По сути дела физическое проектирование базы данных подразумевает
конструирование таблиц в СУБД. Для канонической модели не требуется
дополнительных преобразований.
Анализ предметной области позволяет выделить набор данных,
которые должны храниться в проектируемой базе данных и использоваться в
будущем приложении:
1. Артикул
2. Склад
3. Наименование
4. Цена
5. Количество
6. Мебель
7. Заказ
8. Название склада
9. ID склада
10. Адрес
11. Телефон
12. ID заказа
13. Покупатель
14. Дата заказа
15. Дата выполнения
16. ФИО
17. ID покупателя
10
Рис. 1 Логическая структура БД
11
более сущностей. Если бы назначением БД было только хранение отдельных,
не связанных между собой данных, то ее структура могла быть очень
простой. Однако одно из основных требований к организации базы данных -
это обеспечение возможности отыскания одних сущностей по назначениям
других, для чего необходимо установить между ними определенные связи.
Поэтому инфологическую модель данных пытаются строить по
аналогии с естественным языком (последний не может быть использован в
чистом виде из-за сложности компьютерной обработки текстов и
неоднозначности любого естественного языка). Основными
конструктивными элементами инфологических моделей являются сущности,
связи между ними и их свойства (атрибуты) . Инфологическое
моделирование выполняется с целью обеспечения самых естественных для
человека способов представления и сбора информации, которая будет
храниться в создаваемой БД. Поэтому инфологическая модель данных
строится в соответствии с естественным языком, который не возможно
использовать в чистом виде в виду сложности обработки текстов с помощью
компьютера и неоднозначности естественного языка.
По сути дела физическое проектирование базы данных подразумевает
конструирование таблиц в СУБД. Для канонической модели не требуется
дополнительных преобразований
Стоит понимать, что в самой базе данных поля не будут называться
один в один как при анализе, так как СУБД InterBase не поддерживает
использование русских символов, поэтому придется использовать
английские символы для описания полей. Для защиты от
несанкционированного доступа каждому пользователю доступ к данным
предоставляется только в соответствии с его правами доступа, набор которых
также является составной частью проекта БД.
12
Рис. 3 Концептуальная модель
13
2. Практическая часть
17
Рис. 4 Запуск от имени администратора
18
Вводим логин и пароль. Стандартный логин: SYSDBA, пароль:
masterkey. Жмем «Login».
Рис. 7 Создание БД
19
Рис. 8 Создание БД
20
Рис. 9 Расположение «Execute Query»
21
При нажатии на «Interactive SQL» появится окно, в котром вы можете
писать запросы на языке SQL. В нашем случае мы будем создавать нужные
нам таблицы.
Таблица «Дом»:
22
Рис. 12 SQL-запрос для таблицы «Дом»
Таблица «Квартиры»:
23
Рис. 15 SQL-запрос для таблицы «Сотрудник»
24
2.2. Приложение для работы с БД. Входные и выходные данные
26
Рис. 20 Таблица “Сотрудники”
27
Рис. 22 Форма “Запросы”
28
списка.
29
30
рис. 28. Отчет «Стоимость ремонта»
31
рис. 31. Отчет «Дата прихода сотрудника»
32
Создаем DataModule. File -> New -> DataModule.
33
DBGrid2.DataSource = DataSource2; DBNavigator2.DataSource =
DataSource2;
Клиентская часть InterBase допускает выполнение любых действий
только в контексте транзакции. Поэтому если вы смогли получить доступ к
данным без явного вызова IBTransaction.StartTransaction, то значит где то в
недрах IBX этот вызов произошел автоматически. Такое поведение крайне не
рекомендуется использовать. Для корректной работы приложений с базой
данных желательно управлять транзакциями вручную, то есть явно вызывать
методы StartTransaction, Commit и Rollback компонента TIBTransaction.
Преимуществом размещения компонентов доступа к данным в модуле
данных является то, что изменение значения любого свойства проявится
сразу же во всех обычных модулях, к которым подключен этот модуль
данных. Кроме этого, все обработчики событий этих компонентов, т. е. вся
логика работы с данными приложения, собраны в одном месте, что тоже
весьма удобно.
Компонент доступа к данным является основой приложения баз
данных. На основе выбранной таблицы БД он создает набор данных и
позволяет эффективно управлять им..
Создадим форму для кнопки справка:
ЗАКЛЮЧЕНИЕ
35
При выполнении данной курсовой работы была полностью
проанализирован предметная область, создана логическая и физическая
модель базы данных, диаграммы, создано приложения для автоматизации
учета фирм по изготовлению встроенной мебели в среде разработки Delphi с
использованием языка Pascal. Была проведена работа по обеспечению
защиты базы данных от утечек, нормализации БД, приведение БД к
нормальной форме.
Были получены практические знания программирования в среде
разработки Delphi, закреплен материал относительно баз данных, изучены
новые подходы к созданию приложений.
При разработки базы данных так же были получены теоретические и
практические знания по СУБД InterBase.
В результате исследования и проведения работы были выявлены
следующие достоинства приложения для автоматизации учета фирм
изготовления встроенной мебели:
1. Простой и понятный интерфейс;
2. Совместимость практически с любой версией Windows;
3. Крайне минимальные системные и аппаратные требования;
4. Широкая область применения;
5. Защищенная БД;
6. Большая скорость работы приложения.
36
Список источников и литературы
37
Приложение
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Image1: TImage;
Image2: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
38
implementation
{$R *.dfm}
39
procedure TForm1.Button8Click(Sender: TObject);
begin
Form22.show;
end;
end;
end.
unit Unit2;
interface
uses
type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button1: TButton;
Button2: TButton;
Button3: TButton;
private
40
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
begin
DataModule3.IBTable1.Insert;
Form17.show;
end;
begin
DataModule3.IBTable1.Edit;
Form17.Show;
end;
begin
DataModule3.IBTable1.Delete;
end;
41
end. unit Unit4;
interface
uses
type
TForm4 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button1: TButton;
Button2: TButton;
Button3: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
42
{$R *.dfm}
begin
DataModule3.IBTable2.Insert;
Form18.show;
end;
begin
DataModule3.IBTable2.Edit;
Form18.Show;
end;
begin
DataModule3.IBTable2.Delete;
end;
end.
unit Unit18;
interface
uses
type
TForm18 = class(TForm)
Label1: TLabel;
43
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form18: TForm18;
implementation
44
uses Unit1, Unit10, Unit11, Unit12, Unit13, Unit14, Unit15, Unit16, Unit17,
{$R *.dfm}
begin
if DataModule3.IBTable1.Modified then
begin
end;
end;
begin
DataModule3.IBTable2.Cancel;
Form18.Close;
end;
begin
Close;
end;
begin
end;
end.
45