S (R, <условие>) – операция селекции.
Опишем определённые запросы (см.п.1.2).
Первый запрос реализуется через группу однотипных запросов. Например,S (Номер договора, Дата, Сумма, Номер счета, Дата, Сумма = x),
где x – это число, соответствующих коду поставщика.
Второй запрос реализуется аналогично первому.
Третий запрос реализуется через серию однотипных запросов. Например,
S (Номер договора, количество, цена за единицу, дата, номер накладной, количество, цена за единицу, дата =x),
где х – число соответствующие коду товара.
Четвертый запрос реализуется через серию однотипных запросов. Например,
S (Дата, количество, цена за единицу, наименование товара=х),
где х – число соответствующий номеру договора или счета.
4. ВЫБОР ТЕХНИЧЕСКИХ СРЕДСТВ С ТОЧКИ ЗРЕНИЯ БАЗ ДАННЫХ
Исходя из полученной реляционной (см.п.2.3) и её математического описания делаем выбор технических средств.
Выбираем платформу, на которой будет решаться задача. В соответствии с поставленной задачей, техническим заданием к курсовому проекту и учитывая экономичные требования, выбираем платформу IBMPC.
Выбор среды проектирования.
Так как поставленная задача должна быть решена в комплексе с передачей информации в другие системы, выбираем готовый программный продукт со встроенным языком программирования, поддержкой необходимого набора типов данных, работающую на платформе IBMPC, имеющую визуальные средства разработки и обеспечивающий защиту информации. Кроме того, выбор в качестве логической модели – реляционной модели заставляет нас искать СУБД с наиболее простой реализацией двухмерных таблиц и связей между ними. В данном случае выбираем систему Ассess 2000 c встроенным языком программирования SQL - StructuredQueryLanguage.
Описание типов данных системы Access 2000, которые будут использоваться в базе данных "Отдел Сбыта Преприятия" представлены в табл.4.1.
Таблица 4.1
Используемые типы данных Access 2000
Значение | Тип данных | Размер |
Текстовый | Текст или числа, не требующие проведения расчетов, например номера телефонов. | Число знаков, не превышающее минимальное из двух значений: 255. Microsoft Access не сохраняет пробелы в неиспользуемой части поля. |
Числовой | Числовые данные, используемые для проведения расчетов | 1, 2, 4 или 8 байт |
Дата/время | Даты и время, относящиеся к годам с 100 по 9999. | 8 байт |
Денежный | Используется для записи денежных форматов | 2,4 или 8 байт |
Выбор ОС.
ОС выбираем исходя из выбранной платформы и программного продукта в котором мы решаем поставленную задачу проектирования. Учитываем также, чтобы ОС была современной, устойчиво работала и обеспечивала максимум удобства. В связи с выше перечисленными требованиями выбираем WindowsXP.
Выбор материнской платы.
Выбор материнской платы включает в себя выбор центрального процессора, шины обмена и объема оперативной памяти. Быстро действие центрального процессора выбирается так, чтобы время ожидания расчетной задачи или обновления экрана по возможности не превышало трёх секунд. Таким образом, выбираем 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пр – объем памяти под программу MicrosoftAccess2000;
Vут – объем памяти под результаты работы. Определяется по табл.4.1.
Vв=1,5Гб+46Мб+20Мб=1622Мб.
Таким образом, для компьютера Celeron 400МГц, с ОП 256Мб винчестер на 20Гб, что устраивает для нашей задачи.
Устройства обмена.
Для обмена информацией могут быть использованы: локальная сеть, дискета, оптические накопители.
Исходя из того, что необходимо вести архивы выбираем оптический пишущий накопитель, так как объём Vв больше объёма дискеты выбираем CDRW.
Дополнительное периферийное оборудование.
К дополнительным периферийным устройствам относят: устройство ввода информации, устройство получения твердых копий.
Для ввода информации необходимо и достаточно стандартного комплекта – клавиатуры и мышки.
5.РЕАЛИЗАЦИЯ
На основе созданной концептуальной (см.п.1.7), реляционной модели (см.п.2.3) и её математического описания (см.п.3), используя выбранное оборудование (см.п.4), создаём в СУБД MicrosoftAccess таблицы и ключи.. На рис.5.1 представлены созданные таблицы.
рис 5.1
После создания таблиц, связываем их в единую схему данных используя средства Access 2000 в соответствие с описанием связей, см.п.1.6 и см.п.2.3. Полученная схема данных представлена на рис.5.2
В соответствии с каталогом задач и запросов (см. п. 1.3), были реализованы требуемые запросы (рис. 5.3).
рис 5.2
рис 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 Накладные INNERJOIN (Заказчики INNERJOIN [Заказчики и накладные] ON Заказчики.[код заказчика] = [Заказчики и накладные].[Код заказчика]) ON Накладные.[номер накладной] = [Заказчики и накладные].[Номер накладной]
WHERE (((Заказчики.[наименование заказчика])=[Заказчик]));
Представлении запроса в СУБД MicrosoftAccess 2000
рис 6.6
Второй запрос имеет практически такую же реализацию как и первый, поэтому описывать его не будем.
Третий запрос
Описание запроса на языке SQL
SELECT Товары.Наименование, Товары.[вес брутто (гр)], Товары.[вес нетто (гр)], Товары.[цена за еденицу], Товары.[вид упаковки], [Товары в договоре].[Номер договора], [Товары в договоре].Количество AS [Товары в договоре_Количество], [Товары в накладной].[Номер накладной], [Товары в накладной].Количество AS [Товары в накладной_Количество]
FROM (Товары INNERJOIN [Товары в накладной] ON Товары.[код товара] = [Товары в накладной].[Код товара]) INNERJOIN [Товары в договоре] ON Товары.[код товара] = [Товары в договоре].[Код товара]
WHERE (((Товары.Наименование)=[Товар]));