Оптовая база
Особенности концептуальной и реляционной моделей базы данных "Оптовая база": основные понятия, составляющие и анализ итогов построения. Математическое описание данной модели. Обоснование выбора технических средств, реализация и результаты работы базы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.03.2010 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
38
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ижевский государственный технический университет
Кафедра АСОИУ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе по дисциплине
«Базы Данных»
на тему «Оптовая база»
Выполнил
ст.гр.5-45-1
Руководитель
старший преподаватель
Н.В. Соболева
Ижевск 2004
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ БАЗЫ ДАННЫХ “ОПТОВАЯ БАЗА”
1.1 Основные понятия
1.2 Описание предметной области
1.3 Каталог задач и запросов базы
1.4 Описание сущностей
1.5 Описание атрибутов
1.6 Концептуальная модель
1.7 Описание связей
1.8 Итоги построения концептуальной модели
2. РЕЛЯЦИОННАЯ МОДЕЛЬ БАЗЫ ДАННЫХ “ ОПТОВАЯ БАЗА”
2.1 Основные понятия
2.2 Модель данных логического уровня
2.3 Построение реляционной модели
3. МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ РЕЛЯЦИОННОЙ МОДЕЛИ БАЗЫ ДАННЫХ “ОПТОВАЯ БАЗА”
3.1 Описание доменов
3.2 Описание ключей
3.3 Правила целостности
3.4 Описание запросов
4. ВЫБОР ТЕХНИЧЕСКИХ СРЕДСТВ С ТОЧКИ ЗРЕНИЯ БАЗ ДАННЫХ
5. РЕАЛИЗАЦИЯ БД “ОПТОВАЯ БАЗА”
6. РЕЗУЛЬТАТЫ РАБОТЫ БД “ ОПТОВАЯ БАЗА”
6.1 Приложение
6.2 Запросы
6.3 Отчеты
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ВВЕДЕНИЕ
Выбор данной предметной области обусловлен личным интересом и возможностью распространения базы данных среди специалистов и интересующихся. При проектировании программ выясняются запросы и пожелания клиента и определяется возможный подход к решению задачи. Задача анализируется. На основе этого анализа реализуется конкретная модель в конкретной программной среде. Результаты каждого этапа проектирования используются в качестве исходного материала следующего этапа. Анализируется текущая организация предприятия, выделяются проблемы для решения, определяются объекты отношения между ними , составляется “эскиз” текущей организации предприятия, разрабатывается модель с учетом конкретных условий ее функционирования. База данных ориентирована на определенную предметную область и организована на основе некоторого подмножества данных. Возможности баз данных полезны в областях, связанных с долговременным управлением информацией, таких как электронные библиотеки и хранилища данных. Предварительное планирование, подготовка данных, последовательность создания информационной модели. При проектировании системы обработки данных больше всего нас интересует организация данных. Требования отдельных пользователей должны быть представлены в едином “обобщенном представлении”. Последнее называют концептуальной моделью.
В процессе проектирования необходимо: Описать предметную область (описание должно быть кратким, но достаточным для принятия решений по проекту базы данных); определить состав и содержание информации, используемой в данной предметной области; Выявить сущности; Выявить связи между сущностями; Представить концептуальную модель в виде концептуальной схемы; Проанализировать модель с учётом информационных потребностей пользователей; Спроектировать реляционную модель предметной области и выполнить ее нормализацию; Создать спроектированную БД в среде конкретной СУБД; Разработать приложения реализации запросов и решения задач.
1. КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ БАЗЫ ДАННЫХ “ОПТОВАЯ БАЗА”
1.1 Основные понятия
При разработке концептуальной модели мы будем пользоваться следующими понятиями:
Сущность - личности, факты, объекты реального мира, имеющие отношение к некоторой проблемной области. /1,2/
Атрибут - это информационное отображение свойств объекта. При реализации информационной модели на каком-либо носителе информации, атрибут часто называют элементом данных, полем данных или просто полем.
Экземпляр объекта - это один набор значений его элементов данных.
Доменом называется набор записей данных одного типа, отвечающих поставленным условиям.
Связь - это функциональная зависимость между сущностями.
Концептуальная модель представляет интегрированные концептуальные требования всех пользователей к базе данных данной предметной области.
Концептуальная схема - это графическое представление данных на концептуальном уровне./2,3/
1.2 Описание предметной области
При проектировании концептуальной модели все усилия разработчика должны быть направлены в основном на структуризацию данных и выявление взаимосвязей между ними без рассмотрения особенностей реализации и вопросов эффективности обработки. Проектирование концептуальной модели основано на анализе решаемых на этом предприятии задач по обработке данных. Концептуальная модель включает описания объектов и их взаимосвязей, пред-ставляющих интерес в рассматриваемой предметной области и выявляемых в результате анализа данных. Имеются в виду данные, используемые как в уже разработанных прикладных программах, так и в тех, которые только будут реализованы./4,5/
Фирма, в которой будет эксплуатироваться данная база данных, занимается работой с заказчиками и поставщиками, т.е. ведется работа по приему заявок от заказчиков и их осуществление и заключением договоров на поставку товаров от поставщиков. В базе данных должно храниться полный перечень поставщиков и заказчиков с указанием всех требуемых адресов и телефонов, перечень ведется с момента создания фирмы. Также в базе данных должно храниться весь перечень товаров имеющихся на оптовой базе на данный момент, перечень товаров включенных в накладные и договора, список всех накладных и договоров заключенных ранее, должна иметься возможность добавление новых договоров и накладных. Также база должна хранить все счета оформленных в результате заключенных договоров и оформления накладных. Ограничение прав на доступ должно разделяться на пользователь и администратор. Пользователь должен иметь ограниченные права доступа, т.е. не иметь права корректировать, у администратора нет ограничений, кроме изменений структуры базы данных. /6/
Определим первоначальные данные:
Договора - заключаются с поставщиками на определённый вид товара/7/.
Поставщики - организации или физические лица, с которыми заключаются договора на поставку товара.
Заказчики - в основном магазины, а также предприятия и организации, подающие заказ на приобретение того или иного товара.
Счета - ведутся на этапе заключения договором с поставщиками, а также с заказчиками.
Накладные - создаются на основании получения заказа о заказчика, для отгрузки.
Товар - присутствует на основании заявки и договора с поставщиком.
1.3 Каталог задач и запросов базы
Основываясь на описании предметной области (п.1.2), а также путём опроса экспертов и изучения документальных источников,/8,9,10/ определим круг запросов и задач, которые предполагается решать с использованием базы данных “Оптовая база”.
Задачи:
· сведения о поставщиках и заказчиках;
· сведения о накладных, договорах и счетах;
· сведения о товарах;
· возможность пополнять базу данных информацией новыми видами товара, накладных, договоров, список поставщиков, заказчиков и счетов;
· возможность при необходимости корректировать данные.
Вследствие большого объема информации хранящегося в базе данных пользователь должен иметь быстрый доступ к интересующим ему данным. Анализируя возможные запросы пользователя получаем такие запросы:
· по названию фирмы поставщика получение информации о всех заключенных договоров и счетов с этим поставщиком.
· по названию фирмы заказчика получение информации о всех полученных накладных от этого заказчика, также о всех оформленных счетах с этим заказчиком.
· по названию товара получение информации когда и в каких накладных и договорах участвовал этот товар.
· по номеру накладной или номеру договора получение полной информации о данном договоре или накладной.
1.4 Описание сущностей
Основываясь на описании предметной области (см.п.1.2) и определённых запросов и задач (см.п.1.3), выявляем сущности. Описание сущностей приведено в таблице (табл. 1.1).
Таблица 1.1
Наименование сущности |
Первичный ключ |
Кол. экземпл. сущности |
Динамика роста |
Частота коррекции |
Ограничение на доступ |
||
Администр |
Пользователь |
||||||
Товар |
Код товара |
3000 |
20% |
Раз в месяц |
Нет |
Только чтение |
|
Поставщик |
Код поставщика |
10 |
5% |
Раз в год |
Нет |
Только чтение |
|
Заказчик |
Код заказчика |
30 |
15% |
Раз в 6 месяцев |
Нет |
Только чтение |
|
Договор |
Номер договора |
20 |
5% |
Раз в месяц |
Нет |
Только чтение |
|
Накладная |
Номер накладной |
20 |
5% |
Раз в месяц |
Нет |
Только чтение |
|
Счет |
Номер счета |
20 |
5% |
Раз в месяц |
Нет |
Только чтение |
Описание сущностей
Количество экземпляров сущности - это количество известных разработчику на момент проектирования базы данных. При вычислении динамики роста оценивается отношение количества сущностей, на которое может увеличиться общее количество сущностей, к количеству сущностей. Частота коррекции содержит сведения о периодичности изменений количества сущностей.
1.5 Описание атрибутов
На основании таблицы сущностей (см.табл.1.1) и каталога задач и запросов (см.п.1.3), а также путём опроса экспертов и изучения документальных источников,/11,12/ выделим все необходимые атрибуты.
В таблице (табл.1.2) приводится описание атрибутов:
Таблица 1.2
Описание атрибутов
Наименование атрибута |
Тип Значения |
Диапазон Значений |
Возм-ть принимать неопределённые значения |
Метод контроля достоверности |
|
1 |
2 |
3 |
4 |
5 |
|
Код товара |
Числовой |
Диапазон |
Нет |
<0 And >=100000 |
|
Наименование |
Текстовый |
- |
Нет |
<=60 симв |
|
Вес брутто (гр) |
Числовой |
Диапазон |
Нет |
<0 |
|
Вес нетто (гр) |
Числовой |
Диапазон |
Нет |
<0 |
|
Цена за единицу |
Денежный |
- |
Нет |
<0 |
|
Вид упаковки |
Текстовой |
- |
Нет |
<=20 симв |
|
Номер договора |
Числовой |
Диапазон |
Нет |
<0 And <=10000000 |
|
Дата |
Дата\время |
Диапазон |
Нет |
[1..31],[1..12], [1996..2025] |
|
Сумма |
Денежный |
- |
Нет |
<0 |
|
Код заказчика |
Числовой |
Диапазон |
Нет |
<0 And <=10000000 |
|
Наименование заказчика |
Текстовый |
- |
Нет |
<=60 симв |
|
ФИО руководителя |
Текстовый |
- |
Нет |
<=60 симв |
|
Адрес |
Текстовый |
- |
Нет |
<=80 симв |
|
Тел\Факс |
Текстовый |
- |
Нет |
<=40 симв |
|
Номер накладной |
Числовой |
- |
Нет |
<0 And <=10000000 |
|
Дата накладной |
Дата\время |
Диапазон |
Нет |
[1..31],[1..12], [1996..2025] |
|
Сумма по накл |
Денежный |
- |
Нет |
<0 |
|
Код поставщика |
Числовой |
Диапазон |
Нет |
<0 And <=10000000 |
|
Наименование поставщика |
Текстовый |
- |
Нет |
<=60 симв |
|
ФИО Руководителя |
Текстовый |
- |
Нет |
<=60 симв |
|
Адрес |
Текстовый |
- |
Нет |
<=80 симв |
|
Тел\Факс |
Текстовый |
- |
Нет |
<=40 симв |
|
Номер счета |
Числовой |
Диапазон |
Нет |
<0 And <=10000000 |
|
Дата |
Дата\время |
Диапазон |
Нет |
[1..31],[1..12], [1996..2025] |
|
1 |
2 |
3 |
4 |
5 |
|
Сумма |
Денежный |
- |
Нет |
<0 |
|
НДС |
Денежный |
- |
Нет |
<0 |
|
Сумма к оплате |
Денежный |
- |
Нет |
<0 |
|
Количество |
Числовой |
Диапазон |
Нет |
<0 And <=10000 |
Диапазоны значений определяются из анализа документов, так же как и ограничения на длину текста. Нужно также сказать, что для осуществления взаимосвязи между атрибутами-ключами различных связанных таблиц необходимо совпадение по типу данных и ограничению по длине строки. Эта проблема решается путём унификации всех сходных атрибутов-ключей.
1.6 Концептуальная модель
На рис. 1.1 представлена графическая схема концептуальной модели определением всех связей и первичных ключей.
рис. 1.1
Графическое представление концептуальное модели наглядно поясняет предметную область.
1.7 Описание связей
1. Многие ко многим. Один поставщик поставляет много товара и одно наименование товара может поставлять много поставщиков.
2. Один ко многим. Один поставщик может заключить много договор на поставку товара с оптовой базой и в одном договоре может участвовать только один поставщик
3. Один ко многим. С одним поставщиком может заключаться много счетов и определенный счет может быть только у одного поставщика.
4. Многие ко многим. В одной накладной много товара и одно наименование товара может быть во многих накладных.
5. Один ко многим. В одной накладной может быть несколько счетов.
6. Один ко многим. Заказчик создает много накладных.
7. Многие ко многим. В одном договоре много товара и одно наименование товара может встречаться в нескольких договорах.
8. Многие ко многим. Один заказчик заказывает партию товара и одно наименование товара может быть заказано многими заказчиками.
9. Один ко многим. С одним заказчиком может заключаться много счетов и только каждый счет соответствует одному заказчику.
10. Один ко многим. Счет создается на партию товара.
11. Один к одному. Договор может содержать только один счет.
1.8 Итоги построения концептуальной модели
В концептуальной модели мы смогли выделить из всей предметной области набор сущностей и установить связи между ними. Для каждой сущности определили первичный ключ и атрибуты.
2. РЕЛЯЦИОННАЯ МОДЕЛЬ БАЗЫ ДАННЫХ
2.1 Выбор логической модели
Хранимые в базе данные имеют определённую логическую структуру, то есть модель. Различают следующие основные модели представления данных в базе данных:
- иерархическую
- сетевую
- реляционную
- объектно-ориентированную
В иерархической модели данные представляются в виде древовидной иерархической структуры./3/ Достоинством данной модели является возможность реализовать очень быстрый поиск, когда условия запроса соответствуют иерархии в схеме БД, однако при работе с данными со сложными логическими связями иерархическая модель оказывается слишком громоздкой.
В сетевой модели данные организуются в виде произвольного графа./4/ Достоинством этой модели является высокая скорость поиска и возможность адекватно представлять данные для решения множества задач в самых различных предметных областях. Высокая скорость поиска основывается на классическом способе реализации сетевой модели - на основе списков. Недостатком сетевой модели является жесткость структуры и высокая сложность ее организации.
Кроме того, существенным недостатком иерархической и сетевой моделей является то, что структура данных задается на этапе проектирования БД и не может быть изменена при организации доступа к данным.
Реляционная модель получила свое название от английского термина relation (отношение) и была предложена в 1970-х годах сотрудником фирмы IBM Эдгаром Коддом. Реляционная БД представляет собой совокупность таблиц, связанных отношениями. Разница между таблицей в привычном смысле и понятием отношения заключается в том, что в отношении нет порядка - это неупорядоченное множество записей. Порядок определяется не отношением, а конкретной выборкой из отношения. Связь между таблицами существует на логическом уровне и определяется предметной областью. Практически связь между таблицами устанавливается путем использования логически связанных данных в разных таблицах.
Для работы с реляционными СУБД используется стандартизированный язык структурированных запросов SQL.
Достоинствами реляционной модели данных являются простота, гибкость структуры, удобство реализации на компьютере, высокая стандартизованность и использование математического аппарата реляционной алгебры и реляционного исчисления.
К недостаткам можно отнести атомарность, ограниченность и предопределенность набора возможных типов данных. Это затрудняет использование реляционных моделей для некоторых современных приложений. Названная проблема решается расширением реляционных моделей в объектно-реляционные.
В объектно-реляционной модели отдельные записи база данных представляются в виде объектов. Между записями базы данных и функциями их обработки устанавливаются взаимосвязи с помощью механизмов, подобных соответствующим средствам в объектно-ориентированных языках программирования. Объектно-ориентированные модели сочетают особенности сетевой и реляционной моделей и используются для создания крупных БД со сложными структурами данных.
Перейти к иерархической модели данных сложно, ввиду сложности реализации сложных связей через древовидные структуры (хотя реализация части сущностей и связей иерархии (см.п.1.6) через данную логическую модель достаточно просто). Гораздо больше подходит сетевая модель данных, однако мы выбираем реляционную модель, потому что
· представление данных в виде двухмерных таблиц проще, чем виде списков;
· большинство современных СУБД поддерживают реляционную модель данных, что облегчает нам выбор СУБД;
· реляционная модель проста, обладает гибкой структурой, удобна для реализации на компьютере.
Выбор объектно-реляционной модели решил бы проблемы с реализацией связей, однако возникли бы неоправданные проблемы с созданием математического представления и выбором СУБД./4/ Принимая во внимание всё вышесказанное, делаем выбор - реляционная модель данных.
2.2 Основные понятия
Реляционная модель данных - это представление данных в виде совокупности двумерных таблиц./4/
Свойства двумерных таблиц:
1) каждый элемент таблицы представляет собой один элемент данных, т.е. список не может быть значением;
2) все столбцы в таблице однородные, т.е. элементы столбца одной природы;
3) столбцам однозначно присвоены имена;
4) в таблице нет двух одинаковых строк;
5) строки и столбцы таблиц могут просматриваться в любом порядке, без учета их содержания и смысла.
Для математического описания реляционной модели нам понадобятся следующие понятия
Атомарные данные - это наименьшие единицы данных неразложимые с точки зрения модели.
Домен - это множество атомарных значений одного и того же типа.
Атрибут - это некоторое подмножество домена, имеющее уникальное имя.
Отношение на доменах D1, D2, ..Dn состоит из заголовка и тела.
R (A1, A2, ..An) D1D2D3
Заголовок состоит из такого фиксированного множества атрибутов
А1, A2, ..An , что существует отношение между атрибутами и их доменами.
Тело состоит из меняющихся во времени множества кортежей.
Кортеж состоит из значений каждого атрибута по одному значению на атрибут./6/
Таблица в реляционной теории соответствует отношению.
Строке соответствует кортеж.
Столбцу - атрибут.
Введем понятие ключа отношения.
Пусть А - множество атрибутов отношения
А = A1, A2,..An и пусть k - это подмножество А
k A
Возможным ключом отношения R является такое подмножество k, которое удовлетворяет следующему условию:
1) в произвольный момент времени никакие два различных картежа не имеют одного и того же значения для k
2) ни один из атрибутов не может быть исключен из k без нарушения первого условия.
2.3 Проектирование реляционной модели
Существует два основных метода проектирования реляционной модели:
1. метод декомпозиции (используется при количестве ключевых атрибутов не более 20);
2. на основе концептуальной модели.
Так как концептуальная модель уже построена, то воспользуемся вторым методом. Для осуществления перехода к реляционной модели необходимо рассмотреть некоторые алгоритмы перехода.
Алгоритмы перехода от концептуальной модели к реляционной
1. Реализация частичной связи для одной сущности (рис.2.1).
Рис 2.1
В этом случае строится два отношения по одному на каждую сущность. Ключ сущности с необязательной связью добавляется в качестве атрибута в отношении для сущности с обязательной связью.
2. Реализация бинарной связи один-ко-многим (рис.2.2)
Рис.2.2
В этом случае строится 2 отношения, при этом ключ односвязной сущности добавляется в отношение для многосвязной сущности.
По описанным выше алгоритмам получаем реляционную модель. В полученной модели есть ряд фиктивных отношений, предназначенных для реализации некоторых связей, организации целостности данных и выполнимости запросов (см.п.1.3).
1. Товар (код товара, наименование, вес брутто (гр.), вес нетто(гр.), цена за единицу, вид упаковки);
2. Договор (номер договора, дата, сумма);
3. Заказчики (код заказчика, наименование заказчика, ФИО руководителя, адрес, тел\факс);
4. Заказчик и накладные (код заказчика, номер накладной, номер счета, дата заключения);
5. Накладная (номер накладной, дата накладной, сумма);
6. Поставщики (код поставщика, наименование поставщика, ФИО руководителя, адрес, тел\факс);
7. Поставщики и договора (код поставщика, номер договора, номер счета дата заключения);
8. Счета (номер счета, дата, сумма, НДС, сумма к оплате);
9. Счета заказчика (номер счета, номер накладной, код заказчика, дата);
10. Счета поставщиков (номер счета, номер договора, код поставщика, дата оформления);
11. Товары в договоре (номер договора, код товара, количество, цена, НДС, Сумма к оплате);
12. Товары в накладной (номер накладной, код товара, количество, цена, НДС, сумма к оплате);
3. МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ РЕЛЯЦИОННОЙ МОДЕЛИ
3.1 Описание доменов
Математическое описание реляционной модели необходимо для облегчения пользователю задачи написания программ ее реализации на разных языках программирования.
Домен - это множество атомарных значений одного и того же типа.
Введем следующие понятия:
Length(x) - функция, возвращающая значение длины x;
String(x) - функция определения длины строки х;
Dom(x) - домен атрибута х;
По результатам описания сущностей (см.п.1.4) и созданной реляционной модели (см.п.2.3), можно сделать вывод о типичности отношений, что позволяет нам не описывать все отношения, а остановиться на конкретных примерах.
Текстовые атрибуты
К таким атрибутам можно отнести, например, атрибуты «Наименование заказчика» или «Адрес» и подобные им.
Dom (Отношение. Текстовый атрибут) = {x | String(x)}; где x - цепочка следующих друг за другом символов.
{String(x) = true, если Length(x) < С} or {String(x) = false, если Length(x) С}, где С-константа.
Её можно взять из таблицы атрибутов (см.табл.1.2). Приведём два примера.
1. Dom (Заказчики. Наименование заказчика) = {x | String(x)}; где x - цепочка следующих друг за другом символов.
{String(x) = true, если Length(x) < 20} or {String(x) = false, если Length(x) 20}
2. Dom (Поставщики. Адрес) = {x | String(x)}; где x - цепочка следующих друг за другом символов.
{String(x) = true, если Length(x) < 20} or {String(x) = false, если Length(x) 20}
Это правило распространяется на все текстовые атрибуты. Отличие заключается в ограничение на длину строки. Конкретную цифру получаем из таблицы атрибутов в столбце “Метод контроля” (см.табл.1.2).
Числовые атрибуты
К этой категории относят атрибуты отношений, например «Код поставщика», «Цена», «Количество» и т.д. Домены числовых атрибутов записываются так:
Dom (Отношение. Числовой атрибут) = {с1..с2}, где с1 и с2 - соответственно начало и конец диапазона.
Например,
Dom (Заказчики. Код заказчика) = {0…10000}.
Диапазон значений {с1..с2} определяется для каждого атрибута описан в таблице атрибутов в столбце “Метод контроля” (см.табл.1.2).
Атрибуты Дата/Время
К этой категории относят атрибуты «Дата накладной», «Дата оформления счета», «Дата договора» и т.д.
Домены атрибутов Дата/Время записываются так:
Dom (Отношение. Атрибут Дата/Время) = {с1..с2},
где с1 и с2 - соответственно начало и конец диапазона.
Приведём примеры с атрибутами «Дата накладной», «Дата оформления счета»
Dom (Накладная. Дата накладной) = {x | 01.01.1996 x 31.12.2025}
Dom (Счет. Дата оформления счета) = {x | 01.01.1996 x 31.12.2025}
Диапазон значений {с1..с2} определяется для каждого атрибута описан в таблице атрибутов в столбце “Метод контроля” (см.табл.1.2).
Денежный атрибут
К этой категории относят атрибуты «Сумма», «Цена за единицу», «НДС».
Домены Денежных атрибутов записываются так:
Dom(Отношение. Денежный атрибут) = {<C}
где С - константа
Приведем примеры с атрибутами «Сумма» и «Цена за единицу»
Dom (Накладная. Сумма) = {<0}
Dom (Договор. Цена за единицу) = {<0}
Значения для каждого атрибута взяты из Таблицы 1.2. столбца
«Метод контроля»
3.2 Описание ключей
Первичный ключ уникально определяет отношение. После выбора первичного ключа из набора потенциальных ключей, оставшиеся ключи называются альтернативными.
Пусть даны отношения R1 и R2. Пусть k1, - это первичный ключ отношения R1.
Если в отношении R2 присутствуют атрибуты k1, то для отношения R2, k1 - это внешний ключ
Рассмотрим математическое представление первичных ключей.
Из анализа таблицы сущностей (см.табл.1.1) следует, что ключами сущностей является Код товара, Код заказчика, Код поставщика, Номер договора, Номер накладной, Номер счета. Так как все первичные ключи имеют числовые атрибуты. Следовательно, математическое представление первичных ключей будет однотипным:
(x,y Отношение).[Код(x) = Код(y)] x = y
(x,y Отношение).[Номер(x) = Номер(y)] x = y.
Например,
(x,y Товар).[Код товара(x) = Код товара(y)] x = y
(x,y Накладная).[Номер накладной(x) = Номер накладной(y)] x = y
Остальные первичные ключи будут иметь такое же математическое представление.
3.3 Правила целостности
Различают целостность по сущностям и целостность по ссылкам. В целостности по сущностям не разрешается, чтобы какой-либо атрибут, участвующий в первичном ключе базового отношения принимал неопределенные значения./6/
Базовые отношения - это реально существующие модели отношения, которые соответствуют реальному объекту предметной области.
Целостность по ссылкам основана на понятии внешнего ключа.
Пусть даны отношения R1 и R2. Пусть k1, - это первичный ключ отношения R1.
Если в отношении R2 присутствуют атрибуты k1, то для отношения R2, k1 - это внешний ключ. Если базовое отношение R2 содержит внешний ключ k1, то каждое значение k1 в R2 должно быть либо равным какому-либо значению R1, либо полностью неопределенным.
Рассмотрим математическое представление целостности данных.
1. Целостность по сущностям имеет место, так как первичные ключи всех отношений не принимаю и не могут принимать неопределённые значения (см.табл.1.2).
2. Целостность по ссылкам достигнута при разработке реляционной модели (см.п.2.3). В качестве примера рассмотрим математическое представление целостности по ссылкам отношения Накладная (для отношений Договор и Счет аналогично (см.2.3)), отношение Заказчик(для отношения Поставщик аналогично).
Отношение Накладная
Одна и та же Накладная не может быть оформлена в разные даты.
(x,y Накладная).[Дата оформления(x) = Дата оформления(y)](Дата оформления(x) Дата оформления (y))
Одна и та же Накладная не может иметь разные номера.
(x,y Накладная).[Номер накладной(x) = Номер накладной(y)](Номер накладной (x) Номер накладной (y))
Одна и та же Накладная не может иметь разную сумму.
(x,y Накладная).[Сумма накладной(x) = Сумма накладной(y)](Сумма накладной (x) Сумма накладной (y))
Отношение Заказчик
Один и тот же Заказчик не может иметь разные наименования.
(x,y Заказчик).[Наименование заказчик(x) = Наименование заказчик (y)]
( Наименование заказчик (x) Наименование заказчик (y))
Отношение Счет
Один и тот же Счет не может иметь разные даты:
(x,y Счет).[Дата оформления(x) = Дата оформления(y)](Дата оформления(x) Дата оформления (y))
Один и тот же Счет не может иметь разную сумму.
(x,y Счет).[Сумма(x) = Сумма(y)](Сумма(x) Сумма(y))
Один и тот же Счет не может иметь разные номера.
(x,y Счет).[Номер счета(x) = Номер счета(y)](Номер счета (x) Номер счета (y))
3.4 Описание запросов
Для описания запросов необходимо рассмотреть специальную реляционную операцию реляционной алгебры селекция. Пусть С-любой допустимый оператор сравнения. Дано отношение R (А1, А2, А3, … , Аn). Селекцией отношения R по атрибутам Аj и Аk называется множество всех кортежей t таких, что аjtCаkt - истина. Вместо аkt может быть константа.
S (R, <условие>) - операция селекции.
Опишем определённые запросы (см.п.1.2).
Первый запрос реализуется через группу однотипных запросов. Например,S (Номер договора, Дата, Сумма, Номер счета, Дата, Сумма = x),
где x - это число, соответствующих коду поставщика.
Второй запрос реализуется аналогично первому.
Третий запрос реализуется через серию однотипных запросов. Например, S (Номер договора, количество, цена за единицу, дата, номер накладной, количество, цена за единицу, дата =x), где х - число соответствующие коду товара.
Четвертый запрос реализуется через серию однотипных запросов. Например, S (Дата, количество, цена за единицу, наименование товара = х), где х - число соответствующий номеру договора или счета.
4.ВЫБОР ТЕХНИЧЕСКИХ СРЕДСТВ С ТОЧКИ ЗРЕНИЯ БАЗ ДАННЫХ
Исходя из полученной реляционной (см.п.2.3) и её математического описания делаем выбор технических средств.
Выбираем платформу, на которой будет решаться задача. В соответствии с поставленной задачей, техническим заданием к курсовому проекту и учитывая экономичные требования, выбираем платформу IBM PC.
Выбор среды проектирования.
Так как поставленная задача должна быть решена в комплексе с передачей информации в другие системы, выбираем готовый программный продукт со встроенным языком программирования, поддержкой необходимого набора типов данных, работающую на платформе IBM PC, имеющую визуальные средства разработки и обеспечивающий защиту информации. Кроме того, выбор в качестве логической модели - реляционной модели заставляет нас искать СУБД с наиболее простой реализацией двухмерных таблиц и связей между ними. В данном случае выбираем систему Ассess 2000 c встроенным языком программирования SQL - Structured Query Language.
Описание типов данных системы Access 2000, которые будут использоваться в базе данных “Оптовая база” представлены в табл.4.1.
Таблица 4.1
Используемые типы данных Access 2000
Значение |
Тип данных |
Размер |
|
Текстовый |
Текст или числа, не требующие проведения расчетов, например номера телефонов. |
Число знаков, не превышающее минимальное из двух значений: 255. Microsoft Access не сохраняет пробелы в неиспользуемой части поля. |
|
Числовой |
Числовые данные, используемые для проведения расчетов |
1, 2, 4 или 8 байт |
|
Дата/время |
Даты и время, относящиеся к годам с 100 по 9999. |
8 байт |
|
Денежный |
Используется для записи денежных форматов |
2,4 или 8 байт |
Выбор ОС.
ОС выбираем исходя из выбранной платформы и программного продукта в котором мы решаем поставленную задачу проектирования. Учитываем также, чтобы ОС была современной, устойчиво работала и обеспечивала максимум удобства. В связи с выше перечисленными требованиями выбираем Windows XP.
Выбор материнской платы.
Выбор материнской платы включает в себя выбор центрального процессора, шины обмена и объема оперативной памяти. Быстро действие центрального процессора выбирается так, чтобы время ожидания расчетной задачи или обновления экрана по возможности не превышало трёх секунд. Таким образом, выбираем Celeron 400МГц. Материнскую плату выбираем так, чтобы она обеспечивала максимальную скорость обмена информацией. Объем оперативной памяти высчитывается по формуле:
V = Vос + Vут + Vср.пр. + Vдоп,
где V - объем оперативной памяти;
Vос - объем операционной системы;
Vут - объем оперативных утилит;
Vср.пр - объем среды проектирования;
Vдоп - дополнительный объем под решаемую задач.
V=128Мб+20Мб+12Мб+10Мб=170Мб.
Таким образом, для компьютера Celeron 400МГц выбираем объём ОП равный 256 Мб.
Выбор основных периферийных устройств.
Основные периферийные устройства это - устройства отображения информации (монитор), устройства хранения информации (винчестер), устройства обмена информацией (локальная сеть, дискета, оптические накопители).
Монитор должен отвечать требованиям безопасности, иметь экономичную стоимость и желательно высокую разрешающую способность. Исходя из требований высокой частоты обмена и по экономическим требованиям, выбираем 15ти дюймовый CRT-монитор.
Винчестер выбираем по трем параметрам: объем необходимый под ОС, объем памяти под программу, объем памяти под результаты работы.
Vв=Vос + Vпр + Vут,
где Vв - объем винчестера;
Vос - объем под ОС;
Vпр - объем памяти под программу Microsoft Access2000;
Vут - объем памяти под результаты работы. Определяется по табл.4.1.
Vв=1,5Гб+46Мб+20Мб=1622Мб.
Таким образом, для компьютера Celeron 400МГц, с ОП 256Мб винчестер на 20Гб, что устраивает для нашей задачи.
Устройства обмена.
Для обмена информацией могут быть использованы: локальная сеть, дискета, оптические накопители.
Исходя из того, что необходимо вести архивы выбираем оптический пишущий накопитель, так как объём Vв больше объёма дискеты выбираем CD RW.
Дополнительное периферийное оборудование.
К дополнительным периферийным устройствам относят: устройство ввода информации, устройство получения твердых копий.
Для ввода информации необходимо и достаточно стандартного комплекта - клавиатуры и мышки.
5. РЕАЛИЗАЦИЯ
На основе созданной концептуальной (см.п.1.7), реляционной модели (см.п.2.3) и её математического описания (см.п.3), используя выбранное оборудование (см.п.4), создаём в СУБД Microsoft Access таблицы и ключи.. На рис.5.1 представлены созданные таблицы.
рис 5.1
После создания таблиц, связываем их в единую схему данных используя средства Access 2000 в соответствие с описанием связей, см.п.1.6 и см.п.2.3.
Полученная схема данных представлена на рис.5.2
рис 5.2
В соответствии с каталогом задач и запросов (см. п. 1.3), были реализованы требуемые запросы (рис. 5.3).
рис 5.3
Для организации диалога с пользователем была создана систем форм, представленная на рис.5.4. Интерфейс форм реализован с учётом специфики предметной области (см.п.1.2).
рис 5.4
Для реализации прав доступа был использован мастер защиты. Были созданы два типа пользователей - Администратор и Пользователь со своими правами доступа. Администратор обладает полным доступом, за исключением изменения структуры базы данных. Пользователь обладает ограниченным доступом. Вход под именем Администратор защищён паролем. При открытии базы данных открывается окно, показанное на рис.5.6
Рис.5.6
В случаи не правильного ввода пароля под администратором вход в базу данных будет запрещен.
6. РЕЗУЛЬТАТЫ РАБОТЫ БД “ ОПТОВАЯ БАЗА”
6.1 Приложение
В результате реализации реляционной модели на физическом уровне мы получаем систему форм, которая позволяет пользователю получать необходимые сведения согласно задачам и запросам (см.п.1.3). Рис.6.1 демонстрирует главную форму.
рис 6.1
Форма предоставляет возможность просматривать интересующие пользователя данные.
Интуитивный интерфейс поможет пользователю не запутаться в огромном потоке данных. Форма разделена на отдельные закладки помогающие быстрой навигации.
Вызывая соответствующие формы пользователь может осуществлять быструю работу с данными, например на рис 6.2 представлена форма для отображения счетов поставщиков.
рис 6.2
На главной форме также предусмотрена вкладка «Приложение» в которой пользователь может запустить необходимые для работы офисные приложения.
рис 6.3
Для быстроты и удобства работы с документами предусмотрена вкладка «Документы» представлена на рис 6.4
рис 6.4
рис 6.5
6.2 Запросы
Первый запрос
Описание запроса на языке SQL
SELECT Заказчики.[наименование заказчика], Заказчики.[ФИО руководителя], Заказчики.адрес, Заказчики.[телефо\факс], [Заказчики и накладные].[Номер накладной], [Заказчики и накладные].[Дата заключения], Накладные.Сумма
FROM Накладные INNER JOIN (Заказчики INNER JOIN [Заказчики и накладные] ON Заказчики.[код заказчика] = [Заказчики и накладные].[Код заказчика]) ON Накладные.[номер накладной] = [Заказчики и накладные].[Номер накладной]
WHERE (((Заказчики.[наименование заказчика])=[Заказчик]));
Представлении запроса в СУБД Microsoft Access 2000
рис 6.6
Второй запрос имеет практически такую же реализацию как и первый, поэтому описывать его не будем.
Третий запрос
Описание запроса на языке SQL
SELECT Товары.Наименование, Товары.[вес брутто (гр)], Товары.[вес нетто (гр)], Товары.[цена за еденицу], Товары.[вид упаковки], [Товары в договоре].[Номер договора], [Товары в договоре].Количество AS [Товары в договоре_Количество], [Товары в накладной].[Номер накладной], [Товары в накладной].Количество AS [Товары в накладной_Количество]
FROM (Товары INNER JOIN [Товары в накладной] ON Товары.[код товара] = [Товары в накладной].[Код товара]) INNER JOIN [Товары в договоре] ON Товары.[код товара] = [Товары в договоре].[Код товара]
WHERE (((Товары.Наименование)=[Товар]));
рис 6.7
Четвертый запрос реализуется так же как третий поэтому описывать его не будем.
6.3 Отчеты
Приведем несколько примеров отчетов сформированных в результате выполнения курсовой работе.
Первый отчет
рис 6.8
Второй отчет
рис 6.9
ЗАКЛЮЧЕНИЕ
В результате проделанной работы по описанию предметной области мы разработали концептуальную модель, а на её основе реляционную модель по которой создали в СУБД Microsoft Access приложение. Разработанное приложение отвечает всем требованиям предметной области (см.п.1.2), а так же каталогу задач и запросов (см.п.1.3). Все поставленные задачи в техническом задании были выполнены полностью. База данных “Оптовая база” предназначена для частных фирм и крупных организаций занимающихся торгово-закупочной деятельностью.
Данная база данных и приложение были разработаны с целью облегчить работу с большим количеством и долгосрочном хранении информации в этих организациях. В дальнейшим планируется расширить круг задач реализуемых с помощью данного приложения, также планируется добавление поиска по остальным категориям. Было реализовано деление пользователей на Специалистов и Пользователей по правам доступа.
СПИСОК ЛИТЕРАТУРЫ
Дж. Тельман, "Основы систем баз данных", Москва, Финансы и статистика, 1983г.
Дейт К. "Введение в системы баз данных", Москва, Hаука, 1980 г.
Горев А. Ахаян Р., Макашарипов С. «Эффективная работа с СУБД» СПб. Питер 1997-- 704 с.
Кириллов В.В. Структуризованный язык запросов (SQL). - СПб.: ИТМО, 1994. - 80 с.
Мейер М. Теория реляционных баз данных. М. Мир, 1987. - 608 с.
Подборка рефератов из сети Internet. Московская коллекция рефератов
7. Ноздрева Р.Б., Цыгичко Л.И. Маркетинг: «Как побеждать на рынке» М. ФиС 1991
8. Т.В. Тимошок «Самоучитель Microsoft Access 2003»
9. М.Ю. Горский «Организация и управление бизнесом», Москва 1998г.
10. Нефедов В.Н., Осипова В.А. Курс дискретной математики - М. 1992
11. Интернет - ресурс www.nix.ru
12. Интернет - ресурс www.lizard.ru
13. Интернет - ресурс www.allreferats.ru
14. Интернет - ресурс www.library/buhg.ru
Подобные документы
Создание реляционной базы данных для закупки и реализации товаров. Оптовая база - крупная сеть складских и рабочих помещений. Требования к функциональным характеристикам. Структурная схема базы данных. Программная реализация системы, ее тестирование.
курсовая работа [1,6 M], добавлен 08.07.2012История возникновения систем управления базами данных (СУБД). Непосредственный и программный режимы работы СУБД Visual FoxPro. Активное использование форм, запросов и отчетов. Разработка информационной базы данных "Оптовая база". Создание файла базы.
курсовая работа [2,5 M], добавлен 05.01.2015Этапы проектирования концептуальной модели базы данных: определение предметной области, каталогов задач, связей, первичных ключей. Математическое описание доменов и запросов в реляционной форме. Выбор технических средств и реализация программы.
курсовая работа [2,2 M], добавлен 06.02.2010Разработка концептуальной модели базы данных "Чемпионат авто": описание предметной области, каталог задач, описание таблиц, схема данных, ER-диаграмма. Проектирование реляционной модели "Спортивный комплекс". Реализация и результат работы базы данных.
курсовая работа [3,7 M], добавлен 14.06.2011Построение концептуальной модели, процесс моделирования смыслового наполнения базы данных. Основные компоненты концептуальной модели. Построение реляционной модели. Целостность данных в реляционной базе. Нормализация. Проектирование базы данных в ACCESS.
курсовая работа [1,8 M], добавлен 29.10.2008Типы моделей данных: реляционная, иерархическая и сетевая. Описание концептуальной модели реляционной базы данных. Разработка базы данных в СУБД Microsoft Access, ее премущества и недостатки, составные компоненты, описание и обоснование полей таблиц.
курсовая работа [62,6 K], добавлен 09.03.2009Сущность базы данных. Процесс построения концептуальной модели. Построение реляционной модели, создание ключевого поля. Процесс нормализации. Проектирование базы данных в ACCESS. Порядок создание базы данных. Создание SQL запросов и работа в базе данных.
курсовая работа [185,6 K], добавлен 08.11.2008Составление схемы концептуальной модели данных. Разработка структуры реляционной базы данных и интерфейса пользователя. Особенности главных этапов проектирования базы данных. Способы реализации запросов и отчетов. Специфика руководства пользователя.
курсовая работа [186,9 K], добавлен 18.12.2010Создание информационную систему "Сеть магазинов" в виде реляционной базы данных и операциями над ней. Создание базы данных в СУБД DB2. Описание и обоснование выбора состава технических и программных средств. Разработка пользовательского приложения.
курсовая работа [1,1 M], добавлен 19.05.2013Проблемы внедрения информационных технологий. Автоматизация работы пользователя. Основные этапы проектирования базы данных. Функционирование предметной области. Специализированные языки обработки данных. Обоснование выбора основных технических средств.
курсовая работа [61,9 K], добавлен 08.02.2012