Главная страница

Косы Основы проектирования Баз данных. Косы Основы проектирования баз данных Входящий контроль


Скачать 5.18 Mb.
НазваниеКосы Основы проектирования баз данных Входящий контроль
Дата02.11.2022
Размер5.18 Mb.
Формат файлаdoc
Имя файлаКосы Основы проектирования Баз данных.doc
ТипДокументы
#767403
страница13 из 15
1   ...   7   8   9   10   11   12   13   14   15

Установка связи между двумя таблицами

  1. Выполните команду Схема данных из меню Работа с базами данных

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

  3. На поле Код_религии таблицы Религия нажмите левую клавишу мыши и удерживая ее перетащите на поле Религия таблицы Страны Европы

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

  1. Установите все эти флажки

  2. Аналогичную операцию проделайте с таблицами Страны Европы и Строй (Если связь не устанавливается, еще раз проверьте типы данных связываемых полей)

  3. Закройте схему с сохранением

  4. Попробуйте в таблице Страны Европы в полях Строй и Религия поменять коды на несуществующие в главных таблицах. Получилось? Почему?


Контрольные вопросы

  1. Чем поле отличается от записи?

  2. Какие структуры ACCESS вы знаете?

  3. Для чего служит структура "таблица"?

  4. Для чего данным задаются различные типы?

  5. Что можно настроить в свойствах поля таблицы?

  6. Для чего данные разбивают на несколько таблиц?

  7. Какое необходимое условие для создания связи с обеспечением целостности данных?

  8. Каким образом при разбиении достигается компактность хранения информации?


Практическое занятие №27.

Порядок выполнения работы

Задание 1. Создание индексов и ключей

1. Создатьбазу данных База №3 используя базу БАЗА_ИСХ

База содержит таблицы:


Личности

Адреса

Предметы

Экзамены

ЛичнКод

ЛичнКод

КодПредм

КодПредмета

Фамилия

ПочтКод

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

КодСтудента

Имя

Город

Семестр

Балл

Рожд

Улица

Часы

ДатаЭкз

Пол

Дом

Контроль




Рост

Корпус







Адрес

Квартира







Телефон

Телефон







Заполнить таблицы экспериментальным содержимым (5-7 записей) используя мастера подстановки

2. Создать первичные ключи в ранее сконструированных таблицахЛичностии Адреса.

2.1. Открыть таблицу Личности в режиме Конструктора таблиц. Пользуясь контекстным меню поля ЛичнКод отметить его как ключевое поле.

2.1.1. Находясь в окне Личности в режиме конструктора, вызвать меню Индексы”.



2.2. Открыть таблицу Адреса в режиме Конструктора таблиц. Пользуясь окном Индексы, создать первичный ключ для данной таблицы на основе поля ЛичнКод.

3. Создать составные индексы.

3.1. Открыть для таблицы Адреса, находящейся в режиме Конструктора таблиц, окно Индексы и просмотреть его содержимое.

3.2. Создать новый индекс Пол, предназначенный для ускорения процесса поиска и выполнения запросов по данному полю.

3.3. Создать новый составной индекс ГорУлиДом, включив в его состав поля Город, Улица, Дом.

3.4. Находясь в окне Индексы и переходя от строки PrimaryKey к ГорУлиДом, просмотреть расположенные ниже Свойства поля и дать объяснения увиденным свойствам индексов. Окно Индексы для таблицы Адреса будет выглядеть примерно так, как показано на рисунке ниже:



3.4.1. Для получения сведений о свойствах индексов прочитать пояснения, размещенные в области Свойства индекса окна Индексы, а также раздел подсказки (F1), посвященный этому вопросу.

3.5. Создать составной индекс ФамИмяРожд, включающий поля Фамилия, Имя, Рожд.

3.6. Открыть для таблицы Личности, находящейся в режиме Конструктора таблиц, окно Индексы и просмотреть его содержимое.

3.6.1. Добавить в составной индекс ГорУлиДом поле Квартира.

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

