Проектирование базы данных

Автор работы: Пользователь скрыл имя, 05 Декабря 2012 в 13:25, курсовая работа

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

Наибольшее распространение в сфере управления экономическими объектами получило программное средство, связанное с накоплением и анализом данных. Процесс проектирования приложений, позволяющих накапливать и использовать данные для решения задач управления, поддерживается системами управления базами данных (СУБД). Для анализа данных удобно использовать средства представленные табличными процессорами. СУБД различаются по целям и масштабности поддержки информационных систем. С помощью СУБД можно решать вопросы создания структуры баз данных, проектирование входных и выходных форм, отчётов, поддерживание целостности базы.

Содержание

Введение 3
1. Схема и связи модели данных 4
2. Выражение схемы в виде реляционной модели данных 5
3. Доказательство того, что любое из отношений схемы представлено в третьей нормальной форме 6
4. Обоснование схемы интерфейса приложения 6
5. Объяснение назначения и структура формы "Справочник товаров", а также механизм автоматического формирования кода товара и назначение поля со списком 7
6. Объяснение назначения и структура формы "Список клиентов", а также механизм автоматического формирования кода клиента 7
7. Объяснение назначения и структура формы "Заказы" 8
8. Назначение, создание и особенности элемента управления - подчиненная форма 8
9. Использование кнопок в форме заказы 8
10. Типы элементов управления, используемые при постоении форм - связанные и несвязанные поля, поля со списком, кнопки и надписи 9
11. Свойства объектов - группы "макет" и "данные" 10
12. Свойства объектов - группы "события". События "До обновления", "После обновления", "Нажатие кнопки". Примеры 10
13. Назначение и описание формы "Оплата". Способ занесения номера заказа в поле "Номер заказа" 11
14. Назначение и описание формы "Спецификация". Автоматическое занесение цены. Поле с расчетными значениями. 12
15. Понятие запроса. Порядок формирования запроса на примере первого запроса 13
16. Понятие запроса. Порядок формирования запроса на примере второго запроса 14
17. Понятие запроса. Порядок формирования запроса на примере третьего запроса 14
Заключение 15
Список библиографических источников 16

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

informteh-kp.doc

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

- упорядочиваются поля и надписи,  предварительно убрав надпись  «Код заказа» и скрыв одноименное  поле;

-  удаляется поле «Код товара»,  создается вместо него поле  со списком, как описано выше. Только в качестве таблицы  выбора используется таблица «Товар», а выбранные поля: «Код товара» и «Наименование»;

-  в область данных ввести  несвязное поле, введя в свойства  «Данные» выражение =[Количество]*(1+[Наценка] - [Скидка])*[Цена]. Это удобнее сделать, воспользовавшись построителем выражений.

-  в область заголовка вводить  текстовое поле «Стоимость», соответствующее  только что введенному полю  с расчетом;

