Операторы DDL (определение структуры таблицы)




DDL (Data Definition Language, DDL) - язык определения данных, который позволяет создавать и изменять структуру объектов базы данных.

Создание таблицы

Таблица – основной объект для хранения информации в реляционной базе данных. Она состоит из содержащих данные строк и столбцов, занимает в базе данных физическое пространство и может быть постоянной или временной.

Поле, также называемое в реляционной базе данных столбцом, является частью таблицы, за которой закреплен определенный тип данных. Каждая таблица базы данных должна содержать хотя бы один столбец.

Строка данных – это запись в таблице базы данных, она включает поля, содержащие данные из одной записи таблицы.

CREATE TABLE

[ имя_базы_данных. [ владелец ]. | владелец. ] имя_таблицы

( { < определение_столбца >

| название_столбца AS выражение_для вычисляемого_столбца

| < табличное_ограничение >::= [ CONSTRAINT имя_ограничения ] }

| [ { PRIMARY KEY | UNIQUE } [,... n ]

)

[ ON { файловая_группа | DEFAULT } ]

 

< определение_столбца >::= { название_столбца тип_данных }

[ [ DEFAULT выражение_для_значения_по_умолчанию ]

| [ IDENTITY [ (первоначальное_значение, инкремент)] ]

[ < ограничение_для_столбца > ] [... n ]

 

< ограничение_для_столбца >::= [ CONSTRAINT имя_ограничения ]

{ [ NULL | NOT NULL ]

| [ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ]

[ON { filegroup | DEFAULT} ] ]

| [ [ FOREIGN KEY ]

REFERENCES имя_родительской_таьлицы [ ( назв_столбца ) ]

[ ON DELETE { CASCADE | NO ACTION } ]

[ ON UPDATE { CASCADE | NO ACTION } ] ]

| CHECK ( логическое_выражение )

}

 

< табличное_ограничение >::= [ CONSTRAINT имя_ограничения ]

{ [ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ]

{ ( имя_столбца [ ASC | DESC ] [,... n ] ) }

[ ON {файловая_группа | DEFAULT } ] ]

 

| FOREIGN KEY

[ ( имя_столбца [,... n ] ) ]

REFERENCES имя_родительской_таьлицы [ ( назв_столбца [,... n ] ) ]

[ ON DELETE { CASCADE | NO ACTION } ]

[ ON UPDATE { CASCADE | NO ACTION } ]

[ NOT FOR REPLICATION ]

 

| CHECK ( условие_проверки )

}

 

 

Изменение таблицы

ALTER TABLE имя_таблицы

{[ALTER COLUMN имя_столбца

{новый_тип_данных [(точность[,масштаб])] [ NULL | NOT NULL ]}]

| ADD { [имя_столбца тип_данных]

| имя_столбца AS выражение } [,...n]

| DROP {COLUMN имя_столбца}[,...n] }

Команда позволяет добавлять и удалять столбцы, изменять их определения.

При изменении определений столбцов следует принимать во внимание некоторые общепринятые правила:

• размер столбца может быть увеличен до максимального значения, допускаемого соответствующим типом данных;

• размер столбца может быть уменьшен только в том случае, если содержащееся в нем наибольшее значение не будет превосходить его нового размера;

• количество разрядов числового типа данных всегда может быть увеличено;

• количество разрядов числового типа данных может быть уменьшено только в том случае, если количество разрядов наибольшего значения в соответствующем столбце не будет превосходить нового числа разрядов, определенного для этого столбца;

• количество десятичных знаков числового типа данных может быть уменьшено или увеличено;

• тип данных столбца, как правило, может быть изменен.

 

Удаление таблицы

DROP TABLE имя_таблицы [RESTRICT | CASCADE]

Следует отметить, что эта команда удалит не только указанную таблицу, но и все входящие в нее строки данных.

Если в операторе указано ключевое слово RESTRICT, то при наличии в базе данных хотя бы одного объекта, существование которого зависит от удаляемой таблицы, выполнение оператора DROP TABLE будет отменено.

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

Чаще всего оператор DROP TABLE используется для исправления ошибок, допущенных при создании таблицы.

 


Индексы в среде MS SQL Server

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

Индекс представляет собой набор ссылок, упорядоченных по определенному столбцу таблицы, который в данном случае будет называться индексированным столбцом.

Индексы это наборы уникальных значений для некоторой таблицы с соответствующими ссылками на данные.

Расположенные в самой таблице, они являются удобным внутренним механизмом системы SQL-сервера, с помощью которого осуществляется доступ к данным наиболее оптимальным способом.

В среде SQL Server реализованы эффективные алгоритмы поиска нужного значения в строго определенной последовательности данных.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: