3052

Создание с помощью СУБД Access базы данных виртуального магазина

Курсовая

Информатика, кибернетика и программирование

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

Украинкский

2012-10-24

2.12 MB

67 чел.

Введение

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

Продолжительное время для решения каждой задачи использовалась только своя совокупность данных, которая оформлялась в виде так называемых наборов данных или файлов данных.

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

Эти обстоятельства и послужили основной причиной появления в конце 60-х годов баз данных (БД).

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

Базы данных имеют несколько уровней представления. Самый низкий уровень – это физический, на котором данные представляются байтами на определенных типах запоминающих устройств. Физический уровень представления баз данных доступен только узкому кругу специалистов.

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

Таким образом, в базах данных данные разрабатываются и хранятся как единое целое в интересах решения всех задач предметной области.

Каждая программа выбирает из базы данных лишь те данные, которые нужны только для данной задачи. Например, для начисления заработной платы сотрудникам предприятия будут выбраны табельные номера, фамилии сотрудников, их квалификация, стаж работы, количество отработанных часов, часовая тарифная ставка и др.

Еще одно важное достоинство использования баз данных, состоит в том, что обеспечивается независимость прикладных программ от данных. Это означает, что изменения в данных не влекут за собой необходимости изменения в программе. Аналогично изменения в логике программы не влекут необходимости изменения механизма доступа к данным. Здесь, конечно, необходимо исключить случаи удаления из базы тех данных, которые использует только собственная программа. При обычном же использовании наборов данных любое изменение в данных требует внесения изменений в соответствующую программу, и наоборот.

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

Таким образом, база данных включает информацию, необходимую для решения целого комплекса задач данного учреждения, предприятия и др. База данных может пополняться новыми данными, а ранее введенные данные могут изменяться или вовсе удаляться. При этом изменения в базе данных не требуют внесения изменений в прикладные программы.


Теоретическая часть

Понятие о реляционной базе данных

Концепцию реляционной модели предложил американский ученый Кодд в 1970 г. Возникновение этой концепции связано с решением проблемы обеспечения независимости данных и их описания от прикладных программ. Созданная Коддом теория нормализации отношений оказалась, в сущности, единой формализованной теорией, с помощью которой можно спроектировать оптимальную логическую модель данных. Эту теорию можно использовать не только при проектировании баз данных в среде реляционных СУБД, а и для СУБД, которые поддерживают иные модели данных.

В основу реляционных моделей положено понятие "отношение" (от английского relation), являющееся способом структуризации данных. Отношение имеет вид поименованной двумерной плоской таблицы. Строки такой таблицы называются кортежами, а совокупность атрибутов определенного столбца – доменом. Схема отношения задается именем отношения и именами соответствующих доменов.

Отношения представляются в виде двумерных таблиц. Например, в таблице 2, представлена реляционная база данных, в которой содержатся сведения об остатках материалов на складе.

Остатки материалов на складе

Таблица 2. Реляционная база данных

Склад

Номенклатурный номер

Наименование

Единица измерения

Количество

Цена

Сумма

1

13-0010

БолтМ12

кг

240

5,55

2

11-2240

Гайка Ml0

кг

180

4,38

ИТОГО:

Реляционная БД – это набор взаимосвязанных отношений. Отношения можно разделить на два класса: объектные и связывающие. Объектные отношения хранят данные об информационных объектах предметной области. Например: ДЕТАЛЬ (код детали, название детали, масса детали, себестоимость) – объектное отношение.

В объектном отношении один из атрибутов однозначно идентифицирует отдельную сущность предметной области. Такой атрибут называется первичным ключом отношения. В приведенном отношении роль ключевого атрибута играет атрибут «код детали».

Ключ может содержать несколько атрибутов, то есть быть составным. В объектном отношении не должно быть строк с одинаковым ключом, то есть не допускается дублирование объектов. Это основное ограничение реляционной модели, которое необходимо выполнять для обеспечения целостности данных.

Связывающее отношение хранит ключи двух или больше объектных отношений, по которым устанавливаются связи между ними. Например, рассмотрим еще одно объектное отношение: СТАНОК (код станка, фирма-изготовитель, дата введения в эксплуатацию, начальная стоимость). Тогда отношение ТЕХНОЛОГИЯ (код детали, код станка) будет связывающим между двумя объектными отношениями ДЕТАЛЬ и СТАНОК.

