Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009

.pdf
Скачиваний:
4975
Добавлен:
14.05.2016
Размер:
14.64 Mб
Скачать

10. СУБД Access 2002

283

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

Поддержка расширенных свойств БД Microsoft SQL Server 2000

Интеграция Microsoft Access 2002 с Microsoft SQL Server позволила включить в проект Microsoft Access расширенные свойства базы данных SQL Server. Это, в свою очередь, сделало возможным использование таких средств как связи подстановок, условия на значения (вид ограничений целостности), форматирование текста и подгаблицы. Расширенные свойства можно использовать в таблицах, представлениях и хранимых процедурах аналогично другим объектам БД. С их помощью упростился перенос настроек столбцов, строки, шрифтов и масок данных из одного сеанса проекта Microsoft Access в другой. Кроме того, введение расширенных свойств упростило перемещение приложения из базы данных Microsoft Access в проект Microsoft Access, подключенный к Microsoft SQL Server.

Обновление страниц доступа к данным

Если проект Microsoft Access имеет страницы доступа к данным и подключен к локальному ядру Microsoft SQL Server 2000 Desktop Engine (ранее MSDE), то имеется следующая возможность. Можно сделать эти страницы доступными в автономном режиме, потом независимо вносить в них изменения на переносном компьютере и, наконец, выполнить автоматическую синхронизацию данных при подключении к серверу SQL.

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

10.3.Средства поддержки проектирования

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

2 8 4 Часть 3. Современные СУБД и их применение

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

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

Напомним, что перед созданием БД ее нужно спроектировать. Определить, сколько должно быть таблиц, как они между собой связаны, какие у каждой из таблиц поля, есть ли ключи и прочее. Бывают ситуации, когда: о разрабатываемой информационной системе собрана не вся информация; информация собрана, но не систематизирована; данные, которые необходимо распределить но таблицам БД, импортированы из других СУБД или из текстовых файлов и др. В подобных случаях требуется анализ информации. Если объем ее значителен, обойтись без средств автоматизации очень сложно.

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

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

Для выполнения анализа таблицы и/или ее нормализации нужно открыть

окно БД и выбрать в меню пункт С е р в и с | А н а л и з | Т а б л и ц а (Tools | Analyze |

T a b l e ) . В результате запускается Мастер анализа таблиц. Возможность его использования предоставляется также после операций импорта данных из текстовых файлов или файлов электронных таблиц с помощью одного из Мастеров импорта.

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

10. СУБД Access 2002

285

Проиллюстрируем работу Мастера анализа таблиц па примере таблицы «Устройства-Производители», содержимым которой является результат соединения таблиц 0 2 и Д2, связанных но типу 1:М (см. подраздел 3.3). Получим из этой таблицы се исходные таблицы — 0 2 и Д2.

 

Т а б л и ц а «Устройства-Производители»

 

Код

Вид устройства

Фирма-производитель

Наличие

а

CD-ROM

Acer

Да

а

CD-ROM

Mitsumi

Нет

а

CD-ROM

NEC

Да

а

CD-ROM

Panasonic

Да

а

CD-ROM

Sony

Да

б

CD-Recorder

Philips

Нет

б

CD-Recorder

Sony

Нет

б

CD-Recorder

Yamaha

Да

в

Sound Blaster

Creative Labs

Да

Вызовем Мастер анализа таблиц и выполним с его помощью распределение полей исходной таблицы но новым таблицам. Предлагаемая схема (модель) данных показана на рис. 10.3.

Анали;таблиц

Правильно ли мастер группирует данные?

 

Если нет, перетащите поля с помощью мыши в подходящие по смыслу гругеты,

 

Какие имена следует присвоить новым таблицам?

 

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

т

 

Наличие

 

•Лодстзновхз Та6лица2

 

!

Отмена

< Назад

Далее >

Рис. 10.3. Модель данных в окне Мастера анализа таблиц

286

 

Часть 3. Современные

СУБД и их применение

Созданные таблицы имеют следующий вид:

 

 

Таблица!

Таблица2

 

 

Код

Вид устройства

Фирма-производитель

Наличие

Подстановка

а

CD-ROM

Acer

да

a, CD-ROM

б

CD-Recorder

Mitsumi

нет

a, CD-ROM

в

Sound Blaster

NEC

да

a, CD-ROM

 

 

Panasonic

да

a, CD-ROM

 

 

Sony

да

a, CD-ROM

 

 

Philips

нет

б, CD-Recorder

 

 

Sony

нет

б, CD-Recorder

 

 

Yamaha

да

б, CD-Recorder

 

 

Creative Labs

да

в, Sound Blaster

