Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Михайлов БД шпоры.doc
Скачиваний:
58
Добавлен:
08.03.2015
Размер:
360.45 Кб
Скачать

10. Определение данных в языке структурированных запросов sql.

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

1. Числовые:

-Целый (Integer, int, small, long, serial)

-Вещественный с плавающей точкой (Float, real, double precision)

-Форматированные (Decimal(p,n) или dec(p,n), где p - число значимых цифр, n-количество значимых чисел после запятой);

2. Строки символов:

-Фиксированной длины (Char(n) или character(n), где n-количество символов в строке)

-Переменной длины (char varying(n) character varying(n), где независимо от длины строки под её запись отводится n бит);

3. Строки битов:

-Переменной длины (Bit (n))

-Фиксированной длины (bitvarying(n));

4. Типы времени и даты (Date, time,datetime, timestamp, time with, time zone, intepval);

5. Крупные типы:

-Символьный (Long varchar (n), clob, text)

-Двоичный тип (blob);

Тип Serial используется для формирования уникальных ключей строк (кортежей). Типы данных переменной длины имеют ограничения длины в 256 символов (0-255). Clob и Blob используются для обозначения величин, по которым не производиться поиск в БД. Тип Date - указание только даты, time – только время, date time – и то и другое.

Если при определении типа данных в операторе SQL после типа стоит указание NULL то это означает, что данное поле в таблице должно оставаться пустым и не принимать значения. Если поле не может быть пустым, значение обязательно должно быть присвоено, то указывается NONULL.

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

Таблицы реляционной БД создаются с помощью оператора: create table <имя таблицы>(<имена поле>);

Для каждого атрибута указывается его имя и тип данных. Т.к. среди атрибутов реляционной таблицы можно выделить: первичный, внешний и описательные ключи, то в оператор создания таблицы должны быть добавлены фразы определяющие ключи. Первичный ключ определяется с помощью фразы primary key. Если первичный ключ простой, то фраза primary key добавляется в строку определения соответствующего атрибута (необходимо помнить, что порядок записи атрибута в оператор create tableопределяет порядок следования их в каждой записи таблицы). Если первичный ключ составной, то фраза primary key пишется после перечисления атрибутов (до закрытия оператора create table), при этом в круглых скобках перечисляются имена атрибутов составного ключа primary key (…,…). Если ключ вторичный, то для его указания используют ограничение unique, которое включается в предложение с указанием соответствующего атрибута. Для установления связей между таблицами используется предложение references. Если ключ таблицы составной и каждая часть этого ключа является в свою очередь первичным ключом других таблиц, то предложение задающее составной ключ и устанавливающее связи имеет вид: primary key(КЛ1,Кл2) Foreign key Кл1 references <Таб1> (Кл1), Foreign key Кл2 references <Таб2> (Кл2)

Довольно часто при заполнении таблиц часть значений атрибутов должны указываться обязательно, часть значений атрибутов может не вводиться. Если значения атрибута должно указываться обязательно, то для него задается ограничение не пустой (not null). Как правило для обеспечения ссылочной целостности не пустыми должны быть атрибуты внешнего ключа.

Создание схем реляционной БД.

Для создания схемы данных применяется оператор Create schema <имя базы>

Для удаления таблиц из БД применяется оператор drop <имя таблицы>. При этом задается вариант удаления, либо cascade, либо restrict

Если использовать вариант cascade, то если удаление таблицы вызывает нарушение целостности связи, то соответствующие строки связанной таблицы так же должны быть удалены.

При использовании варианта restrict удаление таблицы блокируется, если оно может привести к нарушению целостности связи.