Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операторы создания баз данных




 

В стандарте SQL не указывается способ создания БД, поэтому в различных СУБД это делается по-разному. Например, в СУБД Oracle единая общесистемная БД создается в процессе установки программного обеспечения, в СУБД Ingres входит утилита создания БД, а в СУБД SQL Server используется оператор SQL CREATE DATABASE.

Следующим шагом вслед за созданием пустой БД является заполнение ее таблицами. Оператор CREATE TABLE определяет новую таблицу и подготавливает ее к приему данных. Рассмотрим основные параметры этого оператора на примере

CREATE TABLE Ank

(Idname INTEGER NOT NULL,

Name CHAR (30) NOT NULL,

Numpasp INTEGER NOT NULL UNIQUE,

Iddolgn INTEGER NOT NULL,

Age INTEGER CHECK (Age > 0),

Adress CHAR (50) NOT NULL,

NumOtdel INTEGER NOT NULL,

PRIMARY KEY (Idname),

FOREIGN KEY Otd (Numotdel)

REFERENSES Otdel

ON DELETE CASCADE,

FOREIGN KEY Dol (Iddolgn)

REFERENSES Dolgn

ON UPDATE RESTRICT

ON DELETE RESTRICT)

Этим оператором создается таблица Ank (Idname, Name, Numpasp, Iddolgn, Age, Adress, Numotd). Для каждого поля указываются его тип, размерность, допустимость NULL-значений, уникальность значений поля. Для поля Age определено условие проверки (Age > 0). В качестве первичного ключа (PRIMARY KEY) задано поле Idname. Поля Numotdel и Iddolgn определены как внешние ключи (FOREIGN KEY), связывающие таблицу Ank с таблицами Otdel и Dolgn, а Otd и Dol являются именами связей. При удалении первичного ключа в таблице Otdel каскадно удаляются связанные с ним строки-потомки таблицы Ank, а изменение или удаление первичного ключа в таблице Dolgn запрещено, если есть строки-потомки.

Удаление таблицы выполняется оператором DROP TABLE. Стандарт SQL92 требует, чтобы оператор DROP TABLE включал либо параметр CASCADE, либо RESTRICT, которые оределяют, как влияет удаление таблицы на другие объекты БД, связанные с ней.

Изменение структуры таблицы выполняется оператором ALTER TABLE, который позволяет переименовывать, добавлять и удалять столбцы, а также изменять первичные и внешние ключи. Другие возможности оператора ALTER TABLE определяются в конкретной СУБД.

Одним из средств, обеспечивающим быстрый доступ к строкам таблицы на основе значений одного или нескольких столбцов, является индекс. Индекс создается оператором CREATE INDEX, а удаляется оператором DROP INDEX. В индексе хранятся значения данных и указатели на строки, где эти данные встречаются. Индекс в большой степени ускоряет выполнение операторов SQL с условиями поиска, имеющими ссылки на индексные столбцы. К недостаткам индексов помимо дополнительных затрат внешней памяти относят увеличение трудоемкости выполнения операторов INSERT, DELETE и UPDATE, что связано с необходимостью перестройкой индекса. СУБД всегда создает индекс для первичного ключа.

Нет однозначных рекомендаций о целесообразности создания индексов для различных полей. Некоторые СУБД предоставляют средства анализа эффективности индексов. В первую очередь индексы полезны для тех случаев, когда операторы SELECT обращаются к таблице гораздо чаще, чем операторы изменения содержимого таблицы. Иногда упоминают правило 20 %. Оно гласит, что если запрос на выборку возвращает более 20% записей из таблицы, то использование индекса может только замедлить выборку данных.

Помимо таблиц и индексов в БД с помощью ключевых слов CREATE, ALTER, DROP создаются, изменяются и удаляются представления (VIEW), триггеры, хранимые процедуры, условия целостности. Эти возможности во многом зависят от конкретных СУБД и соответствующих диалектов SQL.

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 842; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.035 сек.