Сравнение содержимого этих таблиц с таблицами 0 2 и Д2 показывает, что Таблица 1 и таблица 0 2 совпадают. Отличие таблиц Д2 и Таблица2 состоит в том, что пара ключевых полей («Код», «Фирма-производитель») названа новым полем «Подстановка». Поле «Подстановка» выполняет такую же роль, как и два ключевых поля.

Кроме того, Мастер анализа таблиц предлагает пользователю создать запрос, результатом выполнения которого оказывается исходная таблица. Для нашего примера Мастер создал запрос с именем «Устройства-Производите- ли», а исходную таблицу переименовал в таблицу «Устройства-Производи- тели СТАРАЯ». Таким образом, поставленная задача решена.

10.4. Создание основных элементов БД

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

Создание базы данных

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

10. СУБД Access 2002

2 8 7

данных. Независимо от способа создания базы данных можно в любое время легко ее изменить и расширить.

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

н о в о й б а з ы

д а н н ы х ( F i l e N e w

D a t a b a s e ) (рис. 1 0 . 4 ) нужно выбрать папку

размещения базы, ввести имя и нажать кнопку Создать (Create).

File New Database

 

Save ip:

i^J Мои документы

U 4

I"?) dips

w)My Data Sources Мои рисунки

ц^Моя музыка Ц ] dbl.mdb lQdb2.mdb

*)] Replica of dbl.mdb ^ПReplica-Replica 1 of dbl.mdb

File name;

~3

 

