Главная » Просмотр файлов » Теория и практика построения баз данных

Теория и практика построения баз данных (1088289), страница 72

Файл №1088289 Теория и практика построения баз данных (Теория и практика построения баз данных) 72 страницаТеория и практика построения баз данных (1088289) страница 722018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 72)

Проектирование приложений баз данных Создание, чтение, обновление и удаление экземпляров представлений 343 РРомяйт[5т ЫНЕРЕАРТ[51 Раме = йеьспзт.АКТ[5[.йаме !й5ект!йтО С05тсмек АР[[5т-1йт (Сизтогпег[0, Агтщт[0! НЯСОЕ5(йеисцзЬ.С05ТОМЕР.сизтовег[0, АРТ[5Т.Яг11зт[0[ йехтйехСизт.АКТ[5!.йапв Тсперь представление йел«сцл(ощег сохранено в базе данных. Разумеется, полная реализация включает в себя перехват н обработку ошибок, возвращенных СУБД. Н Д. апример, в приложении должны быть предусмотрены процедуры па случай, когда запрошенного произведения или художника нет в базе данных.

Обновление экземпляров представлений Третье фундаментальное действие, производимое над представлениями, — зто обновление. Прп обновлении представления возможны три типа изменений. Первый тип — это изменение значения, например, когда у клиента меняется номер телефона.

Второй тип — изменение связи. Примером может служить случай, когда клиент перестает интересоваться работами какого-либо художника. Третий тип обновления подразумевает добавление одной или нескольких новых строк; в нашем случае это происходит, когда клиент совершает покупку. Обновления первого типа можно производить с помощью 5О1-операторов 0РОАТЕ. Пусть, например, в програл1лге имеется структура под названием Орда(есвлд и эта структура состоит пз элементов Сцз(ошег[0, Агеасове (код региона) и Соса[- йвщбег (местный номер).

Новые значения элементам этой структуры присвоит следующий 5О[.-оператор: ОРОятес05тсмеР 5ЕтСО5тОНЕК ягезео([е = ир([зтеС «.Ягезеобе С05ТОМЕР.Соса[йпл[Ьег = ОрбатеСвзт.соса[йвмЬег КМЕРЕСЬ5тОМЕР Спзт ег[0 = Ор1атеензт ег.Свата ег[0 Изменения в связях производятся столь же элементарно.

Если связь имеет впд «один ко многим», то требуется просто присвоить новое значение внешнему кллочу. Пусть, например, связь между таблицами ОТДЕЛ ~г СОТРУДНИК имеет впд [:[л[. Тогда НомерОтдела (илн другой ключ) будет храниться как внешний клинч в таблице СОТРУДНИК. Чтобы перевести сотрудника в другой отдел, приложению потребуется только полгепять значение атрибута НомерОтдела на другое. Если связь имеет вид «многие ко многим», то необходимо модифицировать внешний ключ в таблице пересечения. Например в галерее, если покупатель перестал интересоваться Марком Тоби, а заинтересовался Деннисом Фрнпгсом, нужно изменить соответствующую строку в таблице пересечения, чтобы она указывала не на Марка Тоби, а на Денниса Фрингса. Предположим, что в переменной 0рг[а!есцзбсил(оп[ег[0 хранится идентификатор покупателя, в переменной 0рва(есцзЕОЫАгВл(10 хранится идентификатор строки Марка Тоби в таблице АКТ15Т, а в переменной 0рватесизййелуАг([зт[0 хра- пптся идентификатор строки Денниса Фрингса в таблице АКП5Т.

Необходимые изменения произведет следующий оператор: ОРОАТЕ С05ТОМЕК АКТ15Т 1МТ 5ЕТ С05ТОМЕР АРТ15Т 1йт.дгт1зт[0 = ОрбатеСвз(.йендгтщ1[0 КМЕРЕ С05тОМЕР АКТ[5Т [йт,с тплег[0 = Орбатее т.епзтомег[0 ЯКО С05ТОМЕР АКТ15Т [йт.дг(!зт[0 = ОрбасеСизт.О[ЬЯгт1зт[0 В связи вида «многие ко многим» можно также удалить связь (соппест[ап), не .щменяя ее новой, или создать новую связь, не удаляя старой. Чтобы удалить гвязь, нужно просто удалить соответствующую строку в таблице пересечения. '[тобы создать связь, нужно добавить строку в таблицу пересечения. Третий пш обновления требует добавления новой строки в одну или несколько таблиц.

Если, например, сугцествующий клиент делает новое приобретение, зо необходимо будет создать новую строку в таблице ТКАМ5АСТ10й. Это можно сделать так же, как это делалось при создании нового экземпляра представления. Удаление экземпляров представлений Удаление экземпляра представления предполагает удаление из таблиц тех строк, из которых это представление состоит. Сложность состоит в том, чтобы определить, сколько строк нужно удалять. Предположим, например, что галерея хочет удалить данные о покупательнице по имени Мэри Джонс. Ясно, что нужно удалить строку «Оопез, Магу» из таблицы С05ТОМЕК.

Кроме того, необходимо удалить все строки цз таблицы пересечения С05ТОМЕК АКТ15Т 1НТ, относящиеся к этой покупательнице. Но что делать со строками в таблице ТКАН5АСТ10й? Эта таблица содержи~ атрибут Свз!оп[ег10, и если строка данной покупательницы будет удалена, все строки в таблице ТКАН5АСТ10й, где указан ее идентификатор, будут содержать неверные данные. Ответ на подобные вопросы определяется исходя из модели данных. В ЕЯ- модели все слабые сущности удаляются, если удаляется сулцность, от которой они зависят. В противном случае никаких дополнительных удалений не производится.

В семантической объектной модели удаляются все данные, содержащиеся в объекте (объект может содержать много таблиц, если у него есть многозначные атрибуты), но никакие данные о другом объекте не удаляются. Помимо этих правил, имеется еще одно: удаление не допускается, если оно вызовет нарушение кардинальности связи. Мы коснемся этой темы здесь и рассмотрим ее более подробно позднее в этой главе. Обратимся к модели на рис. 10.2 и 10.3. Когда удаляется информация о клиенте, то наряду со всеми строками в таблице С05ТОМЕР АКТ15Т 1НТ, относящимися к этому клиенту, удаляется также строка в таблице С05ТОМЕК, Данные из таблицы ТКАН5АСТ10й не удаляются, поскольку она находится в другом обьекте— [вОРК.

Обратите внимание, однако, что лгинимальное кардинальное число объекта С05ТОМЕК в объекте ТКАН5АСТ10й равно !. Следовательно, если данный покупатель связан с транзакцией, та объект С05ТОМЕР в атой связи является необходимым, и удаление не лопускается. Проектирование форм 345 ту1ват ГВЕЧВ 04Я1еаУ СЦМОтЕГ РЩСВЕВЕ Рсевп зесаасс. Елсаьеж Сцвтствг Мате пес' 4444СЕИ " '.(% накакав 1Чаб 93 Рис.

10.6. Включение каскадных удалении сна' Гся ас и ап стал ~ «,,4с-.тД';~ (О=,йс-— г Гà — лг — — — ~ (с,.ас н1 1~ 4" 41н41н1е 3 344 Глава 10. Проектирование приложений баз данных Некоторые СУБД поддерживают удаление зависимых строк, обычно называемое каскаднььи )даление344 (сазсаг)1пя 4)е1еГе). На рис. 10.6 показано диалоговое окно редактирования связи в Ассезз. Обратите внимание, что флажок Сазсаое Ое(еге Ре(а1ед Ресог419 (Каскадное удаление связанных записей) установлен. Это означает, что при удалении строки из таблицы УУОРК Асселз автоматически удаляет все связанные с ней строки в таблице ТРАИ5АСТ10Р..

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

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

10.1, вторая основная функция приложения базы данных состоит в том, чтобы генерировать материализации представлений. В этой главе мы рассмотрим материализации в виде отчетов и форм. В главе 14 мы рассмотрим межпроцессные материализации с использованием ХМ(., а в главе 17 мы рассмотрим материализации в 01.АР-кубах. Форма ((опп) — зто экранный объект, используемый для ввода и редакюгрования данных. Формы, доступные только для чтения, могут также использоваться в качестве отчетов, но в болыпинстве случаев, когда разработчики говорят о формах, оии имеют в виду формы, с помощью которых редактируются и вводятся данные. Некоторые формы просты в использовании и дают прп вводе только небольшое количество ошибок. Другие кажутся неудобными и запутанными, и при работе с ними сложно не допускать ошибки.

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

10.7, являющуюся материализацией представления Сцзготег, изображенного на рис. 10А, а. аа та Сас «с«ансаа сес«са Г49439 1 тл994 343Й Са — à — — ' à — ' ГТГМ вм «а — Г е Г»" 134)ае и 4 Вй'431431 Г: а.и ', '44 РИС. 10ЛЧ МатЕРИаЛИЗаЦИЯ ПРЕДСтаВЛЕНИЯ СЦВГОтЕГ (РИС. 1Оак а1 В ВИДЕ фОРМЬ4 Структура этой формы отражает представление Сцз(оглег. Первый раздел формы содержит основные сведения о клиенте — имя, телефон и адрес. Во втором 346 Глава 10.

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

Если предположить, что база данных находится в доменно-ключевой нормальной форме, каждое отношение должно характеризоваться своей темой, и пользователи должны ожидать, что найдут все данные, относящиеся к этой теме, в одном месте. Так, в приведенной на рисунке форме есть три раздела: клиент, его интересы и транзакции. Из этого правила есть одно исключение: атрибуты базового отношения представления (здесь — отношение СО5ТОМЕк) не всегда помещают по соседству друг с другом.

Предположим, например, что в таблице СО5ТОМЕР есть простой атрибут с именем Тога1РпгсЬаэеэ (общая сумма покупок). Если бы мы следовали указанному правилу, мы бы поместили атрибут То1а(Рцгсйазез в первом разделе формы. Но с точки зрения пользователей, более целесообразно было бы поместить этот атрибут в конце формы, после списка всех покупок.

Характеристики

Тип файла
DJVU-файл
Размер
9,56 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее