Смекни!
smekni.com

Создание и обработка баз данных в СУБД Access (стр. 2 из 5)

Вставка в запись рисунка или объекта

Рисунок или объект добавляется из имеющегося файла либо создается в приложении OLE (например, в MSPaint), а затем вставляется в текущую запись.

Рассмотрим размещение объекта OLE на примере поля Фотография заведующего в таблице КАФЕДРА. Фотографии хранятся в формате графического редактора Paint в файлах с расширением .bmp.

1. В окне базы данных установите курсор на таблице КАФЕДРА и нажмите кнопку Открыть

2. Заполните строки (записи) открывшейся таблицы данными в соответствии с названиями столбцов (полей)

3. Для размещения поля Фотография заведующего выполните внедрение объекта OLE в файл базы данных. Установите курсор в соответствующее поле таблицы. Выполните команду меню Вставка|Объект

4. В окне Вставка объекта выберите тип объекта PaintbrushPicture и установите флажок Создать из файла

5. В этом окне можно ввести имя файла, содержащего фотографию.

6. Для просмотра внедренного объекта установите курсор в соответствующее поле и дважды щелкните кнопкой мыши

7. Чтобы вернуться из программы Paint, выполните команду Файл|Выход и возврат к таблице КАФЕДРА.

Размещение данных типа МЕМО в таблице

В таблице ПРЕДМЕТ предусмотрено поле ПРОГР, которое будет содержать длинный текст – краткую программу курса. Для такого поля выберите тип данных ПолеМЕМО.

Откройте таблицу ПРЕДМЕТ. Выполните ввод данных в поле ПРОГР непосредственно в таблице либо через область ввода, вызываемую нажатием Shift+F2.

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

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

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

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

· Обе таблицы сохраняются в одной базе данных Access.

От полей, указанных при определении связи, зависит тип создаваемой связи:

1. Отношение «один-к-одному» создается в том случае, когда оба связываемых поля являются ключевыми

2. Отношение «один-ко-многим» создается в том случае, когда только одно из полей является ключевым. При таком отношении главной таблицей является таблица, которая содержит первичный ключ и составляет часть «один» в этом отношении. Таблица со стороны «много» является подчиненной таблицей. Связывающее поле в ней с таким же типом информации, как в первичном ключе главной таблицы, является полем внешнего ключа.

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

Если для какой-то из таблиц не было определено ключевое поле, то в поле Типотношения отображается текст «Не определено».

1. Откройте окно Схема данных, нажав кнопку на панели инструментов

2. В диалоговом окне Добавление таблицы выберите вкладку Таблицы и, нажимая кнопку Добавить, разместите в окне Схема данных все ранее созданные таблицы базы данных, список которых будет отображен в диалоговом окне. Можно добавить все таблицы сразу, выделив 1-ую таблицу и нажав Shift - последнюю таблицу.

3. Нажмите кнопку Закрыть. В результате в окне Схема данных будут представлены все таблицы базы данных ДЕКАНАТ со списками своих полей.

4. Установите связь между таблицами ГРУППА и СТУДЕНТ по простому ключу НГ. Для этого в окне Схема данных установите курсор мыши на ключевое поле НГ главной таблицы ГРУППА и перетащите это поле на поле НГ в подчиненной таблице СТУДЕНТ Для удаления ошибочной связи в окне Схема данных выделите ненужную связь и нажмите Del.

5. В открывшемся окне Изменение связей в строке Тип отношения установится один-ко-многим. Отметьте доступный для этого типа отношений параметр Обеспечение целостности данных.

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

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

КАФЕДРА®ПРЕПОДАВАТЕЛЬ (ключ ККАФ),

ПРЕДМЕТ®ИЗУЧЕНИЕ (ключ КП),

ПРЕПОДАВАТЕЛЬ®ИЗУЧЕНИЕ (ключ ТАБН),

