Программирование >>  Sql: полное руководство 

1 ... 98 99 100 [ 101 ] 102 103 104 ... 264


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

В СУБД Oracle база данных создается в ходе процесса установки профаммного обеспечения, как и в DB2 Как правило, таблицы пользователя помещаются в единую общесистемную базу данных, имя которой определяется файлом конфигурации Oracle Эта база данных связана с данной конкретной копией серверного профаммного обеспечения Oracle В последних версиях СУБД Oracle появилась инструкция create database, позволяющая создавать базы данных

В состав СУБД Ingres входит специальная утилита под названием CREATEDB, предназначенная для создания новых баз данных Сопутствующая ей профамма DESTROYDB позволяет удалить базу данных, ставшую ненужной

в В СУБД Microsoft SQL Server и Sybase Adaptive Server входит инструкция create database, которая является частью языка определения данных Сопутствующая ей инсфукция drop database удаляет существующие базы данных Эти инструкции можно использовать как в интерактивном, так и в профаммном SQL Имена создаваемых баз данных отслеживаются в специальной главной базе данных, которая связана с конкретной инсталлированной СУБД В пределах текущего сервера SQL все имена должны быть уникальными С помощью параметров инсфукции create database МОЖНО зздать физическое устройство, на котором размещается база данных в СУБД Informix Universal Server также поддерживает инсфукции create database и drop database Инсфукция create database имеет специальную опцию, которая позволяет создать базу данных в указанной области, представляющей собой именованный участок дисковой памяти, находящийся под управлением СУБД В стандарте SQL2 умышленно не дано определение термина база данных, поскольку этот термин в различных СУБД часто фактуется по-разному Вместо него употребляется термин каталог, означающий именованную коллекцию системных таблиц, описывающих структуру базы данных (Дополнительная информация о сфуктуре базы данных в SQL2 дана в конце главы) В стандарте не описано, как должен создаваться и уничтожаться каталог, и специально указано, что подобные вопросы являются реализационно-зависимыми Подчеркивается также, что вопрос о количестве каталогов в системе и о том, могут ли те или иные инсфукции SQL обращаться к данным из различных каталогов, тоже зависит от реализации СУБД На практике, как было показано выше, в большинстве СУБД для создания и удаления баз данных используется пара инсфукций create database/drop database

Определения таблиц

в реляционной базе данных наиболее важным элементом ее структуры является таблица В многопользовательской базе данных основные таблицы, как правило, создает администратор, а пользователи просто обращаются к ним в процессе работы Тем не менее, при работе с такой базой данных часто оказывается удобным создавать собственные таблицы и хранить в них собственные данные, а также данные, извлеченные из других таблиц Эти таблицы могут быть временными и существовать только в течение одного интерактивного SQL-сеанса, но могут сохраняться и в продолжение нескольких недель или даже месяцев В базе данных на персональном компьютере структуры таблиц являются еще более динамичными Поскольку вы являетесь и пользователем, и админисфатором базы данных, то можете создавать и удалять таблицы по мере необходимости, не думая о других пользователях



Создание таблицы (инструкция CREATE TABLE)

Инструкция CREATE TABLE, синтаксичсская диаграмма которой изображена на рис 13 1, определяет новую таблицу и подготавливает ее к приему данньгх Раагтчные предложения инструкции задают элементы определения таблицы Синтаксическая диаграмма инструкции кажется довольно громоздкой, поскольку требуется указать много элементов и параметров для них Кроме того, некоторые параметры в одних СУБД присутствуют, а в других нет На практике же создать таблицу относительно несложно

j-CREATE TABLE имя та6лицы I

опрвдвлвние столбца

- имя столбца тип данных

опрвбеленив столбца

-определение огратпения табпщы

<- default значение

L- not null-

определение ограничения таблицы

-х-- определение первичного ключа -

L CONSTRAINT ими ограничении. \- опредепение внвшнего ключа-

- усповие уникапьности-

- условие на значвния -

- DEFERRABLE

-NOT-

- INITIALLY IMMEDIATE

- INITIALLY DEFERRED-

определение пврвичного ключа

- primary key (-

имя стоп6ца

определение внешнего ключа

- foreign key (-j- имя столбца-г-) references имя таблицьг

L( имя стопби,а-г-)- I-)-

-MATCH-pFULL -

L PARTIAL-I

условие уникапьности - unique (-

- ON DELETEt-CASCADE-

- SET null-

- SET DEFAULT-1-NO ACTION -

1- on update t-cascade-

-set null-

-set default I-no action -

имя столб а

условие иа значения

- CHECK [ условив оп)бора)-

c 75 / Синтаксическая диаграмма инструкции create table

f>>



После вьшолнения вами инструкции create table появляется новая таблица, которой присваивается имя, указанное в инструкции, и владельцем которой становитесь вы. Имя таблицы должно быть идентификатором, допустимым в SQL, и не должно конфликтовать с именами принадлежаших вам таблиц. Созданная таблица является пустой, но СУБД подготавливает ее к приему данных, которые записываются с помощью инструкции insert.

Определения столбцов

Столбцы новой таблицы задаются в инструкции create table. Определения столбцов представляют собой заключенный в скобки список, элементы которого отделены друг от друга запятыми. Порядок следования определений столбцов в списке соответствует расположению столбцов в таблице. Каждое такое определение содержит следующую информацию:

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

Тип данных столбца, показывающий, данные какого вида хранятся в столбце Типы данных были рассмотрены в главе 5. Для некоторых типов, например var-char и decimal, Требуется дополнительная информация, такая как размерность или число цифр после запятой. Эта информация заключается в скобки и должна следовать за ключевым словом, задающим тип данных.

Значение по умолчанию, которое заносится в столбец в том случае, если в инструкции insert для таблицы не указано значение данного столбца.

Указание на то, обязательно ли столбец должен содержать данные. Офаничение not null, если оно задано, предотвращает занесение в столбец значений null; в противном случае значения null допускаются.

Стандарт SQL2 позволяет указывать в определении столбца несколько дополнительных элементов, с помощью которых можно ограничить значения данных в столбце, а также установить, что столбец должен содержать уникальные значения либо являться первичным или внешним ключом. Эти элементы являются, по сути, вариантами других предложений инсфукции create table, предназначенными для одного столбца, и описываются в последующих парафафах как составляющие этой инсфукции.

Ниже приведено несколько простых инсфукций create table для таблиц из учебной базы данных:

Определить таблицу offices и ее столбцы.

CREATE TABLE OFFICES

(OFFICE INTEGER NOT NULL,

CITY VARCHAR{15) NOT NULL,

REGION VARCHARdO) NOT NULL,

MGR INTEGER,

TARGET MONEY,

SALES MONEY NOT NULL)

Определить таблицу orders и ее столбцы.

CREATE TABLE ORDERS

(ORDER NUM INTEGER NOT NULL, ORDER DATE DATE NOT NULL,



1 ... 98 99 100 [ 101 ] 102 103 104 ... 264

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика