Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Язык SQL. Определение представлений. Механизм привилегий и защита данных




Язык SQL. Ограничения целостности таблицы и столбца.

Ограничение целостности таблицы.

1. Определение ограничения уникальности

2. Определение ограничения по ссылкам

3. Определение проверочного ограничения

Ограничение уникальности.

<определение ограничения уникальности>::= <спецификация уникальности> (<список столбцов>)

<спецификация уникальности>::= UNIQUE | PRIMARY KEY

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

В столбцах, входящих в список не допускается неопределенные значения, однако Microsoft SQL сервер 6.5 допускает наличие одного неопределенного значения для столбца таблицы при использовании UNIQUE ограничения.

Ограничения по ссылкам.

<определение ограничения по ссылкам>::= FOREIGN KEY (<ссылающиеся столбцы>) <спецификация ссылок>

<спецификация ссылок>::= REFERENCES <ссылаемая таблица и столбцы>

Если список ссылаемых столбцов явно специфицирован, то требуется чтобы он явно входил в какое-либо определение уникальности таблицы. Списки ссылаемых и ссылающихся столбцов должны содержать одинаковое число элементов, и столбец таблицы, идентифицируемый i-тым элементом списка ссылающихся столбцов должен иметь тот же тип, что и столбец таблицы, идентифицируемой i-тым элементом списка ссылаемых столбцов.

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

FOREIGN KEY (A, B) REFERENCES T1 (C, D)

Программа:

Create table employee

(emp_id integer CONSTRAINT p1)

Primary key,

fname CHAR (20) NOT NULL,

minitial CHAR (1) NULL,

lname VARCHAR (30) NOT NULL,

job_id SMALLINT NOT NULL DEFAULT 1

REFERENCES jobs (job_id)

Проверочные ограничения.

Они специфицируют условия, которому должна удовлетворять в отдельности i-тая строка таблицы. Это условие не должно содержать подзапросы, спецификации агрегатных функций, а также ссылок на внешние переменные. В него могут входить только имена столбцов данной таблицы и литеральные константы.

Программа:

Create table inventory

(code CHAR (4) NOT NULL CONSTRAINT c1

CHECK (code LIKE “[0-9][0-9][0-9][0-9]”),

high INT NOT NULL CHECK (high > 0),

low INT NOT NULL CHECK (low > 0),

CONSTRAINT c4 CHECK (high >= low AND high – low < 1000))

 


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

<оператор представления>::= CREATE VIEW <имя результирующей таблицы> [<список столбцов>] AS <спецификация запроса> [WITH CHEK OPTION]

WITH CHEK OPTION – ее требование или смысл только в случае применяемой представляемой таблицы, которая определяется спецификацией запроса, содержащий раздел WHERE. При наличии этого требования не допускается применения в представляемой таблице, приводящее к появлению в базовых таблицах строк невидимых в представляемой таблице. Представление во многих случаях служит удобным средством защиты БД.

Механизм привилегий и защита данных. В соответствии с идеологией язык SQL контроль прав доступа пользователей к таблицам БД производится на основе механизма привилегий (прав). Фактически этот механизм состоит в том, что для вычисления действия над таблицей пользователь должен обладать соответствующей привилегией или правом. Пользователь создавший таблицу, автоматически становится обладателем всех возможных привилегий. В число этих привилегий входит и привилегия на передачу прав по отношению к другой таблице, включая право на передачу прав. Иногда поддерживается и изменение прав у пользователя, ранее их получившего.

<определение привилегий>::= GRANT <привилегии> ON <имя таблицы> TO <получатель> [WITH GRANT OPTION]

<привилегии>::= ALL PRIVELEGES <действие>

<действие>::= SELECT / INSERT / DELETE / UPDATE <список столбцов> REFERENCES <список столбцов>

<получатель>::= PUBLIC <идентификатор полномочий>

 




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 661; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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