Компьютерный магазин. БД в Accesse
1.Описание предметной области
В данной курсовой работе в качестве предметной области рассматривается компьютерный магазин. Наша база данных решает следующие задачи: учёт товара, выдача данных о поставщиках и поставляемых ими товарах (фирма - поставщик, его реквизиты, наименование товаров, характеристики, цены), вычисляет суммы оплаты.
В режиме формы вычисляет стоимость товара с наценкой магазина в 50%. Реализует запросы упорядочения по полям: товары, поставщики, цена. Осуществляет поиск сведений о фирме - поставщике какого - то товара. Производит подсчет стоимости и количества оставшегося в магазине товара, а также выдает отчет об отсутствующих товарах.
Исходные данные о магазине: магазин располагается в нескольких помещениях (склад, торговый зал). У фирмы есть поставщики, осуществляющие поставку компьютеров и комплектующих на склад магазина.
Так же в магазине есть
свой штат сотрудников:
Клиент, приходя в магазин, взаимодействует с менеджером, который, в свою очередь, осуществляет продажу компьютеров или комплектующих. Операции с денежными средствами и отбивку чека осуществляет так же менеджер. При покупке товара, клиент получает чек с указанием товара и его стоимости, на основании которого со склада ему отгружают необходимый товар.
При отсутствии товара на складе работник магазина выбирает отсутствующие товары и на основании этих данных составляет заявку на имя фирмы - поставщика.
2. Построение инфологической концептуальной модели (ER-модели)
Удачная разработка базы данных обеспечивает простоту ее поддержания. Данные следует сохранять в таблицах, причем каждая таблица должна содержать информацию одного типа, например, сведения о поставщиках. Тогда достаточно будет обновить конкретные данные, такие как адрес, только в одном месте, чтобы обновленная информация отображалась во всей базе данных.
Одним из наиболее сложных этапов в процессе проектирования базы данных является разработка таблиц, так как результаты, которые должна выдавать база данных (отчеты, выходные формы и др.) не всегда дают полное представление о структуре таблицы.
При проектировании таблиц лучше разработать структуру на бумаге и только затем начинать работу с СУБД Access. При проектировке таблиц, рекомендуется руководствоваться следующими основными принципами:
- Не должно быть повторений и между таблицами.
Когда определенная информация храниться только в одной таблице, то и изменять ее придется только в одном месте. Это делает работу более эффективной, а также исключает возможность несовпадения информации в разных таблицах. Например, в одной таблице должны содержаться адреса и фамилии клиентов.
- Каждая таблица должна
Каждая таблица содержит информацию на отдельную тему, а каждое поле в таблице содержит отдельные сведения по теме таблицы. Например, в таблице с данными о поставщиках могут содержаться поля с названием компании, адресом и номером телефона. При разработке полей для каждой таблицы необходимо помнить:
- Каждое поле должно быть связано с темой таблицы.
- Не рекомендуется включать в таблицу данные, которые являются результатом выражения.
- В таблице должна
- Информацию следует разбивать на наименьшие логические единицы (Например, поля «Имя» и «Фамилия», а не общее поле «Имя»).
Первым этапом и самым главным этапом в процессе проектирования и создания базы данных, является разработка инфологической модели.
Цель инфологического моделирования – обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты).
Сущность – любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. Сущностями могут быть люди, места, самолеты, рейсы, вкус, цвет и т.д. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе.
Атрибут – поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей.
Ключ – минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся.
Связь – ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных – это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи.
Изобразим графически каждый объект и его свойства (см. рис. 1 - 6).
Рис. 1 Изображение связи «Объект
- Свойство» для объекта «
Рис. 2 Изображение связи «Объект
- Свойство» для объекта «
Рис. 3 Изображение связи «Объект - Свойство» для объекта «Товар»
Рис. 4 Изображение связи «Объект
- Свойство» для объекта «
Рис. 5 Изображение связи «Объект - Свойство» для объекта «Заказ»
Рис. 6 Изображение связи «Объект - Свойство» для объекта «Клиент»
Однако инфологическая модель предполагает наличие в себе отображения не только отдельных объектов и их свойств, но также связей между различными объектами.
Изобразим графически инфологическую модель всей базы данных (см. рис. 7).
Рис. 7 Инфологическая модель базы данных гостиничного комплекса
3. Построение реляционной схемы из ER – модели данных
В таблицах данные распределяются по столбцам (которые называют полями) и строкам (которые называют записями). Все данные, содержащиеся в поле таблицы, должны иметь один и тот же тип. Каждое поле таблицы характеризуется наименованием, типом и шириной поля. При задании типа данных поля можно также указать размер, формат и другие параметры, влияющие на отображение значения поля и точность числовых данных. Основные типы данных:
- Текстовый. Текст или числа, не требующие проведения расчётов.
- МЕМО. Поле этого типа предназначено для хранения небольших текстовых данных (до 64000 символов). Поле этого типа не может быть ключевым или проиндексированным.
- Числовой. Этот тип данных содержит множество подтипов. От выбора подтипа (размера) зависит точность вычислений.
- Счётчик. Уникальные, последовательно возрастающие числа, автоматически вводящиеся при добавлении новой записи в таблицу.
- Логический. Логические значения, а так же поля, которые могут содержать одно из двух возможных значений.
- Денежный. Денежные значения и числовые данные, используемые в математических вычислениях.
- Дата/Время. Дата и время хранятся в специальном фиксированном формате.
- Поле объекта OLE. Включает звукозапись, рисунок и прочие типы данных. Поле этого типа не может быть ключевым или проиндексированным.
- Гиперсвязь. Содержит адреса Web-страниц.
Следующим шагом выполнения курсовой работы было построение реляционной схемы базы данных из ER-модели. Для этой цели были использованы следующие правила:
- Для каждого простого объекта и его единичных свойств строится таблица, атрибутами которой являются идентификатор объекта и реквизиты, соответствующие каждому из свойств.
- Если у объекта имеются множественные свойства, то каждому из них ставиться в соответствии отдельная таблица.
- Если между объектом и его свойствам имеется условная связь, то при отображении в реляционной модели возможны следующие варианты:
- Если многие из объектов обладают рассматриваемым свойством, то его можно
хранить в базе данных так же, как и обычное.
- Если только незначительное число обладает указанным свойством, то при
использовании предыдущего решения для многих записей в таблице значение соответствующего поля будет пустым. Для устранения этого недостатка выделяют отдельную таблицу, которая включает в себя идентификатор объекта и атрибут, соответствующий рассматриваемому свойству (аналогично пункту 2).
- Если у объекта имеется составное свойство, то составляющие составного свойства либо помещаются в отдельные поля реляционной таблицы, либо в одно поле.
- Если связь между объектами 1:1 и классы принадлежности обоих объектов являются обязательными, то для отображения данных объектов и связей между ними можно:
- Использовать одну таблицу, первичным ключом которой может быть
идентификатор любого из двух объектов.
- Для каждого из этих объектов использовать отдельные таблицы, а связь между
ними
отразить включив в одну из таблиц идентификатор связанного объекта из другой таблицы.
- Если связь между объектами 1 : 1 и класс принадлежности одного объекта является обязательным, а другого – нет, то для каждого из этих объектов используют отдельные таблицы, а идентификатор объекта, для которого класс принадлежности является необязательным, добавляется в таблицу, соответствующую тому объекту, для которого класс принадлежности обязателен.
- Если между объектами связь 1 : 1 и класс принадлежности является необязательным, то следует воспользоваться тремя таблицами: по одной для каждого объекта и одну для отображения связи между ними.
- Если между объектами связь 1 : М и класс принадлежности одного из них обязателен, то используют две таблицы – по одной для каждого объекта. При этом в таблицу, соответствующую объекту, класс принадлежности которого является обязательным, добавляется идентификатор второго объекта.
- Если между объектами предметной области имеется связь 1 : М и оба класса принадлежности не обязательны, то поступают аналогично пункту 7 (создают три таблицы: по одной для каждого объекта и одну для связи между ними)
- Если между объектами предметной области имеется связь М : М, то для хранения информации требуется три таблицы: по одной для каждого объекта и одна для отображения связи между ними (классы принадлежности могут быть любыми).
- Агрегированному объекту, имеющему место в предметной области, ставится в соответствии одна таблица, атрибутами которой являются идентификаторы всех объектов, задействованных в данном агрегированном объекте, а так же реквизиты, соответствующие свойствам этого объекта.
Такое объединение информации в одну таблицу возможно только в том случае, если между объектами связь 1:1, если связь другая, то выделяют по одной таблице для каждого объекта и одну для связи.
- При отображении обобщенных объектов могут быть приняты разные решения:
- Всему обобщенному объекту может быть поставлена в соответствии одна таблица.
- Каждой из категорий ставится в соответствии отдельная таблица, которая
содержит в себе идентификатор объекта, общие свойства и свойства данной категории.
Кроме этого, возможны и комбинированные варианты. Выбор конкретного решения будет зависеть от того, насколько часто информация о разных категориях объекта обрабатывается совместно, как велико различие видовых свойств и т.п.
- При отображении составного объекта так же возможны варианты:
- Если речь идет о составе изделий, то между изделием и деталью связь будет М:М.
В этом случае – см. пункты 7, 9, 10.
- Если речь идет о составе какой-нибудь организации, то между объектами скорее
всего будет связь 1:М. В этом случае – см. пункты 8, 9.
В результате применения данных рекомендаций к инфологической модели была получена следующая реляционная модель:
Сотрудник (Код сотрудника, Фамилия, Имя, Должность, Дата рождения, Адрес, Телефон, Примечание);
Клиент (Код клиента, ФИО, Адрес, Телефон);
Заказ (Код заказа, Код товара, Код сотрудника, Дата размещения, Дата исполнения, Код клиента);
Товар (Код товара, Код поставки, Наименование товара, Описание, Изображение, Стоимость закупки, Наличие, Количество, Стоимость продажи);
Поставка (Код поставки, Код поставщика, Дата поставки);
Поставщик (Код поставщика, Название поставщика, Представитель, Обращаться, Телефон, Адрес);
Проектирование БД методом Сущность-связь
Метод сущность-связь называют также методом «ER-диаграмм»: во-первых, ER -аббревиатура от слов Essence (сущность) и Relation (связь), во-вторых, метод основан на использовании диаграмм, называемых соответственно диаграммами ER-экземпляров и диаграммами ER-типа.
Основные понятия метода
Основными понятиями метода сущность-связь являются следующие:
• сущность,
• атрибут сущности,
• ключ сущности,
• связь между сущностями,
• степень связи,
• класс принадлежности экземпляров сущности,
• диаграммы ER-экземпляров,
• диаграммы ER-типа.
Сущность представляет собой объект, информация о котором хранится в БД. Экземпляры сущности отличаются друг от друга и однозначно идентифицируются. Названиями сущностей являются, как правило, существительные, например: ПРЕПОДАВАТЕЛЬ, ДИСЦИПЛИНА, КАФЕДРА, ГРУППА.
Атрибут сущности представляет собой свойство сущности. Это понятие аналогично понятию атрибута в отношении. Так, атрибутами сущности ПРЕПОДАВАТЕЛЬ может быть его Фамилия, Должность, Стаж (преподавательский) и т. д.
Ключ сущности - атрибут или набор атрибутов, используемый для идентификации экземпляра сущности. Как видно из определения, понятие ключа :ущности аналогично понятию ключа отношения.
Связь двух или более сущностей - предполагает зависимость между атрибутами этих сущностей. Название связи обычно представляется глаголом. Примерами связей между сущностями являются следующие: ПРЕПОДАВАТЕЛЬ .ВЕДЁТ ДИСЦИПЛИНУ (Иванов ВЕДЕТ «Базы данных»), ПРЕПОДАВАТЕЛЬ ПРЕПОДАЕТ-В ГРУППЕ (Иванов ПРЕПОДАЕТ-В 256 группе), ПРЕПОДАВАТЕЛЬ РАБОТАЕТ-НА КАФЕДРЕ (Иванов РАБОТАЕТ-НА 25 кафедре).
В результате проектирования могут быть получены несколько вариантов одной БД. При этом все варианты могут быть рабочими, а выбор лучшего из них будет результатом личных предпочтений.
С целью повышения наглядности и удобства проектирования для представления сущностей, экземпляров сущностей и связей между ними используются следующие графические средства:
• диаграммы ER-экземпляров,
* диаграммы ER-muna, или ER-диаграммы.
4. Описание приложения
Для хранения данных создано 6 таблиц, структура которых приведена в таблице 1.
Таблица 1. Структура таблиц
Таблица Сотрудники |
Таблица Товары | |||
Поле |
Тип данных |
Поле |
Тип данных | |
КодСотрудника |
Числовой |
КодТовара |
Текстовый | |
Фамилия |
Текстовый |
КодПоставки |
Числовой | |
Имя |
Текстовый |
НаименованиеТовара |
Текстовый | |
Должность |
Текстовый |
Описание |
Поле МЕМО | |
ДатаРождения |
Дата/время |
Изображение |
Поле объекта OLE | |
Адрес |
Текстовый |
СтоимостьЗакупки |
Денежный | |
Телефон |
Текстовый |
Наличие |
Логический | |
Примечание |
Поле МЕМО |
Кол-во |
Числовой | |
СтоимостьПродажи |
Денежный | |||
Таблица Клиенты |
||||
Поле |
Тип данных |
Таблица Поставка | ||
КодКлиента |
Числовой |
Поле |
Тип данных | |
ФИО |
Текстовый |
КодПоставки |
Числовой | |
Адрес |
Текстовый |
КодПоставщика |
Числовой | |
Телефон |
Текстовый |
ДатаПоставки |
Дата/время | |
Таблица Заказы |
Таблица Поставщики | |||
Поле |
Тип данных |
Поле |
Тип данных | |
КодЗаказа |
Числовой |
КодПостащика |
Числовой | |
КодТовара |
Текстовый |
НазваниеПоставщика |
Текстовый | |
КодСотрудника |
Числовой |
Представитель |
Текстовый | |
ДатаРазмещения |
Дата/время |
Обращаться |
Текстовый | |
ДатаИсполнения |
Дата/время |
Телефон |
Текстовый | |
КодКлиента |
Числовой |
Адрес |
Текстовый | |
Для создания базы данных нужно сначала запустить программу Microsoft Office Access 2003, для этого нужно проделать следующие действия: Пуск → Программы → Microsoft Office → Microsoft Office Access 2003.
После этого откроется окно программы. Для создания новой базы данных нужно выполняем:
- команду Файл → Создать
- в открывшемся окне диалога «Создание» выбираем «Новая база данных». На экране появится окно с запросом директории для новой базы данных, вводим имя базы Компьютерный магазин, затем «ОК». После этого появится окно базы данных (см. рис. 8).
Рис. 8 Окно базы данных
Создание таблиц, как и других объектов баз данных, начинается с активации окна базы данных. В этом окне выбирается элемент управления Таблицы, после чего на правой панели окна будет представлен список таблиц, уже входящих в состав БД. Если в базе нет таблиц, то на правую панель окна выводится только три элемента управления для создания новой таблицы: Создание таблицы в режиме конструктора, Создание таблицы с помощью мастера и Создание таблицы путём ввода данных.
Выбираем элемент управления →Создание таблиц в режиме конструктора (см. рис. 9).
Рис. 9 Создание таблицы в режиме конструктора
Теперь необходимо заполнить Имена полей и выбрать Типы данных. По окончании заполнения через меню Файл → Сохранить как сохраняем полученную таблицу с требуемым именем (см. рис. 10).
Рис. 10 Таблицы базы данных компьютерного магазина в режиме конструктора
Разработаем схему данных, (создание связей между таблицами). Для этого:
- нажимаем по кнопку на панели инструментов (или команда Сервис, Схема данных). На экране появится окно <<Схема данных>>;
- щёлкаем по кнопке на панели инструментов (или команда Связи, Добавить таблицу);
- в появившемся окне будет выделено название одной таблицы. Щелкаем по кнопке <Добавить>, переводим выделение на имя следующей таблицы и щелкните по кнопке <Добавить>. Аналогично добавляем оставшиеся таблицы;
- закройте окно, щелкнув по кнопке <3акрыть>;
- чтобы не выполнять все вышеописанные действия, можно просто перетащить мышкой таблицы из окна «Базы данных Таблицы» в окно «Схема данных»;
- создадим связь между таблицами Товары и Заказы. Для этого курсором мыши перетаскиваем <<Код товара>> в таблице Товары на поле <<Код товара>> в таблицу Заказы. На экране откроется окно <<Связи>>;
- устанавливаем флажок («галочку») в свойствах Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное удаление связанных записей;
- щелкаем по кнопке <Создать>. Связь будет создана;
- аналогично создаем связи между полем <<Код сотрудника>> в таблице Сотрудники и полем <<Код сотрудника>> в таблице Заказы, и т.д. Рисунок 5 отображает полученную схему базы данных компьютерного магазина. Закрываем окно схемы данных, ответив ДА на вопрос о сохранении макета. Для связи таблиц использовалась следующая схема (см. рис. 11).
Рис. 11 Реляционная структура СУБД Access для информационной системы компьютерного магазина
5. Проектирование форм, запросов и отчетов
В созданной базе данных существует возможность правки, добавления, просмотра всех данных. Причем за счет связей при процессе правки одной из таблиц, будут автоматически изменяться данные в других таблицах.
Формы служат для ввода и просмотра
данных в удобном для пользователя
виде, который соответствует
Для создания формы нужно открыть вкладку «Формы» окна базы данных и нажать кнопку «Создать»
После этого в появившемся окне следует выбрать способ создания формы «Мастер форм» и выбрать таблицу, по которой необходимо сделать форму, в нашем случае таблица «Товары».
Далее при помощи кнопок (перенести все записи) или (перенести выбранную запись) нужно выбрать поля, которые будут отражены в форме (см. рис. 12). Нажимаем кнопку «Далее».
Рис. 12 Создание формы в режиме мастера, выбор полей для формы
Затем нужно выбрать внешний вид формы, стиль (см. рис. 13), задать имя формы и форма готова (см. рис. 14).
Рис. 13 Выбор стиля оформления формы
Рис. 14 Готовая форма таблицы Товары
Если автоматическое расположение полей формы нас не устраивает, то необходимо его изменить. Перейдем в режим конструктора (кнопка на панели инструментов ). Здесь можно менять расположение и размер полей формы по своему усмотрению: достаточно мышкой выделить интересующий объект (см. рис. 15).
Рис. 15 Вид формы в режиме конструктора
В нашей форме «Товары» есть поле объекта OLE для размещения изображений товаров. В свойствах этого поля, на вкладке «Макет» устанавливаем размеры: «Вписать в рамку» (см. рис. 16). Это позволит вставлять изображения любых размеров – Access автоматически подгонит картинку под размер поля.
Рис. 16 Свойства объекта «Изображение»
Теперь нужно сохранить
Рис. 17 Вид формы «Товары»
Предположим, что в базе данных накопилось довольно много товаров и вдруг срочно понадобилось найти один из них. Для этого нужно:
- установить курсор в поле «Наименование товара».
- выполнить команду меню Правка → Найти, или воспользоваться кнопкой панели инструментов.
Для фильтрации данных по полям «Код поставки»:
- выбираем необходимый код
- для отмены фильтрации
Режим формы позволяет производить необходимые вычисления прямо в поле данных.
В моей работе СУБД для компьютерного магазина в форме Товары при заполнении поля «Стоимость закупки» в поле «Стоимость продажи» автоматически вычисляется цена для продажи товара. Для автоматизации вычислений необходимо:
- щелкнуть правой кнопкой мыши
по интересующему полю (в нашем
случае это «Стоимость продажи»
- откроется окно «Поле: Стоимость продажи». Выбираем вкладку данные и вписываем в поле «Данные» формулу для расчета (см. рис. 18). Нам необходимо, чтобы стоимость продажи на 50% превышала стоимость покупки.
Рис. 18 Ввод формулы для расчета
- закрываем это окно и сохраняем изменения в таблице.
Для просмотра созданной формы, как она будет выглядеть при распечатывании на листе, щелкаем по кнопке (см. рис. 19)
Рис. 19 Предварительный просмотр созданной формы
Запросы позволяют выбирать данные из одной или нескольких связанных таблиц. Результатом выполнения запроса является результирующая таблица, которая наряду с другими таблицами может быть использована при обработке данных. С помощью запросов можно также обновлять, удалять или добавлять данные в таблицы. Основным назначением запросов является отбор данных по критериям поиска.
Создадим запросы на наличие и отсутствие товара. Для создания запроса необходимо открыть вкладку «Запросы» окна базы данных, нажать кнопку создать и в появившемся окне выбрать «Простой запрос». В этом случае будет предложено указать список таблиц и их полей. Выбираем таблицу «Товары», добавляем необходимые поля (см. рис. 20), нажимаем кнопку «Далее». На основании этих данных будет создан запрос.

- Компьютерный перевод
- Компьютерный перевод как разновидность перевода
- Компьютерный сленг
- Компьютерный сленг
- Компьютерный сленг
- Компьютерный сленг. Англо-русские соответствия
- Компьютерный сленг в немецком языке
- Компьютерный жаргон немецкого языка
- Компьютерный журнал
- Компьютерный клуб «Chicago»
- Компьютерный клуб «CHICAGO»
- Компьютерный клуб «Phantom». Бизнес-план
- Компьютерный клуб "Кяхта"
- Компьютерный контроль