В связывающем отношении могут дублироваться ключевые атрибуты. Кроме ключей, по которым устанавливается связь в связывающем отношении, могут быть еще и иные атрибуты, которые функционально зависят от этой связи. Например, ТЕХНОЛОГИЯ (код станка, код детали, код технологической операции, норма времени обработки детали на станке). Ключи в связывающих отношениях называются внешними, или вторичными, поскольку они связаны с первичными ключами иных отношений. Реляционная модель накладывает на внешние ключи ограничения для обеспечения целостности данных, которое называется ссылочной целостностью. Это означает, что каждому внешнему ключу должна соответствовать строка какого-нибудь объектного отношения. Без такого ограничения может произойти то, что внешний ключ будет ссылаться на объект, о котором ничего не известно.

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

КОМПАНИЯ (номер работника, номер отдела, руководитель, тип контракта).

1. Аномалия обновления. Замена руководителя отдела приводит к необходимости внесения изменений и модификаций по каждому работнику данного отдела. Следовательно, для поддержки согласованности данных необходимо выполнить изменение не только в кортеже базы, а целый ряд изменений, которые могут рассматриваться как аномалия, поскольку характер самого изменения должен касаться лишь одной определенной записи БД.

2. Аномалия пополнения. Принимая на работу нового сотрудника, необходимо вносить в БД сведения не только о нем, а и о руководителе и типе контракта. Это также можно рассматривать как аномалию, так как не всегда возможно в БД внести сведения об отделе и контракте, поскольку часто сотрудников берут на работу с испытательным сроком и лишь после его прохождения подписывают определенный вид контракта и определяют отдел, где он будет работать.

3. Аномалия изъятия. Предположим, что освободились все работники определенного отдела, тогда вместе с информацией о них в БД будет утрачена также информация об этом отделе. Если же информацию об отделе необходимо хранить какое то время, то это тоже может рассматриваться как аномалия.

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

Устранение этих аномалий достигается декомпозицией и сведением отношения к нормализованному виду.


Нормализация отношений

Нормализация отношений – это итерационный обратный процесс декомпозиции начального отношения на несколько простейших отношений меньшей размерности. Под обратимостью процесса понимают то, что операция объединения отношений, полученных в результате декомпозиции, должна дать начальное отношение, то есть при выполнении декомпозиции должно выполняться условие объединения без потерь информации.

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

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

Аппарат нормализации также разработал Кодд. Каждая нормальная форма ограничивает тип допустимых зависимостей между атрибутами. Кодд выделил три нормальных формы (сокращенные названия 1НФ, 2НФ и 3НФ). Наиболее совершенная из них - 3НФ. Сейчас уже известны и определенны 4НФ и 5НФ.

Нормализацию отношений выполняют в несколько шагов. Первая итерация (первый шаг) – сведение отношений к первой нормальной форме (1НФ). Отношения в 1НФ должны отвечать таким требованиям:

• все атрибуты отношения должны быть уникальными, то есть не допускается их дублирование, а также атомарными, то есть неделимыми;

• все строки таблицы должны иметь одинаковую структуру, то есть одно и одно и то же количество атрибутов с совпадающими именами;

• имена столбцов должны быть разными, а значения однородными (одинакового формата);

•   порядок строк в таблице не существенен.


Основные функции СУБД

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

Создание базы данных начинается с определения перечня, содержания и типа используемых данных. Под типом данных здесь понимаются числовые, текстовые данные и данные типа - дата. Для каждого элемента данных необходимо указать его размерность (длину). Это объясняется тем, что количество символов в поле и в записи имеет конечную величину.

Для описания типов данных в СУБД обычно используется собственный язык, который называют языком описания данных (ЯОД). Имена полей во многих СУБД записываются латинскими символами.

СУБД должна обеспечить ввод в компьютер подготовленных данных, т.е. имен полей, их типов и размерностей.

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

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

Редактирование включает следующие основные операции:

а) удаление устаревших записей;

б) замену одних записей другими;

в) изменение отдельных данных в записях;

г) вставку в определенные места новых записей;

д) добавление новых записей;

е) добавление новых полей, изменение их имен и др.

Информация выдается пользователю в соответствии с поступившим от него запросом. При этом она может выдаваться как на экран, так и на принтер в разнообразной, удобной и наглядной форме. Это могут быть, например, таблицы, диаграммы, графики и др.

Если база данных доступна одновременно нескольким пользователям, то СУБД должна обеспечить, чтобы они не мешали друг другу.

Особая функция СУБД состоит в обеспечении целостности базы данных. Эта функция должна реализоваться, например, при машинных сбоях, при внезапном отключении электропитания и других ситуациях.

Для реализации перечисленных функций в каждой СУБД, кроме языка ЯОД, используются также языки манипулирования данными (ЯМД) и трансляторы или интерпретаторы с этих языков.

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

В некоторых СУБД используются специальные языки запросов, ориентированные на пользователей - непрограммистов.


Работа с таблицами Access

Таблицы – это один из четырех основных типов объектов Access (наряду с запросами, формами и отчетами). В простых приложениях баз данных можно использовать одну таблицу, в более сложных придется применять несколько таблиц и устанавливать между ними связи.

Работа с окном базы данных

Access хранит все ассоциированные с базой данных объекты - таблицы, запросы, формы и отчеты - в одном файле. Прежде чем создавать таблицы, необходимо создать базу данных, в которой будут храниться таблицы и другие объекты Access.

При запуске Access появляется диалоговое окно (рис. 1). Главное окно Access – это рабочая область, предназначенная для манипулирования различными объектами Access (например, таблицами). В этом окне можно выбрать ту базу данных, с которой необходимо работать, или создать новую.

Рисунок 1. Главное меню

Для создания новой базы данных воспользуйтесь одним из следующих способов:

• выберите пункт Запуск мастера и щелкните на кнопке ОК, чтобы запустить мастер базы данных, который возьмет на себя весь процесс создания базы данных, содержащей заданные таблицы;

• выберите пункт Новая база данных и щелкните на кнопке ОК, чтобы создать новую базу данных.

Закрыв диалоговое окно щелчком на кнопке Отмена, вы можете создать или открыть базу данных следующим образом. Для создания базы данных выберите из меню команду Файл\Создать базу данных или щелкните на кнопке Создать базу данных на панели инструментов. Чтобы открыть существующую базу данных, выберите из меню команду Файл\Открыть базу данных или щелкните на кнопке Открыть базу данных на панели инструментов.

Структура окна базы данных

После того как существующая база данных в Access будет открыта, появится окно базы данных, показанное на рис. 2.

Рисунок 2. Окно базы данных

На этом рисунке в окне базы данных представлены объекты простой базы данных Борей, поставляемой вместе с Access в качестве примера. По умолчанию активной становится вкладка Таблицы, на которой представлены все таблицы базы данных. Чтобы просмотреть остальные объекты базы данных, следует открыть другие вкладки окна. Например, открыв вкладку Отчеты, вы увидите все отчеты, хранящиеся в базе данных.

Работать с объектами любой вкладки можно, выбрав их и щелкнув по кнопке Открыть или дважды щелкнув на объекте. Для создания нового объекта используйте кнопку Создать. Например, открыв вкладку Формы и щелкнув на кнопке Создать, вы приступите к созданию новой формы. Кнопка Конструктор используется для изменения структуры существующего объекта, ее можно применить к любому объекту в окне базы данных. Например, если на вкладке Таблицы выбрать таблицу Сотрудники и щелкнуть на кнопке Конструктор, то эта таблица откроется в режиме редактирования ее структуры.

При работе с Access окно базы данных может перекрываться другими окнами, с которыми вы работаете. Для быстрого перехода к окну базы данных щелкните на кнопке Окно базы данных на панели инструментов либо нажмите клавишу F11 или комбинацию клавиш Alt+F1.

Создание таблиц

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

а) в окне базы данных откройте вкладку Таблицы;

б) щелкните на кнопке Создать. Появится диалоговое окно Новая таблица (рис. 3);

в) в правой части диалогового окна Новая таблица выберите нужный пункт и щелкните на кнопке ОК.

Рисунок 3. Диалоговое окно Новая таблица

