Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры БД.docx
Скачиваний:
16
Добавлен:
26.09.2019
Размер:
592.64 Кб
Скачать

30.. Пользовательские типы данных в ms sql Server. Операторы создания и удаления. Примеры создания и применения.

Сведения по пользовательским типам: select * From INFORMATION_SCHEMA.DOMAINS

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

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

Определение типа данных

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

// Define a class that stores a vector in the x-y plane.

class myIntVector {

var x : int;

var y : int;

function myIntVector(xIn : int, yIn : int) {

x = xIn;

y = yIn;

}

}

// Define a function to compute the magnitude of the vector.

// Passing the parameter as a user defined data type.

function magnitude(xy : myIntVector) : double {

return( Math.sqrt( xy.x*xy.x + xy.y*xy.y ) );

}

// Declare a variable of the user defined data type.

var point : myIntVector = new myIntVector(3,4);

print(magnitude(point));

В результате выполнения данного кода выводятся следующие данные: 5

Как создать пользовательские типы данных (среда SQL Server Management Studio)

Чтобы создавать новые пользовательские типы данных, используйте обозреватель объектов.

Раскройте в обозревателе объектов по очереди узел Базы данных, узел конкретной базы данных, узел Программирование и Типы, щелкните правой кнопкой мыши узел Определяемые пользователем типы данных и выберите пункт Создание определяемого пользователем типа данных.

В диалоговом окне Создание определяемого пользователем типа данных введите в поле Схема схему, которая будет владеть новым типом данных, или выберите схему, нажав кнопку обзора.

В поле Имя введите имя нового типа данных.

В поле Тип данных выберите тип, на основе которого будет создан новый тип данных.

Заполните поля Длина, Точность и Масштаб, если это требуется.

Если новый тип данных должен поддерживать значения NULL, установите флажок Разрешить значения NULL.

Если нужно связать с новым типом данных умолчание или правило, заполните в области Привязка поле По умолчанию или Правило. Создать умолчания и правила в среде SQL Server Management Studio нельзя. Используйте для этого инструкции языка Transact-SQL. Примеры кода, создающего умолчания и правила, доступны в окне обозревателя шаблонов.

Удаление:

DROP TYPE My.Type – только для неиспользуемых типов

SP_DROPTYPE [@TYPENAME=]<’имя типа’>

31. Создание пользовательской таблицы оператором create table: параметры, определяющие структуру, свойства столбцов и ограничения таблицы.

Создаёт таблицы в 1 нормальной форме

  • Имя таблицы и её схема в БД

  • Структура таблицы

  • Ограничения

  1. На данные столбца

  2. На данные в строке

  3. Межтабличные (ссылочной целостности)

  • Места в памяти для размещения данных и индексов

Типы столбцов:

  • Реальные

  • Вычисляемые

CREATE TABLE [<имя БД,[<имя схемы>],]<имя таблицы>

(<описание столбца>[<ограничение столбца>…]

[,<описание столбца>[<ограничение столбца>…]…]

[< таблич. ограничение>…] [,…])

[ON <описание размещения данных>]

[TEXTIMAGE_ON <имя файловой группы>]

  • <описание реального столбца>::=<имя><тип и параметры типа данных>

[COLLATE <имя сопоставления>]

[DEFAULT <умолчание константное выражение>]

[IDENTITY (<нач. значение>, <шаг>)] – автоматический счётчик

[NULL | NOT NULL]

… столбцы>:] [ROWGUIDCOL] - поля для GUID автоматически не заполн.

  • <описание вычисляемого столбца>::=<имя>

AS <выражение> [PERSISTED [NOT NULL]]

PERSISTED – сохраняет результат и автоматич. Обновляет

Ограничение для столбца и таблицы:

COSTRANT [<имя ограничения>]<тип ограничения>

  • PRIMARY KEY [CLASTERED | NONCLASTERED]

(<имя столбца> [ASC/DESC],…)

[WITH FILLFACTOR =<% заполнение индексных страниц>]

  • Ограничение уникальности:

UNIQUE [CLASSTERED | NONCLASSTERED]

(<имя столбца> [ASC/DESC, …..)

[WITH FILLFACTOR = <% … >]

  • FOREIGN KEY – внешний ключ таблицы, задаётся во вспомогательной таблице 1:М

FOREIGN KEY (<имя столбца>[,…])

REFERENCES <имя гл. таблицы> (<имя столб.>[, …])

[ON DELETE {NO ACTION |CASCADE|SET NULL|SET DEFAULT}]

[ON UPDATE

  • CHECK(<лог. Выражение>)

Au_id CHECK (au_id like ‘[0-9] [0-9] [0-9]- [0-9] [0-9]’)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]