База данных в СУБД ACCESS. 1. Базы данных и системы управления базами данных
Скачать 477 Kb.
|
Содержание
Введение Основные идеи современной информационной технологии базируются на концепции, согласно которой данные должны быть организованы в базы данных с целью адекватного отображения изменяющегося реального мира и удовлетворения информационных потребностей пользователей. Эти базы данных создаются и функционируют под управлением специальных программных комплексов, называемых системами управления базами данных (СУБД). Увеличение объема и структурной сложности хранимых данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и сравнительно простых для понимания реляционных (табличных) СУБД. Для обеспечения одновременного доступа к данным множества пользователей, нередко расположенных достаточно далеко друг от друга и от места хранения баз данных, созданы сетевые мультипользовательские версии БД основанных на реляционной структуре. В них тем или иным путем решаются специфические проблемы параллельных процессов, целостности (правильности) и безопасности данных, а также санкционирования доступа. Целью этой работы является создать базу данных в СУБД ACCESS. Которая должна будет автоматизировать работу сотрудников книжного магазина. Теоретическая часть Базы данных и системы управления базами данных Базы данных По упрощенному определению, база данных - это набор данных, которые используются системой. Обычно под данными подразумевают значения, хранящиеся в базе данных. Но сегодня данные могут быть песней, картинкой или видеороликом. Система управления базой данных - это программы, которые помогают хранить, управлять и использовать наборы данных независимо от их формата. В более формальном определении система управления базой данных - это программное обеспечение, которое создает, поддерживает и использует базы данных. Примерами популярных крупных систем управления базами данных являются Oracle, Microsoft SQL Server и IBM DB2. Возможно, вы работали с небольшими системами управления базами данных, такими как Microsoft Access. Большинство используемых сегодня баз данных попадают в категорию реляционных баз данных, которые организуют данные в виде набора связанных таблиц. Хотя данная книга нацелена на изучение именно реляционных баз данных, существуют и другие типы баз. К примеру, большинство старых систем использовали одноуровневые неструктурированные базы данных, в которых данные были расположены в одной большой таблице. Также существуют объектно-ориентированные, иерархические и сетевые базы данных. Для изучения реляционных баз данных необходимо знать некоторые ключевые термины и понятия. Таблица состоит из строк и столбцов. Каждая строка содержит данные об отдельном покупателе, тогда как столбцы содержат определенный элемент данных. Каждая ячейка в таблице содержит элемент данных, или одиночное данное. Строки также называются записями, а столбцы иногда называются полями. Каждая строка в таблице определяется столбцом или набором столбцов, которые являются уникальными. Если использовать термины теории баз данных, то уникальный идентификатор называется ключом. Таблица может иметь более одного ключа, но только один из них может быть выбран первичным ключом, который будет служить идентификатором для этой таблицы. Реляционные базы данных следуют набору определенных правил, которые гарантируют целостность данных, хранимых в базе. Заметьте, что мы не использовали слово «корректность». Правила гарантируют лишь то, что данные не будут противоречивыми. Существуют следующие типы моделей представления данных: Иерархическая модель данных Иерархическая база данных - первый предок всех баз данных. Ее название происходит от способа представления базы данных в виде древовидной иерархии, похожей на систему каталогов в компьютере. Самый известный подобного рода продукт под названием Information Management System (IMS, Информационная управляющая система) был разработан компанией IBM. IMS доминировал на рынке крупных баз данных с 1960-х до ранних 1990-х годов. Единственная проблема IMS заключалась в сложности ее использования. Для взаимодействия с базой данных требовался профессиональный программист. Несмотря на усилия IBM по сокращению сферы ее использования в пользу реляционных продуктов, IMS по-прежнему применяется в некоторых старых системах для управления большими базами данных, таких, например, которые используются в страховых компаниях. Компании по-прежнему используют IMS по четырем причинам. Во-первых, она дает возможность быстрого доступа к миллионам записей. Во-вторых, переход к реляционной системе может привести к временным перерывам в работе систем. В-третьих, такой переход потребует значительных финансовых затрат. В-четвертых, сложно проводить изменения в работе информационной системы в процессе ее работы. 2.2. Сетевая модель данных Сетевая база данных, предназначенная для систем среднего размера, появилась, как способ улучшить иерархическую модель. Название происходит от представления базы данных в виде сети связанных таблиц. По сути, сетевая диаграмма выглядит очень похоже на ERD, которые мы используем в этой книге. Основное различие между сетевой и реляционной базой данных состоит в том, что в реляционной базе данных используются внешние ключи для создания связей между таблицами, тогда как сетевая база данных использует для связи таблиц физические указатели. Это кажущееся небольшим отличие приводит при внедрении баз к сильным различиям между ними. Самый известный сетевой продукт, названный IDMS (Integrated database management systems, интегрированная система управления базами данных) была разработана компанией Computer Associates. Как и IMS, IDMS сложна в использовании, и для взаимодействия с такой базой данных требуется профессиональный программист. Большинство предприятий используют иерархические и сетевые продукты, в основном, на старых системах. Новые разработки почти полностью ведутся на основе реляционных систем. 2.3. Реляционная модель данных Реляционная система является самой простой для разработки и управления базой данных. Профессионалы могут работать более эффективно, используя реляционные системы, так как они позволяют существенно сэкономить время и силы: Более того, для использования этой системы от администратора требуется гораздо меньшая теоретическая подготовленность. Простота использования - одна из причин, почему реляционные системы появились на персональных компьютерах. Единственным недостатком, в котором обвиняли ранние реляционные продукты, была их низкая скорость работы. Однако три события, произошедшие за последние несколько лет, решили проблему скорости. Существует большой выбор реляционных продуктов. Такие разработчики, как Oracle, IBM и Microsoft, создают конкурирующие реляционные продукты. Oracle и ЮМ конкурируют на профессиональном рынке для больших серверов, которые используются крупными компаниями, будь то строительная или Web-компания. Microsoft нацелена на небольшие и среднего размера системы. К счастью, все эти системы основаны на одной и той же реляционной модели и используют один язык структурированных запросов (SQL). 1.2. СУБД MSAccess СУБД Access является системой управления базами данных реляционного типа. Данные хранятся в такой базе в виде таблиц, строки (записи) которых состоят из наборов полей определенных типов. С каждой таблицей могут быть связаны индексы (ключи), задающие нужные пользователю порядки на множестве строк. Таблицы могут иметь однотипные поля (столбцы), и это позволяет устанавливать между ними связи, выполнять операции реляционной алгебры. Типичными операциями над базами данных являются определение, создание и удаление таблиц, модификация определений (структур, схем) существующих таблиц, поиск данных в таблицах по определенным критериям (выполнение запросов), создание отчетов о содержимом базы данных. СУБД позволяет задавать типы данных и способы их хранения. Можно также задать критерии (условия), которые СУБД будет в дальнейшем использовать для обеспечения правильности ввода данных. В самом простом случае условие на значение должно гарантировать, что не будет введен случайно в числовое поле буквенный символ. Другие условия могут определять область или диапазоны допустимых значений вводимых данных. Microsoft Access предоставляет максимальную свободу в задании типа данных (текст, числовые данные, даты, время, денежные значения, рисунки, звук, электронные таблицы). Можно задавать также форматы хранения представления этих данных при выводе на экран или печать. Для уверенности, что в базе хранятся только корректные значения, можно задать условия на значения различной степени сложности. Так как Microsoft Access является современным приложением Windows, можно использовать в работе все возможности DDE (динамический обмен данными) и OLE (связь и внедрение объектов). DDE позволяет осуществлять обмен данными между Access и любым другим поддерживающим DDE приложением Windows. В Microsoft Access можно при помощи макросов или Access Basic осуществлять динамический обмен данными с другими приложениями. OLE является более изощренным средством Windows, которое позволяет установить связь с объектами другого приложения или внедрить какие-либо объекты в базу данных Access. Такими объектами могут быть картинки, диаграммы, электронные таблицы или документы из других поддерживающих OLE приложений Windows. В Microsoft Access для обработки данных базовых таблиц используется мощный язык SQL (структурированный язык запросов). Используя SQL можно выделить из одной или нескольких таблиц необходимую для решения конкретной задачи информацию. Access значительно упрощает задачу обработки данных. Совсем не обязательно знать язык SQL. При любой обработке данных из нескольких таблиц Access использует однажды заданные связи между таблицами. В Microsoft Access имеется также простое и в то же время богатое возможностями средство графического задания запроса – так называемый «запрос по образцу» (query by example), которое используется для задания данных, необходимых для решения некоторой задачи. Используя для выделения и перемещения элементов на экране стандартные приемы работы с мышью в Windows и несколько клавиш на клавиатуре, можно буквально за секунды построить довольно сложный запрос. Microsoft Access спроектирован таким образом, что он может быть использован как в качестве самостоятельной СУБД на отдельной рабочей станции, так и в сети – в режиме «клиент-сервер». Поскольку в Microsoft Access к данным могут иметь доступ одновременно несколько пользователей, в нем предусмотрены надежные средства защиты и обеспечения целостности данных. Можно заранее указать, какие пользователи или группы пользователей могут иметь доступ к объектам (таблицам, формам, запросам) базы данных. Microsoft Access автоматически обеспечивает защиту данных от одновременной их корректировки разными пользователями. Access также опознает и учитывает защитные средства других подсоединенных к базе данных структур (таких, как базы данных Paradox, dBASE и SQL). Практически все существующие СУБД имеют средства разработки приложений, которые могут использованы программистами или квалифицированными пользователями при создании процедур для автоматизации управления и обработки данных. Microsoft Access предоставляет дополнительные средства разработки приложений, которые могут работать не только с собственными форматами данных, но и с форматами других наиболее распространенных СУБД. Возможно, наиболее сильной стороной Access является его способность обрабатывать данные электронных таблиц, текстовых файлов, файлов dBASE, Paradox, Btrieve, FoxPro и любой другой базы данных SQL, поддерживающей стандарт ODBE. Это означает, что можно использовать Access для создания такого приложения Windows, которое может обрабатывать данные, поступающие с сетевого сервера SQL или базы данных SQL на главной ЭВМ. Все выше сказанное позволило остановить выбор на СУБД Access для постановки и решения задачи автоматизации процесса ведения документации и отчетности в учебном заведении. 1.3. Типы данных и объекты базы данных Таблицы баз данных, как правило, допускают работу с гораздо большим количеством разных типов данных. Так, например, базы данных Microsoft Access работают со следующими типами данных. Текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов). Числовой – тип данных для хранения действительных чисел. Поле Мемо – специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он храниться в другом месте базы данных, а в поле храниться указатель на него, но для пользователя такое разделение заметно не всегда. Дата/время – тип данных для хранения календарных дат и текущего времени. Денежный - тип данных для хранения денежных сумм. Теоретически, для их записи можно было бы пользоваться и полями числового типа, но для денежных сумм есть некоторые особенности (например, связанные с правилами округления), которые делают более удобным использование специального типа данных, а не настройку числового типа. Счетчик – специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использование – для порядковой нумерации записей. Логический - тип для хранения логических данных (могут принимать только два значения, например Да или Нет). Гиперссылка – специальное поле для хранения адресов URL Web-объектов Интернета. При щелчке на ссылке автоматически происходит запуск броузера и воспроизведение объекта в его окне. Мастер подстановок – это не специальный тип данных. Это объект, настройкой которого можно автоматизировать ввод данных в поле так, чтобы не вводить их вручную, а выбирать их из раскрывающегося списка. Объекты базы данных:ТаблицыТаблицы – это основные объекты любой базы данных. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства). Запросы.Эти объекты служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде. С помощью запросов выполняют такие операции как отбор данных, их сортировку и фильтрацию. С помощью запросов можно выполнять преобразования данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое наполнения таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое. Формы.Если запросы – это специальные средства для отбора и анализа данных, то формы – это средства для ввода данных. Смысл их тот же – предоставить пользователю средства для заполнения только тех полей, которые ему заполнять положено. Одновременно с этим в форме можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и прочее) для автоматизации ввода. Преимущества форм раскрываются особенно наглядно, когда происходит ввод данных с заполненных бланков. В этом случае форму делают графическими средствами так, чтобы она повторяла оформление бланка – это заметно упрощает работу наборщика, снижает его утомление и предотвращает появление печатных ошибок. Отчеты.По своим свойствам и структуре отчеты во многом похожи на формы, но предназначены только для вывода данных, причем для вывода не на экран, а на принтер. В связи с этим отчеты отличаются тем, что в них приняты специальные меры для группирования выводимых данных и для вывода специальных элементов оформления, характерных для печатных документов. Страницы.Это специальные объекты баз данных, реализованных в последних версиях СУБД Microsoft Access (начиная с Access 2000). Правда, более коректно их называть страницами доступа к данным. Физически это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данной, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа. Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере. Эта база данных не обязательно должна быть базой данных Microsoft Access. Страницы доступа, созданные средствами Microsoft Access, посволяют работать также с базами данных Microsoft SQL Server. Макросы и модули.Эти категории объектов предназначены как для автоматизации повторяющихся операций при работе с СУБД, так и для создания новых функций путем программирования. В СУБД Microsoft Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модулисоздаются средствами внешнего языка программирования, в данном случае языка Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, удовлетворить специфическое требование заказчика, повысить быстродействие системы управления, а также уровень ее защищенности. 2.Практическая часть 2.1. Описание предметной области Необходимо построить базу данных, содержащую информацию о книжном магазине. Такая база данных должна обеспечить хранение и просмотр данных о книгах. Информационное обеспечение такого приложения пользователя включает: Информацию о книгах. Информацию о ценах. Информацию о категориях. Информацию о издательствах. Информацию об авторах 2.2. Разработка структуры базы данных Методически правильно начинать работу с карандашом и листом бумаги в руках, не используя компьютер. На данном этапе он просто не нужен. Неоптимальные решения и прямые ошибки, заложенные на этапе проектирования, впоследствии очень трудно устраняются, поэтому этот этап является основополагающим. На этом этапе мы создаем: Список исходных данных; Список выходных данных, которые необходимы для управления структурой предприятия; Список выходных данных, которые не являются необходимыми для заказчика, но которые он должен предоставить в другие организации (в вышестоящие структуры, в органы статистического учета, прочие административные и контролирующие организации). Выяснив основную часть данных, которые заказчик потребляет или поставляет, можно приступать к созданию структуры базы, то есть структуры ее основных таблиц. 1. Работа начинается с составления генерального списка полей – он может насчитывать десятки и даже сотни позиций. 2. В соответствии с типом данных, размещаемых в каждом поле, определяют наиболее подходящий тип для каждого поля. 3. Далее распределяют поля генерального списка по базовым таблицам «Книги» и «Категории».(рис.1 и рис.2) Р исунок 1. «Таблица «Книги» Рисунок 2. «Таблица «Категории» 4. В каждой из таблиц намечают ключевое поле. В качестве такого выбирают поле, данные в котором повторяться не могут. Для таблицы данных о книгах таким поле может служить Номер книги. Для таблицы, в которой содержаться категории, - Код категории. Если в таблице вообще нет ни каких полей, которые можно было бы использовать, как ключевые, всегда можно ввести дополнительное поле типа Счетчик – оно не может содержать повторяющихся данных по определению. 5. Далее определяются связи между таблицами(рис. 3). Такой чертеж называется схемой данных. Существует несколько типов возможных связей между таблицами. Наиболее распространенными являются связи «один ко многим» и «один к одному». Связь между таблицами организуется на основе общего поля, причем в одной из таблиц оно обязательно должно быть ключевым, то есть на стороне «один» должно выступать ключевое поле, содержащее уникальные, неповторяющиеся значения. Значения на стороне «многие» могут повторяться. Рисунок 3. «Схема данных» Создание вычисляемых полей в запросах Создание запросов интересно не только тем, что вы можете в виде одной таблицы представить данные из нескольких связанных таблиц и отобрать нужные записи из этих таблиц. Вы можете создавать столбцы в запросе, которые являются результатом вычислений над значениями других столбцов. Такие столбцы называются вычисляемыми. Это существенно расширяет возможности запросов. Чтобы создать вычисляемое поле, нужно ввести выражение (рис.5), которое вычисляет требуемое значение, в строку Поле свободного столбца бланка запроса.(рис. 4) Рисунок 4. «Создание запроса» Рисунок 5. «Построитель выражений» Создание форм Самый легки способ создания формы с помощью Мастера форм. Выберите Формы / Создать. На экране появится окно диалога «Новая форма», в котором необходимо выбрать метод построения формы и исходный объект для построения формы. В качестве такого объекта могут быть выбраны таблица или запрос. Допустим в качестве исходной таблицы мы выбрали Запрос: Отпускная цена, далее выбираем поля для формы. После нажатия кнопки Далее, переходим к следующему диалоговому окну (рис. 6). На следующих шагах Мастер форм предлагает выбрать форму представления отчета (в столбец, ленточную, табличную или выровненную) и стиль оформления. Стили представляют собой набор различных фоновых рисунков с соответствующим подбором шрифтов и форм полей (рис. 7). На последнем шаге можно изменить предлагаемое Мастером название формы на свое собственное и на этом завершить процесс создания формы нажав кнопку Готово. Если по каким-либо причинам форма вас не удовлетворяет, нажмите кнопку Конструктор, и вы перейдете в режим конструктора форм, в котором получите в свое распоряжение все средства для создания полноценной формы. Рисунок 6 «Создание форм» Рисунок 7 Э 2.51СписокУправляющие кнопки лементами управления Рисунок 8. Создание отчетов Отчеты, как и формы, являются главными элементами интерфейса баз данных. Они позволяют выводить на печать информацию о содержимом базы в удобном для пользователя виде. Большая часть отчетов создается на этапе проектирования офисного приложения.. Во многом формирование отчетов совпадает с процессом создания экранных форм. Пусть, например, мы создаем отчет с помощью Мастера для распечатки списка книг. В качестве исходных данных выберем запрос Отпускные цены. На следующем шаге Мастер отчетов предлагает осуществить группировку данных (рис. 9). На следующих шагах предлагаются выбрать макет отображения отчета и ориентацию листа бумаги, а также определить стиль заголовка и подножий. После чего Мастер отчетов предлагает ввести сортировку. Допускается сортировка записей в возрастающем или убывающем порядке, включающая до четырех полей (рис.10). На следующих шагах предлагаются выбрать макет отображения отчета и ориентацию листа бумаги, а также определить стиль заголовка и подножий. Задайте наименование отчета и нажмите кнопку Готово (рис. 11). Рисунок 9 Рисунок 10 Рисунок 11. Создание макросов Построитель макросов используется для создания и изменения макросов. Чтобы открыть построитель макросов: На вкладке Создание в группе Другие щелкните Макрос. Если эта команда недоступна, щелкните стрелку либо под кнопкой Модуль, либо под кнопкой Модуль класса, а затем щелкните Макрос. Откроется построитель макросов (рис. 12). В окне построителя макросов создается список макрокоманд, которые требуется выполнить при запуске макроса. При первом открытии построителя макросов будут отображены столбцы Макрокоманда, Аргументы и Примечание. В группе Аргументы макрокоманды с левой стороны при необходимости можно вводить и изменять аргументы для каждой макрокоманды. Поле описания с краткими сведениями о каждой макрокоманде или аргументе находится справа. Чтобы прочитать описание в поле, щелкните макрокоманду или аргумент. Для создания, тестирования и запуска макросов можно использовать команды вкладки построителя макросов Конструктор. Рисунок 12. 2.3. Реализация базы данных В базе данных сведения из каждого источника сохраняются в отдельной таблице. При работе с данными из нескольких таблиц устанавливаются связи между таблицами. Для поиска и отбора данных, удовлетворяющих определённым условиям, создаётся запрос. Запросы также позволяют обновить или удалить одновременно несколько записей, выполнить встроенные и специальные сообщения. Для просмотра, ввода или изменения данных прямо в таблице применяются формы. Форма позволяет отобрать данные из одной или нескольких таблиц и вывести их на экран, используя стандартный или созданный пользователем макет. Для анализа данных или распечатки их определённым образом используются отчёты. Например, можно создать отчёт, группирующий данные и подводящий итоги, или отчёт для распечатки почтовых наклеек. В окне базы данных можно работать со всеми её объектами. Для просмотра объектов определённого типа следует выбрать соответствующую вкладку. С помощью кнопок можно открывать и изменять существующие объекты и создавать новые. Разработанная база данных позволяет быстро и эффективно управлять отделомсбытом магазина. Удобный интерфейс программы, с одной стороны, позволяет легко ориентироваться в программе, не требуя от пользователя каких-либо специальных навыков работы с электронно-вычислительными машинами, с другой стороны предоставляет пользователю оперативную информацию. Заключение В проделанной работе были опробованы и использованы основные метода и объекты системы управления базами данных Microsoft Access. Так как интеграция информационных систем во все сферы жизни увеличивается с каждым днем, то актуально становится разработка подобных баз данных. При этом разработчик должен учитывать то, что наиболее простые БД могут быть подвержены избыточности, но при этом нельзя и увлекаться делением БД на много составных таблиц. Также современные средства дружественного интерфейса позволяют разработать интуитивно понятные приложения, что является одним из основных требований заказчика. При создании БД необходимо принять во внимание область, для которой разрабатывается база данных. Например, при формировании БД для магазина, разработчик должен ориентировать её в первую очередь на продажу. Список использованной литературы Диго С. М. Проектирование и использование баз данных. - М.: Финансы и статистика, 1995. – 208 с.: ил. Диго С. М. Создание баз данных в среде СУБД Access. М.: МЭСИ, 2000. - 105 с.: ил. Буч Г. Объектно-ориентированное проектирование с примерами применения. М., Радио и связь, 1992. Горев А., Ахаян Р, Макашарипов С. Эффективная работа с СУБД. СПб.; Питер, 1997., - 700 с. Грабер М. Введение в SQL. Пер. с англ. - М.: "ЛОРИ", 1996. Грабер М. SQL. Справочное руководство. "ЛОРИ", Москва, 1997 Вескес Дж., Гандерлоу М., Чипмен М. Access и SQL Server. Руководство разработчика. Пер. с англ. - М.: "ЛОРИ", 1997. - 362 с. Дейт К. Дж. Введение в системы баз данных, 6-е изд.: Пер. с англ.. - К.; СПб.:Издательский дом "Вильямс", 2000 Диго С. М. Проектирование баз данных. - М.: Финансы и статистика, 1988. Мишенин А. И. Теория экономических информационных систем. - М.: Финансы и статистика, 1999. – 240 с.: ил. Хансен Г., Хансен Дж. Базы данных. Разработка и управление. - Издательство Бином -704 с. |