Программирование баз данных MS SQL Server (1084479), страница 6
Текст из файла (страница 6)
П Пользователи. ~3 Пользовательские функции. Обьект базы данных Любая база данных по существу представляет собой объект наиболее высокого уровня, доступ к которому можно получить с помощью какой-либо конкретной СУБД б(11. Яеггег (с формальной точки зрения как объект может также рассматриваться сервер базы данных, но какие-либо практически применимые средства доступа к самому серверу отсутствуют, поэтому в дальнейшем он как объект не рассматривается). Вплывая часть всех прочих объектов ЯО1. Яегтег (но не все) являются дочерними по отношению к объекту базы данных. Основные сведения о базах данных ЯЯг.
Бегчег 31 Рафаботчики, знахамьм с тфедыдущими вфсоями 5ДД 5стост, могут обнафужить, что в тфиведенном выше списке обшитое отсутствуют учетные записц удаленные сфвфы и задачи 5О1. Абепс Дело в там, что в СУБД 591. 5епят действительно имеется нескагько д)тугах типов объектов (ках указано вьгше), хотхт)тые в основном тфеднгпначены для обеспечения функуионгфования самой базы даннь х.
Но за исключением связанных сфвфов, а также, возможно, пакетов 1п~щта~юя 5пптсез, эти объекты в основном отяносятся к сффе деятельности админиптфапвт)та базы данных и поэтому, как п~мыило, не становятся тфедметом значительного внимания в тфоуессе рафаботхи тфопстов тфиложсний и самого тфофаммного обеспечения. Безусловно, для работы с подобными объектами могут пфименяться такие сплуиальные федппва, как интффейс 5МО (5ф. Мападетеп г Од)гоге — объекты уп)тавления 591), но это натфаеление деятельности утофаботчихов является слишком специализи(тованньоя дэя того, чтобы описывать его в кн ге для начинающих. База данных, как правило, представляет собой группу объектов, которая включает по крайней мере набор объектов таблиц, а также чаще всего другие объекты, такие как хранимые процедуры и представления, относящиеся к определенной совокупности данных, которые хранятся в таблицах базы данных.
Таблицы, используемые в приложениях, могут находиться в одной базе данных или распределяться по нескольким базам данных. Причины, по которым может быть принято решение о распределении таблиц по разным базам данных, рассматриваются более подробно ниже в данной книге, но достаточно сказать, что в отдельной базе данных чаще всего имеет смысл хранить данные, относящиеся к какой-то одной прикладной системе или объединенные какими-то общими связями. Любая реляционная СУБД, в том числе 5От.
Бегъег, позволяет обеспечить работу под управлением одного сервера нескольких пользовательских баз данных или поддерживать только одну базу данных. Количество пользовательских баз данных, подключенных к одному экземпляру 5От. Бегтег, зависит от таких факторов, как характеристики компьютерной системы (производительность процессора, ограничения по объему операций ввода-вывода на жестком диске. объем памяти и т.д.), требуемая степень автономности (связанная с предоставлением одному лицу прав на управление сервером, поддерживающим данную систему, а какому-то другому лицу — прав администратора применительно к другому серверу) или просто от того, сколько баз данных требуется для компании или клиента.
На многих серверах эксплуатируется только одна база данных производственного назначения, а на других серверах таких баз данных может быть несколько. Кроме того, следует учитывать, что любая современная версия 5Ю. 5егтег, которую, скорее всего, можно найти в наши дни на производстве, предоставляет возможность эксплуатировать несколько экземпляров 5О) 5егтег (полностью с отдельными учетными записями и правами администрирования) на одном и том же физическом серверном компьютере. Дело в том, что версия 5()1. 5егчег 2000 уже использовалась в течение пяти лет к тому времени, как началась ее замена, поэтому вполне можно предположить, что на большинстве предприятий в настоящее время используется эта или более современная версия.
Любопытно тахже отметить, что на одном и там же компьютфе(тафешается эксплуатиРовать однофененно несхолько(толгичных версий 5Я1. 5гтост, псажем, 5~1. 5еп~ет 2000 и 5~1. 5етост 2005. Сам аетф не рекомендует использовать подобную конфиэу)тауию, даже на том этапе, когда осуществляется пфеход с одной вфсии на д(тугую, но следует учитывать, что такая возможность сущептауети 32 Глава 1 Непосредственно после инсталляции СУБД 59Е 5егчег в состав программного обеспечения СУБД входят следующие системные базы данных: О я>азсег; О кос1е1; О л>зс)Ь; О Сея>рсЬ.
Для того чтобы сервер функционировал должным образом, необходимо инсталлировать все эти базы данных (в действительности эксплуатация сервера без некоторых из этих баз данных вообще невозможна). Кроме указанных баз данных, могут быть также установлены другие базы данных, в зависимости от того, в каких целях была выполнена инсталляция СУБД 5Я) 5егчег. Чаще всего можно встретить примеры применения следующих баз данных: О яс)чепспгеиогкз (образцовая база данных); О Дс1»епепгеиогхзПН (образец базы данных, применяемый в сочетании со службами Апа)уз(з 5егг)сез).
Дополнительно к этим базам данных, которые могут быть установлены в процессе инсталляции системы, в данной книге рассматриваются также образцовые базы данных, относящиеся к более старым версиям, которые перечислены ниже. (Дополнительная информация об инсталляции этих баз данных приведена в приложении Д.) О роЬз. О Ыоггпн1пс1. В ходе консультауии с д)>узами заинтересованными линами по поводу п(>оекто насн>вящей книги автофу п)>ишлось много спо~и ть по поводу того, следует ли подготовить более свежие >фиме)>ы или придефживаться гфове)>енных и надежных >фимефов, подготовленных (запел Безусговно, можно за)>анее >федвидеть, что пфедапавителлм к|фп|фации Мыло>ой не слишком пон(>явится мое )>мление сох)>анить бсиее ста)>ые П>имефьь но я не собираюсь о>фавдываться по этому поводу.
Разумеется, пи|вившаяся в последних ве(>снях база данных АсЫепгигег>огкэ ьфедставлле>п собой ьфил>е(> гофаздо более совефшен ного объекта базы дан и ь х по с(>авнени ю с п(>именя вшим и. ся )занес. К(>оме того, база данных Ас1| еп С ц ге а>ос)с з позволяет >фокллюст(>и(зевать почти любой нюанс и аспект использования вефсии 50> 5е>иег2005. Но с этим связан единсн|венный недостаток — значительном сложность.
База данных Ас1>геп С иге г>ог1сэ, (>а санат(>и воем ах как учебная база данных, ха)>акте~пиуется ч(>езмерной уоюжненностью. В нмз выбраны такие средства, кот|фью, по всей видимости, должны использоваться лишь в исключитезьных случаях, но стали в нм1 ведущими. Я отфосил нескагьких своих д)>узм1, кото)>не занимаются Пгподаваниеи и (или) пишут книги по 5ф. 5е>т>ег, и все они соггасались с моим мнением, чпю базы данных г>огсЛ в~й пс1 и риЬэ, хотя и во многая являются )>сэме)>но упрощеннылщ позволяют относительно легко понять основньм пРин кипы )>аботы в СУБД 5ДЕ 5егоег.
А я номефеваюсь, скофее, дать читапмлю понять основы и помочь доппичь п)>о>фесса, чем ошеломить теми ненужными сложностями, конифые присущи базе данных Ас1»еп С и гег>огкз. Основные сведения о базах данных ЗЯЬ Яегтег 33 База данных шанса База данных маэ ег входит в состав любой СУБД ЗОЬ Яегтег, независимо от версии или специализированной модификации. Эта база данных содержит специальный набор таблиц (системные таблицы), которые позволяют отслеживать функционирование всей системы. Например, при создании на сервере новой базы данных в строку таблицы зузоаеаЬазеэ базы данных ваэеег вводится новая строка. Кроме того, в этой базе данных содержатся все расширенные и системные хранимые процед)ры, независимо от того, для какой базы данных они предназначены.
Итак, очевидно, что в базе данных тазсег хранится почти вся информация, которая описывает конкретную инсталляцию, поэтому она является крайне необходимой для эксплуатации системы н не может быть удалена. Кроме того, в трудную гаинуту могут оказаться чрезвычайно полезными системные таблицы, включая те, что находятся в базе данных таэеег. В частности, системные таблицы позволяют определить, существуют ли конкретные объекты, прежде чем приступать к выполнению операций с этими объектами.
Например, при попытке создать объект, который уже существует в какой-либо конкретной базе данных, возникает ошибка. Таким образом. если требуется создать объект, то можно проверить, существует ли этот обьект, получив соответствующую запись из таблицы эуэоЬзессз, относящейся к рассматриваемой базе данных, и если объект действительно существует, едалить его, а затем создать снова. .
' В приведенной; айше' рекомендации-'по использованию одной из, системных'таьблиц под :разумевалсскь 'что зта системная таблице применявтря только.для чтения,,'твк и следует : всетда'.лбступлать', 'Использбвание системных:таблиц в'-лобрй другой ферме связало, Со значительной опаснбстыр.: Спец)ависты корпорациимсгозой предостерегают,против'нвз : продуманного:примененйя системнйх таблиц (такие йредостере)ввиияс';мсожно' найти в до-' „ „куменуаоиитпо меныяей 'мере трех поахтдннкеерсий:зй, зеМвг), к таму же йет:абсолютно 1 'никакйхтгарантий."а части'совместимости баз данных.валлег, отцосящихсв'к'разным 'вер- - сиям', а в действительности даже гарантируется;, что с выходом каждой веприне базе дан-,': -Нмгк'ИЬВЗКВГ.
ПрОИСХОдят- ИЗМЕНЕНИЯ; ТЕМ:бОЛЕВ:НЕ Сявдует: 'ВНО~ИтЬ В СнотЕМНЫЕ.табпнцЫ ', ; какие-'либо изменения; пос)кольку:в"результате этого гюлностсью нерушаетср 'функциониро-: ' вание сУщ згть; Ве~ж. к.счастью', для вйбсркй основной'части метаданных; хранящихся е' , " 'системных таблицах, может применяться целый ряд другйх способов(йапрймер; основан- : ных нв' 'использовании 'системиых функций, системных-хранимых:процедур й:представле-", Ннй 1ПХОГВЭСАОпГ Вснщяа).