Отдел сбыта
Сетевая и иерархическая модели данных: принципы организации, достоинства, недостатки. Создание приложения "Отдел сбыта", содержащее сведения о компании, продукции средствами среды визуального проектирования Borland Delphi 7.0 и СУБД Microsoft SQL Server.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 20.06.2012 |
Размер файла | 3,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
Национальный исследовательский технологический университет
Московский институт стали и сплавов
Новотроицкий филиал
Факультет ЭиИ
Кафедра ПИиУСА
Отчет по курсовой работе
По дисциплине: “Базы данных”
Тема:
Отдел сбыта
Исполнитель: Курочкина Е.С.
Студент группы: ПИэ - 09- 36
Преподаватель: Быковец Н.П
Новотроицк 2012
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1 Сетевая и иерархическая модель данных, принципы организации, достоинства и недостатки
1.2 Транзакции и целостность БД. Обработка транзакций
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 Постановка задачи и описание предметной области
2.2 Логическое проектирование АИС
2.2.1 Проектирование БД на логическом уровне
2.2.2 Проектирование интерфейса
2.3 Физическая реализация
2.4 Инструкция для пользователя
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ А - Блок-схема
ПРИЛОЖЕНИЕ Б - Код программы
ВВЕДЕНИЕ
С развитием экономики усложнились расчёты, связанные с налогообложением, бухгалтерским учётом, статистическими исследованиями. Основной проблемой являлась сложность обработки больших объёмов данных. Вследствие данных обстоятельств появилась необходимость в создании электронных баз данных (БД) и систем управления базами данных (СУБД), позволяющих выполнять над ними такие операции, как добавление новой записи, изменение и удаление существующих записей, а также операции по группировке, систематизации, статистической обработке данных. Автоматизация действий над данными привела к существенному уменьшению временных затрат на их обработку.
Цель курсовой работы: научиться разрабатывать приложение средствами среды визуального проектирования Borland Delphi 7.0 и системы управления базами данных Microsoft SQL Server.
Объектом исследования курсовой работы являются база данных, предметом - методы и средства, применяемые для создания БД .
Курсовая забота состоит из 2-х частей:
1 теоретическая часть;
2 практическая часть.
Работа должна иметь введение и заключение.
В введении описывается актуальность вопроса, определенного в теме.
Теоретическая часть рассматривает принцип организации БД, его структура и свойства в любой последовательности.
Теоретическая часть состоит в изучении дополнительного теоретического материала, основные понятия, определение системы, ее свойства, структура, классификация с указанием ее признака или критерия.
Практическая часть:
1. Постановка задачи включает формулировку задачи. Задачу для достижения поставленной цели. Решение задачи осуществляется по средствам функции системы, пользователей системы.
2. проектирование БД где содержится исходные данные и хранится результат, сколько таблиц, какие поля и какие связи будут в БД
3. Проектирование приложения и интерфейс приложения в СУБД средствами интегрированной разработкой Borland Delphi 7.0. - интерфейс создается в соответствии с функциями БД.
В заключении приведены общие выводы по аналитической части, указаны результаты работы программы, приведены её достоинства, недостатки и рекомендации по улучшению, вместе с системными требованиями.
Список использованных источников включает полную информацию о книгах, использованных при написании курсовой работы. В приложениях А и Б приведены подробные блок-схемы алгоритма и исходный код программы.
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1 Сетевая и иерархическая модель данных, принципы организации, достоинства и недостатки
Ядром любой базы данных является модель данных. С помощью модели данных представляются объекты предметной области и взаимосвязи между ними.
Модель данных - совокупность структур данных, ограничений целостности и операций манипулирования данными.
СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или на некотором их подмножестве.
Иерархическая модель данных - объекты БД образуют перевернутое дерево; вершина (узел) дерева - это запись, значения полей которой описывают некоторый объект предметной области. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем уровне. Количество деревьев в базе данных определяется числом корневых записей.
Пример 1
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Сетевая модель данных напоминает иерархическую, но каждый узел БД может быть связан с любым другим узлом.
Пример2
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
1.2 Транзакции и целостность БД. Обработка транзакций
Применение СУБД для работы с интегрированными БД выявило особую важность проблемы целостности БД. Под целостностью БД понимают правильность и непротиворечивость ее содержимого. Нарушение целостности может быть вызвано, например, ошибками и сбоями, так как в этом случае система не в состоянии обеспечить нормальную обработку или выдачу правильных данных.
Имеются два аспекта целостности - на уровне отдельных объектов и операций и на уровне базы данных в целом.
Первый аспект целостности обеспечивается на уровне структур данных и отдельных операторов языковых средств СУБД. При нарушении такой целостности (например, ввод значения больше 10 в столбец «Семестр» таблицы «Учебный план» БД «Сессия») соответствующий оператор отвергается.
Некоторые ограничения целостности не нужно выражать в ясном виде, поскольку они встроены в структуры данных. Например, в СУБД, поддерживающей структуры, составленные из записей, каждый экземпляр записи в БД должен отображать спецификацию типа записи. Это означает, что все поля, специфицированные в описании типа, должны быть представлены в каждом экземпляре записи, а значение, заносимое в отдельное поле, должно иметь соответствующий описанию тип данных.
Транзакция - неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации), такая, что:
1) либо результаты всех операторов, входящих в транзакцию, отображаются в БД;
2) либо воздействие всех операторов полностью отсутствует.
При этом для поддержания ограничений целостности на уровне БД допускается их нарушение внутри транзакции так, чтобы к моменту завершения транзакции условия целостности были соблюдены.Для обеспечения контроля целостности каждая транзакция должна начинаться при целостном состоянии БД и должна сохранить это состояние целостным после своего завершения. Если операторы, объединенные в транзакцию, выполняются, то происходит нормальное завершение транзакции, и БД переходит в обновленное (целостное) состояние. Если же происходит сбой при выполнении транзакции, то происходит так называемый откат к исходному состоянию БД.
Свойства транзакции:
1. атомарность -- требует, чтобы транзакция (все операции (части) транзакции) выполнялась полностью либо не выполнялась совсем;
2. сериализуемость -- представляет собой возможность одновременного выполнения нескольких транзакций. То есть результат параллельного выполнения транзакций точно такой же, как если бы они выполнялись последовательно;
3. изолированность -- обеспечивает такую изолированность одной транзакции от другой, что промежуточные результаты незавершенной транзакции не доступны другой транзакции; т.е. данные, использующиеся в одной транзакции, не могут использоваться другой транзакцией до тех пор, пока первая не будет завершена;
4. долговечность -- гарантирует, что результаты зафиксированной транзакции не могут быть потеряны ни при каких обстоятельствах. То есть, после завершения транзакции БД должна переходить в устойчивое состояние и это состояние не должно нарушаться даже при сбоях системы.
Часто программисты, приступающие к проектированию и реализации информационных систем, наталкиваются на ряд проблем и сложностей, происходящих не из их неопытности или недостаточных знаний, но имеющих своей причиной особенности и ограничения, внутренне присущие программным продуктам, имеющих архитектуру "клиент-сервер". Пытаясь решить эти проблемы, они зачастую вынуждены "изобретать велосипед" вместо того, чтобы использовать высокотехнологичные и стандартизованные средства создания распределенных промышленных информационных систем. К таким средствам и относятся мониторы транзакций.
Мониторы обработки транзакций (Transaction Processing Monitor-PM), или, проще, мониторы транзакций - программные системы (которые часто относят к категории middleware), обеспечивающие эффективное управление информационно-вычислительными ресурсами в распределенной системе. Они представляют собой гибкую, открытую среду для разработки и управления мобильными приложениями, ориентированными на оперативную обработку распределенных транзакций. В числе важнейших характеристик ТРМ - масштабируемость, поддержка функциональной полноты и целостности приложений, достижение максимальной производительности при обработке данных при невысоких стоимостных показателях, поддержка целостности данных в гетерогенной среде.
Среда разработки приложений. Разработчиков информационных систем ТРМ привлекают возможностью декомпозиции приложений по нескольким уровням с четко очерченными функциями и стандартными интерфейсами, что позволяет создавать легко модифицируемые системы со стройной и целостной архитектурой.
Центр проектирования приложений. Фундаментальная характеристика ТРМ - функциональный подход к проектированию бизнес-приложений. Характерное для ТРМ сосредоточение всех прикладных функций в серверах приложений и богатые возможности управления и администрирования превращают их в мощный центр проектирования приложений.
Баланс загрузки. Уникальная возможность ТРМ - динамическая настройка параметров системы для достижения требуемой производительности (баланс загрузки) ТРМ поддерживают как статический, так и динамический баланс загрузки. Суть заключается в том, что ТРМ стартует или останавливает AS в зависимости от предопределенных условий и текущего состояния системы. Для оптимизации пропускной способности и времени отклика системы служб ТРМ тиражирует копии процессов-AS на этом же или других узлах, предоставляя тем самым в распоряжении АС необходимые вычислительные ресурсы (в виде дополнительных процессов) для выполнения их запросов.
Масштабируемость. Помимо вертикального и горизонтального масштабирования, ТРМ обеспечивают так называемую матричную масштабируемость. Это - интеграция дополнительных ресурсов в гетерогенную среду в любой ее точке без изменения архитектуры приложения, которое в этой среде функционирует. Достигается это за счет динамической реконфигурации, а на практике означает, что в конфигурацию системы динамически, без остановки серверов приложений, может быть добавлен, например, новый AS, дополнительный менеджер ресурсов или новый компьютер. Очевидно, что матричная масштабируемость практически неограниченно расширяет возможности управления параметрами системы для достижения требуемой производительности.
Оптимальное соотношение цена/производительность. ТРМ обладает возможностями, которые существенно снижают стоимость обработки данных в online-приложениях. Небольшие затраты на приобретение ТРМ с лихвой компенсируются экономией на СУБД. Дело в том, что, как правило, стоимость современных СУБД рассчитывается исходя их числа одновременных подключений. Клиент считается подключенным к СУБД, начиная с момента открытия сеанса с базой данных и заканчивая ее закрытием (хотя в рамках одного подключения некоторые СУБД, например, INGRES, позволяют открыть несколько сеансов с различными БД). В течение сеанса СУБД считает клиента активным и вынуждена хранить контекст его подключения, даже в том случае, если клиент вообще не направляет запросов СУБД, а выполняет свои внутренние функции, либо просто ждет ввода от пользователя (который, быть может, ушел пообедать).
Основная функция ТРМ - обеспечение быстрой обработки запросов, поступающих к AS от множества клиентов (от сотен до многих тысяч). ТРМ выполняет ее, мультиплексируя запросы на обслуживание, направляя их к AS, число которых контролируется им самим. Запросы на обработку данных формируются AS на языке SQL и адресуются СУБД. Между АС и СУБД появляется дополнительный слой (AS), которые выполняют роль мультиплексора. Действительно, АС подключается к AS, передает ему данные для обработки; после того, как AS выполнил требуемые действия, он получает результаты обработки и отключается. Контекст подключения не сохраняется, так как в этом нет никакой необходимости. В то же время клиент обращается с запросами на обслуживание не к СУБД, а к AS, следовательно, СУБД регистрирует и отслеживает подключения AS, но не АС.
Для понимания идей, заложенных в мониторы транзакций, важно рассмотреть модель обработки распределенных транзакций, которая была предложена USL и принята X/Open в качестве стандарта.
Модели транзакций. Рассмотрим две модели транзакций, используемые в большинстве коммерческих СУБД: модель автоматического выполнения транзакций и модель управляемого выполнения транзакций, обе основаны на инструкциях языка SQL - COMMIT и ROLLBACK.
Автоматическое выполнение транзакций. В стандарте ANSI/ISO зафиксировано, что транзакция автоматически начинается с выполнения пользователем или программой первой инструкции SQL. Далее происходит последовательное выполнение инструкций до тех пор, пока транзакция не завершается одним из двух способов:
* инструкцией COMMIT, которая выполняет завершение транзакции: изменения, внесенные в БД, становятся постоянными, а новая транзакция начинается сразу после инструкции COMMIT;
* инструкцией ROLLBACK, которая отменяет выполнение текущей транзакции и возвращает БД к состоянию начала транзакции, новая транзакция начинается сразу после инструкции ROLLBACK.Такая модель создана на основе модели, принятой в СУБД DB2.
Управляемое выполнение транзакций. Отличная от модели ANSI/ISO модель транзакций используется в СУБД Sybase, где применяется диалект Transact-SQL, в котором для обработки транзакций служат четыре инструкции:
* инструкция BEGIN TRANSACTION сообщает о начале транзакции, т.е. начало транзакции задается явно;
* инструкция COMMIT TRANSACTION сообщает об успешном выполнении транзакции, но при этом новая транзакция не начинается автоматически;
* инструкция SAVE TRANSACTION позволяет создать внутри транзакции точку сохранения и присвоить сохраненному состоянию имя точки сохранения, указанное в инструкции;
* инструкция ROLLBACK отменяет выполнение текущей транзакции и возвращает БД к состоянию, где была выполнена инструкция SAVE TRANSACTION (если в инструкции указана точка сохранения - ROLLBACK TO имя_точки_сохранения), или к состоянию начала транзакции.
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 Постановка задачи и описание предметной области
Создать приложение «Отдел сбыта», которое содержит сведения об организациях, продукции, поставляемой этими организациями, на основе которого создается продажа.
Исходными данными описывающие предметную область являются таблицы:
Вся информация, которая должна храниться в создаваемой БД, можно разбить на три таблицы. Первая таблица "Организации" будет хранить информацию об организациях, приобретающих продукцию завода, вторая "Продукция" - информацию о продукции и третья "Продажа" - информацию о продажах.
Целесообразно будет, если включить в таблицу "Организации" следующие атрибуты:
"Имя_организации" - уникальное название организации, выступающее в роли первичного ключа таблицы (char 20);
"Адрес" - атрибут, имеющий символьный тип и содержит информацию о местонахождении организации (char 30);
"Активность" - содержит информацию о виде деятельности организации (char 20);
"Телефон" - контактирующий телефон (char 15);
"E_mail" - адрес электронной почты (char 20);
Таблица "Продукция" будет иметь следующие атрибуты:
1 "Имя_продукции" - является уникальным названием продукции, выступающим в роли первичного ключа таблицы (char 10);
2 "Цена_за_один" - цена за единицу (int);
3 "Количество" - количество единиц данной продукции на складе (int);
И соответственно в таблицу "Продажа" необходимо поместить следующие атрибуты:
"Накладная" - является уникальным номером накладной, выступающим в роли первичного ключа таблицы (int);
"Имя_организации" - название организации (char 20);
"Имя_продукции" - наименование продукции (char 10);
"Количество" - количество проданной продукции (int)
"Дата" - дата продажи (datetime)
"Платёж" - вид оплаты (char 20)
Приложение должно обеспечить работу с таблицами:
- Просмотр таблицы;
- Редактирование таблицы (добавление, удаление и корректировка записей, поиск, выборка);
- Вывод для просмотра результата запроса.
Для разработки БД «Отдел сбыта» использует системы управления базами данных Microsoft SQL Server и среды визуального проектирования Borland Delphi 7.0.
2.2 Логическое проектирование АИС
2.2.1 Проектирование БД на логическом уровне
Для того, чтобы связать все эти таблицы, необходимо создать связи между ними, рисунок 1.
2.2.2 Проектирование интерфейса
Для реализации базы данных создаются формы в Borland Delphi 7.0.
На главной форме располагается пункт меню, который содержит вкладки:
- Таблицы - предоставляется полный перечень таблиц, пользователь может выбрать необходимую ему таблицу;
- Запросы - открывается форма, в которой есть возможность просмотра запросов и их отчетов;
- Выгрузка в файл - данный пункт позволяет выгрузить запрос в Microsoft Exel;
- Конструктор запросов, который позволяет создать и вывести на экран необходимый запрос пользователю;
- Пункт меню «О программе» - указывается автор и тема программы;
- Справка - указывается необходимая информация, для работы с программой;
- Выход - пункт завершения программы.
Рисунок 1 - связь между таблицами
При выборе таблиц на главное форме выводятся сами таблицы, а при запуске запросов выводиться вторая форма, содержащая результат запроса.
Так же на форме располагается кнопка «главное меню», позволяющая перейти на первую форму для перехода просмотра следующих данных.
На третьей форме располагается конструктор запросов, в котором пользователь может создать тот или иной запрос.
На четвертой форме располагается информация пункта меню «О программе», где отображается название темы, ее автора и сущность программы.
На главной же формы располагается пункт меню «выход», при нажатии которой перед пользователем появляется окно сообщения о подтверждении выхода из программы
2.3 Физическая реализация
Средствами СУБД SQL создаем базу данных, создаются таблицы, состоящие из полей.
Поскольку в разных полях могут содержаться данные разного типа, то и свойства у полей могут различаться в зависимости от типа данных.
Базы данных Microsoft SQL работают со следующими типами данных, таблица 1.
Таблица 1
Типы данных
№ п/п |
Название типа |
Описание типа |
|
1 |
varchar |
Текст или числа, не требующие проведения расчетов. Размер поля до 255 символов. Устанавливается по умолчанию. |
|
2 |
int |
Числовые данные, используемые для расчетов. Размер поля 1, 2, 4 или 8 байт в зависимости от свойств поля |
|
3 |
datatime |
Дата и время, относящиеся к годам с 100 по 9999. Размер поля 8 байт. |
|
4 |
money |
Денежные значения и числовые данные, используемые в математических расчетах и содержащие до 15 знаков в целой части и до 4 знаков в дробной. Размер поля 8 байт. |
|
5 |
real |
Вещественный тип, используемые для расчетов, числа с плавающей запятой. |
Схема данных является графическим отображением базы данных и используется SQL в процессе работы с базой данной. Создание схемы данных позволяет упростить конструирование многотабличных форм, запросов, а также обеспечить поддержание целостности взаимосвязанных данных при корректировке таблиц, рисунок 2.
Рисунок 2 - схема данных в Microsoft SQL
Существуют два типа связей: один - ко - многим (1:М) и один - к - одному (1:1). При построении схемы данных SQL автоматически определяет по выбранному полю связи между таблицами. Если поле, по которому нужно установить связь, является уникальным ключом как в главной таблице, так и в подчиненной, SQL устанавливает связь один - к - одному. Если поле связи является уникальным ключом в главной таблице, а в подчиненной таблице является не ключевым, Access устанавливает связь один - ко многим от главной таблицы к подчиненной.
В данной работе определена связь один - ко - многим (1:М).
Далее создаются запросы через конструктор запросов.
Запрос 1 - Выводит организации с общим видом деятельности, указанным пользователем
select *
from Организации
where Активность='строительство', рисунок 3.
Рисунок 3 - запрос «Список организаций, занимающиеся строительством»
Запрос 2 - Выводит список продукций с ценой за единицу большей указанной цены:
select *
from Продукция
where Цена_за_единицу>=3000
order by Имя_продукции, рисунок 4.
Рисунок 4 - запрос «список продукции с ценой больше 3000 рублей»
Запрос 3 - Выводит все информацию о проданной продукции за раз превышающей указанного количества единиц продукции:
select*
from Продажа
where количество>=25, рисунок 5.
Запрос 5 - Выводит список организаций с указанного города с указанным общим видом деятельности:
select *
from Организация
where Адрес=Караганда and Активность=строительство, рисунок 6.
Рисунок 5 - запрос «список всей информации о продаваемой продукции за раз превышающий 25 единиц продукции»
Рисунок 6 - запрос «список организаций с городом Караганда и с видом деятельности строительство»
Также на форме располагается кнопка для просмотра отчетов:
Рисунок 7 - Отчет по запросу расчета оптимального размера запаса
Рисунок 8 - отчет по запросу левого объединения по методам запасов
Рисунок 9 - отчет по запросу об информации первого запаса
Рисунок 10 - отчет по запросу среднего значения оптимального размера запаса
Вкладка меню «загрузка в Excel» позволяет вывести тот или иной запрос в файл Microsoft Excel для дальнейшей работы с запросом (редактирование, сохранение, печать), рисунок 11.
Рисунок 11 - выгрузка запроса в файл Microsoft Excel
Создается форма, для размещения компонентов.
Для соединения с базой данных необходимо воспользоваться компонентом ADOConnection на вкладке ADO. Поместим такой компонент на форму. Далее выбираем свойство ConnectionString. Появляется окно - рисунок 13.
Рисунок 13 - указывается путь к базе данных
Нажать кнопку Build, появляется окно свойства канала передачи данных, необходимо выбрать поставщика данных - рисунок 14.
Рисунок 14 - выбор поставщика данных
Выбирать первого поставщика и нажать кнопку «далее».
В первом пункте указываем имя сервера, где располагается файл СУБД SQL, далее выбрать базу данных, располагающаяся на данном сервере, рисунок 15.
Рисунок 15 - подключение БД с сервера.
Далее в вкладке ADO размещаем на форму компонент ADOTable - свойства:
1. Сonnection - ADOConnection
2. TableName - указываем одну из таблиц БД.
Во вкладке Data Access выбираем компонент Data Source, размещаем на форму. Свойство - DataSet - выбирать ADOTable.
Во кладке Data Controls размещаем компонент DBGrid . Свойство - Data Source выбираем Data Source.
Далее необходимо вернуться в вкладку свойств для компонента ADOTable и установить свойство Active - true.
Таблица появляется в компоненте DBGrid.
Для того, чтобы можно было добавлять, удалять и корректировать поля таблицы, надо разместить еще один компонент. В вкладке Data Controls выбирать компонент DBNavigator, у него установить свойство - Data Sourse - Data Sourse.
В результате должно появиться следующее, рисунок 16.
Рисунок 16 - результат
Для реализации запросов используется те же компоненты, что при отображении таблиц, но вместо компонента ADOTable используют компонент ADOQuery, в котором в свойстве SQL прописывают текст запроса, рисунок 17.
Рисунок 17 - реализация запроса
В данной курсовой работе были использованы следующие компоненты, таблица 2.
Таблица 2
Название и эмблема |
Описание |
Свойства |
|
ADOConnection |
обеспечивает соединение с базой данных. |
ConnectionString - Строка соединения.Содержит информацию, необходимую для подключения к базе данных. |
|
TADOTable |
обеспечивает доступ к таблицам через компонент ADOConnection |
Сonnection- ADOConnection. TableName- указываем одну из таблиц БД. Activе- активность. |
|
ADOQuery |
применяется для выполнения произвольных запросов SQL. |
Сonnection- ADOConnection SQL - окно ввода запроса. Activе- устанавливается активность компонента. |
|
TDataSource |
представляет собой источник данных, который обеспечивает связь между набором данных и компонентами отображения и редактирования данных. |
DataSet - Набор данных, с которым связан компонент. |
|
DBGrid |
используется для просмотра и редактирования базы данных в режиме таблицы. |
DataSource - Источник отображаемых в таблице данных [компонент DataSource]. Visible - видимость компонента. |
|
TMainMenu |
предназначен для добавления к программе главного меню. |
Caption - название пунктов меню. |
|
TButton |
позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. |
Caption - название пунктов меню. |
|
TLabel |
служит для отображения текста на экране. |
Caption - название пунктов меню. Visible - видимость. |
|
TImage |
отображает графическое изображение на форме. |
Visible - видимость компонента. Picture - загрузка изображения. |
|
DBNavigator |
обеспечивает перемещение указателя текущей записи, активизацию режима редактирования, добавление и удаление записей. Компонент представляет собой совокупность командных кнопок. |
Visible - видимость компонента. DataSource - Имя компонента, являющегося источником данных. |
|
Указатель текущей записи перемещается к первой записи файла данных. |
|||
Указатель текущей записи перемещается к предыдущей записи. |
|||
Указатель текущей записи перемещается к следующей записи. |
|||
Указатель текущей записи перемещается к последней записи |
|||
Добавление записи. |
|||
Удаление записи. |
|||
Устанавливает режим редактирования текущей записи. |
|||
Устанавливает режим редактирования текущей записи. |
|||
Изменения, внесенные в текущую запись, записываются в файл данных. |
|||
Отменяет внесенные в текущую запись |
|||
NXDBGrid |
используется для просмотра и редактирования базы данных в режиме таблицы. |
DataSource - Источник отображаемых в таблице данных [компонент DataSource].Visible - видимость компонента.Trasformid - меняет структуру компонента. |
|
Quick Reports |
компонентов для создания отчетов |
DataSet- Источник отображаемых в запросе данных. Bands.HasTitl -заголовок. Bands.HasColumnHeader - полоса название полей. Bands.HasDetail - полоса записей. |
|
TQRLabel |
текстовая метка. Компонент аналогичен стандартному компоненту TLabel |
DataSet- Источник отображаемых в запросе данных.Font - редактирование шрифта. Color - цвет компонента. |
|
TQRDBText |
текстовое поле. Компонент предназначен для отображения в отчете значений заданного поля БД. |
DataSet- Источник отображаемых в запросе данных. Font - редактирование шрифта. Color - цвет компонента.Datafield - выбор поля запроса. |
2.4 Инструкция для пользователя
Чтобы приступить к работе, необходимо запустить программу, выбрав файл «JenechkaPro.exe». Появляется окно с вкладками Организации, Продукция, Продажа, Заказ, рисунок 18.
В программе имеется пункты меню 1. Программа: Выход 2. Работа с таблицами: Организации, Продукция, Продажа. 3. Запросы: Сохранить в Excel, Свой запрос. 4. Справка: Вызов справки, О программе, рисунок 18.
Таблицы можно редактировать (дополнять, удалять и корректировать данные) с помощью компонента - Навигатор.
Рисунок 18 - окно приветствия
Рисунок 18 - пункты меню
Программа содержит вкладки с таблицами между которыми можно переключаться по клику мышки. На вкладке Запросы можно просмотреть созданные запросы, выбрав их созданного списка.
Рисунок 19 - Вывод таблицы
Ниже находится окно запроса, где можно прописать свой собственный запрос, рисунок 20.
Рисунок 20 - вывод запросов
Также, пользователь имеет возможность узнать создателя программы, и ее назначение, выбрав пункт меню «о программе», рисунок 23.
Рисунок 23 - пункт меню «О программе»
Чтобы покинуть пункт меню «о программе», следует нажать кнопку «выход» или на кнопку перехода в главное меню.
В случае, если возникают вопросы, можно обратиться к пункту меню «справка», в котором пользователь найдет ответы на свои вопросы, рисунок 24.
Рисунок 24 - справка
сбыт продукция база данный
ЗАКЛЮЧЕНИЕ
Цель курсовой работы достигнута. При выполнении курсовой работы в СУБД Microsoft SQL Server были созданы таблицы, а в среде визуального проектирования Borland Delphi 7.0. происходит их реализация, а также создание запросов. Разработанное приложение является работоспособным, эффективно работающим с данными. Обеспечивая с одной стороны выполнение всех необходимых для данной предметной области операций над данными, приложение имеет относительно небольшой объём (6 Мб на диске), а, следовательно, не предъявляет высоких требований к аппаратным ресурсам компьютера.
Программа может успешно использоваться по назначению. Достоинством является то, что таблицы и запросы можно рассматривать в различной последовательности. Возможность редактирования данных таблиц, а именно дополнение, удаление или изменения уже существующих данных.
Недостатки данной программы, которые, скорее всего, обнаружатся при непосредственном применении в области задач, легко устранимы и скорее всего программа потребует небольшой коррекции. Одним из недостатков является то, что нет вывода данных в виде формы и отчетов, а соответственно и их заполнение и вывод на печать.
При написании данного приложения были использованы знания, полученные в результате изучения дисциплин: Базы данных, Алгоритмические языки высокого уровня и Информационные системы, так как для представления программ в Delphi используется язык Object Pascal, в основе которого лежит ставший классическим Turbo Pascal. В данной работе были широко использованы методы работы с БД и СУБД, создание таблиц, организация связи между ними и другое.
При выполнении данной курсовой работы были приобретены навыки работы с файлами, изучён синтаксис данного языка программирования.
В ходе выполнения проекта данной курсовой работы:
1. Обследование и разработка технического задания;
2. Построение блок-схемы программы;
3. Разработка программы;
4. Тестирование и устранение ошибок.
Программа применительно для операционной системе Windows.
Объем оперативной памяти составляет 2084 Кб, а свободного места на диске необходимо 8 Мб. Частота 233 MHz.
СПИСОК ЛИТЕРАТУРЫ.
1. Архангельский А.Я Delphi7: учебный курс. - М:.
2. Виейра В Программирование баз данных Microsoft SQL Server. Базовый курс. Пер. с ангс. - М:.2005;
3. Нилсен П Microsoft SQL Server 2005. Базовый курс. Пер. с ангс. - М:.2005;
4. Рудикова А.В. БД разработка приложений. - М:.2006
5. Сивохин А.В, Шибанов С.В, Самуйлов С.В Microsoft SQL Server 2000. Учебное пособие. - М:.2004;
6. Фаронов В. Программирование баз данных в Delpi 7: учебный курс. - Спб: Питер;
7. Хомоненко А., Цыганков В., Мальцев М. Базы данных: учебное пособие. - Спб: Корона.
ПРИЛОЖЕНИЕ А
Блок-схема
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.1 - нажатие на кнопку «выход»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А. 2 - нажатие на второй пункт меню «вид запаса»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А. 3 - нажатие на третий пункт меню «Задачи»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А. 4 - нажатие на четвертый пункт меню «Затраты»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А. 5 - нажатие на пятый пункт меню «Метод»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А. 6 - нажатие на шестой пункта меню «Подвид запаса»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.7 - нажатие на седьмую кнопку пункта меню «Причина».
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.8- нажатие на восьмую кнопку пункта меню «размер заказа».
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.9 - нажатие на девятый пункт меню «Заказ»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.10- нажатие кнопки «запросы»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.11- нажатие кнопки «пункт меню о программе».
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.12- нажатие радиокнопки «запрос на расчет размера заказа».
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.13- нажатие радиокнопки «левое объединение»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.14- нажатие радиокнопки «информация о запасе»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.15- нажатие радиокнопки «среднее значение».
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.16- нажатие кнопки «выход в главное меню»
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок А.17- загрузка в файл Microsoft Excel/
ПРИЛОЖЕНИЕ Б
Код программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, ExtCtrls, DBCtrls, Menus, StdCtrls,
jpeg, ShellAPI, NXDBGrids;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
ADOTable1: TADOTable;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
Button1: TButton;
N11: TMenuItem;
N12: TMenuItem;
Label1: TLabel;
Image1: TImage;
N10: TMenuItem;
NXDBGrid1: TNXDBGrid;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
procedure TForm1.N2Click(Sender: TObject);
begin
Form1.NXDBGrid1.Visible:= true;
Form1.DBGrid1.Visible:= true;
Form1.Label1.Visible:= False;
Form1.Image1.Visible:= False;
Form1.DBNavigator1.Visible:= true;
Form1.ADOTable1.Active:=False;
Form1.ADOTable1.TableName:='вид_запаса';
Form1.ADOTable1.Active:=true;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Form1.NXDBGrid1.Visible:= true;
Form1.DBGrid1.Visible:= true;
Form1.Label1.Visible:= False;
Form1.Image1.Visible:= False;
Form1.DBNavigator1.Visible:= true;
Form1.ADOTable1.Active:=False;
Form1.ADOTable1.TableName:='задачи';
Form1.ADOTable1.Active:=true;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
Form1.NXDBGrid1.Visible:= true;
Form1.DBGrid1.Visible:= true;
Form1.Label1.Visible:= False;
Form1.Image1.Visible:= False;
Form1.DBNavigator1.Visible:= true;
Form1.ADOTable1.Active:=False;
Form1.ADOTable1.TableName:='затраты';
Form1.ADOTable1.Active:=true;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form1.NXDBGrid1.Visible:= true;
Form1.DBGrid1.Visible:= true;
Form1.Label1.Visible:= False;
Form1.Image1.Visible:= False;
Form1.DBNavigator1.Visible:= true;
Form1.ADOTable1.Active:=False;
Form1.ADOTable1.TableName:='метод';
Form1.ADOTable1.Active:=true;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form1.NXDBGrid1.Visible:= true;
Form1.DBGrid1.Visible:= true;
Form1.Label1.Visible:= False;
Form1.Image1.Visible:= False;
Form1.DBNavigator1.Visible:= true;
Form1.ADOTable1.Active:=False;
Form1.ADOTable1.TableName:='подвид_запаса';
Form1.ADOTable1.Active:=true;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Form1.NXDBGrid1.Visible:= true;
Form1.DBGrid1.Visible:= true;
Form1.Label1.Visible:= False;
Form1.Image1.Visible:= False;
Form1.DBNavigator1.Visible:= true;
Form1.ADOTable1.Active:=False;
Form1.ADOTable1.TableName:='причина';
Form1.ADOTable1.Active:=true;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
Form1.NXDBGrid1.Visible:= true;
Form1.DBGrid1.Visible:= true;
Form1.Label1.Visible:= False;
Form1.Image1.Visible:= False;
Form1.DBNavigator1.Visible:= true;
Form1.ADOTable1.Active:=False;
Form1.ADOTable1.TableName:='размер_заказа';
Form1.ADOTable1.Active:=true;
end;
procedure TForm1.N9Click(Sender: TObject);
begin
Form1.NXDBGrid1.Visible:= true;
Form1.DBGrid1.Visible:= true;
Form1.Label1.Visible:= False;
Form1.Image1.Visible:= False;
Form1.DBNavigator1.Visible:= true;
Form1.ADOTable1.Active:=False;
Form1.ADOTable1.TableName:='заказ';
Form1.ADOTable1.Active:=true;
end;
procedure TForm1.N15Click(Sender: TObject);
var
i,j,index: Integer;
ExcelApp,sheet: Variant;
begin
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.Visible := False;
//ArrayData:=varArrayCreate([1,RowCount,1,ColCount],varVariant);
ExcelApp.WorkBooks.Add('C:\отчет.xlsx');
ExcelApp.WorkBooks[1].WorkSheets[1].name := 'отчет1';
sheet:=ExcelApp.WorkBooks[1].WorkSheets['отчет1'];
index:=3; // номер строки начала
form2.DBGrid1.DataSource.DataSet.First;
for i:=1 to form2.DBGrid1.DataSource.DataSet.RecordCount do
begin
for j:=1 to form2.DBGrid1.FieldCount do
sheet.cells[index,j]:=form2.DBGrid1.fields[j-1].asstring;
inc(index);
form2.DBGrid1.DataSource.DataSet.Next;
end;
ExcelApp.Visible := true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Visible:=False;
form2.Visible:=true;
end;
procedure TForm1.N10Click(Sender: TObject);
begin
ShellExecute(0,'open','справка.chm','','',SW_SHOW);
end;
procedure TForm1.N11Click(Sender: TObject);
begin
form1.Close
end;
procedure TForm1.N12Click(Sender: TObject);
begin
form4.visible:= True
end;
{procedure TForm1.DBNavigator1Click(Sender: TObject; Button:
TNavigateBtn);
var f:textfile;
begin
assignfile(f,'resultat.txt');
append(f);
//TDBNavigator.BeforeAction ;
closefile(f);
end; }
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, ComCtrls, DB, ADODB, DBGrids, DBTables,
ExtCtrls, DBCtrls, jpeg;
type
TForm2 = class(TForm)
ADOConnection1: TADOConnection;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
DataSource3: TDataSource;
ADOQuery3: TADOQuery;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Button1: TButton;
RadioButton4: TRadioButton;
ADOQuery4: TADOQuery;
DataSource4: TDataSource;
DBGrid4: TDBGrid;
Image1: TImage;
Image2: TImage;
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.RadioButton1Click(Sender: TObject);
begin
form2.DBGrid1.Visible:=true ;
form2.DBGrid3.Visible:=False ;
form2.DBGrid2.Visible:=False ;
form2.DBGrid4.Visible:=False ;
end;
procedure TForm2.RadioButton2Click(Sender: TObject);
begin
form2.DBGrid2.Visible:=true ;
form2.DBGrid1.Visible:=False ;
form2.DBGrid3.Visible:=False ;
form2.DBGrid4.Visible:=False ;
end;
procedure TForm2.RadioButton3Click(Sender: TObject);
begin
form2.DBGrid3.Visible:=true ;
form2.DBGrid1.Visible:=False ;
form2.DBGrid2.Visible:=False ;
form2.DBGrid4.Visible:=False ;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.Visible:=False;
form1.Visible:=true;
Form1.DBGrid1.Visible:= False;
Form1.Label1.Visible:= true;
Form1.Image1.Visible:= true;
Form1.DBNavigator1.Visible:= False;
Form1.NXDBGrid1.Visible:= False;
end;
procedure TForm2.RadioButton4Click(Sender: TObject);
begin
form2.DBGrid4.Visible:=true ;
form2.DBGrid1.Visible:=False ;
form2.DBGrid2.Visible:=False ;
form2.DBGrid3.Visible:=False ;
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls, Menus;
type
TForm4 = class(TForm)
Memo1: TMemo;
Label1: TLabel;
Image1: TImage;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm4.N1Click(Sender: TObject);
begin
form1.visible := true ;
form4.visible := false ;
Form1.DBGrid1.Visible:= False;
Form1.Label1.Visible:= true;
Form1.Image1.Visible:= true;
Form1.DBNavigator1.Visible:= False;
Form1.NXDBGrid1.Visible:= False;
end;
procedure TForm4.N2Click(Sender: TObject);
begin
close
end;
Размещено на Allbest.ru
Подобные документы
Программа управления базой данных "Отдел сбыта", содержащей информацию об организациях, приобретающих продукцию завода, о продукции и ее продаже. Обеспечение хранения, добавления, удаления и редактирования информации, использования запросов и отчетов.
курсовая работа [567,8 K], добавлен 18.08.2009Типы моделей данных: реляционная, иерархическая и сетевая. Описание концептуальной модели реляционной базы данных. Разработка базы данных в СУБД Microsoft Access, ее премущества и недостатки, составные компоненты, описание и обоснование полей таблиц.
курсовая работа [62,6 K], добавлен 09.03.2009Особенности обработки информации в компании. Основные модели данных: иерархическая, сетевая, реляционная. Выбор подходящей системы управления базами данных. Microsoft Access как интерактивная, реляционная СУБД для операционной системы MS Windows.
статья [14,7 K], добавлен 22.02.2016Характеристика и технические возможности СУБД MySQL. Трехуровневая структура MySQL. Требования к аппаратному обеспечению. Создание таблицы, триггеров, генераторов, хранимых процедур в MySQL. Разработка приложения для базы данных с помощью Borland Delphi.
курсовая работа [940,7 K], добавлен 20.12.2011Автоматизации деятельности промышленного предприятия. Сущность, цели и задачи проектирования базы данных, характеристика ее составных компонентов. Основные типы моделей данных – реляционная, иерархическая и сетевая, их достоинства и недостатки.
курсовая работа [78,5 K], добавлен 15.03.2009Понятие баз данных и принципы проектирования информационных систем. Разработка программы для отслеживания финансовой стороны работы компании в среде Delphi 7. Создание таблиц и схемы данных. Разработка клиентского приложения и процедуры добавления данных.
курсовая работа [1,4 M], добавлен 25.04.2012Особенности среды визуального проектирования Borland Delphi 7.0. Этапы разработки программы и составления блок-схемы алгоритмов. Способы вычисления кусочно-заданной функции одной переменной. Рассмотрение компонентов среды Delphi, ее предназначение.
контрольная работа [703,8 K], добавлен 24.09.2012Функции автоматизированной системы "Отдел аспирантуры". Проектирование реляционной модели и разработка SQL-кода базы данных. Анализ информационного обеспечения функций. Проектирования глобальной ER-модели. Спецификации локальных ограничений и правил.
курсовая работа [428,4 K], добавлен 01.04.2011Модель данных как совокупность структур данных и операций их обработки. Иерархическая, сетевая и реляционная модели данных, их основные преимущества и недостатки. Операции над данными, определенные для каждой из моделей, ограничения целостности.
реферат [128,4 K], добавлен 16.02.2012Цель инфологического моделирования базы данных. Создание с помощью СУБД Microsoft SQL Server шести сущностей с определенными атрибутами, представлений, основанных на соединении столбцов нескольких таблиц и связей между ними. Создание процедур и запросов.
курсовая работа [721,4 K], добавлен 29.11.2009