КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Применение подстановки
В связываемых таблицах реляционных БД имеются поля, по которым устанавливается связь. Для отображения информации из подтаблицы проще и нагляднее в этом случае использовать подстановку. Например, требуется в таблице Успеваемость отображать не коды предметов, а их названия. Для этого необходимо открыть таблицу Успеваемость в режиме конструктора и выбрать для поля КодПредмета в списке Тип данных пункт Мастер подстановок. Данное действие запустит мастер подстановок, на первом этапе работы которого необходимо установить, из какого источника столбец подстановки будет получать данные. Так как название предмета находится в таблице Предметы, то необходимо выбрать первый пункт. На втором этапе нужно выбрать таблицу (или запрос), которая будет использоваться в качестве источника данных, т. е. таблицу Предметы, и нажать кнопку Далее. Следующий этап предполагает выбор поля (или полей) значения которого будут использоваться в столбце подстановки. В данном случае нужно в список выбранные поля переместить поле Название и нажать Далее. На четвертом этапе работы мастера можно установить ширину полей, которые будут содержаться в столбце подстановки, а также установить флажок Скрыть ключевой столбец, для того чтобы не отображались коды предметов и затем нажать Далее. На последнем этапе создания подстановки можно определить подпись, которая будет отображаться для столбца подстановки. Например, можно задать подпись Предмет и затем для завершения работы мастера нужно нажать кнопку Готово. После этого необходимо сохранить таблицу, как это будет предложено сделать в окне сообщения. В результате при просмотре содержимого таблицы Успеваемость вместо столбца КодПредмета будет отображаться столбец Предмет, в котором находится не код предмета, а его название. Чтобы изменить содержимое столбца подстановки для какой либо записи, например, для первой, нужно установить курсор в столбец Предмет, развернуть с помощью стрелки список имеющихся предметов и выбрать требуемое название предмета. Однако это не означает, что в поле подстановки будут записываться текстовые значения названий предметов. Все равно в качестве связующего поля используется КодПредмета, просто в этом случае изменяется способ отображения информации. В этом легко можно убедиться, если изменить название предмета в таблице Предметы. Данное действие приведет к тому, что внесенное изменение автоматически отобразится в поле подстановки таблицы Успеваемость. Анализ таблиц
Даже при самой тщательной разработке структуры БД может возникнуть ситуация, когда в одной таблице хранятся повторяющиеся данные. При работе с большими объемами информации это приводят к нерациональному ислользованию дискового пространства и к увеличению продолжительности обработки БД. Чтобы определить, не встречаются ли в той или иной таблице часто повторяющиеся данные, можно воспользоваться средством анализа таблиц. Например, пусть в рассматриваемой учебной БД Образование информация о предметах и фамилиях преподавателей хранится в одной и той же таблице, которую можно назвать КопияПрелметы. При этом вместо поля КодПреподавателя имеющегося в таблице Предметы, в таблице КопияПредметы будет присутствовать поле Преподаватель с фамилией преподавателя. Если каждый преподаватель ведет занятия только по одному предмету, то при данном наборе полей в таблице КопияПредметы уникальность хранящейся информации будет соблюдаться. Однако в том случае, если один и тот же преподаватель будет вести занятия по нескольким предметам, то в поле Преподаватели возникнет дублирование одних и тех же значений. В рассматриваемом примере не составит никакого труда развить таблицу КопияПредметы на две таблицы, чтобы в одной таблице (Предметы) хранилась информация о предметах и коды преподавателей, а в другой таблице (Преподаватели) уникальные коды и фамилии преподавателей. Однако если в таблице содержится несколько сотен или тысяч записей, то разбить ее на несколько таблиц будет весьма затруднительно. Для решения подобных задач следует использовать процедуру анализа таблиц. Для вызова процедуры анализа необходимо открыть БД и выполнить команду Сервис Анализ Таблица. После этого на экране будет отображено исходное окно мастера анализа, содержащее описание часто возникающей проблемы дублирования данных. После нажатия кнопки Далее появится еще одно вводное окно, в котором описывается принцип действия мастера анализа таблиц. Затем необходимо снова нажать Далее, после чего будет отображено окно, в котором необходимо выбрать таблицу с многократно повторяющимися данными, в частности КопияПредметы и нажатьДалее. На следующем этапе необходимо выбрать автоматический или ручной режим разбиения таблиц, при этом следует воспользоваться возможностью автоматического разбиения (первый пункт) и нажать Далее. Если в таблице повторяющиеся данные встречаются достаточно часто, то на очередном этапе мастер анализа предложит разгруппировать эту таблицу, чтобы в каждой из полученных таблиц хранились только уникальные данные. В рассматриваемом примере предлагается разбить таблицу КопияПредметы на две таблицы. В данном случае мастер предложит правильный способ разбиения одной таблицы на две с установлением связи "многие к одному". Если же группировка данных была выполнена не совсем верно, т. е. некоторые поля должны находиться в другой таблице, или группировка выполняется вручную, то требуемое поле можно перетащить из одной таблицы в другую. Чтобы изменить предлагаемое название таблицы, нужно выделить таблицу, и затем, нажав кнопку Переименовать таблицу указать в диалоговом окне новое имя например, Предметы1. Аналогичным образом для второй таблицы следует изменить название с Таблица2 на Преподаватели1. Для получения справочной информации по поводу данного этапа работы мастера анализа можно воспользоваться кнопкой Справка. После проверки размещения полей и указания названий для таблиц следует нажать кнопку Далее. На следующем этапе следует проверить, правильно ли установлены ключевые поля новых таблиц. Чтобы сделать в таблице одно из имеющихся полей ключевым, в частности поле Код-Предмета таблицы Предметы 1, нужно выделить это поле и нажать в окне мастера кнопку Ключевое поле. Если же необходимо создать новое поле в качестве первичного ключа, то следует воспользоваться кнопкой Добавить ключ. После определения ключевых полей нужно нажать Далее. Затем мастер проводит анализ возможных опечаток в повторяющихся значениях, и после этого отображается окно последнего этапа, в котором можно выбрать режим создания запроса, который может расширить возможности таблицы Здесь следует выбрать пункт Нет, запрос создавать не нужно и снять флажок для вывода справочной информации. После этого нажатие кнопки Готово завершает работу мастера анализа таблиц. В результате будут получены две новые таблицы. Таблица Предметы1 содержит поля КодПредмета, Название и КоличествоЧасов, а также поле Подстановка, в котором отображаются фамилии преподавателей из таблицы Преподаватели1.
Дата добавления: 2015-05-26; Просмотров: 543; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |