Выдержка из текста работы
В последние годы на первый план выдвигается новая отрасль — информационная индустрия, связанная с производством технических средств, методов, технологий для производства новых знаний. Эта индустрия тесно связана с развитием компьютерных технологий.
В информационном обществе доминирует производство информационного продукта, а материальный продукт становится более информационно емким. Изменятся весь уклад жизни, система ценностей: возрастает значимость культурного досуга, возрастает спрос на знания, от человека требуется способность к интеллектуальному труду и творчеству.
В результате появились противоречия между ограниченными возможностями человека по восприятию и переработке информации и существующими массивами хранящейся и передаваемой информации. Возникло большое число избыточной информации, в которой иногда трудно сориентироваться и выбрать нужные сведения. Для решения подобных проблем применяются автоматизированные базы данных. Они стали неотъемлемой частью практически всех компьютерных систем — от отрасли до отдельного предприятия.
Деятельность современных предприятий невозможно представить без применения технических средств. С их появлением изменилась технология создания и обработки документов.
В настоящее время для рационализации управленческих процессов на предприятиях, в учреждениях и организациях применяются различные программные средства, предназначенные для полной или частичной автоматизации документационного обеспечения управления (ДОУ).
Все чаще для решения различных управленческих и производственных задач используют локальные компьютерные сети. Их установка и программное обеспечение законодательно не регламентированы.
Каждая организация сама приобретает офисные программные продукты, предназначенные для автоматизации документационного обеспечения управления исходя из своих материальных, финансовых и интеллектуальных возможностей.
Цель данной курсовой работы — разработать базу данных «Информационная система магазина автозапчастей».
Объект исследования — база данных «Информационная система магазина автозапчастей».
Предмет исследования — процесс разработки базы данных «Информационная система магазина ЗИПа автозапчастей».
В соответствии с целью, предметом и объектом исследования, требуется выполнить следующие задачи:
1. провести анализ литературных источников, которые будут использоваться в процессе создания базы данных;
2. провести обзор существующих СУБД;
3. провести обзор возможностей MS Access, которые будут использоваться в процессе создания базы данных;
4. разработать структуру проектируемой базы данных;
5. сделать общие выводы.
ГЛАВА 1. Обзор существующих СУБД
1.1 Обзор и сравнительная характеристика программного обеспечения, используемого при создании СУБД
Рассмотрим более подробно программные продукты компании Microsoft. Эта компания в настоящий момент предлагает пять пакетов программ, которые могут быть использованы для создания пользовательского приложения по обработке данных: Access, SQL Server, Visual Basic, Visual C++ и Visual FoxPro. Эти средства могут быть использованы как по отдельности — для решения конкретной поставленной задачи, так и в качестве интегрированного набора, каждый компонент которого может быть использован при разработке больших проектов масштаба предприятия. С этой точки зрения характеристика всех пяти продуктов приведена в таблице 1.1.
Таблица 1.1 — Сравнение средств разработки Microsoft
Название продукта |
Основные преимущества |
Основное назначение |
|
Access |
Простота освоения. Возможность использования непрофессиональным программистом. Имеет мощные средства подготовки отчетов из БД различных форматов |
Создание отчетов произвольной формы на основании различных данных. Разработка не коммерческих приложений. |
|
SQL-Server |
Высокая степень защиты данных. Мощные средства работы с данными. Высокая производительность |
Хранение больших массивов данных. Хранение данных, требующих соблюдения режима секретности или при не допустимости их потери. |
|
Visual Basic |
Универсальность. Возможность создания компонентов OLE. Невысокие требования к мощности ПЭВМ |
Создание приложений средней мощности, не связанных с большой интенсивностью обработки данных. Разработка компонентов OLE. Создание приложений для интеграции компонентов Microsoft Office. |
|
Visual C++ |
Универсальность. Наибольшая скорость работы приложения. Неограниченная функциональность |
Создание компонентов приложения для выполнения критичных по скорости процессов или обеспечения функциональности, не достижимой в других средствах разработки. |
|
Visual FoxPro |
Высокий уровень объектной модели. Высокая скорость обработки данных. Интеграция объектно-ориентированного языка программирования с Xbase и SQL. Многоплатформенность |
Создание приложений масштаба предприятия. Создание приложений для работы на различных платформах (Windows 3.x,, Windows 95,, Macintosh и т. д.). |
Рассмотрим более подробно перечисленные в таблице 1.1 средства разработки за исключением пакета Visual C++, который, являясь инструментом профессионала, даже для краткого рассказа потребует очень большого объема.
Какие общие черты имеют рассматриваемые средства разработки, подтверждающие наше утверждение о возможности их совместного использования для разработки пользовательских приложений различного уровня сложности? Во-первых такие новые технологии, как OLE, ODBC, DAO, RDAO, ActiveX и пр., которые они поддерживают. Эти технологии закладывают возможность использования в одном приложении данных, хранящихся в различных форматах. Мы можем легко разрабатывать приложения, независимые от данных. Помимо этого, за счет OLE Automation, мы можем использовать функциональные возможности различных пакетов программ для выполнения с данными специфических операций. Классическим примером такой возможности является подготовка в приложении, написанном на Visual FoxPro, данных, хранящихся в формате Access, для вывода в виде сложного графика с использованием Мастера подготовки графиков Excel.
При совместном использовании различных средств разработки приложений обычно больше всего интересуют данные. В таблице 1.2 приведен перечень типов данных, доступных в рассматриваемых средствах разработки. Прочерки в двух предпоследних колонках таблицы обозначают, что для этого типа данных задание конкретных величин не требуется.
Таблица 1.2 — Типы данных
Тип данных |
Visual FoxPro |
Access и Visual Basic |
MS SQL Server |
Длина |
Число десятичных разрядов |
Занимаемый объем |
|
Binary Image |
Нет |
dbLongBinary |
bynary(n) |
n байт |
— |
до 1,2 Гбайт |
|
Byte |
Нет |
dbByte |
tinyint |
1 |
— |
1 байт |
|
Character Text |
C |
dbText |
char(n), varchar(n) |
n |
— |
4 байта |
|
Count |
Нет |
dbLong |
Нет |
— |
— |
4 байта |
|
Currency |
Y |
dbCurrency |
money |
— |
— |
8 байт |
|
Date |
D |
Нет |
Нет |
— |
— |
8 байт |
|
DateTime |
T |
dbDate |
datetime |
— |
— |
8 байт |
|
Logical (Yes/No) |
L |
dbBoolean |
bit |
— |
— |
1 байт |
|
Numeric |
N |
Нет |
float |
n |
d |
от 1 до 20 байтов |
|
Integer |
Нет |
dbInteger |
smallint |
— |
2 байта |
||
Integer |
I |
dbLong |
int |
n |
— |
4 байта |
|
Double |
B |
dbDouble |
float |
— |
d |
8 байт |
|
Float |
F |
float |
n |
— |
от 1 до 20 байтов |
||
General (OLE Object) |
G |
dbLong-Binary |
image |
— |
4 байта |
||
Memo |
M |
dbMemo |
text |
— |
— |
4 байта |
|
Single |
Нет |
dbSingle |
real |
4 байта |
|||
Character (binary) |
C |
Нет |
Нет |
n |
— |
1 байт на символ |
|
Memo (binary) |
M |
Нет |
Нет |
— |
— |
4 байта |
– Binary Image. Любые данные в двоичном виде. Используется для хранения изображений, файлов и т. д.
– Byte. Целое положительное число от 0 до 255.
– Character. Символьное выражение может содержать любые символы (до 254 для одного поля).
– Count. Счетчик, который автоматически наращивает свое значение при добавлении записи. Начальное значение 1.
– Currency. Денежное выражение для числовой величины. Выводит число с четырьмя десятичными разрядами и установленным обозначением используемой денежной единицы.
– Date. Выражение для даты может содержать день, месяц и год.
– DateTime. Выражение дата и время может содержать время, день, месяц и год.
– Logical. Булево выражение для .T. или .F.
– Numeric. Числовое выражение может содержать целые или дробные числа со знаком.
– Integer (dbInteger). Целое число в диапазоне от -32,768 до +32,767.
– Integer (dbLong). Целое число. Можно хранить числа от -2147483647 до 2147483646.
– Double. Числа с плавающей точкой двойной точности. Можно хранить значения от 4.94065645841247E-324 до 1.79769313486232E308.
– Float. То же, что числовое выражение. Оставлено для совместимости.
– General. Поле для ссылки на объект OLE.
– Memo. Поле примечаний для ссылки на блок данных.
– Single. Число с плавающей точкой одинарной точности. Можно хранить отрицательные числа от -3.402823E38 до 1.401298E-45 и положительные числа от 1.401298E-45 до 3.402823E38.
– Character (binary). Символьное выражение, не подвергаемое трансляции в другую кодовую страницу.
– Memo (binary). Поле примечаний для ссылки на блок данных, не подвергаемых трансляции в другую кодовую страницу.
Все СУБД, как правило, имеют сходный функциональный состав, в который входят диалоговые средства для работы с данными — назовем их пользовательскими средствами, средства разработчика, обеспечивающие возможность создания пользовательского приложения, и дополнительные средства, от состава которых, как правило, зависят функциональные возможности и мощность разрабатываемых программ. Отражающая такой подход функциональная схема интерфейса СУБД представлена на рисунке 1.1. В зависимости от назначения средства разработки, о чем мы уже говорили ранее, состав различных средств в конкретной СУБД может значительно отличаться. Например, в Access пользовательские средства развиты значительно сильнее, чем в Visual Basic, где они рассматриваются как вспомогательные функции.
Рисунок 1.1 — Функциональная схема интерфейса СУБД
1.2 Принципы организации данных, лежащие в основе СУБД
Современные СУБД являются объектно-ориентированными и реляционными. Основной единицей является объект, имеющий свойства, и связи между объектами. СУБД используют несколько моделей данных: иерархическую и сетевую (с 60-х годов) и реляционную (с 70-х). Основное различие данных моделей в представлении взаимосвязей между объектами.
Иерархическая модель данных строится по принципу иерархии объектов, то есть один тип объекта является главным, все нижележащие — подчиненными. Устанавливается связь «один ко многим», то есть для некоторого главного типа существует несколько подчиненных типов объектов. Иначе, главный тип именуется исходным типом, а подчиненные — порожденными. У подчиненных типов могут быть в свою очередь подчиненные типы. Наивысший в иерархии узел (совокупность атрибутов) называют корневым.
Сетевая модель данных строится по принципу «главный и подчиненный тип одновременно», то есть любой тип данных одновременно может одновременно порождать несколько подчиненных типов (быть владельцем набора) и быть подчиненным для нескольких главных (быть членом набора).
Реляционная модель данных объекты и связи между ними представляются в виде таблиц, при этом связи тоже рассматриваются как объекты. Все строки, составляющие таблицу в реляционной базе данных должны иметь первичный ключ. Все современные средства СУБД поддерживают реляционную модель данных.
Объект (Сущность) — элемент какой-либо системы, информация о котором сохраняется. Объект может быть как реальным (например, человек), так и абстрактным (например, событие — поступление человека в стационар).
Атрибут — информационное отображение свойств объекта. Каждый объект характеризуется набором атрибутов.
Таблица — упорядоченная структура, состоящая из конечного набора однотипных записей.
Первичный ключ — атрибут (или группа атрибутов), позволяющий однозначным образом определить каждую строку в таблице.
Напротив, альтернативный ключ — атрибут (или группа атрибутов), не совпадающая с позволяющий первичным ключом и однозначным образом определяющий каждую строку в таблице.
Технология «Клиент-сервер» — технология, разделяющая приложение- СУБД на две части: клиентскую (интерактивный графический интерфейс, расположенный на компьютере пользователя) и сервер, собственно осуществляющий управление данными, разделение информации, администрирование и безопасность, находящийся на выделенном компьютере. Взаимодействие «клиент-сервер» осуществляется следующим образом: клиентская часть приложения формирует запрос к серверу баз данных, на котором выполняются все команды, а результат исполнения запроса отправляется клиенту для просмотра и использования. Данная технология применяется, когда размеры баз данных велики, когда велики размеры вычислительной сети, и производительность при обработке данных, хранящихся не на компьютере пользователя (в крупном учреждении обычно имеет место именно такая ситуация). Если технология «клиент-сервер» на применяется, то для обработки даже нескольких записей весь файл копируется на компьютер пользователя, а только затем обрабатывается. При этом резко возрастает загрузка сети, и снижается производительность труда многих сотрудников.
Microsoft Access, Microsoft Visual FoxPro, Microsoft Visual Basic обеспечивают средства для создания клиентских частей в приложениях «клиент-сервер», которые сочетают в себе средства просмотра, графический интерфейс и средства построения запросов, а Microsoft SQL Server является на сегодняшний день одним из самых мощных серверов баз данных.
OLE (Object Linking and Embedding — связывание и внедрение объектов) — стандарт, описывающий правила интеграции прикладных программ. Применяется для использования возможностей других приложений. OLE используется для определения и совместного использования объектов несколькими приложениями, которые поддерживают данную технологию. Например, использование в среде Access таблиц Excel и его мощных средств построения диаграмм или использование данных, подготовленных Access, в отчетах составленных в редакторе текстов Word (связывание или включение объекта).
OLE Automation (Автоматизация OLE) — компонент OLE, позволяющий программным путем устанавливать свойства и задавать команды для объектов другого приложения. Позволяет без необходимости выхода или перехода в другое окно использовать возможности нужного приложения. Приложение, позволяющее другим прикладным программам использовать свои объекты называется OLE сервером. Приложение, которое может управлять объектами OLE серверов называется OLE контроллер или OLE клиент. Из рассмотренных программных средств в качестве OLE серверов могут выступать Microsoft Access, а также Microsoft Excel, Word и Graph… Microsoft Visual FoxPro может выступать только в виде OLE клиента.
RAD (Rapid Application Development — Быстрая разработка приложений) — подход к разработке приложений, предусматривающий широкое использование готовых компонентов и/или приложений и пакетов (в том числе от разных производителей).
ODBC (Open Database Connectivity — открытый доступ к базам данных) — технология, позволяющая использовать базы данных, созданные другим приложением при помощи SQL.
SQL (Structured Query Language — язык структурированных запросов) — универсальный язык, предназначенный для создания и выполнения запросов, обработки данных как в собственной базе данных приложения, так и с базами данных, созданных другими приложениями, поддерживающими SQL. Также SQL применяется для управления реляционными базами данных.
VBA (Visual Basic for Applications — Visual Basic для Приложений) — разновидность (диалект) объектно-ориентированного языка программирования Visual Basic, встраиваемая в программные пакеты.
Приложение Microsoft Access — это настольная система управления реляционными базами данных (СУБД), предназначенная для работы на автономном персональном компьютере (ПК) или локальной вычислительной сети под управлением семейства операционных систем Microsoft Windows (Windows 2000, Windows XP и Windows Server 2003).
СУБД Microsoft Access обладает мощными, удобными и гибкими средствами визуального проектирования объектов с помощью Мастеров, что позволяет пользователю при минимальной предварительной подготовке довольно быстро создать полноценную информационную систему на уровне таблиц, запросов, форм и отчетов.
К основным возможностям СУБД Microsoft Access можно отнести следующие:
· Проектирование базовых объектов — двумерные таблицы с полями разных типов данных.
· Создание связей между таблицами, с поддержкой целостности данных, каскадного обновления полей и каскадного удаления записей.
· Ввод, хранение, просмотр, сортировка, изменение и выборка данных из таблиц с использованием различных средств контроля информации, индексирования таблиц и аппарата алгебры логики.
· Создание, модификация и использование производных объектов (запросов, форм и отчетов).
2.1 Пользовательский интерфейс MS Access 2003
Интерфейс пользователя MS Access — это комплекс программ, который реализует диалог в процессе работы пользователя с приложением Access.
После загрузки MS Access на экране появится главное окно (рисунок 2.1), в котором размещается окно базы данных. При первом запуске Access в главном окне выводится область задач в режиме «Приступая к работе», с помощью которой можно открыть существующие БД и «Создать файл».
Рисунок 2.1 — Главное окно MS Access
При выборе команды «Создать файл» в области задач изменится режим на «Создание файла» (рисунок 2.2).
Рисунок 2.2 — Режим на создание файла
При выборе команды «Новая база данных» откроется окно диалога «Файл новой базы данных» (рисунок 2.3), в котором необходимо выбрать имя диска и директории для хранения БД, а также имя БД (тип файла устанавливается по умолчанию «Базы данных Microsoft Office Access») и щелкнуть на кнопке «Создать», будет сохранен файл с расширением.mdb.
Рисунок 2.3 — Окно диалога «Файл новой базы данных»
В главном окне появится окно БД с назначенным именем, например «Деканат» (рисунок 2.4): база данных (формат Access 2000). В Access2003 для новых баз данных по умолчанию используется формат файла Access 2000, необходимый для обеспечения совместимости с базами данных предыдущих версий. Для того чтобы изменить формат файлов Access 2000, необходимо в меню главного окна выбрать команду «Сервис / Служебные программы / Преобразовать базу данных» и указать нужный формат.
Рисунок 2.4 — Окно БД «Деканат»
Для изменения используемого по умолчанию формата файлов при создании новой базы данных необходимо выбрать команду Сервис / Параметры, активизировать вкладку «Другие» и в списке «Формат файла по умолчанию» выбрать из списка Access 2002-2003.
2.2 Главное окно приложения Microsoft Access
Главное окно приложения Microsoft Access состоит из следующих областей: строка заголовка; строка меню; панель инструментов; окно базы данных; строка состояния.
2.3 Строка заголовка
В строке заголовка находится системное меню в виде пиктограммы, расположенной слева от названия главного окна: «Microsoft Access».
2.4 Строка меню
Строка меню содержит группы команд объединенные по функциональному признаку: Файл, Правка, Вид, Вставка, Сервис, Окно, Справка. Команды, содержащие в меню аналогичны командам в редакторах Word, Excel и в других приложениях Office.
2.5 Панель инструментов
При запуске Access по умолчанию активизируется одна панель инструментов. На панели инструментов расположены наиболее часто используемые команды. Перед созданием БД необходимо ознакомиться с главным меню и панелью инструментов.
2.6 Окно базы данных
Окно базы данных имеет:
ь строку заголовка;
ь панель инструментов, на которой расположены следующие кнопки: Открыть; Конструктор; Создать; Удалить; Крупные значки; Мелкие значки; Список; Таблица;
ь панель «Объекты»: таблицы, запросы, формы, отчеты, страницы, макросы и модули;
ь область окна со списком возможных режимов создания новых объектов или просмотра и редактирования существующих объектов (в этой области также отображаются списки имеющихся в этой базе таблиц, форм, запросов и т.д.).
В строке заголовка окна базы данных отображается ее имя.
Команды панели инструментов окна БД:
· Открыть — открытие выделенного объекта (таблицы, запроса, формы и т.д.) в режиме страницы;
· Конструктор — открытие выделенного объекта в режиме конструктора;
· Создать — создание объекта базы данных;
· Удалить — Удаление выделенного объекта;
· Крупные значки; Мелкие значки; Список; Таблица — представление объектов базы данных в окне базы данных в соответствующем виде.
Панель «Объекты»:
ь Таблица — двумерные таблицы, которые используется для хранения данных в реляционных базах данных. Данные хранятся в записях, которые состоят из отдельных полей. Каждая таблица содержит информацию о сущностях определенного типа (например, студентах);
ь Запрос — средство для отбора данных, удовлетворяющих определенным условиям. С помощью запросов можно выбрать из базы данных только необходимую информацию;
ь Форма — средство, которое позволяет упростить процесс ввода или изменения данных в таблицах БД, что обеспечивает ввод данных персоналом невысокой квалификации;
ь Отчет — средство, которое позволяет извлечь из базы нужную информацию и представить ее в виде, удобном для восприятия, а также подготовить для распечатки отчет, который оформлен соответствующим образом;
ь Страницы — страницы доступа к данным представляют собой специальную Web-страницу, предназначенную для просмотра и работы через Интернет или интрасеть с данными, которые хранятся в базах данных Microsoft Access или БД MS SQL Server;
ь Макрос — набор макрокоманд, создаваемый пользователем для автоматизации выполнения конкретных операций;
ь Модуль — объект, содержащий программы на языке Visual Basic, применяемые в некоторых случаях для обработки данных.
Область со списком возможных режимов создания объектов — в этой области кроме списка режимов создания объектов отображаются созданные объекты (например, таблицы, формы и т.д.), которые можно просматривать или редактировать. Для этого необходимо выделить требуемый объект, например, таблицу и нажать кнопку «Открыть» или «Конструктор».
Нажатие кнопки “Открыть” активизирует режим таблицы, в котором можно просматривать и редактировать данные в выбранной таблице. Нажатие кнопки “Конструктор” открывает таблицу в режиме конструктора, предназначенном для просмотра и изменения структуры таблицы.
2.7 Строка состояния
Строка состояния находится внизу главного окна и предназначена для вывода краткой информации о текущем режиме работы.
ГЛАВА 3. Разработка структуры проектируемой базы данных и её реализация средствами SQL, VBA
3.1 Предметная область
Магазин розничной торговли осуществляет продажу запчастей. Ведется статистика продаж, отражающая спрос на те или иные детали, и, соответственно, потребность магазина в них (сколько единиц какого товара продано) и на ее основе составляются заказы на требуемые товары. За каждый конкретный заказ ответственные менеджеры магазина. В заказах перечисляется наименование товара, количество, цена, номер заказа и т.п. Существует справочник номенклатуры товаров который можно пополнять.
В любой момент можно получить любую информацию о деталях зип, находящихся на складе. Касса занимается приемом денег от покупателей за товар.
Таким образом, в данной задаче, необходимо найти способ ведения информации об зипа автозапчастях, имеющихся в данном магазине. Для того чтобы получить данную информацию, надо спроектировать и реализовать информационную модель работы данного магазина. В ней данных должны содержаться данные о заказах, об зип автозапчастях, о статистике продаж зип автозапчастей.
3.2 Инфологическая модель
аccess база данные автозапчасть
Одной из наиболее популярных семантических моделей данных на этапе инфологического проектирования является неформальная модель «Сущность-Связь» (Entity-Relationship — ER-модель). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных схем баз данных (и не только их) ER-модели получили широкое распространение в CASE-системах (Computer Aided Software Engineering — программные средства, поддерживающие процессы автоматизированного проектирования баз данных, создания и сопровождения ПО (приложений) и баз данных, генерацию кода, тестирование, документирование и управление проектом).
Основными понятиями ER-модели являются сущность, связь, атрибут.
Сущность (объект) — это реальный или представляемый объект предметной области, информация о котором должна сохраняться и быть доступна. Различают такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных предметов, событий, личностей, выступающих как единое целое. Экземпляр сущности относится к конкретной вещи в наборе. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности. При этом имя сущности — это имя типа, а не некоторого конкретного экземпляра этого типа. Для большей выразительности и лучшего понимания имя сущности может сопровождаться примерами конкретных сущностей этого типа.
Атрибут — поименованная характеристика сущности, определяющая его свойства и принимающая значения из некоторого множества значений. Каждый атрибут обеспечивается именем, уникальным в пределах сущности (<имя сущности>.<Имя атрибута>).
Диапазон допустимых значений, которые может принимать атрибут, называется доменом.
Множество из одного или нескольких атрибутов, значения которых однозначно определяют каждый экземпляр сущности, называются идентификатором (ключом). Каждая сущность должен иметь хотя бы один идентификатор. Если идентификаторов несколько, один из них выбирается как привилегированный.
Связь (Relationship) — это поименованная графически изображаемая ассоциация, устанавливаемая между сущностями и представляющая собой абстракцию набора отношений, которые систематически возникают между различными видами предметов в реальном мире. При анализе связей между сущностями могут иметь место бинарные связи (между двумя сущностями или между сущностью и ей же самой — рекурсивная связь), тренарные связи (между тремя сущностями), в общем случае — n-арные связи. В ER-диаграммах связь обозначается либо направленными ребрами с соответствующими надписями (нотация IDEF1), либо ромбом или шестигранником, связанным ребрами с каждой из сущностей (нотация Yourdona).
Среди бинарных связей существуют три фундаментальных вида связи: один к одному (1:1), один ко многим (1:M), многие ко многим (M:N). Эти фундаментальные виды связей относятся к числу безусловных связей и требующих участия каждого экземпляра сущности.
Исходя из описания предметной области и решаемых задач выделим следующие сущности: Запчасти, Детали, Заявка, Марка.
Таблица 3.1 — Связи между сущностями
Название связи |
Сущности |
||
Состоит |
Заявка |
Детали |
|
Состоит |
Заявка |
Марка |
|
Описываются |
Детали |
Запчасти |
На рисунке 3.1 изображена инфологическая модель данной базы данных.
Размещено на http://www./
Рисунок 3.1 — Информационно-логическая модель
В результате упорядочения таблиц схема данных будет выглядеть следующим образом (рисунок 3.2).
Рисунок 3.2 — Связи между таблицами БД
Следующим шагом в построении базы данных будет заполнение её таблиц (таблицы 3.2-3.5).
Таблица 3.2 — Запчасти
Запчасти |
|||
Код запчасти |
Наименование |
Стоимость |
|
1 |
Нет |
0,00р. |
|
2 |
Жеклер |
1,50р. |
|
3 |
Фильтр |
10,00р. |
|
4 |
Руль |
2 000,00р. |
|
5 |
Шина |
1 500,00р. |
|
6 |
Зеркало (лобовое) |
150,00р. |
|
7 |
Карбюратор |
730,00р. |
|
8 |
Коробка передач |
5 000,00р. |
|
9 |
Чехол |
300,00р. |
|
10 |
Щуп |
30,00р. |
|
11 |
Штанга |
950,00р. |
|
12 |
Шпулька |
45,00р. |
Таблица 3.3 — Детали
Детали |
||
Код заявки |
Код запчасти |
|
4 |
1 |
|
5 |
1 |
|
1 |
2 |
|
3 |
2 |
|
3 |
2 |
|
5 |
2 |
|
1 |
3 |
|
2 |
3 |
|
2 |
3 |
|
2 |
3 |
|
3 |
3 |
|
1 |
3 |
|
3 |
4 |
|
1 |
4 |
|
1 |
4 |
|
6 |
5 |
|
8 |
5 |
|
7 |
5 |
|
1 |
6 |
|
6 |
6 |
|
8 |
6 |
|
1 |
7 |
|
2 |
7 |
|
6 |
7 |
|
7 |
7 |
|
7 |
10 |
Таблица 3.4 — Заявка
Заявка |
|||||
Код заявки |
ФИО |
Регистрационный номер |
Код марки |
Дата |
|
1 |
Иванов |
А 456 НК 63 |
1 |
05.06.2009 |
|
2 |
Петров |
Н 888 ЛК 163 |
2 |
05.07.2009 |
|
3 |
Сидоров |
О 123 ЕН 163 |
4 |
06.06.2009 |
|
4 |
Иванов |
А 456 НК 63 |
1 |
08.08.2009 |
|
5 |
Калинин |
К 666 АН 163 |
5 |
10.07.2009 |
|
6 |
Уткин |
О 488 УК 163 |
6 |
12.08.2009 |
|
7 |
Носков |
К 999 ЕК 163 |
1 |
05.06.2009 |
|
8 |
Журавлев |
Н 452 УК 135 |
3 |
12.07.2009 |
Таблица 3.5 — Марка
Марка |
||
Код марки |
Марка |
|
1 |
ВАЗ |
|
2 |
Мазда |
|
3 |
Мицубиси |
|
4 |
Опель Вектра |
|
5 |
Опель Астра |
|
6 |
Fiat Marea |
|
7 |
Fiat Linea |
|
8 |
Мерседес |
|
9 |
BMW 06 |
|
10 |
Ford Focus 116 |
3.3 Применение средств SQL, VBA
Стремительный рост популярности SQL является одной из самых важных тенденций в современной компьютерной промышленности. За несколько последних лет SQL стал единственным языком баз данных. На сегодняшний день SQL поддерживают свыше ста СУБД, работающих как на персональных компьютерах, так и на больших ЭВМ. Был принят, а затем дополнен официальный международный стандарт на SQL. Язык SQL является важным звеном в архитектуре систем управления базами данных, выпускаемых всеми ведущими поставщиками программных продуктов, и служит стратегическим направлением разработок компании Microsoft в области баз данных. Зародившись в результате выполнения второстепенного исследовательского проекта компании IBM, SQL сегодня широко известен и в качестве мощного рыночного фактора.
SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных. SQL — это сокращенное название структурированного языка запросов (Structured Query Language). Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. На самом деле SQL работает только с базами данных одного определенного типа, называемых реляционными.
Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название — структурированный язык запросов.
Однако это название не совсем соответствует действительности. Во-первых, сегодня SQL представляет собой нечто гораздо большее, чем простой инструмент создания запросов, хотя именно для этого он и был первоначально предназначен. Несмотря на то, что чтение данных по-прежнему остается одной из наиболее важных функций SQL, сейчас этот язык используется для реализации всех функциональных возможностей, которые СУБД предоставляет пользователю, а именно:
ь Организация данных. SQL дает пользователю возможность изменять структуру представления данных, а также устанавливать отношения между элементами базы данных.
ь Чтение данных. SQL дает пользователю или приложению возможность читать из базы данных содержащиеся в ней данные и пользоваться ими.
ь Обработка ванных. SQL дает пользователю или приложению возможность изменять базу данных, т.е. добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные.
ь Управление доступом. С помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа.
ь Совместное использование данных. SQL координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу.
ь Целостность данных. SQL позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы.
Таким образом, SQL является достаточно мощным языком для взаимодействия с СУБД.
Во-вторых, SQL — это не полноценный компьютерный язык типа COBOL, FORTRAN или С. В SQL нет оператора IF для проверки условий, нет оператора GOTO для организации переходов и нет операторов DO или FOR для создания циклов. SQL является подъязыком баз данных, в который входит около тридцати операторов, предназначенных для управления базами данных. Операторы SQL встраиваются в базовый язык, например COBOL, FORTRAN или С, и дают возможность получать доступ к базам данных. Кроме того, из такого языка, как С, операторы SQL можно посылать СУБД в явном виде, используя интерфейс вызовов функций.
Наконец, SQL — это слабо структурированный язык, особенно по сравнению с такими сильно структурированными языками, как С или Pascal. Операторы SQL напоминают английские предложения и содержат «слова-пустышки», не влияющие на смысл оператора, но облегчающие его чтение. В SQL почти нет нелогичностей, к тому же имеется ряд специальных правил, предотвращающих создание операторов SQL, которые выглядят как абсолютно правильные, но не имеют смысла.
Несмотря на не совсем точное название, SQL на сегодняшний день является единственным стандартным языком для работы с реляционными базами данных. SQL — это достаточно мощный и в то же время относительно легкий для изучения язык.
Запросы в MS Access сохраняются и реализуются с помощью языка SQL. Хотя большинство запросов можно создать графическими средствами (запросы по образцу), однако хранятся они в виде инструкций SQL. В ряде случаев (например, в подчиненных запросах) можно использовать только язык SQL. В MS Access использован и ниже излагается диалект этого языка.
Запрос на языке SQL состоит из инструкций. Каждая инструкция может содержать несколько предложений.
Практически ни один запрос не обходится без предложения FROM, описывающего используемые таблицы или запросы, и имеющего синтаксис FROM таблицы [IN внешняя_БД]
Таблицы — используемые таблицы/запросы и их взаимосвязи.
Если в предложении FROM присутствует конструкция IN(квадратные скобки указывают, что эта часть предложения не является обязательной), то после зарезервированного слова IN должно стоять имя базы данных, в которой находятся таблицы (предполагается, что используют таблицы не из текущей БД) (рисунок 3.3).
Если некоторых записей в таблице, то поле названия предмета этого преподавателя будет пусто, если используется объединение LEFT JOIN (рисунок 3.3).
Инструкция SELECT обеспечивает выборку необходимых полей из таблиц или запросов. Формат минимального варианта:
SELECT поля FROM таблицы;
Поля — множество выражений и имен полей, разделенных запятыми.
Если имя повторяется в нескольких таблицах, перечисленных в предложении FROM, то перед именем надо поместить имя таблицы и точку.
Если имя таблицы или поля содержит пробел или другой спецсимвол, то это имя нужно заключить в квадратные скобки. В других случаях скобки необязательны.
Иногда бывает желательно, чтобы заголовок отличался от имени поля. В этом случае после имени поля следует поместить зарезервированное слово AS и заголовок (псевдоним). Если в заголовке более одного слова, его необходимо заключить в квадратные скобки.
Если необходимо выдать все поля таблицы, то аргумент поля следует задать звездочкой или в виде “Таблица.*”.
Иногда требуется выдать не значение поля, а результат вычислений над значениями полей. В этом случае вместо имени поля надо задать выражение. Правила записи выражений не отличаются от правил, применяемых в конструкторе запросов.
Помимо слов «select», «from», «where» в команде выборки можно использовать и другие служебные слова, например:
– ORDER BY <атрибут> ASC — определяет сортировку результата выборки в порядке возрастания (asc) или убывания (desc) значения атрибута;
– GROUP BY <атрибут1> — группирует данные по значениям атрибута (рисунок 3.3, в режиме SQL запрос представлен в приложении Д).
Рисунок 3.3 — Запрос «Запрос (Диаграмма)» в режиме Конструктор
Рисунок 3.4 — Запрос «Запрос (Диаграмма)» в режиме Сводная диаграмма
Помимо команды выборки select, язык SQL имеет команды, позволяющие обновлять данные (update), вставлять (insert) и удалять (delete).
Наилучшим решением при проектировании интерфейса базы данных, будет не использовать стандартный интерфейс Access, а использовать для интерактивного взаимодействия с пользователем специальные формы, содержащие такие элементы управления как кнопки, переключатели, флажки, выпадающие списки и т.п. При этом желательно, чтобы при запуске базы данных, стандартное окно базы данных вообще не отображалось («Сервис/Параметры запуска/Снять флажок «Окно базы данных»»), а при запуске базы данных запускалась соответствующая кнопочная форма («Сервис/ Параметры запуска/В выпадающем списке «Форма» указать название формы»), через которую бы и осуществлялось управление базой данных. Также желательно, чтобы база данных имела собственную строку меню, а соответствующие формы — собственные контекстные меню.
Для этого необходимо сначала создать собственную панель инструментов (вызвать контекстное меню, находясь на панели инструментов, «Настройка/Панели инструментов/Создать»), перетащить туда необходимые кнопки с вкладки «Команды» меню «Настройка» и в свойствах панели указать будет она являться панелью, контекстным меню или строкой меню («Настройка/Панели инструментов/Свойства/Тип»). После этого, можно указать общее для всех форм контекстное меню или строку меню, выбрав их из соответствующего списка в окне «Сервис/Параметры запуска». Можно также указать индивидуальные строки меню и контекстное меню для каждой формы («Выделить форму/Конструктор/ Вид/Свойства/Вкладка «Другие»/выбрать строки меню и контекстные меню из выпадающих списков»). В свойствах формы и отдельных элементов управления формы можно также указать процедуры VBA или макросы, выполняющиеся при возникновении определенных событий в форме (вставка или удаление записей, открытие формы, щелчок по кнопке и т.д.). Соответствующие процедуры VBA хранятся в самой форме: меню «Вид/Программа». При редактировании программы, в левом верхнем выпадающем списке содержится перечень элементов формы, а в правом верхнем выпадающем списке — перечень событий для выбранного элемента. В программах на VBA используются встроенные объекты Access и объекты доступа к данным DAO/ADO.
Чтобы добавить кнопку с фрагментом кода, а затем просмотреть код, необходимо выполнить следующее:
1. Открыть форму в режиме конструктора.
2. На Панели элементов выбрать элемент Кнопка.
3. На форме указать, где будет расположена кнопка, после чего появится диалоговое окно мастера кнопок (рисунке 3.5).
Рисунок 3.5 — Диалоговое окно Создание кнопок
4. Далее следовать указаниям мастера.
5. После сохранения формы, выбрать команду Вид -> Программа или выполнить щелчок по кнопке Программа на панели инструментов. В результате откроется окно редактора Visual Basic for Applications (рисунок 3.6)
В этом окне можно видеть три фрагмента программы на языке VBA: раздел объявлений (в верхней части окна), который содержит код, относящийся ко всей форме в целом, а также два раздела кода, привязанных к двум кнопкам.
Рисунок 3.6 — Окно редактора VBA
Начало и конец раздела имеет следующую структуру:
Private Sub Кнопка4_Click()
End Sub.
Основная часть работы выполняется следующим оператором: DoCmd.OpenQuery stDocName, acNormal, acEdit. Этот оператор выполняет открытие формы.
Открыв модуль VBA, его можно редактировать как текст в любом текстовом редакторе. В окне редактора Visual Basic в код можно вставить текст из другого файла. Для этого выбрать команду Вставка -> Файл, а в открывшемся диалоговом окне выбрать нужный файл и выполнить щелчок по кнопке ОК.
Модули на языке Visual Basic можно выводить на печать. Для этого следует открыть модуль и выбрать команду Файл -> Печать.
Структурным элементом программы, написанной на языке VBA, является модуль — совокупность объявлений и процедур, объединенных в единое целое. В Access модули трех типов: стандартные модули, модули формы и модули отчетов. В отличие от стандартного модуля, который создается таким же образом, как и любой другой объект БД, и может выполнять практически любые вычисления, модули форм и отчетов разрабатываются для обработки событий, связанных с элементами формы или отчета.
Заключение
В ходе выполнения работы была создана база данных, касающаяся информационной системы магазина ЗИПа автозапчастей.
В ходе работы:
ь были получены практические навыки постановки задач, проектирования БД, и реализации в Microsoft Access 2003;
ь были получены навыки работы в Microsoft Word 2003;
ь была достигнута основная цель — создана работоспособная база данных с удобным пользовательским интерфейсом.
Access- мощное приложение Windows; впервые производительность СУБД органично сочетается с теми удобствами, которые имеются в распоряжении пользователей Microsoft Windows. Поскольку оба эти продукта- детища компании Microsoft, они прекрасно взаимодействуют между собой. Система Access работает под управлением Windows 9x, NT или Windows XP, так что при работе с ней пользователю доступны все преимущества Windows. Можно вырезать, копировать и вставлять данные из любого приложения Windows в Access и наоборот; можно создать проект формы в Access и вставить его в конструктор форм.
Также были использованы средства SQL и VBA.
SQL — это легкий для понимания язык и в то же время универсальное программное средство управления данными.
Успех языку SQL принесли следующие его особенности:
* независимость от конкретных СУБД;
* переносимость с одной вычислительной системы на другую;
* наличие стандартов;
* одобрение компанией IBM (СУБД DB2);
* поддержка со стороны компании Microsoft (протокол ODBC);
* реляционная основа;
* высокоуровневая структура, напоминающая английский язык;
* возможность выполнения специальных интерактивных запросов:
* обеспечение программного доступа к базам данных;
* возможность различного представления данных;
* полноценность как языка, предназначенного для работы с базами данных;
* возможность динамического определения данных;
* поддержка архитектуры клиент/сервер.
Программы на языке VBA позволяют реализовывать замысел программиста в основном за счет использования существующей объектной модели приложения (Access, Excel, Word и т.п.). При этом существенно экономится время на разработку программы, поскольку большинство необходимых возможностей уже реализовано в рамках объектной модели и программисту остается только использовать эту модель, не разрабатывая саму программу « с нуля».
Таким образом, несмотря на большое количество функций, предоставляемых Microsoft Access, работать с ними совсем несложно. Теперь мы можем за короткое время не только создавать таблицы баз данных, но и проектировать запросы, отчёты, формы.
Литература
1. Microsoft Access 2000. Шаг за шагом: Практическое пособие / Пер. с англ. — М.: ЭКОМ, 2000. — 352 с.
2. Бакаревич Ю.Б. Самоучитель Microsoft Access 2000/ Ю.Б. Бакаревич, Н.В.Пушкин. — СПб.: БХВ-Петербург, 2001. — 468 с.
3. Бакаревич Ю.Б. Самоучитель Microsoft Access 2002/ Ю.Б. Бакаревич, Н.В.Пушкин. — СПб.: БХВ-Петербург, 2002. — 720 с.
4. Бакаревич, Ю.Б. MS Access 2000 за 30 занятий/ Ю.Б. Бакаревич, Н.В.Пушкин. — СПб.: БХВ-Петербург, 2001. — 510 с.
5. Винтер, Р. Microsoft Access 97: Справочник/ Р.Винтер — СПб.: Питер, 1998. — 416 с.
6. Информатика. Базовый курс / Под ред. С.В. Симоновича.- СПб.: Питер, 2001. — 640 с.
7. Информатика. Базовый курс /Симонович С.В. и др. — СПб: Издательство «Питер», 2000. — 640с.
8. Информатика. Учебное пособие /Ломтадзе В.В., Шишкина Л.П. — Иркутск: ИрГТУ, 1999. — 116с.
9. Информатика. Учебное пособие /Под ред. В.Г. Кирия. — Иркутск: ИрГТУ,1998 часть 2. — 382с.
10. Леонтьев, Ю. Microsoft Office 2000: Краткий курс/ Ю.Леонтьев — СПб.: Питер, 2001. — 288 с.
ПРИЛОЖЕНИЕ А
Результат запроса (ПОИСК)
Результат запроса (Диаграмма)
ПРИЛОЖЕНИЕ Б
Вид окна формы «Справочники»
Вид окна формы «Диаграмма»
Окно «Поиск деталей»
ПРИЛОЖЕНИЕ В
Отчет о продажах
ПРИЛОЖЕНИЕ Г
Текст программы для формы «Главная» на языке Visual Basic for Applications
Кнопка, отрывающая форму «Заявка»
Private Sub Кнопка4_Click()
On Error GoTo Err_Кнопка4_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1047) & ChrW(1072) & ChrW(1103) & ChrW(1074) & ChrW(1082) & ChrW(1072)
DoCmd.OpenForm stDocName,,, stLinkCriteria
Exit_Кнопка4_Click:
Exit Sub
Err_Кнопка4_Click:
MsgBox Err.Description
Resume Exit_Кнопка4_Click
End Sub
Кнопка, открывающая форму «О программе»
Private Sub Кнопка18_Click()
On Error GoTo Err_Кнопка18_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1054) & ChrW(32) & ChrW(1087) & ChrW(1088) & ChrW(1086) & ChrW(1075) & ChrW(1088) & ChrW(1072) & ChrW(1084) & ChrW(1084) & ChrW(1077)
DoCmd.OpenForm stDocName,,, stLinkCriteria
Exit_Кнопка18_Click:
Exit Sub
Err_Кнопка18_Click:
MsgBox Err.Description
Resume Exit_Кнопка18_Click
End Sub
Кнопка, открывающая форму «Об авторе»
Private Sub Кнопка20_Click()
On Error GoTo Err_Кнопка20_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1054) & ChrW(1073) & ChrW(32) & ChrW(1072) & ChrW(1074) & ChrW(1090) & ChrW(1086) & ChrW(1088) & ChrW(1077)
DoCmd.OpenForm stDocName,,, stLinkCriteria
Exit_Кнопка20_Click:
Exit Sub
Err_Кнопка20_Click:
MsgBox Err.Description
Resume Exit_Кнопка20_Click
End Sub
Кнопка Выход
Private Sub Кнопка25_Click()
On Error GoTo Err_Кнопка25_Click
DoCmd.Close
Exit_Кнопка25_Click:
Exit Sub
Err_Кнопка25_Click:
MsgBox Err.Description
Resume Exit_Кнопка25_Click
End Sub
ПРИЛОЖЕНИЕ Д
Запрос «Диаграмма» в режиме SQL
SELECT Count(Заявка.[Код заявки]) AS [Count-Код заявки], Запчасти.Наименование
FROM Марка INNER JOIN (Заявка INNER JOIN (Запчасти INNER JOIN Детали ON Запчасти.[Код запчасти]=Детали.[Код запчасти]) ON Заявка.[Код заявки]=Детали.[Код заявки]) ON Марка.[Код марки]=Заявка.[Код марки]
GROUP BY Запчасти.Наименование;
Запрос «Поиск» в режиме SQL
SELECT Запчасти.[Код запчасти], Запчасти.Наименование, Запчасти.Стоимость, Заявка.Дата, Count(Запчасти.[Код запчасти]) AS Количество
FROM Марка INNER JOIN (Заявка INNER JOIN (Запчасти INNER JOIN Детали ON Запчасти.[Код запчасти] = Детали.[Код запчасти]) ON Заявка.[Код заявки] = Детали.[Код заявки]) ON Марка.[Код марки] = Заявка.[Код марки]
GROUP BY Запчасти.[Код запчасти], Запчасти.Наименование, Запчасти.Стоимость, Заявка.Дата
HAVING (((Запчасти.Наименование)=[Forms]![Поиск по запчасти]![поиск]));
Размещено на