Главная » Просмотр файлов » Программирование баз данных MS SQL Server

Программирование баз данных MS SQL Server (1084479), страница 71

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

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

Кроме вопросов нормализации, в этой главе рассматриваются основные характеристики баз данных ОЕТР и О1.АР. Следует отметить, что в нормализованной базе данных ограничения имеют свою специфику, поэтому в завершение главы будет приведен ряд примеров применения таких ограничений. 278 Глава 8 По-видимому, настоящая глава является наиболее сложит! для понимания по сравнению со всеми другими главами книги, поскольку п(зи описании представленных в нгег теи пРиходится сталкиваться с противо)гением. Дело в том, что некоторые кониепглии, используемые в этой главе, относятся к тематике, кото)зоя будет йассчатривотьсп позже, такой как тригге)зы и хранимые пузокедурьс С другой спо)юньь к изучению указанных тем сложно пе)зейти, не досгпигнув понимания того, какую Раль они иг)зают в п)зоектифовании базы данных.

Авто)з настоятельно рекозмндует после п(зачтения данной главы еще фаз ве)гнуться к ней позже, усвоив мате)знал нескольких последующих глав. Таблицы Прежде всего необходимо рассмотреть формальное определение понятия таблицы, поскольку таблица — это наиболее важный объект любой базы данных. Таблица — это коллекция экземпляров данных, имеющих несколько общих атрибутов и сгруппированных по строкам и столбцам. Еще одна трактовка понятия таблицы состоит в том, что таблица представляет собой совокупность практически значимых данных (такие объекты данных именуются сущностями), которые объединены связями с информацией, находящейся в других таблицах.

Изображение различных сущностей (экземпляров данных) и связей (родительско-дочерних зависимостей между экземплярами данных) обычно называют диаграммами "сущность-связь" (или ЕК-диаграммами). Иногда вместо термина "ЕК-диаграмма" применяется сокращенное обозначение ЕВ0 (ЕК ИаВгаш). Связи позволяют переходить от одной таблицы к другой и формировать новые (обычно временные) таблицы из двух или нескольких таблиц, соединенных связями (некоторые сведения по этой теме уже были приведены в главах 4 и 5). А вся коллекция взаимосвязанных сущностей рассматривается как база данных.

Нормализация данных Нормализация представляет собой основу проектирования современных баз данных ОЕТР. Понятие нормализации было сформулировано на основе определения реляционной базы данных. Оба эти понятия были впервые предложены в 19б9 году в статье Э.Ф. Кодда (Е.Е Сос(б), сотрудника компании 1ВМ. Кодд сформулировал определение базы данных как объекта, "состоящего из совокупности неупорядоченных таблиц, к которым могут применяться непроцедурные операции, возвращающие таблицы". Из этого определения базы данных следует несколько важных выводов.

!д Порядок строк в таблицах не имеет значения. ~2 Должна быть предусмотрена возможность применять к таблицам реляционные операции (в своей работе Кодд называл таблицы "отношениями" — ге!аг!оп). ьз Применение реляционных операций к таблицам должно обеспечивать возможность создания виртуальных таблиц, соответствующих предъявленным требованиям.

Дальнейшее развитие предложенного подхода к рассмотрению базы данных как состоящей из отношений привело к становлению понятия нормализации. Нормализация н другие важные проблемы проектирования 279 Н фмолизация относится к числу наиболее часто упоминаемых и вместе с тем нвтфовилъно т(зактуемых понятий в пфофаммифовании. Каждый Роэ)габотчик программного обеспечения баз данных считает себя полностью освоившим п(пгнципы но)гмализации, п(остом что дмсствительно многие (зозбираются в этом вотфосе, по х(гайней эмре теоретически. Но, к сожалению, часто на этом так все и заканчивается. Изучение основных методов нофмолизации становится для нвкотофых тфоехтсфовгуиков лишь показателем того, что они "дмх ппвителъно" могут претендовать на звание а)гхитехто~а базы данных. Однако подобные спеуиалисты тазько упоминают нсфмолъные фсфмы в своик устных заявлениях, но не исполъзуютп на тфак тике.

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

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

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

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

Понятие нормализации полностью основано на определении самого первичного ключа и столбцов, входящих в состав первичного ключа. Поэтому применительно к нормализации часто приходится слышать следующую краткую формулировку: Основой но~мализауии являются ключи, только ключи и ничего х(томе хлючмс. Иногда встречается также забавное дополнение к этой формуле; 280 Глава 8 Основой н<фмализации являются ключи, только ключи и ничего к)золе ключтс, да поможет мне Кодд!' В этом и заключается предельно краткая сводка рекомендаций по проведению нормализации до третьей нормальной формы.

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

Мало того, каждая таблица, подлежащая преобразованию в первую нормальную форму, должна соответствовать перечисленным ниже требованиям, поскольку в противном случае ее нельзя будет рассматривать как компонент реляционной базы данных, в полной степени соответствующий определению сущности. [2 Таблица должна представлять одну и только одну сущность (не допускается никаких попыток удаления части атрибутов одной сущности и добавления атрибутов другой сущности). Все строки должны быть уникальными, и на таблице должен быть задан первичный ключ. (3 Порядок расположения столбцов и строк не должен иметь значения. Таким образом, необходимо прежде всего правильно определить сущности. Применительно к некоторым из них решение указанной задачи становится довольно несложным, а другие сущности требуют для своего распознавания гораздо больше усилий.

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

Еще раз рассмотрим чрезвычайно простую модель, о которой уже шла речь в данной книге, — модель системы сбыта. Прежде всего следует отметить, что в рассматриваемом примере нас не интересуют все возможные нюансы организации данных и не играет даже никакой роли вопрос о том, какие столбцы должны быть предусмотрены в таблице. Важно лишь определить, как должны быть выделены основные сущности, применяемые в системе. На первом этапе необходимо определить, что лежит в основе процесса обработки данных. А в конечном итоге должно быть создано по одной сущности в расчете на каждую элементарную единицу представления данных, применимую для представления требуемых данных в процессе обработки. Применительно к системе сбыта про- Игра слов — СосЫ и Сось — Примеч. пер.

Нормализация и другие важные проблемы проектирования 281 цесс обработки данных начинается с того, что заказчик звонит или приходит лично, после чего обращается к служащему, который принимает заказ (а после оплаты заказа выписывает счет-фактуру). Таким образом, при проведении первой итерации процедуры нормализации может быть выявлена одна сущность — заказ (обозначим сущность, представляющую заказы, как Огс1егя).

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

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

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

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

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