Справа в диалоговом окне Новая таблица приведены пять пунктов, которые позволяют выбрать способ создания таблицы: Режим таблицы, Конструктор, Мастер таблиц, Импорт таблиц и Связь с таблицами. При выборе какого-либо пункта в левой части окна появляется его описание.

В режиме таблицы на экране появляется таблица, похожая на электронную таблицу, в которую можно вводить данные. Выбор пункта Мастер таблиц запускает мастер, который задает ряд вопросов и создает таблицу на основе ответов на них. Выбор пункта Импорт таблицы или Связь с таблицами запускает мастер, который позволяет использовать таблицу, хранящуюся в другом формате, как основу для новой таблицы. Если вы хотите полностью управлять процессом создания таблицы, выберите пункт Конструктор и щелкните на кнопке ОК. Откроется окно конструктора таблицы.

Определение имен полей

Окно конструктора таблицы содержит три столбца: Имя поля, Тип данных и Описание. В столбце Имя поля введите имя поля. Имена полей могут иметь длину не больше 64 символов и содержать буквы, цифры, пробелы и знаки пунктуации.

Хотя Access позволяет создавать более описательные имена полей, чем старые системы управления базами данных для DOS, все-таки желательно применять короткие имена. По умолчанию имена полей используются как метки полей в формах и как заголовки столбцов в отчетах. Длинные имена создают неудобства при разработке отчета, поскольку столбцы для размещения имен полей слишком широкие.

Выбор типов данных

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

По умолчанию предполагается, что данные являются текстовыми; чтобы изменить тип данных, щелкните на кнопке раскрытия списка и выберите необходимый тип.

В Access есть девять типов данных.

• Текстовый используется для хранения любой последовательности символов, включая буквы, цифры, знаки пунктуации, пробелы и специальные символы. Текстовые поля могут содержать до 255 символов. По умолчанию длина текстового поля равна 50 символам. (Для изменения этой величины щелкните в строке Размер поля вкладки Общие в нижней части окна и введите нужное значение).

• Поле MEMO используется для хранения текста большого объема (например, целых абзацев). В поле MEMO может содержаться до 32 тыс. символов. Обычно в этих полях хранится информация о служащих, товарах на продажу, фрагменты юридических отчетов и т.д. Если вы планируете хранить в поле текст целого текстового документа, лучше воспользуйтесь типом Поле объекта OLE.

• Числовой используется для хранения числовых значений (кроме денежных сумм). В числовых полях обычно содержатся значения, над которыми впоследствии выполняются вычисления; числа могут содержать десятичные точки и знак минус. Если числа не требуют вычислений (например, почтовые индексы или номера телефонов), используйте для их хранения текстовые поля.

• Дата/время используется для хранения даты и/или времени. Хотя значения даты и времени можно хранить и в текстовых полях, использование этого поля имеет свои преимущества. Проверка правильности дат и времени осуществляется автоматически (дата 13/42/95 и время 25:47 недопустимы). Над значениями, которые содержат поля этого типа, можно также выполнять вычисления.

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

• Счетчик используется для автоматической нумерации добавляемой записи. Так, полю первой записи присваивается значение 1, полю следующей записи – 2 и т.д. Поля счетчика используются как идентификационные номера записей таблицы, если необходимо различать записи в таблице. Обратите внимание, что после добавления записи значения этих полей изменить нельзя.

• Логический используется для хранения логических величин, которые могут принимать только два возможных значения типа "да" или "нет".

• Поле объекта OLE содержит объект OLE, т.е. документ другого приложения Windows, поддерживающего OLE (Object Linking and Embedding – связывание и внедрение объектов). Объект OLE может содержать аудио- и видеозаписи, таблицы или текстовые документы.

• Поле типа Гиперссылка содержит буквенно-цифровой идентификатор – адрес гиперссылки, который указывает путь к другому объекту, документу или Web-вкладке. Адрес гиперссылки может представлять собой URL-адрес узла Web в сети Internet или сетевой путь к файлу в локальной сети.

• Мастер подстановок используется для задания набора значений, которые может принимать данное поле. Например, если необходимо добавить в текущую таблицу поле для хранения названий городов, то можно создать другую таблицу, в состав которой входит поле Город, и указать в ней коды всех городов. Теперь с помощью мастера подстановок можно указать, что поле должно содержать только коды, перечисленные во второй таблице.


