ref-14882 (SQL Server 2000), страница 18

2016-07-31СтудИзба

Описание файла

Документ из архива "SQL Server 2000", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "ref-14882"

Текст 18 страницы из документа "ref-14882"

(2 row(s) affected)

Описание групп файлов, созданных в базе данных, хранится в системной таблице sysfilegroups. Каждая строка этой таблицы соответствует одной группе. Структура этой таблицы приведена в табл.

Таблица. Структура таблицы sysfilegroups

Имя столбца

Тип данных

Назначение

GroupID Allocpolicy Status Groupname

Smallint Smallint Ins Sysname

Идентификационный номер группы файлов Зарезервировано Текущий статус группы: 0x8— READONLY, 0x10 — Имя группы файлов

DEFAULT

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

SELECT * FROM sysfilegroups

Будет возвращен примерно следующий результат:

groupld allocpolicy status groupname

1 0 16 PRIMARY
(1 row(s) affected)

Удаление базы данных

Для удаления базы данных используется следующая команда: DROP DATABASE databasejiame [,...n]

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

Например, для удаления баз данных Pubs и Northwind нужно выполнить следующую команду: DROP DATABASE Pubs. Northwind

Управление пользовательскими типами данных

В главе 5 в разделе «Типы данных» были рассмотрены встроенные в SQL Ser­ver 2000 типы данных. Эти типы данных всегда имеются в распоряжении пользо­вателей и могут быть использованы для столбцов таблиц, представлений, пере­менных и т. д. Однако помимо встроенных типов данных пользователи могут на их основе создавать свои собственные типы данных — так называемые пользо­вательские типы данных.

Пользовательские типы данных (user-defined data type) — это типы данных, создаваемые пользователями. Они создаются на основе системных типов дан­ных. Пользовательские типы данных часто используются, когда в нескольких таблицах необходимо хранить однотипные значения, причем гарантировать, что столбцы в таблице будут иметь одинаковый размер, тип данных и чувствитель­ность к данным NULL. Например, с помощью пользовательского типа данных можно хранить номера и серии паспорта.

Для создания пользовательского типа данных используется системная хра­нимая процедура sp_addtype:

sp_addtype [ @typename = ] type. [ @phystype = ] system_data_type [ . [ @nulltype = ] "null_type" ] [ , [ @owner = ] "owner name" ]

Если необходимо сделать пользовательский тип данных доступным во всех создаваемых базах дан­ных, добавьте этот тип в базу данных model.

Здесь используются следующие аргументы.

О type — имя создаваемого типа данных. При выборе имени создаваемого типа данных необходимо следовать установленным правилам именования объек­тов. Имя должно быть уникальным в пределах владельца, то есть не совпа­дать с именами других объектов. Разные пользователи могут употреблять оди­наковые имена для создаваемых объектов.

О system_data_type — системный тип данных, на основе которого создается пользовательский тип данных. Можно выбрать один из следующих типов данных:

"binary(n)" Image smalldatetime

Bit Int smallint

"char(n)" "nchar(n)" ' text

Datetime Ntext tinyint

Decimal Numeric uniqueidentifier

"decimal[(p[,s])]" "numeric[(p[,s])]" "varbinary(n)"

Float "nvarchar(n)" "varchar(n)"

"float(n)" Real

Кавычки необходимы, когда помимо самого типа данных требуется указание дополнительных параметров. Аргумент п идентифицирует длину системного типа данных в пользовательском типе данных, аргумент р — максимальное суммарное (до и после десятичной точки) количество цифр для числовых типов данных в пользовательском типе данных, аргумент s — максимальное количество десятичных цифр после запятой в пользовательском типе данных.

Нельзя создать пользовательский тип данных на основе системного типа timestamp.

О "null _type". Значение этого аргумента определяет, будет ли пользовательский тип данных хранить значения NULL Аргумент null_type имеет тип varchar(S) и мо­жет принимать одно из трех следующих значений: NULL (разрешается хранение NULL), NOT NULL (хранение NULL запрещается) или NONULL (используется значение по умол­чанию). Если аргумент null_type не указывается, то при создании пользовательс­кого типа используется значение по умолчанию, установленное для базы данных с помощью системной хранимой процедуры sp_dboption. Текущее значение, уста­новленное в базе данных, можно получить с помощью функции GETANSINULL