-  в примечании формы вводиться  несвязное поле, введя в свойства  «Данные» выражение = Sum([Количество]*(1+[Наценка]-[Скидка]*[Цена]). В этом поле будет рассчитываться сумма всего заказа. Поле лучше скрыть, задав в свойстве «Вывод на экран» значение «Нет»;

-  для автоматического занесения  цены после выбора товара в  свойства «После обновления»  поля «Код товара» нужно вставить  процедуру обработки, включающую следующий код Me![Цена] = DLookup(«[Цена]», «[Товар]», «[Код товара]»=&Me![Код товара], здесь полю «Цена» присваивается значение, возвращаемое функцией DLookup, которая использует три параметра: имя поля с ценой, имя таблицы, условия отбора. Функция DLookup выбирается из встроенных функций, предоставляемых построителем выражений в группе «По подмножеству». Условие представляет собой вычисляемое вырадение, включающее текстовую константу и код товара из  поля «Код товара». Если введенный код товара будет, например, равен 2, то выражение даст «[Код товара]=2 , и в таком виде будет передано функции DLookup для поиска.

14. Назначение и описание формы «Оплата». Способ занесения номера заказа в поле «Номер заказа».

       

         Еще одной формой, которая необходима для формы «Заказы» является форма «Оплата».

         Ленточная  форма создается для таблицы  «Оплата» и включает следующие  доработки: 

-  создать форму с помощью  мастера для всех полей таблицы;

-  скрыть поле «Номер заказа» и удалить его надпись;

-  для каждой новой записи  ввести в поле «Номер заказа»  таблицы «Оплата» номер заказа, указанный в форме «Заказы». Для  этого в событии «До обновления»  формы «Оплата» необходимо с  помощью мастера построения выражений  создать процедуру обработки события следующего вида:

    If Nz (Me![Номер заказа])=0 Then   

      Me! [Номер заказа] =Forms! [Заказы]![Номер заказа]

     End if

   Эта процедура для каждой  новой записи, т. е. той записи, у которой номер заказа либо  пуст, либо равен нулю, значению поля «Номер заказа» присваивает значение одноименного поля из формы заказы.

         После создания  формы «Оплата» можно продолжить  разработку формы «Заказы», предварительно  сохранив и закрыв только что  созданную форму. 

         В дополнение к уже созданным элементам формы необходимо: 

-  вставить подчиненную форму  «Спецификация»;

-  добавить кнопку «Новый»,  которая позволит создать запись  для нового заказа, присвоив ему  очередной номер и задав дату  заказа равную текущей дате;

-  добавить кнопку, вызывающую форму «Оплата» с отображением записей только для данного заказа;

-  создать поле с итоговыми  суммами по заказу

         Последнее  окно запрашивает имя подчиненной  формы. Здесь нужно просто нажать  кнопку «Готово». При вставке  в форму «Заказы» кнопки «Новый», необходимо вставить кнопку, как было описано выше, и выбрать категорию «Обработка записей» и действие «Добавление записи». В окне выбора формы кнопки необходимо включить переключатель «Текст» и ввести слово – новый. Созданная кнопка позволяет добавлять новые записи в форме «Заказы». Это реализуется вставкой в событие «Нажатие кнопки» процедуры обработки событие следующего вида:

      Private Sub Кнопка13_Click()

      On Error Go To Err_Кнопка13_Click

      DoCmd.GoToRecord, , acNewRec

      Exit_Кнопка13_Click:

         Exit Sub

   Err_Кнопка13_Click

   MsgBox Err.Description

   Resume Exit_Кнопка13_Click

 

End Sub

 

    Операторы On Error, MsgBox Err. Description, Resume являются операторами БЕЙСИКа, и служат для организации обработки ошибок. Это стандартный набор операторов, создаваемый мастером построения кнопок. Оператор DoCmd. GoToRecord, , acNewRec осуществляет создание новой записи и переход к ней.

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

          If Nz(Me![Номер заказа])= 0 Then

             Me![Номер заказа] = Me![Поле 8]

             Me![Дата заказа] = Date()

          End If

          DoCmd.GoToControl «Код клиента»

     Этим фрагментом программы  в поле «Номер заказа», если  он равен нулю или пуст, заносится  содержимое «Поле8»; в поле  «Дата заказа» заносится системная  дата и последним оператором  управление передается объекту  «Код клиента».

     Следующим объектом, который нужно создать является кнопка «Оплата». Кнопка создается обычным путем. При этом нужно выбрать категорию «Работа с формой» и действие «Открытие  формы». После выбора имени формы «Оплата» появится окно-Создание кнопок. В нем нужно выбрать переключатель - Открыть форму для отобранных записей. Выбор указанного переключателя позволит открывать форму «Оплата» и показывать в ней только записи, относящиеся к данному заказу. В следующем окне определяется, по каким полям устанавливается связь между формами.

      Окончание построения  кнопки выполняется обычным путем.

15. Понятие запроса. Порядок формирования запроса на примере первого запроса.

 

        Под «запросом» понимается совокупность требований на манипулирование данными в БД (т.е. это совокупность отношений связанных между собой). Структурно запрос состоит:

- из перечня атрибутов, над  которыми нужно выполнить действие;

- и из условий отбора накладываемых  на все или часть заданных  атрибутов.

        Запрос представляет  собой формализованную форму требований к выборке или изменению данных в базе. В него входит перечень атрибутов для просмотра и условий отбора данных.

        Порядок формирования  запроса:

  1. В соответствии со смыслом требований на выборку данных составляется перечень атрибутов, которые будут участвовать в запросе.
  2. В запрос включаются те таблицы (отношения), к которым принадлежат выбранные атрибуты. Если выбранные таблицы оказываются не связанными между собой (в соответствии со схемой БД), то в запрос добавляются таблицы обеспечивающие эту связь.
  3. Задаются условия, накладываемые на часть атрибутов запроса в соответствии с которыми отбираются данные.

        Для запроса  «Какие клиенты оплатили (или не оплатили) заказ, а если оплатил, то когда?» требуются следующие данные: имя клиента, номер заказа, сумма оплаты и дата оплаты. Номер заказа включен в запрос потому, что сумма оплаты зависит как от клиента, так и от номера заказа. В СУБД Access предусмотрены две формы создания запроса: на языке SQL и в виде запроса по образцу (QBE). Более простым способом является второй. Для его активизации необходимо открыть вкладку «Запросы» и нажать кнопку «Создать». В открывшемся окне необходимо выбрать режим «Конструктор». В открывшихся окнах предлагается выбрать таблицы, в которых содержатся требуемые атрибуты. Для этого запроса необходимы таблицы «Клиенты» и «Оплата», но т.к. они взаимосвязаны, а связующей таблицей является таблица «Заказы», то и ее нужно включить в запрос.

          Если  необходимо выбрать клиентов  оплативших заказ, то в строку «Условие отбора» поля «Сумма оплаты» нужно включить условие отбора. Если это просто констатация факта оплаты, то условие может быть задано как «Сумма оплаты» > 0, как показано выше. после того как запрос сформирован, можно посмотреть результат.

         Здесь строка с заказом номер 3 повторяется два раза, так как была произведена за два приема. Если запрос необходимо повторять в дальнейшем, то его лучше сохранить под каким либо именем.

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

- построить запрос находящий  стоимости заказов;

- построить запрос, вычисляющий полные суммы оплаты по заказам;

- на основании предыдущих запросов  построить запрос, находящий заказы, отвечающие условию:

    «Полная сумма оплаты»<= «Сумма стоимости заказа»

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

         При формировании  в условии выборки суммы стоимости  заказа необходимы данные таблицы  «Спецификация», поэтому ее необходимо  добавить в запрос.

16. Понятие запроса. Порядок формирования запроса на примере второго запроса.

 

        Запрос «Какие клиенты заказали тот или иной товар и сколько?» разрабатывается аналогично первому запросу.

        Здесь в  квадратных скобках задается  параметр запроса, значение которого  может устанавливаться в процессе выполнения запроса. Так, если необходимо отобрать клиентов, заказавших товар, то в появившееся после запуска запроса на выполнение окно, необходимо ввести нужное название товара (например: стол, стул, секретер и т.д.).

17. Понятие запроса. Порядок формирования запроса на примере третьего запроса.

 

          Запрос «Какова стоимость продаж за заданный период» позволяет выявить клиентов не полностью оплативших заказ.

          Для  поиска клиентов, не оплативших  заказы, создается запрос, в котором  отбираются  не оплаченные заказы, т.е. заказы, имеющие пустое значение в сумме оплаты. Однако надо иметь в виду, что при установлении связи между таблицами связываются только существующие записи. Для того, чтобы «проявить» отсутствующие записи таблицы «Оплата», необходимо установить 2-й режим из параметров объединения. Окно параметров объединения появляется при щелчке правой клавиши мыши на связи между таблицами и выборе во всплывающем меню позиции «Параметры объединения». 

          Этот  запрос может быть реализован следующим образом: запрос имеет два параметра и поле в виде расчетного выражения. Поле «Дата заказа» используется только для отбора заказов, поэтому в позиции «Групповые операции» выбирается пункт «Условие». Для параметров, появившихся в результате выполнения запроса, нужно задать значения.

          Для  большего удобства и наглядности  к запросам могут быть разработаны  формы, которые позволят более  удобно задавать параметры запроса  и просматривать результаты.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение


 

 

 

     В итоге получили БД удобную для работы и получения информации о заказах совершенных клиентами с фирмой.

     Процесс создания  БД длительный и трудоёмкий, потому  что необходимо учесть многие  факторы и особенности самой  фирмы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список библиографических  источников


 

 

 

1. Методические указания к проектированию  баз данных под управлением  СУБД ACCESS. СПб, 2003;

 

2. Microsoft Access Help, 2002.


Информация о работе Проектирование базы данных