Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Язык реляционных запросов SQL. Команды управления данными.Содержание книги
Поиск на нашем сайте
SQL (англ. Structured Query Language — язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL является информационно-логическим языком, а не языком программирования. SQL основывается на реляционной алгебре. Язык SQL делится на три части: · операторы определения данных (Data Definition Language, DDL) · операторы манипуляции данными (Data Manipulation Language, DML) · операторы определения доступа к данным (Data Control Language, DCL) Преимущества: · Независимость от конкретной СУБД. Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. · Наличие стандартов. Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка. · Декларативность. С помощью SQL программист описывает только какие данные нужно извлечь или модифицировать. То, каким образом это сделать решает СУБД непосредственно при обработке SQL запроса. Недостатки: · Несоответствие реляционной модели данных. Создатель реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности они указывают на следующие проблемы SQL: · Повторяющиеся строки · Неопределённые значения (nulls) · Явное указание порядка колонок слева направо · Колонки без имени и дублирующиеся имена колонок · Отсутствие поддержки свойства «=» · Использование указателей · Высокая избыточность · Сложность. Хотя SQL и задумывался как средство работы конечного пользователя, в конце концов, он стал настолько сложным, что превратился в инструмент программиста. · Отступления от стандартов. Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL. · Сложность работы с иерархическими структурами. Ранее SQL не предлагал стандартного способа манипуляции древововидными структурами. Некоторые поставщики СУБД предлагали свои решения. Например, Oracle использует выражение «CONNECT BY». В настоящее время в качестве стандарта принята рекурсивная конструкция «WITH». Условно команды SQL можно разделить на четыре группы: · команды определения данных; · команды манипулирования данными; · команды управления данными; · команды управления транзакциями. Команды управления данными С помощью команд управления данными (DCL) SQL можно управлять доступом пользователей к базе данных и использованию конкретных данных (таблиц, представлений и т.д.). Операторы управления данными включают в себя применяемые для предоставления и отмены полномочий команды GRANT и REVOKE, а также команду SET ROLE, которая разрешает или запрещает роли для текущего сеанса. В системах клиент/сервер доступ к базе данных могут получить только пользователи, зарегистрированные в системе. Команда SQL GRANT используется для предоставления пользователю роли или полномочия. Эту привилегию имеет только администратор базы данных. Привилегии: · DBA разрешает пользователю выполнять действия администратора базы данных. Имея привилегию DBA, пользователь может выполнять команду SELECT для любой таблицы и представления, создавать объекты для других пользователей, предоставлять другим пользователям различные привилегии, выполнять полный экспорт/импорт базы данных. · RESOURCE разрешает пользователю создавать объекты базы данных, включая таблицы и индексы. · CONNECT позволяет пользователю подключаться к базе данных и работать с объектами, к которым он имеет привилегии по доступу. Пользователь может создавать представления, синонимы и межтабличные связи. Например: GRANT DBA TO SYSADM IDENTIFIED BY SYSTEM Аналогично, если пользователю предоставляются полномочия на объект, то параметр GRANT позволяет передать эту возможность предоставления полномочий другим пользователями и ролям: GRANT SELECT, INSERT, UPDATE, DELETE ON customer ТО jkennedy WITH GRANT OPTION Если таблица должна быть доступна всем пользователям, указывается вместо имени пользователя ключевое слово PUBLIC. Отмена привилегий осуществляется с помощью команды REVOKE. Можно отменить общие привилегии пользователя или же привилегии на указанную таблицу. Например: REVOKE CREATE TABLE FROM aligncoln REVOKE placeorders FROM orderentry REVOKE SELECT ON customer FROM tjefferson С помощью команды REVOKE можно задать отменяемое полномочие или роль. Предложение FROM позволяет указать пользователя или роль, для которых отменяются полномочия. Ключевое слово ALL позволяет отменить все объектные полномочия: REVOKE ALL ON customer FROM rnixon Команда SQL SET ROLE разрешает или запрещает роли в текущем сеансе. С помощью ролей администратор может значительно упростить управление полномочиями.
|
||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 397; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.23.158 (0.005 с.) |