class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

основы sql

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

Dynamic SQL

прочее

Справочник по SQL

Структура базы данных

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

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

ключи, ограничения

no pic

Для различных служебных целей в таблице можно создать ключи:

Кроме ключей обычно позволяется наложить ограничения (constraints) на значения столбцов таблицы. За правильностью обычно следит СУБД. Например, если попытаться вставить в таблицу две записи с одинаковым значением первичного ключа, то сразу возникнет ошибка. То же самое произойдет, если в качестве значения внешнего ключа указать ссылку на не существующую запись или значение поля не удовлетворяет условию ограничения.

индексы

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

представления

Конечной целью создания БД являются запросы данных от пользователей. Если запрос используется клиентскими программами, например для генерации отчета или очень сложен (код запроса занимает страницы), то имеет смысл сохранить его. Для хранения запросов используются специальные объекты - представления или на сленге вьюхи (от view), содержащие в себе код запроса данных на языке SQL. Представления также называют виртуальными таблицами, которые отличаются от обычных таблиц тем, что доступны только для чтения. В результате код новых запросов с подзапросами становится более понятным. А также упрощается работа создателей отчетов, которые могут даже не знать структуру БД, ведь им достаточно знать имя представления.

процедуры и функции

Серьезные СУБД поддерживают в различной степени динамический SQL, с которым связаны дополнительные типы объектов. В первую очередь это хранимые функции и процедуры. Их аргументы могут быть как входными, так и выходными, т.е. в них можно сохранить результат работы процедуры. В Oracle множество функций, процедур, различные пользовательские типы и переменные можно объединить в специальный объект - пакет (package), выполняющий роль модуля или библиотеки обычных языков программирования. Например, пакет DBMS_OUTPUT служит для вывода данных из хранимых процедур. Помимо обычных функций, СУБД поддерживают агрегатные функции, работающие сразу со множеством записей. К таким функциям относятся подсчет записей в выборке, поиск записи с минимальным или максимальным значением в указанном поле.

триггеры

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

схема

Объект схема (schema) позволяет логически сгруппировать множество других объектов БД для определенной цели. Например, одна схема может служить для управления книжным фондом библиотеки, а другая ее бухгалтерией. Таким образом, несколько клиентских программ могут работать с одной СУБД не мешая друг другу.

пользователи и сессии

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



В каждой СУБД свой перечень используемых типов объектов. Выше обозначены лишь более-менее стандартные объекты.


Рейтинг@Mail.ru