КАТЕГОРИИ: Архитектура-(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; Просмотров: 686; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |