Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа №4. Проблемы манипулирования данными и запросы на создание таблицСодержание книги
Поиск на нашем сайте Проблемы выполнения корректирующих запросов
Корректирующие запросы на добавление, обновление или удаление данных приводят к изменению содержания базы данных. Если они выполняются некорректно, то в БД будет храниться противоречивая информация. При выполнении корректирующих запросов могут встретиться проблемы, которые являются следствием недостатков структуры данных «универсального» отношения. Это так называемые аномалии добавления, обновления и удаления. Такими дефектами обладает и таблица «Учеба». Например, нельзя ввести в таблицу данные о зачисленном в вуз студенте до тех пор, пока он не сдаст первый экзамен и не будут определены ключевые атрибуты «предмет» и «семестр». Это пример аномалии добавления. Другой пример: при изменении фамилии студента необходимо обновить поле «фамилия» не один, а много раз во всех строках-записях, содержащих информацию о результатах сдачи экзаменов этим студентом. При этом есть вероятность ошибочного ввода в разные строки разных данных. Это пример аномалии обновления. А при удалении единственной строки, содержащей информацию о сдаче экзаменов студентом, приведет к потере информации и о самом студенте. Это пример аномалии удаления. Аномалии манипулирования данными являются следствием избыточного дублирования данных, присущего «универсальному» отношению. Дело в том, что в «универсальном» отношении присутствуют семантически разнородные данные и попытки манипулирования данными одного рода влекут за собой проблемы в отношении данных другого рода. Решением проблемы аномалии манипулирования данными является корректная декомпозиция «универсального» отношения на его проекции (подмножества, содержащие семантически однородные данные). В реляционной алгебре операция построения из одной таблицы- отношения другой, являющейся её подмножеством, называется проекцией исходной таблицы на подмножество её столбцов-атрибутов. Запрос на создание таблицы Запрос на создание новой таблицы как проекции исходной рассмотрим в контексте проблемы декомпозиции «универсального» отношения. Выполним декомпозицию «универсального» отношения со схемой: Учёба (номер студента, фамилия, специальность, факультет, предмет, семестр, оценка) на ее проекции со схемами: Кафедра (специальность, факультет) Экзамен (номер студента, фамилия, факультет, предмет, семестр, оценка) Рассмотрим, как в Access реализуется операция проекция–создание одной таблицы как проекции другой. Алгоритм выполнения этой процедуры состоит из трёх этапов: 1. Построение запроса-выборки столбцов-атрибутов без дублей строк (Задание 6 на стр. 21]. Тем самым создается проекция – подмножество данных исходной таблицы, которое определит структуру и наполнение новой таблицы. 2. Выполнение запроса на создание новой таблицы. 3. Определение ключа вновь созданной таблицы. Задание 1. На основе исходной таблицы «Учёба» со схемой отношения: Учёба (номер студента, фамилия, специальность, факультет, предмет, семестр, оценка ) создайте две новые таблицы со схемами: Кафедра (специальность, факультет) Экзамен (номер студента, фамилия, факультет, предмет, семестр, оценка ) Алгоритм построения и выполнения запроса на создание новой таблицы рассмотрим на примере отношения «Кафедра»: 1) в режиме Конструктора запросов в качестве таблицы-источника данных к запросу выберите таблицу «Учёба»; 2) сформируйте запрос-выборку, в котором присутствовали бы следующие поля таблицы «Кафедра»: специальность, факультет; 3) в режиме Конструктора выполните команду Вид | Свойства; 4) в диалоговом окне «Свойства запроса» переключите мышью свойство «Уникальные значения» в состояние «Да»; 5) завершите результаты формирования запроса (на этом первая часть алгоритма заканчивается); 6) в режиме Конструктора выполните команду Запрос | Создание таблицы; 7) в диалоговом окне «Свойства запроса» введите в поле «Таблица» имя новой таблицы «Кафедра» (рис. 21); 8) в режиме Конструктора выполните команду Запрос | Запуск. В новую таблицу будет скопировано соответствующее количество записей 9) перейдите в режим Конструктора и завершите работу с запросом (можно без сохранения структуры запроса, так как результатом запроса является созданная таблица). На этом заканчивается вторая часть алгоритма;
Рис. 21. Окно наименования новой таблицы
10) в окне БД выберите закладку Таблицы и убедитесь, что новая таблица «Кафедра» представлена в списке таблиц БД; это является признаком успешного выполнения запроса на создание таблицы; 11) выберите новую таблицу «Кафедра» в списке и нажмите экранную кнопку; 12) в режиме Конструктора таблиц в окне структуры таблицы определите ключевые атрибуты (в таблице «Кафедра» это поле «специальность»); 13) сохраните результаты спецификации новой таблицы «Кафедра» по команде Файл | Сохранить. На этом заканчивается третья часть алгоритма; 14) просмотрите в Режиме таблицы наполнение новой таблицы «Кафедра» (рис. 22); 15) по рассмотренному алгоритму создайте вторую таблицу «Экзамен».
Рис. 22 Наполнение таблицы «Кафедра»
Создание связей между таблицами В результате декомпозиции «универсального» отношения «Учеба» мы получили представление той же самой предметной области в виде совокупности двух отношений – таблиц «Кафедра» и «Экзамен». Теперь установим связь между новыми таблицами. Правила установления связей между таблицами в Access таковы, что разрешены только бинарные (между двумя таблицами) связи. Связи могут быть двух типов «один к одному» и «один ко многим». Причём одна таблица выступает в роли старшей (отцовской), например таблица «Кафедра» в отношении «Кафедра»: «Экзамен», а другая – в роли младшей (сыновьей), например таблица «Экзамен» в отношении «Кафедра»: «Экзамен». Однако одна и та же таблица в разных отношениях может выступать в роли старшей и младшей одновременно. Связь между таблицами устанавливается по общим полям-атрибутам (поле «факультет» в нашем случае). Связь между таблицами Access устанавливается при помощи инструмента, называемого «Схемой данных». Задание 2. Для установления связи между таблицами «Кафедра» и «Экзамен»: 1) выполните команду Сервис | Схема данных – появится окно макета схемы данных БД; 2) в контекстном меню выполните команду Связи | Добавить таблицу; 3) в окне «Добавление таблицы» выберите в списке таблицу «Кафедра» и нажмите экранную кнопку 4) в окне «Добавление таблицы» выберите в списке таблицу «Экзамен» и нажмите экранную кнопку 5) для установления связи между таблицами «Кафедра» и «Экзамен» захватите мышью и перенесите поле «факультет» таблицы «Кафедра» на поле «факультет» таблицы «Экзамен» – раскроется окно «Изменение связей» (рис. 23); 6) не настраивая свойства связи, нажмите экранную кнопку. Схема базы данных примет вид, аналогичный представленному на рис. 24.
Рис. 23. Окно спецификации связей в схеме данных
Рис. 24. Схема данных двух таблиц
|
||
|
Последнее изменение этой страницы: 2017-02-05; просмотров: 417; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.006 с.) |