Пятница, 04.07.2025, 19:58
Приветствую Вас, Гость | RSS
Продвинь свой сайт
Промо-материалы
Категории
SEO
Создание сайтов
Главная » Статьи » Microsoft Access » Microsoft Access [ Добавить статью ]

Конструирование многотабличных запросов


Конструирование многотабличных запросов в Microsoft Access.

База данных СУБД Access является реляционной базой данных и состоит из взаимосвязанных реляционных таблиц. Логические связи каждой пары таблиц реализуются за счет одинаковых полей в связываемых таблицах - ключа связи. Ключом связи всегда является уникальный ключ главной таблицы. Значения уникального (первичного) ключа не могут повторяться в записях таблицы. Строки таблицы однозначно идентифицируются значением ключа. Ключ может быть простым или составным. Связи между таблицами дают возможность совместного использования данных из разных таблиц. Появляется возможность конструирования многотабличных форм, запросов и отчетов, обеспечивается требование целостности данных.
Реляционная база данных состоит из нормализованных таблиц, соответствующих следующим требованиям нормализации:
•    Информационный объект (таблица) должен содержать уникальный идентификатор (ключ).
•    Все описательные поля должны быть взаимонезависимыми.
•    Все поля, входящие в составной ключ, должны быть также взаимонезависимы.
•    Каждое описательное поле должно функционально - полно зависеть от ключа, т.е. каждому значению ключа соответствует только одно значение описательного поля.
•    При составном ключе описательные поля должны зависеть целиком от всей совокупности полей, образующих ключ.
•    Каждое описательное поле не может зависеть от ключа транзитивно, т.е. через другое промежуточное поле.
Выполнение требований нормализации обеспечивает построение реляционной БД без дублирования, в которой обеспечивается однократный ввод данных при первоначальной загрузке и корректировках.
В процессе создания БД сначала осуществляется конструирование таблиц, а затем создается схема данных, в которой фиксируются существующие логические связи между таблицами. Схема данных является графическим образом БД. Если поле, по которому устанавливается связь, является уникальным ключом как в главной таблице, так и в подчиненной, Access устанавливает связь один-к-одному (1:1). Такие таблицы легко могут быть объединены в одну. Если поле связи, является уникальным ключом в главной таблице, а в подчиненной таблице является не ключевым или входит в составной ключ, Access устанавливает связь один-ко-многим (1:М) от главной таблицы к подчиненной. При выборе в качестве поля связи в главной таблице не ключевого поля Access сообщает, что тип отношения не может быть определен. В этом случае между таблицами возможно только связи - объединения.
Если модель данных разработана в соответствии с требованиями нормализации, в схеме данных могут быть заданы параметры обеспечения целостности базы данных, а именно
•    В подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи.
•    В главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице.
•    Изменение значение ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблице.
Установление между двумя таблицами связи типа 1:1 или 1:М и задание параметров целостности данных возможно только при следующих условиях:
•    Связываемые поля имеют одинаковый тип данных, при этом имена полей могут быть различны.
•    Таблицы хранятся в одной БД.
•    Главная таблица связывается с подчиненной по первичному простому или составному ключу главной таблицы.
Access не позволяет создавать связи с параметрами целостности, если ранее введенные в таблицы данные не отвечают требованиям целостности. При вводе некорректных данных в связанные таблицы Access выводит сообщение.
Если для выбранной связи обеспечивается поддержание целостности, можно задать режим каскадного обновления и удаления связанных записей. Если условия целостности установлены, то при попытке внесения изменений в данные, которые могут нарушить условие целостности, Access отображает диалоговое окно, препятствующее внесению этих изменений.
Если таблица с данными содержит поля с повторяющимися значениями (не нормализована), то расходуется дополнительная память, не может быть обеспечен однократный ввод и корректировка данных в этих полях, велика вероятность возникновения ошибок. С помощью Мастера Access позволяет автоматически или вручную выполнить анализ таблицы и разделить ее на несколько взаимосвязанных таблиц, в которых данные не будут дублироваться. Для полученных таблиц Мастер анализа таблиц автоматически  создает схему данных, в которой устанавливаются связи 1:М и определяются параметры обеспечения  целостности. После процедуры анализа для исходной таблицы будут получены нормализованные взаимосвязанные таблицы.
Однако Мастер анализа таблиц далеко не во всех случаях может правильно выделить повторяющиеся данные в отдельную таблицу. Предусматривается участие пользователя в корректировке предложений мастера по разделению таблицы, особенно если в таблице имеется несколько полей с повторяющимися значениями.

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

1.    Выполните нормализацию таблицы, созданной в лабораторной работе       №1. Для этого
•    Откройте свою БД.
•    Проанализируйте и разбейте таблицу БД в соответствиями с правилами нормализации. Запишите в тетрадь структуры и схему данных для новых взаимосвязанных таблиц.
•    Для выполнения автоматизированной нормализации таблиц воспользуйтесь командой меню Сервис!Анализ!Таблица. В третьем окне диалога выберите имя таблицы, для которой будет осуществляться анализ.
•    В следующем окне диалога выберете автоматический способ формирования таблиц.  Далее проверьте правильность распределение полей по таблицам, созданных Мастером, сравните со своим вариантом нормализации и внесите коррективы в список полей взаимосвязанных таблиц путем перетаскивания полей из одной таблицы в другую, а при необходимости создайте еще одну таблицу или поменяйте ключевые поля.
•    Переименуйте таблицы, дважды щелкнув мышью на имени таблицы.
•    Окончательно определите уникальные ключи таблиц.
•    В последнем окне на вопрос о необходимости создать запрос,  который бы объединил полученные таблицы в одну, соответствующие исходной, выберите "Нет".
•    Откройте таблицы и ознакомьтесь с их содержимым.
•    Просмотрите структуру полученных таблиц в режиме конструктора.
Обратите внимание, что Мастер анализа в подчиненной таблице по умолчанию определяет свойство Тип элемента управления закладки Подстановка равным значению Поле со списком. В качестве источника строк этого поля мастер выбирает запись главной таблицы со всеми полями. При просмотре в режиме таблицы в этом поле содержатся значения всех полей из соответствующей записи главной таблицы. Измените в строке Тип элемента управления значение Поле со списком на значение Поле, а в общих свойствах введите новое значение в строке Подпись поля . Посмотрите на результаты внесенных изменений в табличном режиме.
•    На панели инструментов нажмите кнопку Схема данных, а затем на панели окна схемы данных щелкните по кнопке Показать все связи. Эту же команду можно выполнить через главное меню Сервис!Схема данных. Проанализируйте полученные данные.
•    Щелкните правой мышью на линии связи между двумя таблицами и удалите связь.
•    Восстановите удаленную связь. Для этого выделите в главной таблице уникальное ключевое поле, по которой устанавливается связь, а затем при нажатой кнопке мыши протащите курсор в соответствующее поле подчиненной таблицы.
•    В открывшемся окне Связи установите параметры целостности, каскадное обновление связанных полей и каскадное удаление связанных записей. Эти же параметры можно задать командой меню Связи!Изменить связь или через контекстное меню Изменить связь.
•    Закройте окно схемы данных.
2.    Создайте два варианта запроса на выборку по связанным таблицам, в который включите поля каждой из таблиц. Для построения первого варианта запроса воспользуйтесь Мастером создания запросов, для второго варианта - Конструктором.
3.    Создайте запрос на обновление данных в связанных таблицах. Поля, требующие обновления и поля, по которым задаются условия отбора, выберите произвольно, но так чтобы они принадлежали разным таблицам.
4.    Удалите записи из связанных таблиц, согласно произвольно выбранному критерию.
5.    Предварительно просмотрите в режиме таблицы список удаляемых записей, а затем запустите запрос. Удалять записи можно непосредственно из таблицы.
6.    Завершите работу с БД Access.
Категория: Microsoft Access | Добавил: Администратор (09.01.2011)
Просмотров: 4714 | Комментарии: 1 | Рейтинг: 1.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Добавь новость

Добавьте свою новость на сайт.

Добавить
Самое интересное
Для отображения блока требуется Flash Player

seo контент бесплатно оптимизация яндекс тиц сереты база данных Microsoft_Access прибыль САЙТ - ПОСЕТИТЕЛИ ИЛИ КОНТЕНТ Дорвей обман поисковая система Раскрутка smm smo мультимедиа раскрутка сайта видео уроки Оптимизация сайта и анализ Microsoft Access база панель управления проектирование Основы программирования на Visual B google RRS коментарии ррс свежие новости быстродействие китай новости Открытие объекта Recordset предоста установка мета уроки Joomla ВИДЕО установка Joomla локальный Мавроди Ммм пирамида бонусное видео внимание предупреждение инструменты настройка компоненты модули плагины Joomla pr ап последний категории материалы разделы животные в природе обои анализ pagepromoter platinum комплекс продвижение контент плагиат сайт автоматически каталоги продвинуть регистрация ftp клиент сервер размножение генератор robot.txt видимость сайта посковая система рамблер шаблон joomla Скачать бесплатно скачать бесплатно необьяснимое нло пришельцы фото пришельцев dle DSL шаблоншаблон море океан Природа - коллекция обоев авто мото обои HD качества новый год праздник 3d разное
Поиск
Обратная связь
Вход