|
Программирование >> Sql: полное руководство
получает доступ к базе данных, подключаясь к серверу 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,
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |