Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
final шпоры КИТ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
186.31 Кб
Скачать

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

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

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

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

63. Диалекты языка sql в субд

Несмотря на наличие международного стандарта ANSI SQL, многие компании, занимающиеся разработкой СУБД, вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Диалект - каждая из реализаций языка SQL в конкретной СУБД называется. Функции, которые добавляются к стандарту языка разработчиками коммерческих реализаций, принято называть расширениями. Например, в стандарте языка SQL определены конкретные типы данных, которые могут храниться в базах данных. Во многих реализациях этот список расширяется за счет разнообразных дополнений.

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

Язык Jet SQL почти соответствует стандарту ANSI SQL. Основные различия языков Jet SQL и ANSI SQL состоят в следующем: 1)они имеют разные наборы зарезервированных слов и типов данных; 2) разные правила применимы к оператору Between, используемому для определения условий выборки записей; 3) подстановочные знаки ANSI и Microsoft Jet, которые используются в операторе Like, различны; 4) язык Jet SQL обычно предоставляет пользователю большую свободу, например, разрешается группировка и сортировка по значению выражения; 5) язык Jet SQL позволяет использовать более сложные выражения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]