Мегаобучалка Главная | О нас | Обратная связь


Язык определения данных



2016-01-05 386 Обсуждений (0)
Язык определения данных 0.00 из 5.00 0 оценок




Таблица является основным объектом для хранения информации в реляционной базе данных. Главное в команде создания таблицы (CREATE TABLE) – определение имени таблицы и описание набора имен полей, которые указываются в соответствующем порядке. Кроме того, этой командой оговариваются типы данных и размеры полей таблицы. Индексы представляют собой структуру, позволяющую выполнять ускоренный доступ к строкам таблицы на основе значений одного или более ее столбцов. Индексы обычно создаются с целью удовлетворения определенных критериев поиска после того, как таблица уже находилась некоторое время в работе и увеличилась в размерах. Ключевые поля таблиц всегда индексируются. С течением времени структура базы данных меняется: создаются новые таблицы, а прежние становятся ненужными и удаляются из базы данных с помощью оператора DROP TABLE. Структура существующей таблицы может быть модифицирована с помощью команды ALTER TABLE.

 

Таблица 4.6

Команды определения данных

Описание команды Примеры
Команда CREATE TABLE – создание таблицы. CREATE TABLE имя_таблицы (имя_столбца тип_данных [размер] <ограничение> [NULL | NOT NULL] [, … n]) Атрибут NULL или NOT NULL используется как специальный маркер, обозначающий тот факт, что поле допускает или нет неопределенное или пропущенное (пустое) значение. Типы данных позволяют задавать тексовые, числовые и денежные значения (character, text, varchar, bit, byte, integer, float, datetime, money, counter и др.). Размер поля указывает только для текстовых и двоичных полей. В синтаксисе команды CREATE TABLE есть слово CONSTRAINT (ограничение). Разрешено пять типов ограничений: 1. Первичный ключ таблицы (Primary Key). 2. Уникальность (Unique) таблицы. 3. Ссылка (Foreign Key) таблицы. 4. Значение по умолчанию (Default) колонки. 5. Проверка значения колонки (Check). Чтобы создать первичный ключ, который следит за уникальностью значений по его выражению первичного ключа, включают ограничение первичного ключа: CREATE TABLE имя_табл (поле1 тип_данных1 CONSTRAINT имя_ключа Primary Key, поле2 тип_данных2, … );   Целостность сущностей определяет, что в базовой таблице ни одно поле первичного ключа не может содержать отсутствующих значений, обозначенных NULL. Ограничение Default устанавливает значение по умолчанию для колонки. Оно имеет следующий синтаксис:   [CONSTRAINT имя_ограничения] DEFAULT {константа | функция_без_аргументов | NULL}   Внешние ключи используются для установления логических связей между таблицами и построения ссылочной целостности. Связь устанавливается путем присвоения значений внешнего ключа одной таблицы значениям ключа другой с помощью ключевого слова FOREIGH KEY и REFERENCES, где также должна быть указана таблица, с которой организуется связь.   [CONSTRAINT имя_связи] [FOREIGH KEY (поле1 [, поле2 […, поле16 ] ] ) ] REFERENCES таблица_связи [(поле_связи1 [, поле_связи2 […, поле_связи16 ] ] ) ]   Дополнительно необходимо, чтобы в родительской таблице обязательно присутствовал первичный ключ по тем же полям. Создание таблицы без ключевых полей (управляющий запрос): CREATE TABLE Turs_Info (Turs_Name char (20) NOT NULL, Description char (30) NULL, Price_Turs money NOT NULL);  
Два способа создания таблиц с ключевыми полями: Первичный ключ (PRIMARY KEY) – это специальный случай комбинирования ограничений UNIQUE и NOT NULL.   CREATE TABLE Turs_Info1 (Turs_ID INTEGER NOT NULL UNIQUE, Turs_Name char (20) NOT NULL, Description char (30) NULL, Price_Turs money NOT NULL); или CREATE TABLE PRIMARY_ KEY_Turs_Info2 (Turs_ID INTEGER PRIMARY KEY, Turs_Name char (20) NOT NULL, Description char (30) NULL, Price_Turs money NOT NULL);
Использование ограничения для определения первичного ключа: CREATE TABLE Туры3 (Код_тура Byte CONSTRAINT PrKey PRIMARY KEY, Тур Text (70));
Создание таблицы, колонка «дата», которой будет принимать значение текущей даты при добавлении новой записи в таблицу, если не будет указано явное значение.   CREATE TABLE Туры4 (Название_тура char (50), Транспорт char (30), Цена_путевки money, Код_тура Byte CONSTRAINT PrKey PRIMARY KEY, Дата_поездки datetime DEFAULT date ());
Создание таблицы Клиенты со связью с таблицей Заказы по полю КодЗаказа:   CREATE TABLE Клиенты ( Фамилия CHAR (20) NOT NULL, Имя CHAR (20) NOT NULL, Отчество CHAR (20) NOT NULL, CONSTRAINT ФИО PRIMARY KEY (Фамилия, Имя, Отчество), КодЗаказа INTEGER NOT NULL, CONSTRAINT КодЗак FOREIGN KEY (КодЗаказа) REFERENCES Заказы (КодЗаказа)); Заданное ограничение имеет имя КодКл и в случае возникновения нарушения ссылочной целостности, если, например, при вводе устанавливать ссылки на отсутствующие строки в родительской таблице, то это имя будет присутствовать в сообщении об ошибке.
Команда ALTER TABLE – модификация таблицы: ALTER TABLE имя_таблицы {[ADD [COLUMN] имя_столбца тип_данных [NULL | NOT NULL] ] | DROP [COLUMN] имя_столбца] };   Команда позволяет добавлять или удалять столбцы и ограничения. Удалить ограничение первичного ключа в таблице Новые_клиенты: ALTER TABLE Новые_клиенты DROP CONSTRAINT Фамилия;
Добавить ключевое поле (счетчик) в таблицу Turs_Info: ALTER TABLE Turs_Info ADD KODTR COUNTER (1,1) PRIMARY KEY NOT NULL;
Команда DROP TABLE – удаление таблицы: DROP TABLE имя_таблицы [RESTRICT | CASCADE] DROP TABLE Туры3;
Команда CREATE INDEX и DROP INDEX – создают и удаляют индексы: CREATE [UNIQUE] INDEX имя_индекса ON имя_таблицы (имя_столбца [ASC | DESC] [, …n]) DROP INDEX имя_индекса ON имя_таблицы; Указанные в операторе Create Index столбцы составляют ключ индекса. Индексы – это наборы уникальных значений для некоторой таблицы с соответствующими ссылками на данные. Создание уникального индекса по полю Фамилия в таблице Новые_клиенты: CREATE UNIQUE INDEX Фамилия ON Новые_клиенты (Фамилия);    
Удаление индекса в таблице Новые_клиенты: DROP INDEX Фамилия ON Новые_клиент;

 



2016-01-05 386 Обсуждений (0)
Язык определения данных 0.00 из 5.00 0 оценок









Обсуждение в статье: Язык определения данных

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (386)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)