3.6.3.Проверить работоспособность созданного индекса, введя два одинаковых адреса.

 

3.7. В таблице Предметы для последующего создания индексов сделать следующие коррективы:

3.7.1. Ввести новое числовое поле Семестр, имеющее минимальный размер, допускающее ввод только следующих значений [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] и заполнить его данными.

3.7.2. Создать составной индекс КодНаиСем, включающий поля КодПредм, Наименов, Семестр.

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

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

3.8. Перейти в режим таблицы и ввести в таблицу Предметы несколько повторяющихся значений, например: П-005 ИНФОРМАТИКА П-005 ИНФОРМАТИКА

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

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

3.9.2. Ввести в таблицу Экзамены 5 корректных записей о студентах, упомянутых в таблице Личности.

4. Ввести в каждую из имеющихся таблиц по 5 новых записей с различными (допустимыми - 3 записи и недопустимыми - 2 записи) значениями уникальных составных ключей и убедиться в том, что правильно определенные ключи:

    • не позволяют вводить логически неверные данные (например, о студенте, дважды сдававшем в один день один экзамен, что не допускается правилами сдачи экзаменов);

    • позволяют ввести данные, о двух полных однофамильцах (тезках), родившихся в один день;

    • не позволяет присвоить двум людям (хоть и имеющим одинаковые данные) один личный учетный код.

4.1. Проверить правильность работы всех таблиц базы данных, просмотреть их содержимое и сохранить все таблицы в базе данных База№3.

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

Основная цель использования индексов состоит в существенном ускорении поиска и выборки данных при использовании индексированных полей в запросах. В данном задании выборка не выполняется, поскольку на базе данных База№3 в силу ее чрезвычайно малого объема невозможно заметить разницу в скорости выполнения выборки с использованием индексов и без их использования.

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

Задание 2. Связывание таблиц

1. Открыть базу данных База№3.

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

1.2. Удалить все индексы, созданные ранее для всех таблиц базы данных База№3. Отменить все признаки первичных ключей для всех таблиц базы данных.

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


Таблица

Первичный ключ

Личности

ЛичнКод

Адреса

ЛичнКод

Предметы

КодПредм

Экзамены

КодЭкзамена


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

2.3. В таблице Экзамены для поля КодЭкзамена, которое будет уникально определять каждую запись таблицы и использоваться как первичный ключ, установить тип поля - Счетчик.

2.4. Открыть окно Схема данных и разместить таблицы так, как показано на рисунке ниже:



3. Установить связи между таблицамиЛичности, Адреса, Предметы, Экзамены.

3.1. Внимательно прочитать все подсказки, комментарии и пояснения, касающиеся связывания таблиц и параметров объединения.

3.2. Выбрав таблицу Экзамены, с помощью мыши “перетащить” поле КодПредмета на поле КодПредмтаблицы Предметы, указав тем самым необходимость установления связи между таблицами по этим полям.

3.3. В открывшемся окне Связи определить тип и параметры связи между таблицами Экзамены и Предметы.

3.3.1. Между полями Предметы.КодПредм и Экзамены.КодПредм должна быть установлена связь типа Один-ко-Многим.


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

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

3.4. Установить связь между таблицами Личности и Экзамены через поля КодСтудента и ЛичнКод соответственно. Тип отношения между этими таблицами - Один-ко-Многим, где сторонойМного выступает таблица Экзамены. Обеспечить целостность данных при обновлении и удалении записей. Установить объединение таблиц - по первому типу (когда из связанных таблиц выбираются только записи, для которых совпадают значения полей связи).

3.5. Установить связь типа Один-к-Одному между соответствующими полями таблиц Личности и Адреса с обеспечением целостности данных при обновлении и удалении записей.

3.6. Активизировать и просмотреть окно Схема данных. Его внешний вид должен соответствовать образцу, приведенному на рисунке ниже:



4. Используя подтаблицы просмотреть связанные данные для таблицы Личности (значок «+» слева от каждой записи в таблице).

