Программирование баз данных MS SQL Server (1084479), страница 43
Текст из файла (страница 43)
Параметр Н1ТН РВ СНА1ИТИО ОИ(ОГГ определяет, должны ли поддерживаться такие цепочки владельцев, которые пересекают границы между базами данных (когда объект пользователя А находится в базе данных ОВ1, а зависящий от него объект пользователя  — в базе данных ОВ2). Если этот параметр имеет значение ОИ, то цепочки владельцев, охватывающие несколько баз данных, становятся применимыми, а если задано значение ОГГ, то такие цепочки не поддерживаются. Следует избегать создания цепочек владельцев как настоящего бедствия; для базы данных они и являются настоящим бедствием! ключевое слово тжузтауоктнт Ключевое слово ТНОБТНОВТНТ представляет собой новое средство, которое позволяет ввести дополнительный уровень защиты доступа к системным ресурсам и файлам вне контекста СУБД З(1Е Зегвег.
Например, предположим, что эксплуатируется какая-либо сборка (авветЫу) .)ч'ЕТ, в которой применяются операции доступа к файлам в сети. В таком случае необходимо обозначить базу данных, к которой относится эта сборка, как принадлежащую к категории тгпвьиогсМу (Заслуживающая доверия).
По умолчанию этому параметру по соображениям защиты присвоено значение ОГГ. Прежде чем задать для него значение ОМ, необходимо полностью разобраться в том, что вы делаете и в каких целях. Создание базы данных После этой предварительной подготовки мы можем приступить к созданию базы данных. Ниже приведен оператор, предназначенный для создания базы данных, но, как уже было сказано, сама база данных — это только один из многих объектов, которые должны быть созданы для того, чтобы база данных стала полностью работоспособной.
СЭЕАТЕ РАТАВАЯЕ Ассоппв1пч ОН (МАМЕ = 'Ассоопв1по', Г1ЬЕНАМЕ = 'с:1Ргодгат Г11ев1М1сговоТГ ЯВЬ Яегчег1МЯЯОЬ.11кввЧ11бава1 Ассоппс1пЧОава.ног', Б12Е = 10, МАХБТЕЕ = 50, ГТЬЕОКОИТН = 5) ЬОО ОН (МАМЕ = 'Аосоппв1пчьоя', Г1ЬЕНАМЕ = 'о:1Ргодган Г11ев1М1сговогг ЯОЬ Бегчег1МЯЯОЬ.11тввЧ11с(ага1 Ассоппс1пдьоо.1г(Т', 512Е = 5МВ, МАХЯ12Е = 25МВ, Г1ЬЕОНОИТН = 5МВ) 174 Глава 5 Начиная с этого момента мы можем также приступить к изучению некоторых вспомогательных программ, позволяющих получить более подробную информацию о базе данных, которые входят в состав программного обеспечения СУБД 801.
Яегчег. В главе 4 показан пример использования утилиты зр Ье1р, но в данном случае попытаемся применить команду яр Ье1рбЬ. Утилита зр Ье1рбЬ специально предназначена для получения информации о структуре базы данных и часто предоставляет намного больший объем сведений по сравнению с другими утилитами, если требуется скорее узнать о характеристиках самой базы данных, чем о содержащихся в ней объектах. Утилита яр Ье1рбЬ принимает один параметр — имя базы данных: ЕХЕС яр Ье1рбЬ 'Ассоппп1па' В результате выполнения этой команды фактически формируются два результирующих набора.
Первый из них, как показано в табл. 5.1, содержит информацию. объединяющую сведения не только о данных, хранящихся в базе данных, но и о ее журналах. Таблица 5.1. Информация о данных и журналах базы данных соаЕяае1- ьшьу 1ече1 бь в1ве оапек бь1б сгееьеб всяк~за Ассоопозпч 15.00 ПВ яа 9 Мау 28 2005 90 зсапоя=ОНЫКЕ, ОрбаоеаЫ11СТ=ЕЕАО ПЕПЕ, ОяегАссеяя=МОЬТ1 ОБЕР,, Аесочегу=РОЬЬ, Чегя1оп 598, Со11аозоп=зОЬ Ьаг1п1 Оепега1 СРЬ С1 Аз, ЕОЬзогоогбег=52, 1ялососгеасезсасуяс1ся, 1яаосозрбапезгаг1ягзся, 1ягп11ТехСЕпаыеб Приведенные в ягабе. 5.1 данные относятсв к опредезенному козспьютмру, а на другом компьютеРе могут быть получены другие данные.
Например, значение 11В1Р зависит от того, сколько баз данных хранится на компьюве~ж и в какт1 посгедоватеаьности зти базы данных были созданы. А состав сообгуений о статусе (з С а Сиз) зависит от того, какие опуии сфвеУ~а были заданы во время создания баз даннь х, а также от того, какие опуии базы данных были измекены в проуессе ее зксплуатауии. Следует отметить, что свойство бЬ я1хе представляет собой суммарнуго величину, объединяющую в себе размер базы данных и размер журнала. Второй результирующий набор, пример которого приведен в табл.
5.2, содержит конкретные сведения о различных файлах, из которых состоит база данных, включая их текущие размеры и параметры, от которых зависит увеличение размеров. После создания таблиц и вставки данных размеры базы данных начинают увеличиваться автоматически по мере необходимости. Создание и модификация таблиц 175 Таблица 5.2.
Информация о файлах базы данных ШеШесб Гг1епаве всве вахвгве двоясь евое егопр С:(Ргодгвв Р11вв( М1сговосг ВОЬ Зегнег(вввЧ1)бага( АссоппСгпдэаСа.пгн Ассоип<1пч 10240 КВ 51200 КВ 5120 КВ бага оп1у РВ1МАВУ С:(Ргочгав Г11ев( м1тговогс 50ь Зеггег(вввЧ1(бага( Ассоипгспчьо0.101 Ассоипг1пчьоч 2 5120 КВ 25600 КВ 5120 КВ 1оч оп1у НВЬЬ Оператор свжлтж тлвы Первая часть оператора создания таблицы во многом напоминает по своей структуре оператор создания любого объекта, приведенный выше в данной главе. Рассмотрим еще раз общую структуру оператора создания объекта: сВВАте <оЬ)ест туре> <оьзесс паве> Поскольку в данном разделе речь идет о создании таблиц, то указанная структура может быть уточнена следующим образом: СВЕАТЕ ТАВЬЕ Спвговегв СВЕАТЕ ТАВЬЕ [баСаЬаве паве.[оэпег).)гав1е паве (<со1пвп паве> <бага Туре> ([ОеГАОьт <сопвтапс ехргеввгоп>) ([1ОЕМТ1ТУ [(вееб, гпсгевепТ) [НОТ ГОВ ВЕРЫСАТ1ОМ]]]] [ВОНООХОСОЬ] [соььате <со11асгоп паве>) [МОЬЬ(МОТ НОЬЬ) [<со1пвп сопвггагпгв>] )[со1пвп паве АБ соврпгеб со1пвп ехргеввгоп] ([<СаЬ1е сопввгагпС>) [, ...и) ) [ОМ (<Г11еогопр>)ОЕГАОЬТ)] [ТЕХТ1МАОЕ ОМ (<111едгопр>)ОЕГАОЬТ)) Вполне очевидно, что синтаксис этого оператора является довольно сложным, несмотря на то, что ради упрощения в этом определении исключены некоторые разделы.
Как обычно, рассмотрим составные части синтаксического определения последовательно, начиная со второй строки (описание первой строки уже было приведено). Тем не менее при использовании оператора СВЕАТЕ ОАТАВАЯЕ можно было действительно ограничиться только подобными первыми тремя ключевыми словами, в результате чего была бы создана база данных, соответствующая тем параметрам, применяемым по умолчанию, которые определены в базе данных вобе1. Но применительно к таблицам подобный образец отсутствует, поэтому необходимо задать все подробные сведения, касающиеся состава столбцов, применяемых в таблице типов данных и специальных операций. В связи с этим рассмотрим более подробную синтаксическую структуру оператора создания таблицьс 176 Глава 5 Имена таблиц и столбцов Следует отметить, что от выбора имен объектов зависит очень многое.
Об этом уже шла речь в главе 2 и было сказано, что мы еще будем возвращаться к этому вопросу в настоящей книге. Вообще говоря, для именования таблиц и столбцов применяются такие же правила, которые относятся ко всем другим объектам базы данных. В документации СУБД БО) Бегкег они именуются правилами выбора идентификаторов, а в данной книге речь о них шла в конце главы 1. Эти правила именования объектов довольно просты, но в данном разделе основное внимание уделено не описанию принципов, используемых в СУБД ЯО(. Яеггег для определения того, какие имена являются допустимыми и недопустимыми, а вопросам такого выбора имен таблиц и столбцов, чтобы они были удобными и имели смысл. На практике разработано бесчисленное количество различных "стандартов", касающихся того, как следует именовать объекты базы данных, особенно таблицы и столбцы. Ниже приведены довольно простые правила, рекомендуемые автором.
О В каждом слове, которое входит в состав имени, перевести в верхний регистр первую букву и использовать нижний регистр для написания остальных букв. П Выбирать короткие имена, которые вместе с тем имеют достаточную длину для того, чтобы можно легко понять их назначение. (з Ограничить использование аббревиатур. Единственный приемлемый способ использования аббревиатур состоит в том, чтобы выбранные аббревиатуры мог распознать любой пользователь.
В качестве примеров аббревиатур, используемых автором, достаточно привести "10" (сокращение от Ыепййсабоп — идентификация или идентификатор), "Хо" (сокращение от пшпЬег — количество) и "Огя" (сокращение от огяап!габон — организация). Иногда в связи с необходимостью лимитирования длины имен приходится широко пользоваться аббревиатурами, но следует всегда учитывать, что первым и наиболее важным требованием к именам всегда остается то, что они должны быть понятными и запоминающимися. (1 При создании таблиц, предназначенных для обеспечения связи между другими таблицами (и обычно называемых соединительными, или ассоциативными, таблицами), необходимо включить в имя новой таблицы имена всех родительских таблиц. Например, предположим, что имеется база кинематографических данных, в которой хранятся данные о звездах кинематографа и фильмах, в которых они снимались.
Между фамилиями звезд и названиями фильмов имеется связь "многие ко многим". Поэтому для оформления связи между таблицами мочьеэ и ясака применяется отдельная таблица, которая должна иметь имя моч1еБсагз. (3 Если имя объекта базы данных должно состоять из двух и более слов, не следует вводить между словами какие-либо разделители (все слова должны записываться слитно). Для распознавания границ между словами достаточно воспользоваться тем фактом, что первая буква каждого слова является прописной, а остальные буквы — строчными.