Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РЭУБД лекции.doc
Скачиваний:
25
Добавлен:
27.08.2019
Размер:
399.36 Кб
Скачать

Создание и модификация таблиц Операции с таблицами

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

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

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 через запятую пишутся имена этих таблиц.

Создание бд

CREATE {database | schema} "<имя файла>"

[user "имя пользователя" [Password "пароль"]]

[Page_size [=] целое] {размер БД в байтах}

[Length [=] целое Page [s]]

[Default character set набор_символов]

[<вторичный файл>];

<вторичный файл> = File "имя файла" [<файловая информация>[<вторичный файл>]]

<файловая информация> = LENGTH [=] целое [PAGE[S]|STARTING AT [PAGE] целое] [<файловая информация>]

STARTING AT [PAGE] – указывает, с какой страницы располагается тот или иной вторичный файл для многофайловых БД.

LENGTH [=] целое – указывает длину файла.

БД может состоять из нескольких файлов, расположенных на отдельных носителях. Первый из них называется первичным, а другие вторичными.