Автор работы: Пользователь скрыл имя, 02 Декабря 2013 в 13:40, реферат
Как известно, целью проектирования базы данных (БД) является получение эффективной БД. Структура БД должна быть гибкой и адаптивной, алгоритмы обработки должны быть эффективными.
Структура БД зависит от того, что мы собираемся делать с данными, характеризующими предметную область.
1. Описание предметной области
2. Проектирование базы данных
2.1. Объекты предметной области
2.2. Построение ER – модели
2.3. Реляционная модель
3. Проектирование информационной системы
3.1. Функции информационной системы
3.2. Архитектура информационной системы
4. Реализация информационной системы
4.1. Средства реализации
Литература
Таблица 1.3. Отношение Заказ – таблица Zakaz
Атрибут |
Комментарий |
nomer |
Номер заказа |
n_consul |
Номер консультанта – сост. ключ |
n_client |
Номер клиента – сост. Ключ |
n_tov |
Номер товара |
kolvo |
Количество |
date |
Дата заказа |
Таблица 1.4 Отношение Товар – таблица Tovar
Атрибут |
Комментарий |
n_tov |
Номер товара – ключевой атрибут |
nazv |
Наименование товара |
d_vip |
Дата выпуска |
d_god |
Срок годности |
srok |
Срок использования |
pr_opt |
Оптовая цена |
pr_rozn |
Розничная цена |
sklad |
Количество на складе |
Реляционная схема
БД с выделенными ключевыми
Consul (n_consul, fio)
Client (n_cl, fio_cl, n_consul)
Zakaz (nomer, n_consul, n_client, n_tov, kolvo, date)
Tovar (n_tov, nazv, d_vip, d_god, srok, pr_opt, pr_rozn, sklad)
Введем понятие домена. Домен – это множество значений, из которого извлекаются фактические значения, появляющиеся в данном столбце. Следует отметить, что значения атрибутов, являющихся ключами отношений, извлекаются из множества натуральных чисел. Значения атрибутов fio, fio_cl и т.д. – из множества символьных данных, значения атрибута date извлекаются из множества дат.
Главными функциями информационной системы (ИС), то есть приложения, являются просмотр и редактирование данных о клиентах и консультантах – основных объектах задачи. Кроме того, важной функцией является редактирование данных о товарах, то есть добавление и (или) изменение товаров на склад, составления заказов.
Для объекта Клиент вводятся операции:
Для объекта Консультант вводятся операции:
Для объекта Товар вводятся операции:
Для объекта Заказ вводятся операции:
Операция, связанная с удалением данных в объектах, не является типичной для выбранной предметной области.
Для имеющихся данных могут быть сформулированы следующие операции (запросы):
При необходимости список запросов может быть дополнен, несмотря на небольшое количество объектов задачи. Дело в том, что заказчик (пользователь) ИС всегда хочет больше, чем реализовано. Поэтому ИС должна быть гибкой, то есть способной к изменению и добавлению (расширению) в минимальные сроки с максимальной отдачей.
Архитектура ИС задачи представлена на рис. 1.3.
Рис. 1.3 Архитектура ИС
СУБД Visual FoxPro (VFP) для реализации информационной системы (ИС) имеет следующие средства:
– базовые возможности полнофункциональной интегрированной среды программирования Visual FoxPro с использованием объектно-ориентированного программирования;
– визуальные средства, которыми можно воспользоваться из главного меню СУБД Visual FoxPro;
– язык программирования СУБД Visual FOXPRO с полным набором операторов (команд);
– специализированный язык запросов – SQL (Structured Query Language).
Основные объекты СУБД Visual FoxPro
В СУБД Visual FoxPro можно выделить следующие основные объекты:
проект, база данных, таблицы и индексы, хранимые процедуры и триггеры, относящиеся непосредственно к базе данных;
представления данных (просмотры), запросы, отчеты, формы, программы, меню, классы.
Проект (объект Project) используется для объединения элементов приложения. Проект играет роль каталога, содержащего элементы приложения (информационной системы конкретной задачи – конкретной предметной области), упрощая разработку приложения.
База данных (объект Database) состоит из таблиц, индексов, триггеров и хранимых процедур. Каждая таблица имеет имя и хранится в отдельном файле с расширением DBF (data base file – файл базы данных). Каждая таблица может иметь несколько индексов, используемых для упорядочения данных и быстрого поиска данных. Индексы хранятся в файле с тем же именем, что и таблица, но с расширением CDX – составной индексный файл (мультииндексный файл), хранящий сразу несколько индексных выражений.
Хранимые процедуры и триггеры позволяют обрабатывать события, возникающие при редактировании данных. Эти объекты являются частью базы данных и определяются при описании таблиц с целью проверки вводимых данных.
Представления данных (Views) позволяют объединять данные таблиц и представлять их в более удобном виде. Представления – это виртуальные таблицы. Они похожи на обычные таблицы, но не являются физическими объектами хранения данных. Представления существуют в базе данных до тех пор, пока не будут принудительно удалены. Количество представлений в базе данных обычно превосходит количество таблиц. Во многих информационных системах (приложениях) доступ к данным осуществляется только с помощью представления данных. Представления используются для выборки данных в формах, отчетах, при создании запросов и в программах.
Формы, отчеты, запросы и программы используются для отображения и редактирования данных.
Формы (объект Form) используются для просмотра и ввода данных в таблицы, отображения их на экране или управления работой приложения (ИС). Данные можно вводить в таблицы и непосредственно, без применения форм. Для создания формы используются мастер форм и конструктор форм. Мастер форм предоставляет ряд шаблонов, которыми можно воспользоваться. Конструктор форм предназначен для создания сложных форм.
Формы как объекты предоставляют разработчику множество свойств, событий и методов, которые позволяют управлять внешним видом окна и на созданном окне размещать различные элементы управления. Объект Form является контейнером, в который помещаются другие объекты. Это позволяет расширить собственную функциональность, а также позволяет организовать интерактивный диалог с пользователем.
Отчет (объект Report) – это форматированное представление данных, выводимое на экран, в файл или на печать. Поддерживается вывод отчетов в разных форматах, в число которых входят XML, HTML. Для создания отчетов, как и для форм, используются мастер форм и конструктор форм.
Запросы являются средством выборки данных из одной или нескольких таблиц. Для реализации запроса используются следующие средства: специализированный язык запросов – SQL (Structured Query Language), конструктор запросов и программа на алгоритмическом языке Visual FoxPro. Результаты выполнения запроса могут выводиться в виде отчета, отображаться в форме или сохраняться в указанной таблице.
Программы, написанные на алгоритмическом языке Visual FoxPro, являются объектно-ориентированными. С помощью программ обрабатываются события в форме, создаются объекты, осуществляются вычисления, происходит управление базой данных. Можно объединять программы в библиотеки. Для создания форм используются как базовые классы, так и собственные пользовательские классы. Классы, созданные в VFP, хранятся в библиотеках классов.
Меню является основной формой диалога в информационных системах обработки данных. Для создания меню используется генератор (конструктор) меню. Генератор меню создает программу, которая запускается на выполнение. Полученную программу можно просматривать и редактировать.
Для создания объектов и работы с ними в Visual FoxPro существуют специальные средства – конструкторы (Designers) и мастера (Wizards). Они предоставляют удобные возможности, позволяющие создавать нужные объекты информационных систем (приложений).
Основные конструкторы (Designers)
Конструктор базы данных предоставляет средства для создания объекта БД (Database). С его помощью можно создавать, добавлять, удалять таблицы, связывать их так называемыми «постоянными связями» (которые очень наглядно отображаются), определять правила ссылочной целостности, создавать хранимые процедуры, триггеры.
Конструктор таблиц предназначен для создания таблиц и определения их структуры, создания индексов, определения правил ввода как для полей, так и для записей в целом. Кроме того, с помощью конструктора определяются триггеры для событий удаления, модификации и вставки записи.
Конструктор запросов позволяет визуальными средствами создавать запросы к БД на языке SQL.
Конструктор предназначен для создания представлений – SQL-запросов, хранящихся в БД. Представления позволяют редактировать данные.
Конструктор форм предоставляет удобные средства для создания пользовательского интерфейса.
Этот конструктор предназначен для создания отчетов – средств вывода на печать содержимого таблиц, результатов запроса.
Кроме того, существуют так называемые мастера (Wizards) – средства для автоматизации создания данных объектов. Они предоставляют разработчику ряд вопросов и после ответа на них автоматически создают готовые объекты. Мастера не имеют всех возможностей конструкторов.
Управление проектом
Основой любого приложения в VFP является проект (Project). Проект – средство объединения элементов приложения в единое целое. Проект играет роль каталога, который содержит все, что касается реализации данной задачи. Для управления проектом существует Менеджер Проектов (Project Manager).
Проект объединяет следующий универсальный набор типов элементов, необходимый для создания приложения любой предметной области:
Менеджер Проектов выполнен в виде многостраничного блокнота, на каждой странице которого представлены указанные элементы.
Менеджер Проектов является центром управления всеми элементами, входящими в приложение.
Каждый элемент может быть представлен в одном из двух состояний: закрытом (признак «+») или открытом (признак «–»).
Файлы в проекте классифицируются по видам. Каждый элемент проекта отображает свои файлы.
Элемент All отображает все файлы.
Элемент Data (данные) отображает базу данных (файлы с расширением DBC, DCT, DCX), таблицы, представления, запросы (файлы с расширением DBF, FPT,CDX), хранимые процедуры.
Элемент Documents (документы) – формы (файлы с расширением SCX, SCT) , отчеты (файлы с расширением FRT, FRX) .
Элемент Classes (классы) – файлы библиотек классов. Если раскрыть библиотеку, то будет показан список входящих в нее классов.
Элемент Code (код) – программы (файлы с расширением PRG, FXP) .
Элемент Other (остальное) – меню (файлы с расширением MNT, MNX, MPR, MPX), файлы переменных, макрокоманды.