Практическая часть – база данных «Виртуальный магазин»

Постановка задачи

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

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

При создании связей между таблицами должна быть обеспечена целостность данных.

База данных должна быть приведена к первой нормальной форме.

Необходимо обеспечить интуитивно понятный интерфейс для ввода и выполнения операций над данными.


Описание алгоритма решения задачи

Создание таблиц и обеспечение целостности данных

Для обеспечения нормализации БД и разграничения доступа к информации, данные разделены на три таблицы:

- таблица «Заказы» – содержит служебную информацию (например, код заказа, код товара, код сотрудника, код клиента)

Рис. 1. Таблица Заказы в режиме Таблица

Рис. 2. Таблица Заказы в режиме Конструктор

- таблица «Поставка» – содержит информацию о дате поставки товара

Рис. 3. Таблица Поставка в режиме Таблица

Рис. 4. Таблица Поставка в режиме Конструктор


- таблица «Товары» – содержит информацию о товарах, которые есть в наличии

Рис. 5. Таблица Товары в режиме Таблица

Рис. 6. Таблица Товары в режиме Конструктор

Между таблицами создана связь и обеспечена целостность данных.

Рис. 7. Создание связи между таблицами

Рис. 8. Обеспечение целостности данных


Создание запросов

Запрос «Заказ Товара» - данный запрос выводит наименование товара по введенному названию.

Рис. 9. Запрос Заказ Товара в режиме Таблица

Рис. 10. Запрос Заказ Товара в режиме Конструктор

Запрос «Заказ Товара» в режиме SQL:

SELECT Товары.НаименованиеТовара, Товары.Описание, Товары.СтоимостьПродажи

FROM Товары

WHERE (((Товары.НаименованиеТовара)=[введите название товара]));

Запрос «Заказ Товара по стоимости» - данный запрос выводит наименование товара по введенному названию со стоимостью не выше заданной.

Рис. 11. Запрос Заказ товара по стоимости в режиме Таблица

Рис. 12. Запрос Заказ товара по стоимости в режиме Конструктор

Запрос Заказ Товара по стоимости в режиме SQL:

SELECT Товары.НаименованиеТовара, Товары.Описание, Товары.СтоимостьПродажи, Товары.Наличие

FROM Товары

WHERE (((Товары.НаименованиеТовара)=[введите наименование товара]) AND ((Товары.СтоимостьПродажи)<[введите максимальную стоимость]));

 


Создание форм

Для облегчения работы с данными используются следующие формы:

Рис. 13. Форма Заказы в режиме Форма

Рис. 14. Форма Поставка в режиме Форма

Рис. 15. Форма Поиск товара на складе в режиме Форма


Рис. 16. Форма Пополнение списка товаров в режиме Форма

Рис. 17. Форма Пополнение списка товаров в режиме Конструктор


Список использованной литературы

  1.  «Управление базами данных» Бекаревич Ю. Б., Пушкина Н. В., Смирнова Е. Ю. СПб.: Изд. СПбГУ, 2004 г.
  2.  «Access 2003 в примерах» Гончаров А. С. Петербург: Питер, 2004 г.
  3.  «Эффективная работа с СУБД» Горев А., Ахаян Р., Макашарипов С. СПб.: Питер, 2003 г.
  4.  «Access 2003» Симонович С.В. и др. СПб: Издательство «Питер», 2005 г.
  5.  «Реляционные базы данных» Ломтадзе В.В., Шишкина Л.П. Иркутск: ИрГТУ, 2005 г.
  6.  «Системы управления базами данных» Под ред. В.Г. Кирия. – Иркутск: ИрГТУ, 2004 г.
  7.  «Access 2003» Корнелюк В. К., Веккер 3. Е., Зиновьев Н. Б. М.: Солон, 2003 г.
  8.  «База данных и банки данных» Макарова Н.В. Москва: Финансы и статистика, 2002 г.
  9.  «Microsoft Access 2003: наглядно и конкретно» Мари Свонсон. Москва: Microsoft Press, Русская редакция, 2003 г.
  10.   «Access 2000 для пользователя» Пасько В. Киев: BHV, 2002 г.
  11.   «Использование Microsoft Access 2000» Скотт Баркер. Киев-Москва: Диалектика, 2002.