Значение аргумента null_type требуется для пользовательского типа данных только как значение по умолчанию при создании столбца таблицы. Если при создании столбца явно определено свой­ство NULL или NOT NULL, то значение аргумента null_type игнорируется.

О "owner_name". Определяет владельца или создателя нового типа данных. По умолчанию владельцем нового типа данных считается текущий пользователь. Параметр owner_name имеет тип данных sysname.

Например, при создании пользовательских типов данных для описания но­меров факса и телефона можно использовать следующий код: ЕХЕС sp_addtype telephone, "varchar(24)", "NOT NULL" EXEC sp_addtype fax, "varchar(24)", "NULL"

Хранимая процедура sp_addtype добавляет описание типа в системную таб­лицу systypes текущей базы данных. В принципе, если посмотреть на эту таблицу, то можно заметить, что в ней также перечислены встроенные типы данных. То есть и типы данных, выглядящие встроенными, на уровне конк­ретной базы данных являются пользовательскими, но имеющими те же свой­ства и имена, что и встроенные. Например, выберем из таблицы systypes базы данных pubs список доступных типов данных:

SELECT name FROM systypes

Будет возвращен следующий результат:

name

image

text

uniqueidentifier

tinyint

smallint

int

smalldatetime

real

money

datetime

float

sql_variant

ntext

bit

decimal

numeric

small money

bigint

varbinary

varchar

binary

char

timestamp

nvarchar

nchar

sysname

id

tid

empid

(29 row(s) affected)

Как видно, в одной таблице перечислены и встроенные, и пользовательские типы данных (i d, ti d и emi d).

Управление правилами

Правила (rules) являются одним из средств обеспечения целостности данных, хранящихся в базе. Правила оставлены для обеспечения обратной совместимос­ти с предыдущими версиями SQL Server. В новой версии они заменены ограни­чениями целостности CHECK, которые являются более мощным средством и опре­деляются при создании таблицы. Правила же создаются как отдельные объекты, которые впоследствии связываются с конкретными полями таблиц. В этом раз­деле будут рассмотрены правила как самостоятельные объекты базы данных.

Для столбца таблицы можно определить только одно правило, но несколько ограничений целостности CHECK. Если для одного столбца определены ограни­чения целостности и правило, то будут учитываться как ограничения целостно­сти, так и правило.

Создание правила не может выполняться в одном пакете с другими командами Transact-SQL.

Для создания правила используется следующая команда Transact-SQL: CREATE RULE rule AS condition_expression

Рассмотрим аргументы команды. О rule— имя правила. При выборе имени необходимо придерживаться общих

правил именования объектов. При необходимости можно указать имя владельца.