5. Сохранить все таблицы и базу данных База№3.
Контрольные вопросы


  1. Назначение индексов в базе данных?

  2. Как создать составной индекс?

  3. Назначение и особенности задания связей между таблицами.


Практическое занятие №28.

Краткие теоретические сведения:
ЧтотакоеVisualBasicforApplications.

VisualBasicforApplications представляет собой полуфункциональный язык программирования, являющийся неотъемлемой составной частью Access. Этот язык используется для разработки приложений, предназначенных для манипулирования БД и для настройки пользовательского интерфейса. VBA - это структурированный язык программиррования высокого уровня. В нем, как и в других языках, есть операторы проверки условий, циклического выполнения повторяющихся операций, а также обмена данными с пямятью и дисками. В языке VBA реализованы общие принципы объектно-ориентированного программирования. Это означает, что пользовательская среда, управляемая приложением, не подвергается изменениям путем выполнения последовательности процедур и операторов, но реагирует на события, связанные с различными объектами: полями ввода, кнопками, разделами форм и отчетов. В языке VBA программный код привязан непосредственно к объектам и срабатывает тогда, когда случается определенное событие. Все программирование в Windows основано именно на отклике на то или иное событие в системе.

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

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

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

Создание простого макроса

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


Порядок выполнения работы
 Задание 1. Создание автоформ, автоотчетов, макросов.

1. Создать базу данных База№6, которая содержит следующие таблицы:

1.1. Студенты (поля:КодСтуд, ФамСтуд, ИмяСтуд, ПолСтуд, РождСтуд).

1.2. Родители (поля:КодСтуд, ФамРод, ИмяРод, ОтчРод, ПолРод, ТелРод).

1.3. Оценки (поля:КодСтуд, БаллХим, БаллИнф, БаллМат, Семестр).

Заполнить таблицы экспериментальным содержимым (5-7 записей).

Создайте для каждой таблицы форму, а для таблиц Студенты и Оценки – отчеты.

  1. Выбрать таблицу и выбрать кнопку Форма на вкладке Создание стандартной панели инструментов. Для таблицы будет создана форма по умолчанию.

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

  3. Использую команду Отчет во вкладке Создание создать указанные отчеты.

Создать в одной из созданных Форм кнопки:

  1. Выбрать созданную форму.

  2. Перейти в режим конструктора формы.

  3. Выполнить щелчок на элементе Кнопка.

  4. Выполнить щелчок на свободном месте формы, чтобы вставить в нее кнопку. Откроется диалоговое окно мастера кнопок:





  1. В списке Категории выбрать пункт Переходы по записям, а затем в списке Действия -> Найти запись. После щелчка на кнопке Далее в будет предложен выбор – добавления кнопки или текста на форму.

  2. Выполнить щелчок на элементе Кнопка.

  3. Вставить кнопку на свободном месте формы ниже предыдущей, созданной ранее. Снова откроется окно кнопок.

  4. В списке Категории выбрать пункт Работа с формой, а в списке Действия - пункт Закрытие формы. После щелчка по кнопке Готово в форму будет добавлена кнопка, выполняющая закрытие формы.

  5. Сохранить форму. После этого можно запустить форму и проверить работу добавленных кнопок.

  6. Переключиться в режим Констуктора, выполнив щелчок по кнопке Конструктор.

  7. Выбрать команду или выполнить щелчок по кнопке Программа на панели инструментов. Откроется окно редактора VisualBasicforApplications, представленное на рисунке :



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

Первый раздел начинается с заголовка процедуры:

PrivateSub Кнопка13_Click( )

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

DoCmd.DoMenuItemacFormBar, AcEditMenu, 10, AcMenuVer70

Этот оператор выполняет те же действия, что и команда меню Найти, т.е. выводит на экран диалоговое окно Поиск в поле, с помощью которого можно выполнить поиск.

Создать три запроса: студенты женского пола; студенты, имеющие 2 по информатике; родители, имеющие двух детей – студентов с помощью кнопки Макрос во вкладке Создание.
1   ...   7   8   9   10   11   12   13   14   15


написать администратору сайта