Тема_3 (1122336), страница 2

Файл №1122336 Тема_3 (Презентации лекций С.Д. Кузнецова PDF) 2 страницаТема_3 (1122336) страница 22019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Кузнецов. Базы данных.18 Реляционная моделБазовые понятия реляционных базданных (15) Первичный ключ (1)По определению, первичным ключом переменной отношенияявляется подмножество S множества атрибутов ее заголовкатакое, что в любой момент времени значение первичного ключа(составное, если в состав первичного ключа входит болееодного атрибута)в любом кортеже тела отношения отличается от значенияпервичного ключа в любом другом кортеже тела этогоотношения, а никакое собственное подмножество S этим свойством необладаетПозже мы покажем, что существование первичного ключа улюбого значения отношения является следствием одного изфундаментальных свойств отношений, а именно, того свойства,что тело отношения является множеством кортежей25.09.2009С.Д.

Кузнецов. Базы данных.19 Реляционная моделБазовые понятия реляционных базданных (16) Первичный ключ (2)Обычным житейским представлением отношения являетсятаблица, заголовком которой является схема отношения, астроками – кортежи отношения-экземпляра; в этом случаеимена атрибутов именуют столбцы этой таблицыПоэтому иногда говорят про «столбцы таблицы», имея ввиду «атрибуты отношения».Это достаточно грубая терминология, поскольку у обычныхтаблиц и строки, и столбцы упорядочены, тогда как атрибутыи кортежи отношений являются элементаминеупорядоченных множествЭтой терминологии придерживаются в большинствекоммерческих реляционных СУБДИногда также используются термины файл как аналогтаблицы, запись как аналог строки и поле как аналог столбца25.09.2009С.Д.

Кузнецов. Базы данных.20 Реляционная моделФундаментальные свойства отношений (1)Отсутствие кортежей-дубликатов (1)То свойство, что тело любого отношения никогда несодержит кортежей-дубликатов, следует из определениятела отношения как множества кортежей В классической теории множеств по определению любоемножество состоит из различных элементовИменно из этого свойства вытекает наличие у каждогозначения отношения первичного ключа – минимальногоподмножества заголовка данного отношения, составноезначение которого уникально определяет кортеж отношенияДействительно, поскольку в любое время все кортежи телалюбого отношения различны, у любого значения отношениясвойством уникальности обладает, по крайней мере, полныйнабор его атрибутов25.09.2009С.Д.

Кузнецов. Базы данных.21 Реляционная моделФундаментальные свойства отношений (2)Отсутствие кортежей-дубликатов (2)Однако в формальном определении первичного ключатребуется обеспечение его «минимальности», т.е. в наборатрибутов первичного ключа не должны входить такиеатрибуты, которые можно отбросить без ущерба дляосновного свойства – однозначного определения кортежаНемного позже мы покажем, почему свойствоминимальности первичного ключа является критическиважнымПонятно, что если у любого отношения существует наборатрибутов, обладающий свойством уникальности, тосуществует и минимальный набор атрибутов, обладающийсвойством уникальности25.09.2009С.Д.

Кузнецов. Базы данных.22 Реляционная моделФундаментальные свойства отношений (3)Отсутствие кортежей-дубликатов (3)Конечно, могут существовать значения отношения снесколькими несовпадающими минимальными наборамиатрибутов, обладающими свойствами уникальностиНапример, если вернуться к предположениям темы 1 обуникальности значений атрибутов СЛУ_НОМЕР и СЛУ_ИМЯотношения СЛУЖАЩИЕ, то для каждого значения этогоотношения мы имеем два множества атрибутов,претендующих на звание первичного ключа – {СЛУ_НОМЕР}и {СЛУ_ИМЯ}В этом случае проектировщик базы данных должен решить,какое из альтернативных множеств атрибутов назватьпервичным ключом, а остальные минимальные наборыатрибутов, обладающие свойством уникальности,называются возможными ключами25.09.2009С.Д.

