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

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

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

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

В''ИКП)ЗЙМЕЬЙЕЙ)гй:ЙЕт,,'ОСОООГПСК)ЬЮСЛЕ ЕВСЛс'И'.РЕЧЬ",ИДЕТ 'ЛИШЬОСтОМ!'ЧтобЫССЙРЕДССтаь 'вить:,пользейетйла.'седеряимдв Некоторой;тебййцы,6-'дейсувительнсьс) й несбкодимйсть В-,ИСЛОЛЬЗОВаИИИ,'ИДЕИтИфйКЗЕтто))СВ40)0 ВОЕЙИ)СЕЕт'ЛИЩЬ;.В"тОМ'=ШИРОКсО,ИЗВЕСтйби,:.СЛУЧДЕЕ Косейй'СОЗДА(9(Г СРЕДВ баЕЫД~ННЫХ:С) тИРЕ)КИ)ЗУЕМЫМЙ "ИП~И~Н МИЗйасйИЗЫМИ:-'В;ЙедосбйЬСХ:СЛувВЙХ,ЙЙВСВМОжНО:отбой)гдов,66Е;,ПрИМНЕНЕИйпидЗЕИФИФИКатерпкс 60)(З;))ЛЙ,:СНЕЗ)ёйИВСЛЕсраиуйОЗЕ КЛЮЙВ. 218 Глава 6 Таблица может иметь не больше одного первичного ключа. Кроме того, как уже было сказано выше, в базе данных редко встречаются такие таблицы, для которых не требуется первичный ключ.

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

