Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
33-40.docx
Скачиваний:
2
Добавлен:
26.09.2019
Размер:
28.79 Кб
Скачать

33. Общая структура sql. Типы данных

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

Язык разбит на уровни: базовый, встраиваемый и динамический.

  • Базовый(Имеются конструкции, кот-е можно использовать при прямом взаимодействии польз-ля с СУБД)

  • Встраиваемый(Язык расширяется конструкц-ми, которые позволяют использовать возможности SQL в программах, написанных на языках программир-я)

  • Динамический(Позволяет приложениям обращаться к СУБД с конструкциями базового SQL, которые динамически образуются во время выполнения программы)

Структура:

1. Операторы опред-я данных (DDL)

2. Операторы манипуляции данными (DMP)( DELЕTЕ – удаляет строки. Согласуется с принципами поддержки целостности, поэтому он не всегда выполняется корректно, даже если он синтаксически правильно записан; INSERT – вставляет строки; UPDЕTЕ – обновляет строки (одного или нескольких столбцов))

3. Язык запросов (DQL)( SELECT – выбор строк. Заменяет все операции реляционной алгебры и позволяет сформировать результирующее отношение, соответствующее запросу)

4. Средства управления транзакцией(COMMIT – завершить транзакция; ROLLBACK – откатить транзакцию)

5. Средства администрирования данных

6. Программные средства(OPEN – открыть курсор; CLOSE – закрыть курсор)

Типы данных.

1). Char(n) – символьные строки длинны n

2). NOMERIC [(n, m)] – точные числа

n – общее кол-во цифр в числе

m – кол-во цифр перед запятой

3). DECIMAL [(n, m)] – тоже самое

4). INT – целые

5). SMALLINT – малые целые

6). FLOAT (n) – с плавающей точкой (n – число байт)

7). REAL – вещественные

8). DOUBLE PRECISION – вещественный тип

34.Средства определения базовых таблиц и ограничений целостности

Базовые (реально хранимые в базе данных) таблицы создаются (определяются) с использованием оператора CREATE TABLE. Для изменения определения базовой таблицы применяется оператор ALTER TABLE. Уничтожить хранимую таблицу (отменить ее определение) можно с помощью оператора DROP TABLE.

Оператор создания базовой таблицы CREATE TABLE имеет следующий синтаксис:

base_table_definition ::= CREATE TABLE base_table_name (base_table_element_commalist) 95)

base_table_element ::= column_definition | base_table_constraint_definition

Здесь base_table_name задает имя новой (изначально пустой) базовой таблицы. Каждый элемент определения базовой таблицы является либо определением столбца(1), либо определением табличного ограничения целостности(2).

(1)Элемент определения столбца специфицируется на основе следующих синтаксических правил:

column_definition ::= column_name

{ data_type | domain_name }

[ default_definition ]

[ column_constraint_definition_list ]

В элементе определения столбца column_name задает имя определяемого столбца. Тип столбца специфицируется путем явного указания типа данных (data_type) или путем указания имени ранее определенного домена (domain_name).

(2) Элемент необязательного списка ограничений целостности столбца определяется следующими синтаксическими правилами:

column_constraint_definition ::=

[ CONSTRAINT constraint_name ]

NOT NULL

| { PRIMARY KEY | UNIQUE }

| references_definition

| CHECK ( conditional_expression )

Ограничение NOT NULL означает, что в определяемом столбце никогда не должны содержаться неопределенные значения; В определение столбца может входить одно из ограничений уникальности: ограничение первичного ключа (PRIMARY KEY) или ограничение возможного ключа (UNIQUE); Ограничение references_definition означает объявление определяемого столбца внешним ключом таблицы и обладает следующим синтаксисом:

references_definition ::=

REFERENCES base_table_name [ (column_commalist) ]

[ MATCH { SIMPLE | FULL | PARTIAL } ]

[ ON DELETE referential_action ]

[ ON UPDATE referential_action ]

Проверочное ограничение CHECK (conditional_expression) приводит к тому, что в данном столбце могут находиться только те значения, для которых вычисление conditional_expression не приводит к результату false.

Для определения общего ограничения целостности служит оператор CREATE ASSERTION, задаваемый в следующем синтаксисе:

CREATE ASSERTION constraint_name

CHECK (conditional_expression)

Особые свойства условий связаны с тем, что при определении общих ограничений целостности контекстом, в котором вычисляется условное выражение, является весь набор таблиц базы данных, а не набор строк таблицы, как это было при определении табличных ограничений. Для того чтобы отменить ранее определенное общее ограничение целостности, нужно воспользоваться оператором DROP ASSERTION, задаваемым в следующем синтаксисе: DROP ASSERTION constraint_name

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]