Кузнецов. Базы данных.23 Реляционная моделФундаментальные свойства отношений (4)Отсутствие кортежей-дубликатов (4)Понятие первичного ключа является исключительно важнымв связи с понятием целостности баз данныхЗаметим, что хотя формально существование первичногоключа значения отношения является следствием того, чтотело отношения – это множество, на практике первичные (ивозможные) ключи переменных отношений появляются врезультате явных указаний проектировщика отношенияОпределяя переменную отношения, проектировщикмоделирует часть предметной области, данные из которойбудет в будущем содержать база данныхИ конечно, проектировщик должен знать природу этихданных25.09.2009С.Д. Кузнецов.

Базы данных.24 Реляционная моделФундаментальные свойства отношений (5)Отсутствие кортежей-дубликатов (5)Например, ему должно быть известно, что никакие дваслужащих ни в какой времени не могут иметь удостоверениес одним и тем же номеромПоэтому он может (и даже должен, как будет показано ниже)явно объявить {СЛУ_НОМЕР} возможным ключомЕсли на предприятии установлено, что у всех сотрудниковдолжны быть разные полные имена, то проектировщикможет (и опять же должен) объявить возможным ключом и{СЛУ_ИМЯ}Потом проектировщик должен оценить, какой из возможныхключей является более надежным (свойство егоуникальности никогда не будет отменено), и выбратьнаиболее надежный возможный ключ в качестве первичного25.09.2009С.Д. Кузнецов. Базы данных.25 Реляционная моделФундаментальные свойства отношений (6)Отсутствие кортежей-дубликатов (6)Теперь поясним, почему проектировщику следует явно объявлятьпервичный и возможные ключи переменных отношенийДело в том, в результате этого объявления СУБД получаетинформацию, которая в дальнейшем будет использоваться какограничение целостностиСУБД никогда не допустит появления в переменной отношениязначения-отношения, содержащего два кортежа с одинаковымзначением атрибута СЛУ_НОМЕРопределение первичного ключа для данной переменной отношениянельзя отменитьПоявление двух кортежей с одинаковым значением атрибутаСЛУ_ИМЯ будет также невозможно до тех пор, пока остается в силеопределение {СЛУ_ИМЯ} как возможного ключаТем самым, объявления первичного и возможных ключей дают СУБДвозможность поддерживать целостность базы данных при попыткахзанесения в нее некорректных данных25.09.2009С.Д.

Кузнецов. Базы данных.26 Реляционная моделФундаментальные свойства отношений (7)Отсутствие кортежей-дубликатов (7)Наконец, вернемся к свойству минимальности первичного (ивозможных ключей)Это свойство является критически важным, и важность проявляетсяименно при трактовке первичного и возможных ключей как ограниченийцелостностиК примеру, в нашем примере с отношением СЛУЖАЩИЕ свойствомуникальности будет обладать не только множество атрибутов{СЛУ_НОМЕР}, но и, например, множество {СЛУ_НОМЕР,СЛУ_ОТД_НОМЕР}Но если бы мы выставили в качестве ограничения целостноститребование уникальности {СЛУ_НОМЕР, СЛУ_ОТД_НОМЕР}, то СУБДгарантировала бы отсутствие кортежей с одинаковым значениематрибута СЛУ_НОМЕР не во всем значении отношения СЛУЖАЩИЕ, атолько в группах кортежей с одним и тем же значением атрибутаСЛУ_ОТД_НОМЕРПонятно, что это не соответствует смыслу моделируемой предметнойобласти25.09.2009С.Д.

Кузнецов. Базы данных.27 Реляционная моделФундаментальные свойства отношений (8)Отсутствие упорядоченности кортежей (1)Формально свойство отсутствия упорядоченности кортежей взначении отношения также является следствием определения телаотношения как множества кортежейОднако на это свойство можно взглянуть и с другой стороны Да, то свойство, что тело отношения является множествомкортежей, облегчает построение полного механизмареляционной модели данных, включая базовые средстваманипулирования данными – реляционные алгебру иисчисление Но основная причина не в этомМожно было бы разработать другую теорию, в которой допускалисьбы упорядоченные «отношения»Однако хранить упорядоченные списки кортежей в условияхинтенсивно обновляемой базы данных гораздо сложнеетехнически, а поддержка упорядоченности вызывает серьезныенакладные расходы25.09.2009С.Д.

Кузнецов. Базы данных.28 Реляционная моделФундаментальные свойства отношений (9)Отсутствие упорядоченности кортежей (2)Отсутствие требования к поддержанию порядка намножестве кортежей отношения придает СУБДдополнительную гибкость при хранении баз данных вовнешней памяти и при выполнении запросов к базе данныхЭто не противоречит тому, что при формулировании запросак БД, например, на языке SQL можно потребоватьсортировку результирующей таблицы в соответствии созначениями некоторых столбцовТакой результат, вообще говоря, является не отношением, анекоторым упорядоченным списком кортежей, и он можетбыть только окончательным результатом, к которому уженельзя адресовать запросы25.09.2009С.Д.

Кузнецов. Базы данных.29 Реляционная моделФундаментальные свойства отношений (10)Отсутствие упорядоченности атрибутов (1)Атрибуты отношений не упорядочены, поскольку поопределению заголовок отношения есть множество пар<имя_атрибута, имя_типа_или_домена>Для ссылки на значение атрибута в кортеже отношениявсегда используется имя атрибутаЛегко заметить явную аналогию между заголовкамиотношений и структурными типами в языкахпрограммированияДаже в языке программирования C с его практическинеограниченными возможностями работы с указателяминастойчиво рекомендуется обращаться к полям структуртолько по их именам.25.09.2009С.Д.

Кузнецов. Базы данных.30 Реляционная моделФундаментальные свойства отношений (11)Отсутствие упорядоченности атрибутов (2)Если, например, на языке C определена структурная переменнаяSTRUCT {integer a; char b; integer c} d;то в стандарте языка решительно не рекомендуется использоватьдля доступу к символьному полю b конструкцию *(&d +sizeof(integer))Это объясняется тем, что при реальном расположении в памятиполей этой структурной переменной в том порядке, как ониопределены, во многих компьютерах потребуется выровнять поле cпо байту с четным адресомПоэтому один байт просто пропадетПри расположении структурной переменной в памяти экономныйкомпилятор (вернее, оптимизатор) переставит местами поля b и c,и указанная выше конструкция не обеспечит доступа к полю bДля корректного обращения к полю b переменной d нужноиспользовать конструкции d.b или &d → b, т.е.

явно указывать имяполя25.09.2009С.Д. Кузнецов. Базы данных.31 Реляционная моделФундаментальные свойства отношений (12)Отсутствие упорядоченности атрибутов (3)Аналогичными практическими соображениямиоправдывается и отсутствие упорядоченности атрибутов взаголовке отношенияВ этом случае СУБД сама принимает решение о том, в какомфизическом порядке следует хранить значения атрибутовкортежей (хотя обычно один и тот же физический порядокподдерживается для всех кортежей каждого отношения)Кроме того, это свойство облегчает выполнение операциимодификации схем существующих отношений не толькопутем добавления новых атрибутов, но и путем удалениясуществующих атрибутов25.09.2009С.Д.

Кузнецов. Базы данных.32 Реляционная моделФундаментальные свойства отношений (13)Первая нормальная форма (1)Эдгар Кодд справедливо утверждал, что для моделированиябольшинства предметных областей можно обойтисьотношениями, атрибуты которых определены на простыхдоменах, элементы которых являются атомарными, недекомпозируемымиОн, в частности, говорил следующее:«Отношение, все домены которого являются простыми,может быть представлено двухмерным массивом … соднородными столбцами. Для отношения с одним или болеенепростыми доменами требуются несколько более сложныеструктуры данных.»Более того, он предлагал простую процедуру нормализации,приводящую отношение, значениями одного из атрибутовкоторых являются отношения, к нескольким отношениям надпростыми доменами25.09.2009С.Д.

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

Тип файла
PDF-файл
Размер
360,36 Kb
Тип материала
Предмет
Высшее учебное заведение

Список файлов лекций

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