Save as type: [Microsoft Access Databases (*mdb)

-Cancel

Р и с . 10.4. Д и а л о г о в о е о к н о Ф а й л н о в о й б а з ы д а н н ы х

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

Если из начального окна (рис. 10.1) пойти по ссылке «Создание с помощью шаблона» из раздела «Создание с помощью шаблона», то появится окно шаблонов с вкладками «Общие» и «Базы данных». Щелчком по соответствующей пиктограмме из вкладки «Общие» производится переход к созданию новой базе данных, для чего нужно будет задать папку и имя базы данных в окне Файл новой базы данных.

На вкладке Базы данных (Databases) можно выбрать как основу одну из многих готовых баз данных (здесь представлены различные темы, например, «Контакты», «Мероприятия», «Склад» и т. д.). Дальнейшее определение основных параметров базы данных выполняется с помощью Мастера баз дан-

288

Часть 3. Современные СУБД и их применение

^р db3 : Database (Access 2000 file format)

UjjOpen ^Design

^ f l p w

X

H

o - o -

Objects

reate table in Design vie1/',

Create table by using wizard Create table by entering data

iHi MSysAccessObjects

ШMSysACEs

CUD

MSysObjects

( 1

MSysQueries

ШMSysRelationships

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

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

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

К созданию БД можно также перейти путем нажатия кнопки С о з д а т ь (Create) на панели инструментов или по команде меню Файл | Создать базу данных (File | N e w D a t a b a s e ) .

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

Перед созданием таблицы нужно открыть базу данных, в которой таблица будет находиться. Это можно сделать с помощью начального окна (рис. 10.1), а также нажатием кнопки Открыть базу данных (Open An Existing Database) панели инструментов или по команде меню Файл | Открыть (File | Open).

В открытой БД следует выбрать вкладку Таблицы (Tables) и нажать кнопку Создать (New). Начать создание таблицы можно также путем выбора в

10. СУБД Access 2002

289

пункте В с т а в к а (Insert) главного меню Access подпункта Т а б л и ц а (Tables). В результате появляется окно, показанное на рис. 10.6.

Новая таблица

•явпввяящвввяквп

Конструктор Мастер таблиц Импорт таблиц

Связь с таблицами

Создание новой таблицы в режиме таблицы.

J в™ена 1

Рис. 10.6. О к н о создания таблиц

Как следует из содержимого окна, возможны следующие пять вариантов создания таблиц:

• путем ввода данных в пустую таблицу, при сохранении данных в которой Access анализирует данные и автоматически присваивает соответствующий тип данных и формат каждому полю — Режим таблицы {Datasheet View);

• с помощью Конструктора — Конструктор (Design View);

• с помощью Мастера — Мастер таблиц

(Table

Wizard);

• из импортируемых таблиц — Импорт

таблиц

(Import Tables);

путем создания таблиц, связанных с таблицами, находящимися во внешнем файле — Связь с таблицами (Link Tables).

Новые таблицы путем импортирования создаются пустыми или с данными. Это определяется параметрами (кнопка Параметры (Options)) в окне Импорт объектов (Import Objects), которое появляется при выборе исходной БД. При создании таблиц в режиме Связь с таблицами в окне БД появляются таблицы, которые находятся в другой базе данных. Фактически такие таблицы становятся разделяемым ресурсом, и их содержимое может изменяться из двух баз данных.

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

Для перехода в режим Конструктор достаточно выделить вторую строку области выбора окна (рис. 10.6) и щелкнуть на кнопке ОК. Появится окно

10 Зак. 541

290

Часть 3. Современные СУБД и их применение

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

в Таблица!

: таблица

 

 

 

 

и п - m

I

Имя поля

1

Тип данных

|

Описание

ы

 

1

 

 

 

 

 

 

 

 

 

Свойства поля

 

 

 

 

Общие

j Подстановка )

 

 

 

Имя поля

может состоять из

64

символов с учетом пробелов. Для справки по именам полей нажмите клавишч F1.

Рис. 10.7. Окно описания полей таблицы

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

61 Построитель полей

 

 

Выберите требуемый образец таблицы, а затем

соответствующий образец поля.

 

Образцы таблиц:

Образцы полей:

Отмена

Щ

Ш Я Ш

КоаСпискаРассылки

Контакты

Префикс

Клиенты1

Имя

 

Согруцники1

Отчество

 

Т riR^nKI?

Фамилия

 

СуФФикс

 

 

 

 

(*

Деловое применение

Прозвище

 

С

Личное применение

Титул

 

ИмяОрганизации

 

Рис. 10.8. Окно Построителя полей

10. СУБД Access 2002

291

При описании структуры таблицы следует обратить внимание на свойство

полей, называемое Индексированное

поле {Indexed). Оно может

принимать

следующие значения: Нет {No)

— не индексированное, Да (Допускаются со-

впадения)

{Yes {Duplicates

OK))

и Да

{Совпадения не допускаются)

{Yes {No

Duplicates)).

Индексация

поля в системе Access еще не означает, что поле яв-

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

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

Ф а й л | С о х р а н и т ь (File | S a v e ) , нажатием кнопки С о х р а н и т ь ( S a v e ) на панели инструментов или закрытием окна создания таблицы) при отсутствии в ней ключа Access предупреждает об этом и предлагает создать ключ типа Счетчик {AutoNumber). При необходимости ключи могут быть созданы и позже.

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

Связывание таблиц

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

После открытия основного окна БД окно схемы базы данных можно вызвать по команде С е р в и с | С х е м а д а н н ы х ( T o o l s | R e l a t i o n s h i p s ) основного меню или с помощью одноименной команды контекстного меню окна БД.

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

Вслучае совпадения имен и типов полей у нескольких таблиц схемы данных

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

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

292

 

Часть 3. Современные

СУБД и их

применение

Схема данных

 

 

 

 

 

 

 

и ш д м ш м

 

 

 

Товары

 

КодЗаказа

КодЗаказа

ОО

 

 

 

КодКлиента

КодТовара

 

 

 

 

 

 

 

 

 

КодСотрудник

Цена

 

 

 

Марка

 

ДатаРазмещен»

Количество

 

 

' IY1

КодПоставщика

ДатаНазначени

Скидка

 

 

Г

КодТипа

 

ДатаИсполнени

 

 

 

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

Доставка

 

 

 

 

Цена

 

 

КодЮиенга ж

 

КодТша

 

НаСкладе

^vj

 

Название

 

Категория

 

Ожидается

 

 

 

 

 

 

ОбращатьсяК""

 

Описание

 

 

 

 

Должность

 

Изображение

 

 

 

 

Адрес

 

 

 

 

 

 

Ссггрцдшкй

 

 

 

 

 

 

К о д О п р у д о к а

 

 

 

 

 

КодДоставки

Фамилия

— '

 

 

 

Название

Имя

 

 

 

 

Л

Телефон

Должность

• |

 

 

Рис. 10.9. Окно схемы базы данных

 

 

 

Edit Relationships

 

 

 

 

 

Table/Query:

Related Table/Query:

Create

 

ТлЫ-:

^ | Tablet

 

 

 

 

" 3

 

 

 

код2

yIК0Д1

 

I

Cancel

 

 

 

 

 

 

 

 

Join Type.

 

г Г Enforce Referential Integrity;—

Create New..

 

! Г Cascade Update Related Fields | Г Cascade [idete Related Records

Relationship Type: One-To-Many

Рис. 10.10. Окно определения вида и параметров связи

Кнопка О б ъ е д и н е н и е ( J o i n Т у р е ) в правой части окна позволяет установить свойства объединения записей двух таблиц — как участвуют в связи остальные записи таблиц. В появившемся после нажатия этой кнопки окне для выбора предлагаются следующие варианты: