Сделай Сам Свою Работу на 5

Управление доступом к данным в SQL.





К категории управление доступом относятся команды для осуществления административных функций, присваивающих или отменяющих право (привилегию) использовать таблицы в БД определенным образом. Каждый пользователь БД имеет определенные права по отношению к объектам БД. Права – это те действия с объектом, которые может выполнять пользователь. Права могут меняться с течением времени: старые могут отменяться, новые – добавляться. Стандартом языка SQL предусмотрены следующие права:

· SELECT – право читать таблицу;

· INSERT – право добавлять данные в таблицу;

· UPDATE – право изменять данные таблицы;

· DELETE – право удалять данные из таблицы;

· REFERENCES – право определять первичный ключ.

DCL (Data Control Language) – операторы защиты и управления данными.

Create Assertion – создать ограничение;

Drop Assertion – удалить ограничение;

Grant – предоставить привилегии пользователю или приложению для манипулирования данными;

Revoke – отменить привилегии пользователю или приложению.

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



 

Встраивание SQL в прикладные программы.

Язык SQL можно использовать при написании прикладных программ на определенных языках программирования исключительно для управления БД. По мере надобности в эти программы «встраиваются» команды SQL .

Цель встроенных SQL – объединение возможностей языка программирования с реализованными посредством SQL механизмами работы со структурированными данными в БД.

- команды SQL помещают в исходный код главной программы; - им предшествует фраза ЕХЕСSQL (Execute SQL); - далее устанавливаются некоторые команды, которые являются специальными для вложенной формы SQL.

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

Программы, называющиеся прекомпиляторами (препроцессорами), просматривают текст программы с преобразованием в форму SQL, удобную для исполнения базовым языком.

Обычно транслятор преобразует программу из исходно текста в исполняемый код.



Для пересылки данных из БД в программу используются спец. Команды SQL: Declare, Open, Fetch, Close, предназначенные для работы с курсором – переменной, связанной с запросом.

Declare – описывает выполняемый запрос и связывает имя курсора с результатом запроса. Определяет набор записей, в который будут возвращены результаты запроса.

Open – дает команду СУБД начать выполнение запроса и создавать таблицу результатов запроса.

Fetch – считывает данные запроса в переменную прикладной программы (считывает курсор из результатов запроса).

Close – прекращает доступ к таблице результатов запроса и ликвидирует связь между курсором и этой таблицей.

Встраивание SQL в прикладные программы.

Язык SQL можно использовать при написании прикладных программ на определенных языках программирования исключительно для управления БД. По мере надобности в эти программы «встраиваются» команды SQL .

Цель встроенных SQL – объединение возможностей языка программирования с реализованными посредством SQL механизмами работы со структурированными данными в БД.

- команды SQL помещают в исходный код главной программы; - им предшествует фраза ЕХЕСSQL (Execute SQL); - далее устанавливаются некоторые команды, которые являются специальными для вложенной формы SQL.

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

Программы, называющиеся прекомпиляторами (препроцессорами), просматривают текст программы с преобразованием в форму SQL, удобную для исполнения базовым языком.



Обычно транслятор преобразует программу из исходно текста в исполняемый код.

Для пересылки данных из БД в программу используются спец. Команды SQL: Declare, Open, Fetch, Close, предназначенные для работы с курсором – переменной, связанной с запросом.

Declare – описывает выполняемый запрос и связывает имя курсора с результатом запроса. Определяет набор записей, в который будут возвращены результаты запроса.

Open – дает команду СУБД начать выполнение запроса и создавать таблицу результатов запроса.

Fetch – считывает данные запроса в переменную прикладной программы (считывает курсор из результатов запроса).

Close – прекращает доступ к таблице результатов запроса и ликвидирует связь между курсором и этой таблицей.

Диалекты языка SQL в СУБД.

Несм. на наличие междунар-го станд-та ANSI SQL, многие компании, занимающиеся разработкой СУБД, вносят изменения в язык SQL. Каждая из реализаций языка SQL в конкретной СУБД называется диалектом. Ф-ии, к-ые добавляются к стандарту языка разработчиками коммерческих реализаций – это расширения. Нп, в стандарте языка SQL определены конкретные типы данных, которые могут хран-ся в бд. Во многих реализациях этот список расширяется за счет дополнений. 3 уровня соответствия стандарту ANSI/ISO — начальный, промежуточный и полный. Произв-ли СУБД (Oracle, Microsoft, Borland, Informix, Sybase) применяют реализации SQL, отвечающие как минимум начальному уровню и содержащие некоторые расширения, специфические для данной СУБД. Не существует двух совершенно идентичных диалектов. И поскольку разработчики вводят в сис-мы все новые средства, они расширяют свои диалекты языка SQL, в рез-те чего отдельные диалекты больше отличаются друг от друга. достоинства : более широкие возм-сти по срав-ию со станд-том SQL, нп, больше типов данных, большее количество команд, больше дополнительных возможностей у имеющихся команд. Кроме того, такие нестандартные возм-сти языка со временем могут быть вкл. в стандарт. Недостаток в том, что различия в синтаксисе реализаций SQL затрудняют перенос приложений из одной системы в другую. В широко распространенных в настоящее время СУБД используются следующие диалекты языка SQL: PL/SQL – в СУБД Oracle; Transact-SQL – в СУБД Microsoft SQL; Informix-SQL – в СУБД Informix; Jet SQL – Microsoft Access. Язык Jet SQL почти соответствует стандарту ANSI SQL. Основные различия языков Jet SQL и ANSI SQL состоят в следующем:

они имеют разные наборы зарезервированных слов и типов данных;

разные правила применимы к оператору Between, используемому для определения условий выборки записей;

подстановочные знаки ANSI и Microsoft Jet, которые используются в операторе Like, различны;

язык Jet SQL обычно предоставляет пользователю большую свободу, например, разрешается группировка и сортировка по значению выражения;

язык Jet SQL позволяет использовать более сложные выражения.


Эволюция концепций обработки данных

осн. компоненты обраб-ки данных:

данные из внешней среды-сбор данных-обработка данных(формировка,сортировка,агрегирование,вычисление)-подготовка отчетов(периодических,по запросу)-ин-ция для внешнего использования

Обработка данных со временем эволюционировала. можно выделить следующие этапы: 1) обработка БД на мэйнфреймах с помощью СУБД; 2)обработка БД с помощью сис-м удаленной обработки данных; 3) обработка локальных БД на ПК с пом. настольных СУБД; 4) исп-ие сис-м совместного исп-ия (работа с централизованной бд с пом. сетевых версий настольных СУБД); 5)исп-ие клиент/серверных сис-м; 6) исп-ие сис-м обработки распределенных бд.

Системы удалённой обработки (суо)

вся обработка происходит на 1 компе, пользователи работают с терминалами. Часть ОС, управляющая связью принимает запросы и передаёт их соответствующим прикладным прогам. Проги обращаются к СУБД, кот-я выполняет операции с БД , используя ту часть ОС, кот-ая отвечает за обработку данных. Когда транзакция завершается, подсис-ма управ-ия связью возвращает рез-ты пользователям, сидящим у терминалов.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.