Войти
Android, Windows, Apple, Ликбез. Социальные сети. Драйверы
  • Японские телефоны Новый японский смартфон
  • Lenovo G500S: характеристики, основные особенности
  • Определяем серию продукта видеокарт Nvidia Характеристики карты nvidia 9800 gt
  • А конкуренты у смартфона есть
  • Что такое расширение файла TRZ?
  • Не работает динамик в "айфоне"
  • Использование данных типа Поле объекта OLE(OLE Object). Тип данных мастер подстановок Использование поля со списком при вводе записей

    Использование данных типа Поле объекта OLE(OLE Object). Тип данных мастер подстановок Использование поля со списком при вводе записей

    Результат заполнения таблицы, где в соответствующем поле указан вид объекта - Точечный рисунок . Для просмотра внедренного объекта достаточно установить курсор в соответствующем поле и дважды щелкнуть кнопкой мыши.

    Для отображения содержимого поля в виде значка, представляющего файл с документом, в окне (рис. 3.20) установите флажок В виде значка (Display As Icon). Значок может быть использован для представления связанного объекта.

    Ввод логически связанных записей

    Введем несколько логически взаимосвязанных записей в таблицы группа и СТУДЕНТ.

    Объекты ГРУППА и СТУДЕНТ связаны одно-многозначными отношениями, но, пока не создана схема данных, в которой устанавливаются связи между таблицами, система не может контролировать логическую взаимосвязь вводимых данных. Поэтому для получения целостной базы, в которой все записи подчиненной таблицы имеют логически связанную с ней главную запись, пользователю необходимо самому отслеживать логические связи записей. При вводе подчиненной записи в таблицу студент нужно проверять наличие записи в главной таблице группа с ключом, значение которого совпадает со значением поля связи (внешнего ключа) вводимой подчиненной записи. То есть при добавлении записи о студенте группы 221 необходимо, чтобы группа с этим номером уже была представлена в таблице ГРУППА.

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

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

    Использование поля со списком при вводе записей

    Одним из способов ввода подчиненных записей только при наличии связанной записи в главной таблице может быть использование в подчиненной таблице поля со списком, включающим значения поля главной таблицы. Создадим в таблице студент для поля НГ (номер группы) поле со списком, построенным на основе ключа таблицы группа. Для этого откроем таблицу I студент в режиме конструктора. Установим курсор в поле НГ на столбце Тип данных, откроем список и выберем строку Мастер подстановок (см. рис. 3.5). В открывшемся окне мастера Создание подстановки установим флажок Объект "столбец подстановки" будет использовать значения из таблицы или запроса . При этом будет построен список на основе значений из таблицы.

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

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

    Теперь при вводе данных в таблицу студент можно воспользоваться списком, в котором отобразятся все значения поля НГ, содержащиеся в таблице группа. Ввод значения в поле НГ осуществляется путем выбора нужного значения из списка. Наличие поля со списком не запрещает ввод в поле НГ значений, не указанных в списке. Однако если при определении параметров списка в окне конструктора, в разделе Свойства поля на вкладке Подстановка выбрать для свойства Ограничиться списком значение Да, то ввод непредусмотренных в списке значений сделается невозможным. Система отследит эту ситуацию и, в случае отклонения от значений списка, выдаст сообщение, показанное на рис.

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

    Рассмотрим еще один пример использования поля со списком. Преобразуем таблице изучение поле КП - код предмета в поле со списком. Для этого откроем таблицу в режиме конструктора, установим курсор в поле КП на столбце Тип данных , откроем список этого столбца и выберем строку Мастер подстановок . В диалоге с мастером выберем главную по отношению к таблице изучение таблицу предмет, на основе данных которой создается список, и включаемые в список поля: КП (код предмета) и НП (наименование предмета). Кроме того, оставим, как предлагает мастер, помеченным флажок . Результат работы мастера представлен на.

    Если установить флажок Скрыть ключевой столбец (рекомендуется) , то для первого столбца списка устанавливается ширина, равная нулю. При этом свойство Ограничиться списком может принимать только одно значение - Да .

    Определение поля со списком с такими параметрами приводит к отображению в поле таблицы КП вместо значений ключевого поля значений второго поля списка - поля НП (наименование предмета). На рис. 3.30 показано, как в таблице ИЗУЧЕНИЕ отображаются поля со списком Код предмета и Табельный преподавателя при нулевой ширине присоединенного столбца.

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

    Внимание!

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

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

    Схема данных в Access

    В СУБД Access процесс создания реляционной базы данных включает создание схемы данных. Схема данных наглядно отображает логическую структуру базы данных: таблицы и связи между ними, а также обеспечивает использование установленных в ней связей при обработке данных.

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

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

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

    Схема данных в Access является не только средством графического отображения логической структуры базы данных (см. рис. 2.16), она активно используется системой в процессе работы с базой данных. При любой обработке данных из нескольких взаимосвязанных таблиц система использует сохраненные в схеме данных связи между таблицами, освобождая пользователя от необходимости специально сообщать системе о наличии той или иной связи при конструировании многотабличных объектов. Однажды указанные в схеме данных связи используются системой автоматически.

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

    Связи между таблицами

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

    Одно-многозначные (1:М) или одно-однозначные (1:1) связи

    Схема данных, прежде всего, ориентирована на работу с таблицами, отвечающими требованиям нормализации, между которыми могут быть установлены одно-многозначные (1:М) или одно-однозначные (1:1) связи. Для таких таблиц может автоматически поддерживаться связная целостность. Поэтому схему данных целесообразно строить в соответствии с информационно-логической моделью.

    При построении схемы данных Access автоматически определяет по выбранному полю связи тип отношения между таблицами. Если поле, по которому нужно установить связь, является уникальным ключом как в одной, так и в другой таблице, Access выявляет отношение один-к-одному . Если поле связи является уникальным ключом одной таблицы (главной таблицы связи), а в другой таблице (подчиненной таблице связи), оно является не ключевым или входит в составной ключ, Access выявляет отношение один-ко-многим между записями главной и подчиненной таблицы. Только в этом случае можно задать автоматическое поддержание целостности связей.

    Замечание

    Если для связи таблиц вместо ключевого поля используется некоторый уникальный индекс, система также констатирует наличие между таблицами отношения 1:М и позволяет установить параметры обеспечения целостности.

    Связи-объединения

    Между двумя таблицами с одинаковым полем может быть установлена связь-объединение по этому полю, называемому ключом связи . Для связи-объединения может быть выбран один из трех способов объединения записей таблиц:

    1. Объединение записей только при совпадении связанных полей обеих таблиц (производится по умолчанию).
    2. Объединение записей при совпадении связанных полей обеих таблиц, а также всех записей первой таблицы, для которых нет связанных полей во второй, с пустой записью второй таблицы.
    3. Объединение записей при совпадении связанных полей обеих таблиц, а также всех записей второй таблицы, для которых нет связанных полей в первой, с пустой записью первой таблицы.

    Для установления связи может быть выбран любой из перечисленных способов объединения, вне зависимости от того, в каких отношениях находятся связываемые таблицы: 1:1, 1:М или тип отношения не может быть определен системой. Например, при выборе в главной таблице в качестве поля связи не ключевого поля или поля, входящего в составной ключ, Access сообщает, что тип отношения не может быть определен. Но в этом случае между таблицами также возможно установление связи-объединения любого типа. Когда в схеме данных определяется связь между двумя таблицами, то между этими таблицами по умолчанию устанавливается связь объединения первого типа, вне зависимости от типа отношений.

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

    Обеспечение целостности данных

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

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

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

    При попытке пользователя нарушить эти условия в операциях добавления и удаления записей или обновления ключевых данных в связанных таблицах Access выводит соответствующее сообщение и не допускает выполнения операции.

    В таблицеКАФЕДРА предусмотреноФОТО, которое должно содержать фотографию заведующего, хранящуюся в формате графического редактора Paint в файле с расширением *.bmp. Тип данных такого поля должен быть определен как Поле объекта OLE. Внедрение этого объекта в поле производится на этапе заполнения полей таблицы.

    Таблица 2. Описание свойств полей таблицы КАФЕДРА

    Таблица 3. Описание свойств полейтаблицыПРЕПОДАВАТЕЛЬ

    Использование данных типа - Поле МЕМО

    В таблице ПРЕДМЕТ предусмотрено поле ПРОГР , которое будет содержать текст большой длины - программу курса. Для такого поля выбирается тип данных - Поле МЕМО . Ввод данных в это поле можно выполнить непосредственно в режиме таблицы или формы.

    Поле объекта OLE и при вводе значений в него установить связь с файлами, где хранятся тексты программ.

    Таблица 4. Описание свойств таблицы ПРЕДМЕТ

    Имя поля Индек-сирован-ное Обяза-тельное поле Тип данных Размер Подпись поля Условие на значение Сообщение об ошибке
    КП Да, совп. не допуск. Да Текстовый Код предмета
    НП Да Текстовый Название предмета
    ЧАСЫ Нет Числовой Целое Всего часов >0 And <=300 Ошибоч. число часов
    ЛЕК Нет Числовой Целое Лекции
    ПР Нет Числовой Целое Практика
    ЧС Нет Числовой Целое Семестров
    ПРОГР Нет Поле МЕМО Программа

    Определение составного первичного ключа

    В таблицеСТУДЕНТ в составной первичный (индексированный)ключ входят поляНГ и НС. Для определения этого ключа в режиме конструктора таблиц надо выделить оба эти поля, щелкая кнопкой мыши на области маркировки при нажатой клавише. Затем нажать кнопку панели инструментовКлючевое поле. Аналогично определяются составные ключи в таблицахИЗУЧЕНИЕ и УСПЕВАЕМОСТЬ.



    Таблица 5. Описание свойств полей таблицыСТУДЕНТ

    Создайте структуру таблицИЗУЧЕНИЕ, УСПЕВАЕМОСТЬ. При создании таблиц используйте их свойства, которые представлены в таблицах 6, 7.

    Таблица 6. Описание свойств таблицыИЗУЧЕНИЕ

    Имя поля Индексированное, поле Обязательное поле Тип данных Размер Подпись поля
    НГ Да Текстовый Номер группы
    КП Да Текстовый Код предм.
    ТАБН Да Текстовый Таб. номер преп.
    ВИДЗ Да Текстовый Вид занятий
    ЧАСЫ Нет Числовой Целое Часы

    Таблица 7. Описание свойств таблицы УСПЕВАЕМОСТЬ

    Имя поля Индексированное Обязательное поле Тип данных Размер Подпись поля
    НГ Да, совпадения допускаются по каждому полю Да Текстовый Номер группы
    НС Да Текстовый Номер студента
    КП Да Текстовый Код предмета
    ТАБН Да Текстовый Таб. ном. препод.
    ВИДЗ Да Текстовый Вид занятия
    ОЦЕНКА Нет Числовой Целое Оценка

    ЗАДАНИЕ N 3

    ВВОД ДАННЫХ В ТАБЛИЦЫ БД



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

    1. Запустите Access.

    2. Загрузите свою базу данных, которую вы создали при выполнении второго задания.

    3. Ввод записей в режиме таблицы:

    Введем несколько записей в таблицуКАФЕДРА. Для этого вокне базы данных выделите таблицуКАФЕДРА и нажмите кнопку Открыть.

    Заполните строки (записи) открывшейся таблицы в соответствии с названиями столбцов (полей), данныедля которых представлены в таблице 8.

    Таблица 8. Записи таблицыКАФЕДРА

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

    Переход от одного поля к другому можно выполнить клавишей. Отмена ввода значения в поле - <Esc >, отменить ввод всей записи можно, дважды нажав.

    Размещение объекта OLE

    Рассмотрим размещение объектаOLE на примере поля Фотография заведующего кафедрой в таблицеКАФЕДРА. Пусть фотографии хранятся в формате графического редактораPaint (в файлах с расширением*. bmp на диске C).

    Установим курсор в соответствующее поле таблицы. Выполним команду Вставка - Объект. В окнеВставка объекта необходимо отметитьСоздать из файла. ОкноВставка объекта преобразуется в формат, который позволит ввести имя файла с фотографией. Увидеть содержимое поля можно через форму, отчет или в графическом редактореPaint, щелкнув дважды на поле типаOLE с содержимом. Дальнейшие изменения файла не будут отражаться на встроенном объекте. После ввода в ячейке будет указан вид объекта- Точечный рисунок ВМР.

    Используя данные, приведенные в табл. с 9 по 14, введите записи в таблицы СТУДЕНТ, ПРЕПОДАВАТЕЛЬ, ГРУППА, ИЗУЧЕНИЕ, ПРЕДМЕТ и УСПЕВАЕМОСТЬ.

    Таблица 9. Данные таблицы СТУДЕНТ

    Таблица 10. Данные таблицы ПРЕПОДАВАТЕЛЬ

    Таб. номер ФИО.препод. Уч.степень Уч.звание Код кафедры
    Андреев А. П. Д-р техн. Наук Профессор
    Апухтин И.С. Канд. техн.наук Доцент
    Глухов И.Л. Канд. техн.наук Доцент
    Сеченов Ю.Б. Канд. техн. Наук Доцент
    Чернов Л,К. Канд. техн.наук Доцент
    Блюмкина И.П. Д-р физ-мат.нэук Профессор
    Львова П.Р. Ассистент
    Шапошников С. И. Д-р техн. Наук Профессор
    Новиков П.Н. Ассистент
    Ильясов И.Т. Канд. фил. Наук Доцент
    ПустынцевА.П. Канд. ист. наук Доцент

    Таблица 11. Данные таблицы ГРУППА

    Таблица 12. Данные таблицы ИЗУЧЕНИЕ

    Номер группы Код предмета Таб.номер преподав. Вид занятий ЧАСЫ
    Лек
    Пр
    Лек
    Пр
    Лек
    Пр

    Таблица 13. Данные таблицы УСПЕВАЕМОСТЬ

    Номер группы Номер студента Код предмета Таб.номер препод. Вид занятия ОЦЕНКА
    Лек
    Пр
    Лек
    Пр

    Таблица 14. Данные таблицы ПРЕДМЕТ

    Код пред-мета Название предмета Всего часов Лекции Прак- тика Семе- стров Програм- ма
    Информатика
    Математика
    История

    Ввод данных в полеПРОГРАММА (тип поляМЕМО ) можно выполнить непосредственно в таблице либо через область ввода, вызываемую нажатием клавиш+.

    Если тексты программ уже подготовлены в некотором текстовом редакторе, например, Microsoft Word, и хранятся в отдельных файлах, удобно для этого поля задать тип Поле объекта OLE и при вводе значений в него установить связь с файлами. Самостоятельно введите изучаемые темы по каждому предмету.

    ТЕХНОЛОГИЯ СОЗДАНИЯ СХЕМЫ ДАННЫХ НА ПРИМЕРЕ БАЗЫ ДАННЫХ УЧЕБНЫЙ ПРОЦЕСС

    Поля объекта OLE

    MS Access позволяет хранить в таблицах изображения и другие двоичные данные (например, электронную таблицу MS Excel, документ MS Word, рисунок звукозапись). Для этих целей служит тип данных Поле объекта OLE. Фактический объем данных, который Вы можете ввести в поле данного типа, определяется объемом жесткого диска Вашего компьютера (до 1 Гигабайта).

    Тип данных мастер подстановок

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

    Размер данного поля совпадает с размером ключевого поля, используемого в качестве подстановки (обычно, 4 байта).

    Создание структуры таблицы

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

    В окне конструктора таблицы в столбце Имя поля введите КодЗаказа .

    Нажмите клавишу Tab или Enter , чтобы перейти в столбец Тип данных. При этом обратите внимание, что в нижней части окна диалога появляется информация в разделе "Свойства поля”.

    В столбце Тип данных появилось значение Текстовый. Нажмите на кнопку раскрытия списка в правой части прямоугольника, и Вы увидите список, содержащий все типы данных. Из этого списка с помощью мыши или клавишами вверх и вниз выберите значение Счетчик и нажмите на клавишу Tab для перехода в столбец Описание. Столбец Описание представляет собой пояснение, которое Вы даете своим полям. Когда Вы в будущем будете работать с данной таблицей, это описание будет появляться в нижней части экрана MS Access всякий раз, когда Вы окажетесь в поле КодЗаказа , и напомнит Вам назначение данного поля.

    Введите поясняющий текст в столбец Описание и нажмите клавишу Tab или Enter , чтобы перейти к вводу информации о следующем поле.

    Аналогичным образом введите описание всех полей таблицы.

    Завершив ввод структуры таблицы, сохраните ее, выполнив команду Файл/Сохранить.

    Ячейка в поле логического типа может содержать только одно из двух значений: Да или Нет. Access предлагает еще два варианта названий логического типа: Истина/Ложь и Включено/Выключено. Вне зависимости от того, какой формат поля вы изберете, в таблице логическое поле будет представлено в виде набора флажков. Когда вы щелкаете флажок мышью, это приводит к тому, что в квадрате появляется изображение галочки, что соответствует логическому значению Да

    Сброс флажка означает присвоение ячейке поля логического значения Нет. Использование логических полей может быть различным, например, в анкетах или для создания элементов управления.

    Поле объекта OLE

    Поле объекта OLE (Object Linking and Embedding) – последний выбираемый из списка тип поля. Он имеет всего два свойства: подпись и параметр «обязательное поле». Поля данного типа не хранят информацию как таковую, а содержат ссылки на объекты, которые могут быть включены в БД с использованием OLE-протокола обмена данными. Такими объектами могут быть, например, графические файлы.

    Для того чтобы внедрить в ячейку поля OLE-объект, надо установить на нее курсор и, нажав правую кнопку мыши, вызвать контекстное меню. В нем выберите команду Вставить объект. Программа раскроет окно диалога для выбора типа объекта. Объект в данном случае отождествляется с приложением, в котором он может быть создан или отредактирован.

    Второй вариант вставки объекта – выбор переключателя Создать из файла в окне Вставка объекта. В этом случае подразумевается, что файл уже существует, и нужно установить с ним связь. Access откроет окно открытия документа и после выбора нужного файла определит, какое приложение необходимо открыть для работы с ним.

    Текст или комбинация текста и чисел, используемая как адрес гиперссылки.

    Адрес – это текст, задающий путь и имя файла для открываемого документа. Путь может представлять собой путь к файлу, записанному на жестком диске, являться адресом в формате UNC или адресом URL в Интернете.

    Для вставки адреса в поле можно использовать команду Гиперссылка в меню Вставка.

    Многотабличные базы данных. Отношения между таблицами

    Реляционные базы данных состоят из нескольких таблиц, связь между которыми устанавливается с помощью совпадающих полей. Каждая запись в таблицах идентифицирует один объект. Отношение между объектами определяет отношение между таблицами. Существует 4 типа отношений:

    1. Отношение «один к одному» означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице. Одному гражданину страны соответствует только один номер паспорта, в то же время как один номер паспорта соответствует только одному человеку.

    2. Отношение «один ко многим» означает, что каждой записи в одной таблице соответствует одна или несколько записей в другой таблице. Один абитуриент может поступать во многие вузы и в тоже время в один вуз может поступать много абитуриентов.

    3. Отношение «многие ко многим» возникает между двумя таблицами в тех случаях, когда:

    Одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы;

    Одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы.

    Например, связь между преподавателями и группами студентов. Несколько преподавателей ведут занятия в нескольких группах, и несколько групп занимаются у нескольких преподавателей.

    В большинстве случаев любые две таблицы связаны отношением «один – ко многим».

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

    Для того чтобы рассмотреть создание связей между таблицами построим в базе данных «Профконсультант» еще две таблицы:

    1. Таблица тАбитуриенты:

    КодАб является ключевым полем.

    2. Таблица пересечения тСвязьАбВУЗ:

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

    Рисунок 12.6. Схема данных

    Чтобы определить связи, необходимо использовать команду Сервис->Схема данных (кнопка

    ). Если связь определяется впервые в базе данных, то Access откроет пустое окно Схема данных, а затем выведет на экран окно диалога Добавление таблицы. В этом окне необходимо выделить нужные таблицы и нажать кнопку Добавить. В нашем случае в окно схемы данных надо добавить все три таблицы. Кнопка Закрыть закрывает окно диалога Добавление таблицы (данное окно можно вызвать по нажатию кнопки

    ). После этого окно Схемы данных должно выглядеть примерно так, как показано на рис. 3 (кроме линий соединения). Чтобы установить связь между таблицами твузы и тСвязьАбвуз, надо выделить поле Кодвуза в таблице твузы (щелкнуть левой кнопкой «мыши»), перетащить и опустить его на поле Кодвуза в таблице тСвязьАбвуз. Аналогично устанавливается связь между двумя другими таблицами.

    Когда вы отпустите кнопку мыши, Microsoft Access откроет окно диалога Связи, представленное на рис. 12.7.

    Рисунок 12.7. Настройка связей между полями таблиц

    После установки флажка Обеспечение целостности данных, Access делает доступными еще два флажка: Каскадное обновление связанных полей и Каскадное удаление связанных записей. При установленном флажке Каскадное обновление связанных полей Microsoft Access обновляет все значения чужих ключей в дочерних таблицах (то есть в таблицах на стороне отношения «многие» при связи «один ко многим») при изменении значения первичного ключа в родительской таблице, которая находится на стороне отношения «один» при связи «один ко многим». Если же вы установите флажок Каскадное удаление связанных записей, Microsoft Access удалит дочерние строки (связанные строки в дочерних таблицах) при удалении родительской строки (связанная строка в родительской таблице). Установите флажок Каскадное обновление связанных полей, чтобы при изменении кода вуза Access автоматически обновлял записи в таблице тСвязьАбвуз.

    После нажатия кнопки Создать Access создаст связь и нарисует линию между двумя таблицами, указывающую на наличие связи между ними. Заметьте: когда вы просите обеспечить целостность данных, Access изображает на конце линии у таблицы, находящейся на стороне отношения «один», цифру 1, а на другом конце у таблицы со стороны отношения «многие» – символ бесконечности. Чтобы удалить связь, щелкните по ее линии и нажмите клавишу Del. Если вы хотите отредактировать или изменить существующую связь, дважды щелкните по соответствующей линии, чтобы снова открыть окно диалога Связи.

    Поле объекта OLE (Object Linking and Embedding) – последний выбираемый из списка тип поля. Он имеет всего два свойства: подпись и параметр «обязательное поле». Поля данного типа не хранят информацию как таковую, а содержат ссылки на объекты, которые могут быть включены в БД с использованием OLE-протокола обмена данными. Такими объектами могут быть, например, графические файлы. Даже самая лучшая СУБД не в состоянии обеспечить хранение всех существующих на сегодняшний день видов представления информации. Да это и не нужно. Достаточно осуществить связь с приложением, работающим с тем или иным типом файлов. Для этого и существует протокол OLE.

    Для того чтобы внедрить в ячейку поля OLE-объект, надо установить на нее курсор и, нажав правую кнопку мыши, вызвать контекстное меню. В нем выберите команду Вставить объект . Программа раскроет окно диалога для выбора типа объекта. Объект в данном случае отождествляется с приложением, в котором он может быть создан или отредактирован. В том случае, когда в этом окне установлен переключатель Создать новый , открывается соответствующее приложение, работа с которым несколько отличается от обычной. Так, пользователь не имеет возможности открыть существующий файл для того, чтобы сделать его объектом. Например, если выбран документ Word и готовый документ уже имеется на диске, то его придется открыть в редакторе отдельно, скопировать в буфер обмена, а затем перейти в окно документа, связанного с Access, и вставить содержимое буфера. Если же объект создается, что называется, «с нуля», то работа в выбранном приложении происходит обычным образом. Команда выхода из приложения тоже видоизменяется. В данном случае уже нельзя, закрыв приложение, оказаться в Windows, а можно только вернуться в Access.

    Второй вариант вставки объекта – выбор переключателя Создать из файла в окне Вставка объекта . В этом случае подразумевается, что файл уже существует, и нужно установить с ним связь. Access откроет окно открытия документа и после выбора нужного файла определит, какое приложение необходимо открыть для работы с ним. Необходимо иметь в виду, что одному типу файлов могут соответствовать несколько приложений. Например, файлы с расширением ВМР используются разными графическими редакторами. Выбранное Access приложение запускается, и в нем открывается выбранный пользователем файл. Внедрение объекта заканчивается после того, как вы закрываете программу.

    Ввод и редактирование данных в режиме "Таблица"

    СУБД переходит в режим Таблица при нажатии кнопки . В окне таблицы используются специальные символы для отображения новой и текущей редактируемой записи .


    Рис.5. Окно таблицы в режиме Таблицы

    Каждая таблица содержит пустую запись, которая следует за последней существующей записью и предназначена для ввода новых данных. Для ввода расположите курсор в поле таблицы и набирайте данные на клавиатуре. Для перехода к следующему полю используется клавиша TAB, к предыдущему полю - SHIFT+TAB. Запись автоматически сохраняется при переходе к другой записи (маркер записи вдоль левой границы таблицы изменяет форму: вместо карандаша появляется треугольник), то есть специального сохранения данных в таблице не требуется. Для перехода между записями можно использовать экранные кнопки внизу окна таблицы (к первой, следующей, последней записи).

    Некоторые поля нельзя изменять: это "Счетчики", вычисляемые поля и поля, заблокированные другим пользователем при коллективной работе с одной таблицей. Если БД была открыта в режиме "Только для чтения", то ввод данных также недоступен.

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

    Способы выделения фрагментов:

    Поле выделяется двойным щелчком мыши,

    Запись (строка) выделяется щелчком по пустой серой клетке около левой границы окна,

    Столбец выделяется щелчком по заголовку столбца,

    Прямоугольный фрагмент : выделить поле в одном углу, нажать клавишу SHIFT и не отпуская, выделить поле в противоположном углу (или протаскиванием мыши).

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

    Для копирования данных из одной таблицы в другую (или в ту же самую таблицу) используется буфер Windows:

    · выделите нужные данные в одной таблице;

    · нажмите кнопку "Копировать" на панели инструментов;

    · перейдите в поле-адресат (указав на него мышью или подведя курсор клавишами TAB),

    · нажмите кнопку "Вставить" на панели инструментов.