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

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

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

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

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

Это утверждение должно быть верным, поскольку ни одна отношение не может иметь одинаковых строк, и, следовательно, в крайнем случае ключ будет состоять из всех атрибутов отношения. Функциональные зависимости, ключи и уникальность У многих студентов возникает путаница с понятиями функиональной зависимости, ключа и уникальности. Чтобы избежать атой путаницы, уясните себе следуюшее: детерминант функциональной зависимости может в отношении быть уникальным или неуникальным. Если нам известно, что А определяет В и что А и В находятся в одном и том же отношении, мы все равно не знаем, является ли А уникальным в этом отношении.

Мы знаем только то, что А определяет В. Например, в отношении СЕКЦИИ атрибут Секция функционально определяет атрибут Плата, но название конкретной секции может, тем не менее, фигурировать в нескольких строках отношения. Функциональная зависимость говорит 172 Глава 5. Реляционная модель и нормализация Нормализацця 173 только о том, что везде, где атрибуту Секция сопутствует атрибут Плата, конкретному значению атрибута Секция всегда соответствует одно и то же значение атрибута Плата. То есть абонемент в секцию лыж всегда стоит $200, независимо от того, сколько раз секция лыж фигурирует в таблице.

В отличие от летерминантав, ключи всегда являкктся уникальными. Клккч функционально определяет целую строку. Если бы значения ключей дублировались, дублировался бы п весь кортеж. Но это недопустимо, поскольку по определению строки в отношении должны быть уникальными. Таким образом, когда мы говорим, что атрибут (или комбинация атрибутов) является ключом, мы знаем, что этот атрибут или комбинация будут уникальными. Например, если сочетание (НоиерСтудента, Секция) является ключом, то сочетание (100, Лыжи) может появиться в таблице только одни раз.

