Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Access_pdf.pdf
Скачиваний:
29
Добавлен:
13.03.2015
Размер:
592.96 Кб
Скачать

1. Основные понятия теории баз данных

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

Это определение требует пояснения. Любое предприятие неизбежно должно хранить и обновлять большое количество данных, отражающих его деятельность. Это и есть «операционные данные». Для иллюстрации понятия операционных данных рассмотрим случай Holding-центра. Предположим в Hold- ing-центре хранятся данные о всех товарах, реализуемых со складов фирм Hold- ing-центра; о складах, где хранятся товары; о фирмах, которые занимаются оптовыми продажами товаров со складов и т.д. Все перечисленное представляет собой те основные объекты, данные о которых записаны в БД:

 

 

 

 

 

 

Склады

Продажи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Хранение

 

 

 

 

 

 

 

Фирмы

 

Товары

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Между этими объектами существуют связи или отношения (эти связи представлены стрелками). Например, существует связь между Фирмами и Складами: каждая фирма имеет несколько складов, и каждый склад принадлежит конкретной фирме. Эти связи составляют такую же часть операционных данных, как и объединяемые ими объекты. Поэтому они также должны быть представлены в БД.

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

Предметная область – часть реального мира, подлежащая изучению с целью автоматизации процесса управления в этой сфере (например, банк, академия, больница).

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

Атрибут (или элемент данных) информационное отображение свойств объекта. Каждый объект характеризуется некоторым набором атрибутов (например, клиент банка имеет такие атрибуты как фамилия, адрес и, возможно, идентификационный номер).

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

1 К.Дейт. Введение в системы баз данных. М., Наука, 1980г.

3

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

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

Система управления базами данных основывается на использовании определенной модели данных. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними. В начале 60- х годов прошлого века в СУБД стали применяться иерархическая и сетевая модели данных. В начале 70-х г.г. была предложена реляционная модель данных. Главными достоинствами реляционного подхода являются его простота и теоретическое обоснование. Реляционная модель данных основана на хорошо проработанной теории отношений (Relation – отношение). При проектировании базы данных применяются строгие методы, построенные на нормализации отношений. Для других моделей таких методов проектирования в настоящее время нет.

Далее речь пойдет о реляционной модели данных.

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

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

Отношение, удовлетворяющее приведенному условию, называется нормализованным.

Ненормализованное отношение

(атрибут

«Количество

товара» сам

является отношением)

 

№Склада

Количество товара

КодТовара

Кол–во

 

 

16

 

1

100

 

2

200

 

 

3

100

Нормализованное отношение

№Склада

КодТовара

Кол–во

16

1

100

16

2

200

16

3

100

Атрибут является первичным ключом отношения, если его значения однозначно идентифицируют кортежи (строки) данного отношения.

Не каждое отношение будет иметь первичный ключ в виде единственного атрибута. Но каждое отношение будет иметь некоторую комбинацию атрибу-

4

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

Атрибут отношения R1 является внешним ключом, если этот атрибут – не первичный ключ отношения R1, но его значения являются значениями первичного ключа некоторого отношения R2.

Ключи первичный и внешний представляют собой средства выражения связей между кортежами.

2. Система управления базами данных MS Access

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

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

2.1 Архитектура MS Access

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

Таблица – объект, который определяется пользователем и используется для хранения данных. Каждая таблица содержит информацию о субъектах определенного типа (например, студентах). Поля (столбцы) таблицы служат для хранения различных характеристик субъектов (например, фамилий, адресов студентов), а каждая запись (строка) содержит сведения о конкретном субъекте (например, данные о студенте по фамилии Иванов). Для каждой таблицы можно определить первичный ключ (одно или несколько полей, имеющих уникальные для каждой записи значения) и один или несколько индексов, ускоряющих доступ к данным.

Запрос – объект, позволяющий пользователю получить нужные данные из одной или нескольких таблиц. Для определения запроса можно использовать бланк QBE (Query By Example, запрос по образцу) или написать инструкцию SQL. Можно создать запросы на выборку, обновление, удаление, или добавление данных. С помощью запросов можно также создавать новые таблицы, используя данные из одной или нескольких существующих таблиц.

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

Отчет – объект, предназначенный для вычисления итогов и печати выбранных данных.

Страница доступа к данным – объект, содержащий файл HTML и вспомогательные файлы, обеспечивающий доступ к данным из MS Internet Explorer.

5

Можно опубликовать страницы доступа к данным в своей корпоративной интрасети, что позволит другим пользователям, установившим Office 2000 и Internet Explorer версии 5 или более поздней, находить, просматривать и изменять ваши данные.

Макрос – объект, представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить MS Access в ответ на определенное событие.

