Раздел 2.Проектирование серверной части приложения баз данным
Тема 2.1.Проектирование структуры базы данных с помощью команд
Создание и модификация таблиц
Операции с таблицами
Создание таблиц
Осуществляется оператором:
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 <имя индекса> deactivateALTER Index <имя индекса> activateТема 2.2.Визуальные средства проектирования структуры базы данных
Графическое проектирование структуры БД
Просмотры 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 [=] целое – указывает длину файла.
БД может состоять из нескольких файлов, расположенных на отдельных носителях. Первый из них называется первичным, а другие вторичными.
Создание и использование доменов
Домен представляет собой именованное описание столбца и, по сути, является аналогом типа данных. После определения домена его имя можно использовать при описании других столбцов. Домен удобен в тех случаях, когда несколько столбцов, в том числе принадлежащих различным таблицам, имеют одинаковое описание. Перед использованием домена его нужно создать с помощью оператора:
CREATE DOMAIN <имя домена>[AS]<описание домена>Пример:
CREATE DOMAIN D_Position AS varchar (20) not null;CREATE TABLE Position (code integer not null primary key, Position D_Position note varchar(50));Описание домена, как и описание столбца, может включать различные ограничения, но, в отличие от описания столбца, имя домена не должно присутствовать в выражениях для ограничений: вместо имени домена в них используется слово VALUE.
Пример:
CREATE DOMAIN D_PRICE AS FLOAT CHECK(VALUE>0)
Дата добавления: 2021-09-25; просмотров: 426;