Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф.сис_вместе..doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.8 Mб
Скачать

11.1.Стандарт языка доступа к бд

SQL в настоящее время является промышленным стандартом, который в большей или меньшей степени поддерживает любая СУБД, претендующая на звание "реляционной".

Хотя SQL стандартизован, любая его версия отличается от стандарта. Бывает, что одни и те же конструкции не работают на разных платформах. Сам SQL покрывает все подмножество реляционной алгебры. И считается, что на нем можно написать любую реляционную БД.

11.2.Классификация операторов sql

Можно выделить следующие группы операторов:

Ddl (data definition language) – операторы определения объектов бд.

CREATE SCHEMA – создать схему БД,

DROP SCHEMA – удалить схему БД,

CREATE TABLE – создать таблицу,

ALTER TABLE – изменить таблицу,

DROP TABLE – удалить таблицу,

CREATE DOMAIN – создать домен,

ALTER DOMAIN – изменить домен,

DROP DOMAIN – удалить домен,

CREATE COLLECTION – создать последовательность,

ALTER COLLECTION – изменить последовательность,

DROP COLLECTION – удалить последовательность,

CREATE VIEW – создать представление,

ALTER VIEW – изменить представление,

DROP VIEW – удалить представление.

DML (data manipulate language) – операторы манипулирования данными.

SELECT – выбрать строки из таблиц,

INSERT – добавить строки в таблицы,

UPDATE – изменить строки в таблице,

DELETE – удалить строки,

COMMIT – зафиксировать внесенные изменения,

ROLLBACK – откатить внесенные изменения.

Операторы защиты и управления данными.

CREATE ASSERTION – создать ограничение,

DROP ASSERTION – удалить ограничение,

GRANT – предоставить привилегии пользователю или приложению на

манипулирование объектами,

REVOKE – отменить привилегию.

11.3.Операторы SQL

CREATE TABLE (создание таблиц)

CREATE TABLE <имя таблицы> (Имя столбца1, тип столбца1 [NOT NULL],…, Имя столбца n, тип столбца n [NOT NULL])

Тип столбца:

CHAR (m) – строка символов длиной m (240 – max),

NUMBER – числовые значения (+ или -, м.б. десятичная точка, не более 40 цифр),

NUMBER (m) – m – количество цифр (m<=40),

NUMBER (m,d) – d – количество знаков после запятой,

DATE – календарные даты.

Предположим, надо создать следующую таблицу:

Номер темы

Название

Бюджет

101

250’000

102

175’000

103

95’000

CREATE TABLE Themes <BK>

(Theme_number NUMBER (3) NOT_NULL, <BK>, Name CHAR (10), <BK>, Budget NUMBER (8,2)); <BK>

Рассмотрим еще один пример:

SQL> CREATE TABLE Сотрудники

(Таб_номер NUMBER (6),

Фамилия CHAR (15),

Должность CHAR (15),

Руководитель NUMBER (6),

Дата_приема DATE,

Оклад NUMBER (6,2),

Премия NUMBER (5,2),

Отдел NUMBER (3));

Спецификация максимальных длин не означает обязательного соответствующего расходования физической памяти БД.

Insert into (Вставка записей).

Вставка записей в таблицу осуществляется с помощью оператора INSERT, который позволяет добавлять к таблицам одну или несколько записей. При добавлении одной записи оператор INSERT имеет формат:

INSERT INTO <имя таблицы>

(имя столбца 1… ,имя столбца n)

VALUES (значение 1,… ,значение n);

В результате выполнения этого оператора к таблице, имя которой указано после слова INTO, добавляется одна запись. Для добавления записи заполняются поля перечисленные в списке. Значения полей берутся из списка, расположенного после слова VALUES. Списки полей и списки значений должны соответствовать друг другу по числу и по типу их элементов. При присвоении значений для первого поля берется первое значение, для второго – второе и т. д. В команде INSERT можно указывать имена только тех столбцов в которые вводятся значения остальные столбцы остаются пустыми те принимают значение NULL.

Пример Добавляем информацию в таблицу ‘’Сотрудники’’:

INSERT INTO Сотрудники

VALUES (4954, 'Карпов', 'Бухгалтер', 7698, '4 NOV 86’, 120, NULL, 30);

Порядок ввода значений должен соответствовать объявленному порядку столбцов в таблице. В команде INSERT можно указывать не все столбцы, которые окажутся пустыми.

Пример:

INSERT INTO Сотрудники (ТабНомер, Фамилия, Дата приема, Отдел)

VALUES (7954, 'Волков' , ‘10 NOV 86’, 30);