Модуль – объект, содержащий программы на языке Visual Basic для приложений, применяемые для настройки, оформления и расширения БД.

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

События1, происходящие в формах или отчетах, могут запускать макросы или процедуры VBA.

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

2.2 Импорт данных

Хотя можно использовать MS Access как замкнутую систему, одним из основных преимуществ данного продукта (что ясно из самого его названия Access – «доступ») является возможность работы с самыми разнообразными данными других баз, электронных таблиц или текстовых файлов.

Работая с собственной БД, можно импортировать или связывать данные, хранящиеся в других БД Access, в файлах dBASE и в любых других БД SQL, поддерживающих стандарт ODBC. Можно также экспортировать данные из таблиц Access в БД, электронные таблицы или текстовые файлы.

ODBC (Open Database Connectivity, Открытый доступ к данным)

ВAccess для чтения, вставки, обновления и удаления данных используется язык SQL (Structured Query Language – Структурированный язык запросов). Этот язык был создан в 1970-х годах в компании IBM для реляционных БД и в дальнейшем утвержден в качестве их официального стандарта.

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

1 Событие – любое изменение состояния объекта MS Access.

6

В 90-х годах был разработан интерфейс Common Language Interface (CLI, Стандартный интерфейс языка) для всех основных диалектов языка SQL. Формализованный интерфейс получил название ODBC.

2.2.1 Импорт объектов MS Access

Чтобы импортировать объект из другой БД Access, выполните следующие действия.

1.Откройте базу данных Access, в которую вы хотите импортировать объект.

2.Выберите команду Файл/ Внешние данные/ Импорт. MS Access откроет окно диалога Импорт.

3.В раскрывающемся списке Тип файлов выберите MS Access, затем найдите нужный файл базы данных.

4.После щелчка на кнопке Импорт MS Access откроет окно диалога Импорт объектов. В этом окне выделите имя или имена импортируемых объектов.

2.2.2 Импорт данных из электронных таблиц, созданных в MS Excel

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

Чтобы импортировать электронную таблицу в базу данных Access, выполните следующие действия.

1.Откройте базу данных Access, в которую вы хотите импортировать электронную таблицу.

2.Выберите команду Файл/ Внешние данные/ Импорт. MS Access откроет окно диалога Импорт.

3.В раскрывающемся списке Тип файлов выберите Ехcel, затем найдите нужный файл, содержащий импортируемую электронную таблицу.

4.После щелчка на кнопке Импорт MS Access откроет окно мастера импорта электронных таблиц, следуйте его указаниям. В одном из окон появится предложение определить первичный ключ таблицы Access. Можно создать поле таблицы с типом данных Счетчик. Или, если Вы планируете включить в первичный ключ несколько полей, установите флажок «Не создавать ключ». Позднее Вы откроете таблицу в режиме конструктора и определите нужный первичный ключ.

3. Проектирование базы данных

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

7

Результатом проектирования должны стать таблицы, представляющие объекты и их взаимосвязи.

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

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

1-й шаг. Произвольное отношение приводится к первой нормальной форме (1НФ).

2-й шаг. Отношение, находящееся в 1НФ, приводится к эквивалентной совокупности отношений, находящихся во второй нормальной форме (2НФ).

3-й шаг. Отношение, находящееся в 2НФ, приводится к эквивалентной совокупности отношений, находящихся в третьей нормальной форме (3НФ).

На практике процесс нормализации, как правило, на этом этапе заканчивается.

Введем ряд определений.

Отношение находится в 1НФ тогда и только тогда, когда все входящие в него элементы содержат только атомарные (неделимые) значения.

Это определение просто устанавливает, что любое нормализованное отношение находится в 1НФ.

Первостепенно важным понятием является понятие функциональной зависимости (внутри отношения).

Если задано отношение R, то атрибут Y отношения R функционально зависит от атрибута X отношения R тогда и только тогда, когда каждое значение X в R в каждый момент времени связано точно с одним значением Y.

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

Можно представить функциональную зависимость с помощью диаграм-

мы:

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

КодТовара Марка

Цена

В случае составного ключа вводится понятие функционально полной зависимости.

8

Атрибут Y находится в полной функциональной зависимости от атрибута X, если он функционально зависит от X и не зависит функционально от любого подмножества атрибута X (X – составной ключ).

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

КодТовара

Количество

НомерСклада

Приведем другой пример:

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

КодТовара Марка

 

 

Цена

НомерСклада

 

 

 

 

 

Количество

Атрибут Количество находится в полной функциональной зависимости от составного ключа КодТовара и НомерСклада. Атрибуты Наименование, Марка, Цена не находятся в полной функциональной зависимости от составного ключа КодТовара и НомерСклада, так как эти атрибуты функционально зависят от части составного ключа, а именно от атрибута КодТовара.