Чтобы проверить, как вы усвоили эти понятия, попытайтесь объяснить, почему в отношении СЕКЦИЯ (см. рпс. 5.3) НомерСтудента янляется и детерминантам, и ключом, а Секция является только детерминантам, но не ключом. (Имейте в виду, что отношение на рис. 5.3 отражает политику, когда студентам не разрешается одновременно посещать более одной секции.) Нормализация К сожалению, не все отношения одинаково желательны. Таблица, отвечающая минимальному определению отношения, может иметь неэффекптвную пли неподходящую структуру. Для некоторых отношений изменение данных может привести к нежелательным последствиям, называемым аномалиями модификации (шаг(!Бса(1оп апоша!!ев). Аномалии могут быть устранены путем разбиения исходного отношения на два или более новых отношения.

В большинстве случаев переопределенные, или нормализованные, о~ношения являются более предпочтительными. Аномалии модификации Рассмотрим опять отношение СЕКЦИЯ на рис. 5.3. Если мы удалим строку, где записаны данные о студенте с номером 100, мы потеряем не только инфармацию о том, что студент с номером 100 является лыжником, но и тот факт, что абонемент в секцию лыж стоит $200. Это называется аномалией удаления (с(е!ет!оп апота1у)— то есть, удаляя факты, относящиеся к одной сущности (студент с номером 100 является лыжником), мы непроизвольно удаляем факты, относящиеся к другой сущности (плата за абонемент в секцию лыж составляет $200).

Выполнив одну операцию удаления, мы теряем информацию о двух сущностях. На примере того же самого отношения можно продемонстрировать аномалию вставки (шзегБоп апота1у). Предположим, мы хотим записать в базу данных тот факт, что абонемент в секцию подводного плавания стоит $175, однако мы не можем ввести эти данные в отношение СЕКЦИЯ, пока хотя бы один студент не запишется в секцию подводного плавания. Это ограничение выглядит глупо, Почему для того, чтобы указать стоимость абонемента, требуется ждать, когда кто-нибудь запишется н секцикт? Это ограничение называется аномалией вставки. Суть его в том, что мы не можем записать в таблицу некоторый факт об одной сущности, не указав дополнительно некоторый факт о другой сущности.

Отношение в табл. 5.3 может быть использовано в некоторых приложениях, но оно имеет явные проблемы. Мы можем устранить как аномалию удаления, так и аномалию вставки, разделив отношение СЕКЦИЯ на дна отношения, каждое из которых будет содержать информацию на определенную тему. Например, в одно отношение мы поместим атрибуты НоиерСтудента и Секция (назовем это отношение СТУДЕНТ-СЕКЦИЯ), а в другое — атрибуты Секция и Плата (назовем это отношение СЕКЦИЯ-ПЛАТА). Эти два отношения с данными пз нашею примера изображены на рис, 5.5, СЕКЦИЯ-ПЛАТА (Секция, Плата) Ключ: Секция Секция Плата СЕКЦИЯ (НомерСтудента, Секция, Платэ) Ключ: НомерСтудента НомерСтудента Секция Лыжи 200 бо бо Плавание Сквош рио. б.в.

Разбиение отношения СЕКЦИЯ на два отношения Теперь, если мы удалим запись о студенте с номером 100 из таблицы СТУДЕНТ- СЕКЦИЯ, мы уже не потеряем тот факт, что абонемент в секцию лыж стоит $200. Более того, мы можем добавить в таблицу СЕКЦИЯ-ПЛАТА секцию подводного плавания с указанием стоимости абонемента, не дожидаясь, пока кто-либо запишется в эту секцию. Таким образом, аномалии удаления и вставки устранены.

Разбиение одного отношения на два имеет, однако, один недостаток. Предположим, что студент хочет записаться н несугнествуюшую секцию. Например, студент с номером 250 хочет записаться в секцию ракетбола. Мы можем вставить соответствуюгцую строку в отношение СТУДЕНТ-СЕКЦИЯ (строка будет содержать запись (250, Ракетбол)), но следует ли это делать? Стоит ли разрешать студенту записываться н секцию, которая отсутствует в отношении СЕКЦИЯ-ПЛАТА? Другими словами, должна ли система каким-либо образом препятствовать добавлению строк а таблицу СТУДЕНТ-СЕКЦИЯ, если название соответствующей секции отсутствует в таблице СЕКЦИЯ-ПЛАТА? Ответ на этот вопрос содержится в требованиях пользователей. Если такое действие должна быть запрещено, данное ограничение (а это пе что иное, как статья делового регламента) необходимо внести в схему базы данных.

Позже, на стадии реализации, выполнение этого ограничения будет возложено на СУБД, если используемая СУБД предоставляет такую возможность. Если нет, то соблюдение ограничения должно обеспечиваться прикладными программами. Допустим, пользователи указывают, что секции могут существовать и до того, как кто-либо в них запишется, однако студент не может записаться в секцикх для которой не указан размер платы за абонемент (то есть в секцию, данные 174 Глава 5.

Реляционная модель и нормализация Нормализация 175 о которой отсутствуют в таблице СЕКЦИЯ-ПЛАТА). При проектировании базы данных мы можем задокументировать это ограничение любым из следующих способов: «множество значений атрибута Секция в таблице СТУДЕНТ-СЕКЦИЯ является подмножеством множества значений атрибута Секция в таблипе СЕКЦИЯ-ПЛАТА», «СТУДЕНТ-СЕКЦИЯ [Секция] является подмножеством СЕКЦИЯ-ПЛАТА [Секция]» либо «СТУДЕНТ-СЕКЦИЯ [Секция] ~ СЕКЦИЯ-ПЛАТА [Секция]». Квадратные скобки в этой записи обозначают столбец данных, извлекаемый иэ отношения.

Смысл этих выражений в том, что атрибут Секция в отношении СТУДЕНТ-СЕКЦИЯ может принимать только те значения, которые имеет атрибут Секция в отношении СЕКЦИЯ-ПЛАТА. Это означает также, что прежде чем ввести название какой-то секции в отношение СТУДЕНТ-СЕКЦИЯ, мы должны проверить, что такое название уже сушествует в отношении СЕКЦИЯ-ПЛАТА. Ограничения, падобньге этому, называются ограничениями ссылочной целостности (ге(егепт!а! нттейпту сопзтга)птз), или огриннчениями целостности ло внешнему ключу ()птетге]аарон сопзтга1птз). Суть нормализации Анолиалии, присутствующие в отношении на рис.

5,3, можно внтуитивно описать следующим образом; проблемы возникают из-за того, что отношение СЕКЦИЯ содержит факты, относящиеся к двум различным темам. 1. Кто из студентов какую секцию посещает, 2. Какова плата за абонемент в каждой из секций, Когда мы добавляем новую строку, нам приходится добавлять информацию, затрагивающую две различные темы; точно так же, когда мы удаляем строку, мы вынуждены удалять данные, относящиеся сразу к двум темам. Помните, что учительница родного языка и литературы говорила вам, что абзац должен иметь только одну тему? Если абзац содержал более одной темы, вас учили разбивать его на два пли более абзаца таким образом, чтобы каждый из получившихся абзацев содержал ровно одну тему. Аналогичные высказывания справедливы и для отношений.

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

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

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

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