§2. Поле объекта OLE в Access. Замечание. §3. Схема данных в Access
§2. Поле объекта OLE в ACCESS
Поле объекта OLE в Access используется в основном для хранения графических изображений. Размещение графического объекта в поле производится на этапе заполнения полей таблицы данными в режиме таблицы или через форму. В режиме таблицы Access отобразит тип объекта «Точечный рисунок». Отображение объекта возможно только в форме или отчете. Объект может быть внедренным или связанным. Замечание OLE (Object Linking and Embedding, связывание и внедрение объектов) — это метод передачи информации в виде объектов между приложениями Windows. Поле объекта OLE (OLE Object) является средством, позволяющим установить связь с объектами другого приложения или внедрить объект в базу данных. Объектом является документ или его часть, созданная в другом приложении, сохраняющая формат документа-источника и информацию о создавшем приложении. Объектами могут быть простые и форматированные тексты, рисунки, диаграммы, файлы звукозаписи (WAV), музыка в формате MIDI (музыкальноинструментальный цифровой интерфейс), файлы анимации (FLI, MMM), видеоклипы (AVI), электронные таблицы и другие элементы из различных приложений, поддерживающих это средство. СУБД Access, поддерживая OLE, полностью интегрирована с другими приложениями Microsoft Windows. Внедренный объект сохраняется в файле базы данных. Двойным щелчком мыши на ячейке, содержащей внедренный объект, предоставляется возможность редактирования объекта средствами приложения, в котором объект был создан. Связанный объект сохраняется в отдельном файле. Файл объекта можно обновлять независимо от базы данных. Последние изменения будут выведены на экран при следующем открытии формы или отчета. При работе с базой данных также можно просматривать и редактировать объект. Отредактированный связанный объект будет сохраняться в файле объекта, а не в файле базы данных. Связывание объекта удобно при работе с большими объектами, которые нежелательно включать в файл базы данных, а также с объектами, используемыми в различных документах организации, например логотип. Если связанный файл объекта перемещен, необходимо повторно установить с ним связь.
Задание Заполните таблицу «Студенты» 20-25 записями. В поле Преподаватель поставьте числа от 1 до 5. Поле Фото заполнять не нужно.
§3. Схема данных в ACCESS
Для того, чтобы установить отношения между таблицами, необходимо установить связи между теми полями, в которых содержится общая информация. Совсем не обязательно, чтобы те поля имели одно и тоже имя, но тип данных и длина поля, а также (что особенно важно) информация в обоих полях соответствующих записей должны быть одинаковыми в обеих таблицах. Как правило, связь устанавливается соединением ключевых полей таблиц: первичного ключа в одной таблице и внешнего ключа – в другой. Каждая таблица должна содержать первичный ключ – одно или несколько полей, содержимое которых уникально для каждой записи. Например, поле Customer Number – это первичный ключ в таблице Customer, т. е. каждая запись в этой таблице имеет свой уникальный номер клиента. Поле первичного ключа в Access не только выполняет роль связующего поля между двумя таблицами, но и представляет другие преимущества: • Поле первичного ключа является индексом, который значительно ускоряет выполнение запросов, поиск и сортировку. При вводе новых значений необходимо ввести значение в поле: Access не позволит оставить это поле незаполненным и проследит, чтобы ввелось только допустимое значение для текущей записи. • При добавлении новых записей Access проверяет, не дублируются ли поля первичного ключа.
• По умолчанию Access сортирует данные по первичному ключу. Поле, используемое для связи с полем первичного ключа в другой таблице, называется внешним ключом. Отношение между таблицами очень важны, поскольку они указывают Access, как находить и размещать информацию из полей двух и более таблиц. Программе необходимо знать, что нужно искать: одну запись в таблице или несколько записей на основе отношения. Например, между таблицами Customer и Pets установлено отношение 1-М. Это значит, что всегда существует одна запись в таблице Customer, связанная по крайней мере с одной записью в таблице Pets. Таким образом, Access знает, что в таблице Customer надо искать только одну запись, а в таблице Pets – просматривать любые (одну или больше) записи с таким же значением поля Customer Number.
Создание схемы данных Создание схемы данных начинается с выполнения команды Схема данных на вкладке ленты Работа с базами данных. В результате выполнения этой команды открывается окно схемы данных и диалоговое окно Добавление таблицы, в котором осуществляется выбор таблиц, включаемых в схему Диалоговое окно Добавление таблицы откроется автоматически, если в базе данных еще не определена ни одна связь. Если окно не открылось, на ленте Работа со связями | Конструктор в группе Связи нажмите кнопку Отобразить таблицу. А так как мы уже связали таблицы Направление и Студенты, то у нас в схеме данных отобразятся эти таблицы с готовой связью.
Рис. 4. 26
Включение таблиц в схему данных В окне Добавление таблицы отображены все таблицы и запросы, содержащиеся в базе данных. Выберем вкладку Таблицы и с помощью кнопки Добавить разместим в окне Схема данных все ранее созданные таблицы базы данных, отображенные в окне Добавление таблицы. Затем нажмем кнопку Закрыть. В результате в окне Схема данных таблицы базы будут представлены окнами со списками своих полей и ключами. Еще добавить таблицу (или любой объект БД) можно просто перетащив его, зажав левую кнопку мыши, в область Схемы данных.
Рис. 4. 27
Создание связей между таблицами схемы данных При создании связей в схеме данных используется проект логической структуры реляционной базы данных, в котором показаны все одно-многозначные связи таблиц. Реализуются связи с помощью добавления в связанные таблицы общих полей, называемых ключом связи. При одно-многозначных отношениях между таблицами ключом связи является ключ главной таблицы (простой или составной). В подчиненной таблице он может быть частью уникального ключа или вовсе не входить в состав ключа таблицы. Одно-многозначные связи являются основными в реляционных базах данных. Одно-однозначные связи используются, как правило, при необходимости распределять большое количество полей, определяемых одним и тем же ключом, по разным таблицам, имеющим разный регламент обслуживания.
Типы отношений Хороший пример отношения 1-1 представляет собой большинство систем составления счетов, с которых создается файл для представления дополнительной информации, необходимой для выставления счетов клиентов по адресу, отличающемуся от указанного в главной таблице клиентов. Этот файл обычно содержит номер клиента и другой набор полей адреса. Поскольку только некоторые клиенты могут иметь отдельный юридический адрес, то нет смысла добавлять эту информацию в главную таблицу клиентов. Отношение 1-1 между таблицей клиентов и таблицей юридических адресов устанавливается для поиска юридического адреса тех клиентов, которые хотят иметь отдельный адрес для получения счетов. Хотя вся информация из двух этих таблиц может быть собрана в одну таблицу, отношение 1-1позволяет существенно ускорить работу системы в целом. Отношение 1-М используется для связей одной записи в таблице с несколькими записями в другой таблице. Например, один клиент имеет нескольких животных, а одно животное было несколько раз на приеме у ветеринара. Отношение М-1 указывает Access, что несколько записей одной таблицы связаны с одной записью другой таблицы. Некоторые отношения 1-М могут быть преобразованы в отношение М-1. Например, если установить отношение между таблицами Customer и Pets, то получится отношение М-1, т. е. разные животные будут иметь одного и того же владельца. Таким образом, отношения зависят от того как используется и интерпретируется информация в таблицах. Так отношения 1-М, с другой стороны, могут рассматриваться как М-1 и наоборот.
Для того чтобы понять отношение М-М, необходимо представить его как два отношения 1-М между двумя таблицами, например, между таблицами Visits и Pets. Домашнего любимца иногда могут таскать в клинику по несколько раз в день, и это отношение 1-м, между таблицами Visits и Pets. С другой стороны, в каждый из дней несколько животных могут привести в клинику и это отношение 1-М. Таким образом, пара отношение 1-М образует отношение М-М.
Создание связей по простому ключу Задача. Установить связи между таблицами Студенты и Преподаватели. Установим связь между таблицами Студенты и Преподаватели, которые находятся в отношении «один-комногим». Устанавливая связи между парой таблиц, находящихся в отношении типа 1: M, выделим в главной таблице Преподаватель ключевое поле Код_Преподавателя, по которому устанавливается связь. Далее при нажатой кнопке мыши перетащим его в соответствующее поле Преподаватель подчиненной таблицы Студенты. Поскольку поле связи является уникальным ключом в главной таблице связи, а в подчиненной таблице связи не является ключевым, схема данных в Access выявляет отношение «один-ко-многим» между записями этих таблиц. Значение «одинко-многим» отобразится в окне Изменение связей в строке Тип отношения.
Рис. 4. 28
Замечание Если поле связи является уникальным ключом в обеих связываемых таблицах, схема данных в Access выявляет отношение «один-к-одному«. Если для связи таблиц вместо ключевого поля главной таблицы используется некоторый уникальный индекс, система также констатирует отношение таблиц как 1: М или 1: 1. После правильного объединения таблиц. В таблице Преподаватели можно просмотреть данные студентов, относящихся к данным преподавателям.
Рис. 4. 29
Каскадное обновление и удаление связанных записей В Access существуют правила, которые помогут поддерживать корректность связей между таблицами. Эти правили называются целостностью данных. Из двух связанных таблиц одну обычно называют родительской, а другую – дочерней. Такую связь называют связью между родительскими и дочерними записями таблицы. Целостность данных гарантирует отсутствие сирот (т. е. дочерних записей без родительских). Опция каскадное обновление связанных полей дает возможность изменять содержимое поля связи. В режиме каскадного обновления связанных полей при изменении значения ключевого поля в записи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях. Если эта опция не включена, изменять значение ключевого поля первичной таблицы не удастся.
В режиме каскадного удаления связанных записей при удалении записи из главной таблицы будут автоматически удаляться все связанные записи в подчиненных таблицах. При удалении записи из главной таблицы выполняется каскадное удаление подчиненных записей на всех уровнях, если этот режим задан на каждом уровне. Если не включать этой опции, Access не позволит удалить запись, связанную с записями в другой таблице. В этом случае необходимо сначала удалить все связанные записи в связанных таблицах, а затем – запись в первичной таблице. Установить в окне Изменение связей флажки каскадное обновление связанных полей и каскадное удаление связанных записей можно только после задания параметра обеспечения целостности данных.
Рис. 4. 30
После создания связей изображения таблиц могут перемещаться в пределах рабочего пространства окна схемы данных. Перемещения и изменения размеров окон со списками полей таблиц в окне схемы данных осуществляются принятыми в Windows способами. Заметим, если каскадное удаление не разрешено, невозможно удалить запись в главной таблице, если имеются связанные с ней записи в подчиненной.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|