Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РБД 1-5.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
610.16 Кб
Скачать

Лекция 5

Проектирование структуры БД с помощью команд

Введение

Структурная схема терминов

Синтаксические особенности языка sql

SQL – основной язык для работы с удалённой БД.

Основные особенности этого языка:

  • Язык SQL не чувствителен к регистру.

  • Если пишется несколько операторов подряд, то в конце каждого ставится ";".

  • Комментарии заключаются в "{ }" и "/* … */".

  • Имена файлов, таблиц, полей, переменных нельзя писать по-русски и с пробелом.

Операции c таблицами

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

Осуществляется оператором:

CREATE TABLE <имя таблицы> (<список вида <имя поля> <тип> [<размер>]>);

Пример:

CREATE TABLE Pers (Num smallint not null primary key, fam char(20),

name char(20), year_b smallint() default 1950,

Age Calculate by (2004 – year_b));

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

CREATE TABLE <имя таблицы> (<список вида <имя поля> <тип> [<размер>]>)

Primary key (<имя поля>)

Foreign key (<список ключевых полей>)

[references<имя родит. таблицы> <список ключевых полей родит. таблицы>]

[on delete <действие>]

[on update <действие>];

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

  • NO ACTION – запретить удаление и модификацию при наличии связных записей в дочерней таблице;

  • CASCADE – производить каскадные изменения (т.е. одновременные аналогичные действия) в дочерней таблице.

Пример:

CREATE TABLE Dep(

Dep char(15) not null Primary key,

Proisv char(1)

);

CREATE TABLE Pers(

Num smallint not null primary key,

Dep char(15),

Fio char(60),

Sex char(1),

Foreign key (Dep) references Dep {взаимосвязь}

On delete set default on update cascade, {целостность данных

на уровне ссылок}

CONSTRAINT Dep CHECK (EXISTS( {значение можно ввести в

дочернюю таблицу только при наличии

такого значения в родительской таблице}

SELECT Dep FROM Dep WHERE Pers.Dep=Dep.Dep));

Изменение структуры таблицы

ALTER TABLE <имя таблицы> <действие> <имя поля> <тип>

Пример:

ALTER TABLE Pers Drop Sex, add year_b date

Удаление таблицы

Drop <имя таблицы>

Операции с индексами

Создание индекса

Производится оператором:

CREATE iNDEX <имя индекса> ON <имя таблицы> <список полей>

Пример:

Create index Depycar on Pers, Dep, year_b

Удаление индекса

Производится оператором:

Drop Index <имя таблицы> <имя индекса>

Пример:

DROP INDEX Pers depycar

Команды перестройки индекса обеспечивают переиндексацию.

ALTER Index <имя индекса> deactivate

ALTER Index <имя индекса> activate

Просмотры View

Просмотры (обзоры) – это дочерние образования заданной таблицы, куда перемещаются только дочерние поля, удовлетворяющие заданным условиям.

Создание просмотра

Create View <имя просмотра> as select <список полей> from <таблица> where <условия>

Удаление просмотра

Drop view <имя просмотра>

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