ГРУППА®ИЗУЧЕНИЕ (ключ НГ).

8. Установите связь по составному ключу НГ+НС между таблицами СТУДЕНТ®УСПЕВАЕМОСТЬ. Для этого в главной таблице СТУДЕНТ выделите оба этих поля, удерживая клавишу Ctrl, и перетащите оба поля на поле НГ в подчиненной таблице УСПЕВАЕМОСТЬ.

9. В окне Изменение связи для поля НС и НГ таблицы СТУДЕНТ выберите соответствующие поля таблицы УСПЕВАЕМОСТЬ. В этом же окне установите режим Обеспечение целостности данных и другие параметры связи.

10. Аналогично по составному ключу НГ+КП+ТАБН+ВИДЗ установите связи между парой таблиц ИЗУЧЕНИЕ®УСПЕВАЕМОСТЬ.

Ввод и корректировка данных во взаимосвязанных таблицах

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

Если установлен флажок Обеспечение целостности данных, то Access разрешает пользователю:

· Добавить запись в таблицу, которая не подчинена никакой другой таблице в схеме данных (находится на верхнем уровне иерархии);

· Добавить запись в подчиненную таблицу, когда в главной имеется запись с вводимым значением ключа связи;

· Удалить запись в таблице, если нет связанных с ней записей в подчиненных таблицах.

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

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

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

1. Откройте таблицу КАФЕДРА

2. Если таблица КАФЕДРА не имеет столбца с плюсами, в режиме таблицы выполните команду Вставка|Подтаблица для определения связи таблицы с подчиненной таблицей. Эта связь будет внесена в свойства таблицы и даст возможность открывать связанные записи в подчиненном окне.

3. Откройте таблицу ИЗУЧЕНИЕ и выполните команду Вставка|Подтаблица

4. Выберите в окне Вставка подтаблицы подчиненную таблицуУСПЕВАЕМОСТЬ. В строках Подчиненные поля и Основные поля отобразится составной ключ связи НГ+КП+ТАБН+ВИДЗ.

5. Для удаления связи, зафиксированной в свойствах таблицы, откройте таблицу в Режиме таблицы и выполните команду меню Формат|Подтаблица|Удалить.

6. Перейдите в Режим конструктора и нажмите на панели инструментов кнопку Свойства (или в контекстном меню) и убедитесь, что в качестве значения свойства Имяподтаблицы установлено Нет, т.е. связь удалена. Для дальнейшей работы восстановите связь.

7. С помощью команды Подтаблица или свойств таблиц установите связи, которые позволят отобразить содержимое таблицы ГРУППА, подчиненные записи таблицы СТУДЕНТ и в ней подчиненные записи таблицы УСПЕВАЕМОСТЬ.

Для этого последовательно в свойствах таблицы ГРУППА в строке Имя подтаблицы укажите ТаблицаСТУДЕНТ, затем открыв в Режиме конструктора таблицу СТУДЕНТ, укажите в свойствах таблицы УСПЕВАЕМОСТЬ.

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

8. Создайте несколько записей об успеваемости студентов, связанных с выбранной записью таблицы ИЗУЧЕНИЕ. При этом значение ключа связи НГ+ КП+ ТАБН+ ВИДЗ вводится в поле подчиненной записи автоматически. Таким образом, для создания подчиненной записи достаточно ввести только часть ключа НС и полученную оценку.

Чтобы увидеть из таблицы УСПЕВАЕМОСТЬ фамилии студентов, подчините ей записи из таблицы СТУДЕНТ.

Разработка форм

Вводить информацию в Access можно двумя способами: в таблицу и в форму.

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

Любая форма строится на основе Access-таблицы или запроса. Имена полей извлекаются из спецификации таблицы, а поля в форме можно расположить по своему усмотрению. На основе одной таблицы пользователь может построить несколько форм: одну - для деканата, другую - для отдела стратегии, третью- для студентов и т.д.