О condition_expression — логическое выражение, определяющее условие, на­кладываемое на значения. В качестве условия можно использовать любые логи­ческие команды, арифметические операторы, встроенные функции и предика­ты (например IN, BETWEEN, LIKE). В выражении condition_expression нельзя ссылаться на столбцы таблиц или на любые другие объекты базы данных. Встро­енные функции также не должны ссылаться на объекты базы данных. В выра­жении допустима одна локальная переменная, начинающаяся с символа @. В качестве имени переменной можно использовать произвольную строку. При выполнении правила переменная будет содержать значение, которое пользо­ватель пытается ввести в столбец с помощью команды INSERT или UPDATE. Пе­ременная может использоваться в любых логических операциях. Приведем пример создания правила: CREATE RULE rule_one AS @val>=100 AND (ava1<170 CREATE RULE rule_two AS

(Plist IN ("MATRIX". "ACC", "SIS", "KIT")

Правило может быть создано только в текущей базе данных. Само по себе правило не выполняет контроля данных. Созданное правило необходимо свя­зать со столбцом таблицы или пользовательским типом данных. Правило не может быть связано с системным типом данных и столбцами, имеющими типы данных timestamp, text и image. При связывании правила со столбцом табли­цы или пользовательским типом данных следует убедиться, что тип данных в правиле и в объекте привязки совпадают. Сервер не отслеживает соответствия типов данных при связывании. Ошибка выдается только тогда, когда пользова­тель изменяет значение и сервер начинает выполнение правила. Строго говоря, сервер вообще не выполняет проверки соответствия типов, он лишь констати­рует ошибку при сравнении величин, имеющих несовместимый тип.

Для связывания правила со столбцом таблицы или пользовательским типом данных используется хранимая процедура sp_bindru1e со следующим синтакси­сом:

sp_b1ndrule [@ru1ename =] "rule". [@objname =] "objectjname" [. [@futureonly =] "futureonlyjflag"]

Назначение параметров процедуры sp_bindrule соответствует назначению аналогичных параметров хранимой процедуры sp_bindef ault, описанной в пре­дыдущем разделе.

Для «отвязывания» правила используется хранимая процедура sp_unbindrule: sp_unb1ndrule [@objname =] "object_name" [. [@futureonly =] "futureonly_flag"]

Для получения сведений о правиле (имени владельца и даты создания) ис­пользуйте хранимую процедуру sp_hel p с указанием в качестве аргумента име­ни правила: sp_he1p "rule_name"

Для получения текста кода Transact-SQL, определяющего правило, исполь­зуйте хранимую процедуру sp_helptext: sp_helptext "rule_name "

Для изменения имени правила используйте хранимую процедуру sp_rename: sp_rename @objname='rule_one' @newname='rule_two'

Управление умолчаниями

Умолчание (default) — это значение, которое будет присвоено столбцу табли­цы при вставке строки, если в команде вставки явно не указано значение для этого столбца.

Как и правила, умолчания оставлены в SQL Server 2000 для обеспечения обратной совместимости с предыдущими версиями продукта (до версии SQL Server 7.0). Версия SQL Server 2000 позволяет задавать умолчания для столб­цов таблицы или пользовательского типа данных при их создании, используя ключевое слово DEFAULT. Применение умолчаний и правил как отдельных объек­тов базы данных было вызвано невозможностью изменения таблиц до версии SQL Server 7.0. Было гораздо проще создать новое правило или умолчание, чем удалять таблицу и создавать ее заново. Так как версии SQL Server 7.0 и 2000 разрешают свободно изменять структуру таблиц, то надобность в правилах и умолчаниях как отдельных объектах отпала сама собой. Поэтому, если вы еще только создаете собственную базу данных, нет необходимости использовать устаревшие конструкции, подобные правилам и умолчаниям. К тому же нет абсолютно никакой гарантии, что Microsoft будет поддерживать эти объекты в следующих реализациях SQL Server, так что при использовании правил и умолчаний перед вами рано или поздно встанет вопрос об изменении структу­ры базы данных.

Сейчас мы рассматриваем умолчания, которые существуют в базе данных как самостоятельные объекты. Умолчания предоставляют удобный способ быс­тро назначать одинаковые значения по умолчанию множеству столбцов таблиц базы данных. Тем не менее задавать значения по умолчанию для столбцов реко­мендуется, используя синтаксис команд CREATE TABLE и ALTER TABLE.

Созданное умолчание само по себе не выполняет никаких действий. Его не­обходимо связать с каким-нибудь столбцом таблицы или пользовательским ти­пом данных. Тип данных умолчания должен соответствовать типу данных, установленному для столбца, с которым связывается умолчание.

Для создания умолчания используется следующая команда: CREATE DEFAULT default AS constant_expression

Здесь default— имя умолчания, a constant_express1on — его значение.

При выборе имени умолчания следует придерживаться установленных пра­вил именования объектов. Кроме того, имя умолчания должно быть уникально для каждого владельца. Указание имени владельца умолчания при его создании не обязательно.

В качестве значения constant_expression можно использовать не только кон­станты, но и любые математические выражения и встроенные функции. Строки символов и даты должны заключаться в одиночные кавычки. Перед бинарными данными должен указываться префикс Ох, а перед денежным типом — символ $. Если размер значения по умолчанию превышает размер, заданный для данных в столбце, выполняется усечение значения по умолчанию до требуемого размера.

Приведем пример создания текстового умолчания: CREATE DEFAULT default one AS "RIAC Industries"

Создание умолчания не может выполняться в одном пакете с другими командами Transact-SQL.

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