- •Рязанский государственный радиотехнический университет
- •Учебно-методический комплекс по дисциплине сд.Р.06 «инфорационные сети, базы данных»
- •653700 «Приборостроение»
- •200106 – «Информационно-измерительная техника и технологии»
- •Работа № 1 работа с базами данных и таблицами.
- •2.1 Разработка таблицы "Персональные мероприятия"
- •2.2 Разбиение информации но полям.
- •2.3 Создание таблицы "Персональные мероприятия"
- •2.4 Определение значения по умолчанию для поля.
- •3.1. Отношения между таблицами.
- •4.1 Выбор ключа таблицы
- •4.2 Индексирование таблицы.
- •5.3 Изменение свойств полей и связей между таблицами.
- •5.4 Изменение связей между таблицами
- •Лабораторная работа №2. Добавление, изменение и проверка корректности данных в таблицах.
- •Цель работы
- •Домашнее задание.
- •Лабораторная работа № 3 Сортировка, поиск и фильтрация данных в таблицах
- •Сортировка таблицы по значению одного поля.
- •Сортировка таблицы по значению нескольких полей
- •Поиск записей по значению поля.
- •Отбор данных при помощи фильтров
- •Фильтр по выделенному фрагменту.
- •Обычный фильтр.
- •Расширенный фильтр и расширенная сортировка
- •Добавление сортировки по нескольким столбцам и составного критерия отбора
- •Сохранение и загрузка фильтра в качестве запроса
- •1. Создание простого запроса
- •2. Добавление полей в запрос.
- •3. Задание условия отбора и порядка сортировки результатов запроса
- •4. Создание более сложных запросов
- •5. Изменение полей таблицы при помощи запроса
- •6. Изменение заголовков полей в запросе
- •7. Сохранение запросов
- •Создание запросов других видов
- •8. Использование простых запросов на создание таблиц
- •9. Добавление параметра к запросу
- •10. Преобразование запросов по образцу в запросы на языке sql
- •Лабораторная работа № 5 запросы по нескольким таблицам и перекрёстные запросы
- •1. Соединение таблиц для создания многотабличного запроса
- •1.1 Создание внутреннего соединения по одному полю
- •1.2. Определение порядка сортировки результатов запроса
- •1.3. Создание запросов на выборку данных из таблиц с косвенными связями
- •1.4. Создание внутреннего соединения по нескольким полям
- •2. Использование полей подстановок
- •2.1 Добавление списка, задающего значение внешнего ключа, при помощи Мастера подстановок
- •2.2 Добавление списка постоянных значений к полю таблицы
- •Введите строку 03-94, чтобы вывести данные для марта 1995 года (рис. 10.51).
- •Нажмите кнопку ок для вывода результирующего множества запроса(рис.52).
3.1. Отношения между таблицами.
Связь между таблицами устанавливает отношения между совпадающими значениями в ключевых полях
— обычно между полями разных таблиц. В большинстве случаев связывают ключевое поле одной таблицы с соответствующим ему полем (часто имеющим то же имя), которое называют полем внешнего ключа во второй таблице. Таблица, содержащая ключевое поле. называется главной, а таблица, содержащая внешний ключ — связанной.
Существует четыре вида отношений:
Один к одному. При использовании отношения "один к одному" запись в таблице "А" (главной таблице) может иметь не более одной связанной записи в таблице "В" (связанной таблице) и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением "один к одному" используют для разделения очень широких таблиц или для отделения части таблицы по соображениям защиты. В таблицах, связанных отношением "один к одному" ключевые поля должны быть уникальными (в этих полях не допускаются повторяющиеся данные).
Многие к одному. При использовании отношения "многие к одному" одной записи в таблице "А" могут соответствовать одна запись в таблице "В", а одной записи в таблице "В" несколько записей в таблице "А". В таблице "В" ключевое поле должно быть уникальным.
Один ко многим. Связь с отношением "один ко многим" является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице "А" могут соответствовать несколько записей в таблице "В", а запись в таблице "В" не может иметь более одной соответствующей ей записи в таблице "А". В таблице "А" ключевое поле должно быть уникальным. Связь с отношением "один ко многим" таблиц "А" и "В" можно рассматривать как связь с отношением "многие к одному" таблиц "В" и "А".
Многие ко многим. При использовании отношения "многие ко многим" одной записи в таблице "А" могут соответствовать несколько записей в таблице "В", а одной записи в таблице "В" несколько записей в таблице "А". В этом случае не требуется уникальности ключевых полей таблиц "А" и "В". Одному сотруднику в таблице "Персональные мероприятия" может соответствовать несколько записей. Например, одна запись появится при приеме сотрудника на работу, еще одна при начислении премии и т. д. Поэтому между таблицей "Сотрудники" и таблицей "Персональные мероприятия" нужно установить связь с отношением "один ко многим". Создание связи между таблицами "Сотрудники" и "Персональные мероприятия" позволит использовать запросы, формы и отчеты, в которых выводятся данные из нескольких таблиц сразу.
Связанные поля не обязательно должны иметь одинаковые имена, однако, они должны иметь одинаковые типы данных (из этого правила существуют два исключения). Кроме того, связываемые поля типа "Числовой" должны иметь одинаковые значения свойства "Размер поля". Например, нельзя создать связь между полями типа "Счетчик" и "Байт" или "Целое" и "Денежный". Исключениями из этого правила являются поля счетчика с последовательной нумерацией, которые могут связываться с числовыми полями размера "Длинное целое", а также поля счетчика с размером "Код репликации", связываемые с полями типа "Числовой", для которых также задан размер "Код репликации". В нашем примере связь между таблицами осуществляется по полям с типами данных "Счетчик" и "Длинное целое". Существует возможность создать связь между текстовыми полями разной длины, но это может вызвать сложности при создании запросов.
Связи между таблицами базы данных можно определить и просмотреть в окне "Схема данных" (Relationships). Чтобы определить связь между таблицами "Персональные мероприятия" и "Сотрудники":
Закройте все окна таблиц базы данных. Access 2013 не позволяет создать или изменить связь, если открыта хотя бы одна таблица.
Сделайте активным окно базы данных. Для этого выберите команду "Окно, I Борей база данных" (Window. I Database) или нажмите кнопку "Окно базы данных". В меню "Окно" выводится список девяти открытых окон объектов базы данных. Окно базы данных всегда имеет номер I.
Нажмите кнопку "Схема данных" (Relationships) на панели инструментов. Появится окно "Схема данных"
Окно "Схема данных" используется для просмотра и изменения существующих связей и для определения новых связей между таблицами и/или запросами.
Нажмите правой кнопкой мыши на свободное место и нажмите кнопку "Добавить таблицу" (Show Table). Появится диалоговое окно "Добавление таблицы".
Раскройте вкладку "Таблицы", в списке таблиц выделите "Персональные мероприятия" и нажмите кнопку "Добавить" (Add). Нажмите кнопку "Закрыть" (Close). Таблица "Персональные мероприятия" появится в окне "Схема данных".
Связь между таблицами "Персональные мероприятия" и "Сотрудники" строится по значению полей "КодСотрудника". Поместите указатель мыши над полем "КодСотрудника" таблицы "Персональные мероприятия", нажмите левую кнопку мыши и. не отпуская ее, перетащите появившийся значок поля на поле "КодСотрудника" таблицы "Сотрудники". Отпустите левую кнопку мыши. Появится диалоговое окно "Связи"
Нажмите кнопку "Объединение" (Join Type). Появится диалоговое окно "Параметры объединения" (Join Properties). В нашем примере создастся связь с отношением "один ко многим", поэтому выберите переключатель "З". Нажмите кнопку ОК.
В диалоговом окне "Связи", можно установить для связи режим обеспечения ссылочной целостности. В режиме обеспечения ссылочной целостности Access 2013 автоматически будет следить за тем. чтобы в таблице "Персональные мероприятия" не появились коды сотрудников, которых нет в таблице "Сотрудники". Для обеспечения ссылочной целостности установите флажок "Обеспечение целостности данных" (Enforce Referential Integrity). Диалоговое окно "Связи" примет вид. показанный на рисунке.
Примечание. Access обеспечивает ссылочную целостность, используя каскадное обновление и удаление данных. Чтобы включить режимы каскадного обновления и удаления данных, установите флажки "Каскадное обновление связанных полей" и "Каскадное удаление связанных полей" соответственно. Эти флажки доступны, только если установлен флажок "Обеспечение целостности данных".
Нажмите кнопку "Создать" (Create), чтобы подтвердить создание связи и перейти в окно "Схема данных".
Закройте окно схема данных, нажав кнопку "Закрыть" в правом верхнем углу окна. Появится диалоговое окно. запрашивающее подтверждение изменения схемы данных. Подтвердите изменение, нажав кнопку "Да".
Задание 4. Обеспечение ссылочной целостности.
Обеспечение ссылочной целостности данных является важным средством Access .
Средства обеспечения ссылочной целостности.
Условия целостности данных определяют систему правил, используемых в Access для поддержания связей между записями в связанных таблицах. Эти правила делают невозможным случайное удаление или изменение связанных данных. После наложения условий целостности данных на операции со связанными таблицами накладываются ограничения. Невозможно ввести в поле внешнего ключа связанной таблицы значение, не содержащееся в ключевом поле главной таблицы. Например, полю "КодСотрудника" таблицы "Персональные мероприятия" нельзя присвоить значение, которого не существует в поле "КодСотрудника" таблицы "Сотрудники". Это ограничение устраняет необходимость определения условия на значение для поля "КодСотрудника". Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице. Например, нельзя удалить запись из таблицы "Сотрудники", если существуют связанные с ней записи. Невозможно изменить значение ключевого поля в главной таблице, если имеются записи, связанные с этой записью. После наложения условий целостности данных любая попытка выполнить действие, нарушающее перечисленные выше запреты, приведет к выводу окна диалога с предупреждением, а само действие выполнено не будет.
Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует включить режимы каскадного обновления и каскадного удаления.
