русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

USERS_TRIGGERS


Дата добавления: 2015-08-31; просмотров: 651; Нарушение авторских прав


Например.

SELECTconstaint_name,constaint_typeFROMuser_constaintsWHEREtable_name = „имя_табл”

SELECTconstaint_name,column_nameFROMuser_cons_columnsWHEREtable_name = „имя_табл”

 

* ЦЕЛОСТНОСТЬ ТАБЛИЦ (сущностей)

Объект реального мира представляется в реляционной базе данных как кортеж некоторого отношения.

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



 

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

* ССЫЛОЧНАЯ ЦЕЛОСТНОСТЬ (между таблицами)

Внешние ключи

FOREIGN KEY <Cписок полей> REFERENCES родительская таблица (<Cписок полей>)

Когда одно поле в таблице ссылается на другое, оно называется внешним ключом; а поле на которое оно ссылается, называется родительским ключом. Для реализации зависимостей между кортежами разных отношений используется дублирование первичного ключа одного отношения (родительского) в другое (дочернее). Каждое значение внешнего ключа должно однозначно ссылаться к одному и только этому значению родительского ключа. Если это условие соблюдается, то база данных находится в состоянии ссылочной целостности.

Целостность ссылок: для каждого значения внешнего ключа, появляющегося в дочернем отношении, в родительском отношении должен найтись кортеж с таким же значением первичного ключа.

CREATE TABLE<таблица> ( <aтрибут>[REFERENCES<таблица 2> ( <aтрибут>)] [,<aтрибут>[REFERENCES<таблица 3> ( <aтрибут>)]]…[CONSTRAINT <имя ограничения>] [,FOREIGN KEY (<aтрибут> [,<aтрибут> ]…) REFERENCES <таблица 2> ( <aтрибут>)[,<aтрибут>]…) ])

 

<таблица 2>, <таблица 3>,… - родительские таблицы.

CREATE TABLE Customers ( cnum integer PRIMARY KEY cname char(10), city char(10), snum integer, FOREIGN KEY (snum) REFERENCES Salespeople ( snum )); CREATE TABLE Customers ( cnum integer PRIMARY KEY cname char(10), city char(10), snum integer REFERENCES Salespeople( snum ));

 

CREATE TABLE Customers ( cnum integer PRIMARY KEY cname char(10), city char(10), snum integer REFERENCES Salespeople);

Одно из свойств FOREIGN KEY — это недопущение значений внешнего ключа, еще не представленых в родительском ключе. Это ограничение также воздействует на способность изменять или удалять значения родительского ключа. Используя ограничение FOREIGN KEY таблицы или столбца, можно не указывать список столбцов родительского ключа, если родительский ключ имеет ограничение PRIMARY KEY.

*Поддержание целостности ссылок – функция СУБД. Например, она может не позволить пользователю добавить запись, содержащую внешний ключ с несуществующим (неопределенным) значением.

Для поддержание целостности ссылокREFERENCESможет иметь опции –

[ON DELETE SET NULL| CASCADE| RESTICTED] [ON UPDATE SET NULL| CASCADE]

SET NULL – установить «пустое» значение

CASCADE –выполнить действие в дочернем отношении

RESTICTED –запретить действие

*ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦ

ALTER TABLE < имя_таблицы > ADD COLUMN < aтрибут>;

ALTER TABLE < имя_таблицы > MODIFY (< aтрибут> < тип> ...) ;

ALTER TABLE < имя_таблицы > DROP < aтрибут >;

ALTER TABLE < имя_таблицы > ADD CONSTRAINT <имя ограничения>

FOREIGN KEY (<aтрибут> )REFERENCES<имя_таблицы 2> ( <aтрибут>);

ALTER TABLE < имя_таблицы > DROP CONSTRAINT <имя ограничения>;

ALTER TABLEemp ADD CONSTRAINT fk_demt FOREIGN KEY(dept_no)

REFERENCES dept(dept_no);

 

УНИЧТОЖЕНИ Е ТАБЛИЦЫ

DROP <<имя_таблицы> [CASCADE]

 

Примеры. Работник (Код_Работника, ФИО,Место_Рождения,Дата_Рождения,Зарплата)

CREATE TABLEРаботник (Код_Работника CHAR(7) PRIMARY KEY,ФИО

VARCHAR(50), Место_РожденияVARCHAR(30)Дата_РожденияDATE,ЗарплатаDECIMAL(7,0) )или

CREATE TABLEРаботник (Код_РаботникаCHAR(7),ФИОVARCHAR(50),

Место_Рождения VARCHAR(30) Дата_РожденияDATE,ЗарплатаDECIMAL(7,0) PRIMARY KEY (Код_Работника))

CREATE TABLEРаботник (Код_РаботникаCHAR(7),ФИОVARCHAR(50),

Место_Рождения VARCHAR(30),Дата_РожденияDATE,ЗарплатаDECIMAL(7,0) CHECKЗарплата>=500)

 

Выплаты (Дата_ Выплаты, Сумма, Налог, Код_Работника)

а) CREATE TABLEВыплаты (Дата_ Выплаты DATE,СуммаDECIMAL(7,0),

НалогDECIMAL(7,0),Код_РаботникаCHAR(7) REFERENCESРаботник

(Код_Работника) ON UPDATE CASCADE ON DELETE CASCADE)или

б) CREATE TABLEВыплаты (Дата_ Выплаты DATE,СуммаDECIMAL(7,0),

НалогDECIMAL(7,0),Код_РаботникаCHAR(7),

FOREIGN KEY (Код_Работника) Работник (Код_Работника) ON UPDATE



<== предыдущая лекция | следующая лекция ==>
SYNONYM | CASCADE ON DELETE CASCADE)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.192 сек.