Слайд 2
Тема: Связи. Создание связанных таблиц. MS Access.
Типы
данных
Под поля в памяти ЭВМ отводится место. Если будет
отведено мало места под данные, то данные могут не поместиться. Если много – перегрузка памяти. Поэтому необходимо при создании таблиц указывать на тип данных.
При работе с БД допустимы следующие типы данных.
1.Текстовый – одна строка текста (до 255 символов)
2.Поле МЕМО – текст в несколько строк (до 65 535 символов) с полосой прокрутки.
3.Числовой – любые числа (целые, вещественные и т.д.)
4.Дата и время
5.Счетчики – поле, которое вводится автоматически с вводом каждой записи
6.Денежный – поле, выраженное в денежных единицах
7.Логический – содержит значение TRUE (истина) или FALSE (ложь)
8.Поле объекта OLE – содержит рисунки, звуковые файлы, таблицы Excel, документы Word и т.д.
Слайд 3
Связь - способ, которым связана информация о разных
объектах.
Связь между таблицами осуществляется с помощью общих полей.
В
реляционной базе данных связи позволяют избежать избыточности данных.
Чтобы сохранить синхронизацию, следует обеспечить целостность данных между таблицами .
Связи с обеспечением целостности данных позволяют следить за тем, чтобы данные в одной таблице соответствовали данным в другой.
Связь осуществляется путем сопоставления данных в ключевых столбцах; обычно это столбцы, имеющие в обеих таблицах одинаковые названия.
В большинстве случаев сопоставляются первичный ключ одной таблицы, содержащий для каждой из строк уникальный идентификатор, и внешний ключ другой таблицы.
Слайд 4
Виды связей между таблицами
Существует три вида связей между
таблицами. Вид создаваемой связи зависит от того, как заданы
связанные столбцы.
1. Связи "один ко многим"
Связь "один ко многим" - наиболее распространенный вид связи. При такой связи каждой строке таблицы А может соответствовать множество строк таблицы Б, однако каждой строке таблицы Б может соответствовать только одна строка таблицы А.
Связь "один ко многим" создается в том случае, когда только на один из связываемых столбцов наложено ограничение уникальности или он является первичным ключом.
В Microsoft Access сторона связи "один ко многим", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, обозначается символом бесконечности.
Слайд 5
2.Связи "многие ко многим"
При установлении связи "многие ко
многим" каждой строке таблицы А может соответствовать множество строк
таблицы Б и наоборот.
Такая связь создается при помощи третьей таблицы, называемой соединительной, первичный ключ которой состоит из внешних ключей, связанных с таблицами А и Б.
Слайд 6
3.Связи "один к одному"
При установлении связи "один к
одному" каждой строке таблицы А может соответствовать только одна
строка таблицы Б и наоборот.
Связь "один к одному" создается в том случае, когда оба связанные столбца являются первичными ключами или на них наложены ограничения уникальности.
Этот вид связи используется редко, поскольку в такой ситуации связываемые данные обычно можно хранить в одной таблице.
Слайд 7
Использовать связь вида "один к одному" можно в
указанных ниже случаях.
Чтобы разделить таблицу, содержащую слишком много столбцов.
Чтобы
изолировать часть таблицы по соображениям безопасности.
Для хранения данных кратковременного использования, удалить которые проще всего путем очистки таблицы.
Для хранения данных, имеющих отношение только к подмножеству основной таблицы.
В Microsoft Access сторона связи "один к одному", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, также обозначается символом ключа.
Слайд 8
Создание связей между таблицами
При установлении связи между таблицами
связанные поля не обязательно должны иметь одинаковые названия.
При
этом у них должен быть один и тот же тип данных, если только поле, являющееся первичным ключом, не относится к типу "Счетчик".
Поле типа "Счетчик" можно связать с полем типа "Числовой" только в том случае, если для свойства FieldSize (размер поля) каждого из них задано одно и то же значение.
Слайд 9
Создание связей "один ко многим" или "один к
одному"
Чтобы создать связь вида "один ко многим" или "один
к одному", воспользуйтесь приведенной ниже последовательностью действий:
Закройте все открытые таблицы. Создавать или изменять связи между открытыми таблицами нельзя.
В Access версий 2002 или 2003 выполните указанные ниже действия.
Нажмите клавишу F11, чтобы перейти в окно базы данных.
В меню Сервис выберите команду Связи.
В Access 2007 нажмите кнопку Связи в группе Показать или скрыть вкладки Инструменты для баз данных.
Если в базе данных отсутствуют связи, то автоматически появится диалоговое окно Добавление таблицы. Если окно Добавление таблицы не появилось, но при этом нужно добавить таблицы в список связываемых, выберите команду Добавить таблицу в меню Связи.
Дважды щелкните названия таблиц, которые необходимо связать, после чего закройте диалоговое окно Добавление таблицы. Чтобы связать таблицу с самой собой, добавьте ее два раза.
Слайд 10
6. Перетащите связываемое поле из одной таблицы на
связываемое поле в другой. Чтобы перетащить несколько полей, нажмите
клавишу CTRL, щелкните каждое поле, а затем перетащите их.
В большинстве случаев понадобится перетащить поле первичного ключа (выделенное полужирным текстом) из одной таблицы на аналогичное поле (часто с тем же самым названием), называемое внешним ключом, другой таблицы.
7. Появится окно Изменение связей. Убедитесь, что в каждом из столбцов отображаются названия нужных полей. Если нужно, их можно изменить.
При необходимости задайте параметры связи. Если требуются сведения о конкретном элементе окна Изменение связей, нажмите кнопку со знаком вопроса, а затем щелкните соответствующий элемент.
8. Чтобы установить связь, нажмите кнопку Создать.
9. Повторите действия с 5 по 8 для каждой пары связываемых таблиц.
При закрытии диалогового окна Изменение связей Microsoft Access спросит, нужно ли сохранить макет. Вне зависимости от ответа на этот вопрос создаваемые связи сохраняются в базе данных.
Примечание. Создавать связи можно не только в таблицах, но и в запросах. При этом, однако, не обеспечивается целостность данных.
Слайд 11
Создание связей "многие ко многим"
Чтобы создать связь вида
"многие ко многим", выполните указанные ниже действия.
Создайте две таблицы,
которые необходимо связать отношением "многие ко многим".
Создайте третью таблицу, называемую соединительной, и добавьте в нее поля с теми же определениями, что и поля первичных ключей в каждой из двух других таблиц. Поля первичных ключей соединительной таблицы служат внешними ключами. В соединительную таблицу, как и в любую другую, можно добавить и другие поля.
Задайте первичный ключ этой таблицы таким образом, чтобы он включал в себя поля первичных ключей обеих основных таблиц.
Слайд 12
Примечание. Чтобы создать первичный ключ, выполните указанные ниже
действия.
Откройте таблицу в режиме конструктора.
Выберите одно или несколько полей,
которые необходимо определить в качестве первичного ключа. Чтобы выбрать одно поле, щелкните знак выбора строки для нужного поля.
Чтобы выбрать несколько полей, удерживайте нажатой клавишу CTRL и щелкните знак выбора строки для каждого из полей.
В Access версий 2002 или 2003 нажмите кнопку Первичный ключ на панели инструментов.
В Access 2007 нажмите кнопку Первичный ключ в группе Сервис вкладки Структура.
Слайд 13
Примечание. Чтобы порядок следования полей в первичном ключе,
состоящем из нескольких полей, отличался от такового в таблице,
нажмите кнопку Индексы на панели инструментов, в результате чего появится диалоговое окно Индексы, в котором можно изменить порядок следования полей индекса под названием КлючевоеПоле.
Установите связь вида "один ко многим" между каждой из двух главных таблиц и соединительной таблицей.
Слайд 14
Целостность данных
Целостность данных - это система правил Microsoft
Access, которая используется для проверки допустимости отношений между записями
связанных таблиц и для того, чтобы не позволить случайно удалить или изменить связанные данные.
Слайд 15
Настроить проверку целостности данных можно при соблюдении всех
указанных ниже условий.
Связываемое поле из главной таблицы является первичным
ключом или имеет однозначный индекс.
Связываемые поля должны иметь одинаковый тип данных. Существует два исключения. Поле типа "Счетчик" может быть связано с числовым полем, если для свойства FieldSize у него установлено значение "Длинное целое"; кроме того, можно связать поле "Счетчик" с числовым полем, если у них обоих для свойства FieldSizeзадано значение "Код репликации".
Обе таблицы принадлежат к одной и той же базе данных Microsoft Access. Если таблицы связаны, то они должны иметь формат Microsoft Access, а для настройки целостности данных необходимо открыть ту базу данных, в которой они хранятся. Обеспечить целостность данных для таблиц, находящихся в базах данных другого формата, невозможно.
Слайд 16
При обеспечении целостности данных используются указанные ниже правила.
Невозможно
присвоить полю внешнего ключа связанной таблицы значение, отсутствующее в
списке значений первичного ключа главной таблицы. При этом можно задать для внешнего ключа пустое значение (Null), указав, что записи не связаны
Невозможно удалить запись из главной таблицы, если в связанной таблице есть соответствующие ей записи.
Невозможно изменить значение первичного ключа в главной таблице, если с данной записью связаны другие записи.
Слайд 17
Типы соединений
Вариант 1 - внутреннее соединение.
Внутреннее соединение -
это соединение, при котором записи из двух таблиц объединяются
в результатах запроса лишь в том случае, если значения связанных полей соответствуют заданному условию. Внутреннее соединение является типом соединения по умолчанию, в результате в запросе происходит выборка лишь тех записей, для которых значения связанных полей совпадают.
Вариант 2 - левое внешнее соединение.
Левое внешнее соединение - это соединение, при котором все записи таблицы по левую сторону от оператора LEFT JOIN (левое объединение) инструкции SQL попадают в результаты запроса даже в том случае, если в связанном поле из правой таблицы отсутствуют соответствующие значения.
Вариант 3 - правое внешнее соединение.
Правое внешнее соединение - это соединение, при котором все записи таблицы по правую сторону от оператора RIGHT JOIN (правое объединение) инструкции SQL попадают в результаты запроса даже в том случае, если в связанном поле из левой таблицы отсутствуют соответствующие значения.
Слайд 18
Лента СОЗДАНИЕ позволяет создавать:
Таблицу – отображает список существующих
таблиц в БД
Форму – упрощает операции ввода, вывода, просмотра
данных уже в созданных таблицах БД.
Запрос – это производная таблица, в которой мы собираем данные из других таблиц и производим над ними различные операции.
Отчет – это запрос, но оформленный так, что его можно было напечатать на бумаге и представить начальству.
Макросы – набор простых инструкций по управлению БД.
Модуль – это программа на Access Basic.
Слайд 19
Тема : Создание отчётов.
Базы данных могут содержать сотни
и тысячи записей. Часто бывает необходимо упорядочить записи, то
есть расположить в определенной последовательности. Упорядочение записей называется сортировкой.
Также научимся представлять необходимые данные из БД в удобном нам виде. Это делается при помощи создания отчетов.
Слайд 20
Создание простого отчёта.
Есть несколько способов создания отчёта. Самый
простой – Автоотчёт, более сложный – режим Конструктора отчёта.
Использование
Автоотчёта
Если нужно составить отчёт по нескольким таблицам, по ним сначала составляют запрос, а по этому запросу отчёт.
Слайд 21
Использование Мастера отчётов
1. Открыть базу данных, содержащую таблицу
или запрос, по которым нужно составить отчёт.
2. Щёлкнуть на
вкладке Отчёты в окне базы данных, а затем на кнопке Создать. Появится диалоговое окно Новый отчёт.
3. Щёлкнуть на пункте Мастер отчётов, затем ОК, запустится Мастер отчётов.
4. В раскрывающемся списке внизу диалогового окна выделить таблицу или запрос, по которым хотим иметь отчёт.
5. Щёлкнуть поле в списке Доступные поля, затем щёлкнуть на кнопке, чтобы переместить это поле в список Выбранные поля. Повторить столько раз, сколько нужно полей.
6. Выделить в списке Таблицы -> Запросы другую таблицу или запрос и повторить пункт 5. Затем щёлкнуть на кнопке Далее.