В таком случае при проектировании данное отношение разбивают на два:

 

 

 

 

 

 

 

 

 

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

=

 

Код Товара

 

 

 

+

 

 

 

Количество

КодТовара

 

 

 

 

 

 

 

 

 

Марка

 

 

 

 

 

 

 

 

 

 

 

 

 

НомерСклада

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Цена

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Атрибут Y находится в транзитивной зависимости от атрибута Х, если он находится в функциональной зависимости от атрибута Z, а атрибут Z

– в функциональной зависимости от атрибута X.

9

АдресСклада НомерСклада Телефон

КодФирмы

 

АдресФирмы

 

 

 

Атрибут АдресФирмы находится в транзитивной зависимости от атрибута НомерСклада.

В таком случае при проектировании данное отношение разбивают на два:

=

 

 

 

+

 

 

 

НомерСклада

 

 

КодФирмы

 

АдресФ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отношение R находится во 2НФ, если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от первичного ключа.

Отношение R находится в 3НФ, если оно находится во 2НФ и при этом любой неключевой атрибут зависит от ключа нетранзитивно.

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

4НФ заключает в себя очень простую и общедоступную идею. Понятие 4НФ можно на интуитивном уровне сформулировать так: «один факт хранится один раз».

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

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

Уточним шаги нормализации.

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

10

2-й шаг нормализации состоит в том, чтобы выделить ключи и зависящие от них атрибуты. Для того чтобы привести отношение ко 2НФ, нужно выделить группы атрибутов, зависящие от частей составного ключа. Эти группы могут образовывать отдельные отношения (таблицы). Выделение из отношения, находящегося в 1НФ, таких отношений, в которых неключевые атрибуты зависят только от ключа в целом, называется приведением ко 2НФ.

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

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

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

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

4. Пример проектирования БД

Задача: Разработать БД реализации товаров со складов фирмами Хол- динг-центра.

Пояснения и ограничения:

Холдинг – это объединение четырех фирм: Citilink, Dinikin, Elce, Lizarin. Каждая из этих фирм имеет несколько складов в Москве, где хранятся товары.

Номенклатура товаров единая для Холдинг-центра. Любой товар может храниться на одном или нескольких складах; на каждом складе хранятся различные товары.

Со складов осуществляется оптовая торговля. Каждая фирма осуществляет продажи только со своих складов.

Исследование предметной области, анализ данных, установление связей между данными (авторы не ставили целью подробно рассматривать этот этап проектирования) позволили создать первичное отношение:

С целью наглядности в таблице заполнены не все поля.

11

Выделим ключи и зависящие от них атрибуты:

1.Атрибуты Название Фирмы, Адрес Фирмы, Телефон Фирмы, находятся в функциональной зависимости от Кода фирмы;

2.Атрибуты АдресСклада, Телефон, Код фирмы (т.к. каждый склад принадлежит конкретной фирме) находятся в функциональной зависимости от поля № склада;

3.Атрибуты Наименование, Марка, Цена находятся в функциональной зависимости от поля Код Товара.

4.Атрибут Количество (это количество данного товара, хранящегося на данном складе) находится в полной функциональной зависимости от составного ключа Код товара, № склада.

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

Таким образом, из первичного отношения образовалось пять отношений:

Склады

 

Фирмы

 

Товары

№ склада

 

КодФирмы

 

КодТовара

АдресСклада

 

НазваниеФирмы

 

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

Телефон

 

АдресФирмы

 

Марка

КодФирмы

 

Телефон

 

Цена

 

 

 

 

 

12

Хранение

 

Продажи

КодТовара

 

Да

№ склада

 

та

Количество

 

Пр

 

 

о-

 

 

 

да-

Сочетание полей КодТовара, № склада определяется в таблице Хранение. Чтобы избежать противоречивости данных (нельзя продать товар со склада, если он там не хранится) создадим поле ID в таблице Хранение, которое «закрепит» сочетания КодТовара – № склада. И будем использовать его в таблице Продажи.

Тогда получим следующую схему данных:

5. Со-

здание

но-

вой (пу-

 

стой)

 

базы

 

данных

 

Чтобы со-

здать

новую БД,

находясь

в главном

окне MS

Access:

1.1.Выберите команду Создать базу данных… (меню Файл).

2.Перейдите на вкладку Общие с ярлыком Новая база данных.

3.Введите имя новой БД в поле «Имя файла».

4.Нажмите кнопку Создать.

MS Access открывает окно для создания базы данных.

5.1 Создание таблицы в режиме конструктора

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

Создание таблицы в MS Access осуществляется в окне базы данных.

1.Перейдите на вкладку Таблицы и нажмите кнопку Создать.

2.В появившемся окне диалога Новая таблица выберите пункт конструктор.

13

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]