Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции2011.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.86 Mб
Скачать

Что такое пользователь?

SQL обычно используется в компьютерных системах, которые имеют больше, чем одного пользователя, и, следовательно, должны различать их (ваше семейство PC может иметь любое число пользователей, но оно обычно не имеет способов, чтобы отличать одного от другого). Обычно, в такой системе каждый пользователь имеет некий вид кода проверки прав, который идентифицирует его или ее (терминология изменяется). В начале сеанса с компьютером, пользователь входит в систему (регистрируется), сообщая компьютеру, кто этот пользователь, идентифицированный с помощью определенного идентификатора (ID). Любое количество людей, использующих тот же самый ID доступа, являются отдельными пользователями; и аналогично, один человек может представлять большое количество пользователей (в разное время), используя различные доступные Идентификаторы.

SQL следует этому примеру. Действия в большинстве сред SQL приведены к специальному Идентификатору, который точно соответствует определенному пользователю. Таблица или другой объект принадлежит пользователю, который имеет над ним полную власть. Пользователь может или не может иметь привилегии, чтобы выполнять действие над объектом. Для наших целей, мы договоримся, что любой пользователь имеет привилегии, необходимые, чтобы выполнять любое действие, пока мы не возвратимся специально к обсуждению привилегий.

Специальное значение — USER (ПОЛЬЗОВАТЕЛЬ) может использоваться как аргумент в команде. Оно указывает на доступный Идентификатор пользователя, выдавшего команду.

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

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

Объекты — структуры в базе данных, которым даны имена и сохраняются в памяти. Они включают в себя базовые таблицы, представления (два типа таблиц), и индексы. Чтобы показать Вам, как формируются команды, мы будем делать это на примерах. Имеется, однако, более формальный метод описания команд, использующих стандартизированные условные обозначения.

Квадратные скобки ([ ]) будут указывать части, которые могут не использоваться, а многоточия (...) указывать, что все предшествующее им может повторяться любое число раз. Слова, обозначенные в угловых скобках (<>) — специальные термины, которые объясняют, что они собой представляют. Мы упростили стандартную терминологию SQL значительно, но без ухудшения его понимания.

В стандарте ANSI/ISO определены ключевые слова, которые применяются в качестве глаголов и в предложениях операторов. В соответствии со стандартом эти ключевые слова нельзя использовать для именования объектов базы данных, таких как таблицы, столбцы и пользователи.

У каждого объекта в базе данных есть уникальное имя. Имена используются в операторах SQL и указывают, над каким объектом базы данных оператор должен выполнить действие. Если в операторе указаны имена таблицы, SQL предполагает, что происходит обращение к одной из этих таблиц. Имея соответствующее разрешение, можно обращаться к таблицам, владельцами которых являются другие пользователи, с помощью полного имени таблицы. Полное имя состоит из имени владельца таблицы и собственно ее имени, разделенных точкой (.). Например, полное имя таблицы BITHDAYS, владельцем которой является пользователь по имени SAM, имеет следующий вид: SAM. BITHDAYS. Полное имя таблицы можно использовать вместо простого имени таблицы во всех операторах SQL.

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