Безусвовно, нередко встречаютсч ситуации, в копизрых многочисленные строки таблицылогически идентичны фуг другу, но это не означает, что вазможность создания пеузвичного ключа для такой таблицы отсутствуеоь В подобнсчх обапоятиаяьствах может быть предусмотрено искусственное создание ключа того или иного типа. Г1одобный подход чаще всего реализуется с использованием столбца идентификации, но в пехота)зых ситуациях в больиий степени оправдано применение идентификаторов СС7((3. Первичный ключ гарантирует уникальность сочетания значений столбцов, объявленных как принадлежащие к этому первичному ключу. Сами эти уникальные значения служат в качестве идентификаторов для каждой строки в таблице. Для создания первичного ключа по существу применяются два способа.

Первичный ключ может быть либо создан с помощью команды СКЕАТЕ ТАВЬЕ во время создания таблицы, либо введен в действие впоследствии с помощью команды АЬТЕК ТАВЬЕ. Создание первичного ключа при создании таблицы Рассмотрим один из операторов СКЕАТЕ ТАВ1,Е, приведенных в предыдущей главе: Читатель уже должен быть хорошо знаком с подобными операторами СКЕАТЕ, а теперь введем в него очень важную часть — ограничение РКХЫАКу КЕу. В качестве первичного ключа обозначим столбец СнясотетМо.

Подробное описание критериев выбора наиболее подходящих первичных ключей приведено в следующей главе, а на данный момент отметим, что решение по выбору столбца снясотетмо может быть обосновано хотя бы тем, что необходимо обеспечить уникальность значений идентификаторов заказчиков в столбце Сняготегно. Подобные системы, в которых для каждого из обслуживаемых заказчиков предусмотрен уникальный идентификатор, эксплуатируются уже много лет, поэтому нет смысла снова изобретать это колесо. СКЕАТЕ ТАВЬЕ Снятопетя ( Снятопетно Снятопетна~е Ас(атеяя1 Ас(агеяя2 Сйту этапа 21Р спптасг.

Рпопе Реа10но Оате1пзуятеп ) Тпт 1ОЕМТ1ТУ чагспаг(30) чагсьат(30) чагспаг(30) чатспат(20) спас(2) чагспаг(10) натопят(25) спас(15) натопят(9) япа11нагег1пе Мот МОЬЬ, мот мпы., МОТ МОЬ1, МОТ МОЬЬ, МОТ МОЬЬ, МОТ МОЬЬ, МОТ МОЬ1, МОТ МОЬЬ, МОТ МОЬЬ, МОТ МОЬЬ, МОТ МОЬЬ Ограничения 219 Чтобы внести корректировку в рассматриваемый оператор СВЕАТЕ ТАВЬЕ для задания в нем ограничения РВТМАВХ КЕХ, достаточно ввести информацию об ограничении сразу после определения столбца (столбцов), который должен войти в состав первичного ключа. В данном случае достаточно задать ключевое слово РВ1Р)АВу КЕу: 1ОЕМТ1ТУ МОТ МОЬЬ Следует отметить, что для проверки этого кода необходимо вначале удалить существующую таблицу с помощью команды ОВОР тАВье спясоветя.

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

Создание первичного ключа на существующей таблице Кроме объявления таблицы с первичным ключом, предусмотрена возможность создания первичного ключа на существутощей таблице. Это — также несложная задача. Рассмотрим, как она решается, на примере таблицы Евр1оуеея: ОЯЕ Ассоипт1пд АЬТЕВ ТАВЬЕ Евр1оуеея АОР СОМЯТВА1МТ РК Евр1оуее10 РВТМАВУ КЕХ (Евр1пуее10) Ниже описано, какие сведения передаются в СУБД Б(1ь в рассматриваемой команде АЬТЕР С) Указание на то, что должно быть сделано дополнение к определению таблицы (при желании можно было бы также исключить какую-то часть существующего определения таблицы). С) Уточнение дополняемой части определения (согласно которому вводится о1раничение).

С) Имя, предусмотренное для ограничения (которое позволит в дальнейшем непосредственно обращаться к ограничению). С) Тип ограничения (РВ1)(АВХ КЕХ). С) Столбец (столбцы), на который распространяется ограничение. СВЕАТЕ ТАВЬЕ Спятоветя Спятоветно 1пт РР1МАРУ КЕХ, СпятоветМаве чатсьат(30) АсЫтеяя1 чагспаг(30) Ас(птеяя2 чятсьат(30) Стту чатсьат(20) Ятате сьят (2) 2ьр чатсьат(10) Соптаст чатсьат(25) Рьопе пьат(15) Рет(1ОМо чатсьат(9) Рате1пЯуятев ява11пятет1ве МОТ МОЬЬ, МОТ МОХЬ, МОТ МОЬЬ, МОТ МОЬЬ, МОТ МОЬЬ, МОТ МОЬЬ, МОТ МОЬЬ, МОТ МОЬЬ, МОТ МОЬ(, МОТ МОЬЬ 220 Глава 6 Ограничения говжпж кжт Внешние ключи не только обеспечивают целостность данных, но и создают связи между таблицами.

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

В пргдыдугцем пРедлоясеяии сгова "шиеть значение Ровное МОЬЬ ", указывают на то, что фактическии должен содержсояь опе)гатоР 1МЯЕВ Т, п)псменяемый к ссылаюгцгв1ся таблице. Как оудет васоре описано, в действительности зти данные после ввода в таолицу могут выглядеть немного иначе, в зависимотяи от того, какие опции заданы в оогявлении ЕОВЕХОТУ КЕУ. Создадим в базе данных Ассоппс1пд еще одну таблицу и назовем ее Огбегз. В приведенном ниже сценарии с оператором СРЕАТЕ заслуживает внимания то, что в таблицах предусмотрено применение и первичного, и внешнего ключа. Из дальнейшего описания рассматриваемого проекта станет ясно, что существенно важной частью объявления одной из таблиц является спецификация первичного ключа. С другой стороны, объявление внешнего ключа, который задается на таблице в этом сценарии, почти полностью совпадает с объявлением первичного ключа, не считая того, что в этом объявлении указана таблица, на которую ссылается внешний ключ.

Синтаксическая структура объявления внешнего ключа предусматривает необходимость указания столбца или столбцов, на которые распространяется ограничение ЕОВЕХОМ КЕУ, и выглядит примерно таким образом: <со1пвп паве> <баса туре> <пп11аЬ111ьу> РОВЕТЯМ КЕу ВЕРЕКЕМСЕЯ <Ьаь1е паве>(<со1пвп паве>) [ОМ ОЕЬЕТЕ (САЯСАОЕ)МО АСТ1ОМ(ЯЕТ МОЬЬ(ЯЕТ ОЕРАОЬТ)) (ОМ ОРОАТЕ (САЯСАОЕ)МО АСТТОМ)ЯЕТ МОЬЬ(ЯЕТ ОЕРАОЬТ)) Создание таблицы с внешним ключом При выполнении этого задания не предусмотрено использование конструкции ОМ.

Таким образом, применительно к таблице Огбегз может быть подготовлен сценарий, который выглядит, как показано ниже. ОЯЕ Ассоппь1пц СВЕАТЕ ТАВЬЕ Осбесз ( Осбес1О Ьпь 1ОЕМТХТТ МОТ МПЬЬ РК1МАВУ КЕУ, Спзссвегно Тпь МОТ МОЬЬ РОВЕ1ОМ КЕу ВЕРЕКЕМСЕЯ Спзсовесо(спзсовегно), Осбегоаье зва11баьеь1ве МОТ МОЬЬ, Евр1оуее10 Тпс МОТ МОЬЬ ) Ограничения 221 Следует учитывать, что столбец, на который фактически ссылается внешний ключ, должен иметь определенное на нем ограничение РК1МАК1 КЕ1 или УЫ1ЯОЕ (ограничения УМ1ЯОЕ описаны ниже в данной главе).

Следует также отметить, что на одном и том же апаабце могут быть заданы одновРеменно и пеРвичный, и внешний ключ. 1УРимеР такого пРмменения ключго1 можно видеть в таблице Огрех вега11з базы данных НогСЛндпд. В втой таблице пеРвичный ключ состоит из еталбцов Огс1ег10 и Ргог)ос С 1Р, а на обоих этих столбцах заданы также внпание ключи, хопгоРые ссылаются соответственно на таблицы Огс1егз и Ргос1пс С з. В настоящей главе также будет фактически создана табгица, имеющая столбец, на кот<фон заданы одновременно и первичный и внеганий ключ. Описание полученньзл результатов После успешного применения приведенного выше кода вызовите на выполнение процедуру зр пе1р. После этого должно быть обнаружено, что в разделе сопзгга1пгэ тех результатов, которые получены с помощью процедуры зр Пе1р, будет содержаться информация о новом ограничении.

Кроме того, для получения еще более подробных сведений об имеющихся ограничениях можно вызвать на выполнение процедуру эр Ье1рсопзггайпС, которая также имеет простой синтаксис ЕХЕС ар Ье1рсопзггаьпь <СаЫе паве> После применения процедуры зр Пе1рсопзггайпг к вновь созданной таблице Огдегэ будет получена информация, позволяющая узнать имена, условия и состояние всех ограничений, заданных на этой таблице.

Очевидно, что на данном этапе таблица Огдегз имеет одно ограничение ГОКЕ16н КЕУ и одно ограничение РК1МАКУ КЕ1. Итак, определение внешнего ключа было задано непосредственно в объявлении таблицы. Таким образом, после создания этой таблицы внешний ключ становится ее неотъемлемой частью.

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

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

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

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