- •11. Первая нормальная форма (1нф)
- •13. Третья нормальная форма.
- •Создание групп (group by)
- •Пример создания временной таблицы:
- •Пример создания временной таблицы с использованием поздапроса
- •Виды секционирования Диапазонное секционирование
- •Интервальное секционирование
- •Секционирование по виртуальному столбцу
- •Системное секционирование
Виды секционирования Диапазонное секционирование
Диапазонное (range) секционирование – это секционирование, при котором для каждой секции определяется диапазон значений ключа секционирования (рис.1).
Интервальное секционирование
При загрузке новых данных в таблицу возникает необходимость в постоянном ручном расщеплении секции maxvalue, поэтому был создан механизм, позволяющий автоматически создавать новые секции для нового диапазона ключей (рис.13).
Хэш-секционирование
Хэш-секционирование позволяет равномерно распределить строки между секциями, т.е. при помощи встроенной функции хэширования “разбросать” строки по разным секциям и сделать эти секции равновеликими (рис.20).
Списочное секционирование
Списочное секционирование позволяет разбить таблицу по списку дискретных значений (рис.22).
Композитное секционирование
При секционировании большой таблицы сами секции могут оказаться достаточно крупными. Такие секции могут секционироваться по другому критерию секционирования. Такое двухуровневое секционирование называется композитным (допускается 2 уровня секционирования(секции и подсекции)) (рис.23).
Эквисекционирование
Объекты эквисекционированы, если они секционированы одинаковым образом (общий метод секционирования, равное количество секций, те же границы, количество, порядок и типы столбцов в ключе). Объекты могут быть эквисекционированы на одном или разных уровнях(секции, подсекции) (рис.26).
Секционирование по ссылке
Ссылочное секционирование выполняется только, если таблицы явным образом связаны ссылочными ограничениями целостности (метод и ключ секционирования подчиненной таблицы наследуются из главной). Манипуляции с секциями главной таблицы автоматически отражаются на секциях подчиненной, наблюдается каскадный эффект, если описана цепочка связанных и секционируемых по ссылке таблиц (ссылочное секционирование тоже наследуется) (рис.28).
Секционирование по виртуальному столбцу
Виртуальные столбцы – столбцы в таблице, значения в которых вычисляются динамически, "на лету", при обращении к таблице (данные в таблице физически не хранятся) (рис.31).
Системное секционирование
Системное секционирование -- "беcключевое" секционирование, где секционированием данных управляет приложение, а не сама СУБД, как в других видах секционирования(рис.32).
79. Копирование и восстановление базы данных (Microsoft SQL Server 2008): модели восстановления, усечение журнала, типы резервного копирования, процесс восстановления базы данных, отсоединение и присоединение баз данных.
Три модели восстановления данных:
Simple (полная копия с точностью до backup);
Full (полная копия с точностью до транзакции, до времени);
bulk logged (с точностью до конца журнала).
Типы резервного копирования:
- full;
- разностное (копирование изменений после последнего full);
- итерационное;
- копирование журнала.
Усечение журнала в MS SQL осуществляется при копировании журнала.
Восстановление: сначала полная копия, потом журналы.
80. Объекты безопасности: принципалы, системные и объектные привилегии (разрешения), роли (уровней сервера и базы данных системные, фиксированные, пользовательские, приложений), профиль безопасности (Oracle 11.2g), схемы объектов. Процессы безопасности: аутентификация и авторизация.
Можно определить принципалы трех уровней:
· локальные пользователи (Windows Local Logins) Windows и пользователи доменов (Windows Domain Logins). Уровень Windows;
· пользователи SQL Server или учетные записи (logins). Уровень SQL Server;
· пользователи (users), роли пользователей, роли приложений. Уровень базы данных.
Различают три вида привилегий:
-Объектные (Object privileges) – это разрешения на объекты схемы, такие как таблицы, представления, последовательности, пакеты. Для использования объектов схемы принадлежащих другому пользователю, необходимы привилегии на этот объект.
-Системные (System privileges) – это разрешения на операции уровня базы данных, например подключение к базе данных, создание пользователей, внесение изменений в конфигурацию базы данных.
-Ролевые (Role privileges) – это объектные и системные привилегии, которые пользователь получает как роль.
Роль – это поименованный набор разрешений.
Ситемные привилегии назначаются админом, а объектные владельцем объекта. Объектных всего 7(insert, delete, update, select, execute, reference, alter). Системные(пример): ALTER DATABASE, ALTER SYSTEM,CREATE TABLE,CREATE ANY INDEX,CREATE SESSION,CREATE TABLESPACE,CREATE USER,DROP USER,INSERT ANY TABLE
Системная роль Администратора базы данных (АБД)
DBA – предопределенная роль, которая автоматически создаётся для каждой базы данных Oracle и содержит все системные привилегии, кроме SYSDBA и SYSOPER. Должна назначаться только администраторам, которым требуется полный доступ.
Специальные системные привилегии:
SYSDBA и SYSOPER - специальные привилегии администратора, которые позволяют выполнять базовые задачи администрирования: запуск или остановка экземпляра БД; создание, удаление, открытие или монтирования базы и др. Роль DBA не включает SYSDBA и SYSOPER. Привилегии могут быть указаны при подключении (connect) пользователя к БД.
Аутентификация – это процесс проверки подлинности пользователя.
Авторизация – это процесс получения прав конкретным пользователем.
Профиль (profile) – это поименованный набор ограничений на использование вычислительных ресурсов. Аналогия профиля – это роль. Заметьте, что роль – это набор привилегий (разрешений), а профиль – набор ограничений (запрещений). Самое важное отличие это то, что одному пользователю может быть назначен только один профиль (ролей может быть назначено сколько угодно).
81. Создание и применение пользовательских типов в Oracle PL/SQL. Свойства и методы типов. Статические свойства и методы типов. Наследование типов. Сравнение и сортировка типов. Создание объектно-реляционных баз данных (Oracle 11.2g).
CREATE TYPE или CREATE ANY TYPE
Объектные
типы:
базируются только на типах базы данных.
Переменные, используемые в структуре данных объектного типа, называются атрибутами, или переменными объектного типа. Функции и процедуры, определяющие поведение объекта, называются методами.
static-методы не могут ссылаться на атрибуты объекта, они независимы от экземпляра объекта, вызов: имя_типа.имя_функции.
constructor всегда есть, определенный по умолчанию с числом аргументов равным числу атрибутов, можно создать свой. Конструкторы можно перегрузить.
SELF – ссылка на объект (автоматически передается первым параметром в функции(IN) и процедуры (IN, OUT) )
MAP-метод, может быть только один, используются для сравнения и сортировки объектов. Может вернуть: DATE, NUMBER, VARCHAR2, CHAR, REAL. MAP-функция может получить (и получает)только один параметр SELF.
ORDER-методы может быть только один, используются для сравнения и сортировки объектов. Возвращает всегда NUM-BER. ORDER-функция получает два параметра SELF и срав-ниваемыйобъект.
instantiable - разрешается создавать объекты данного типа, not instantiable – тип можно использовать только как базовый (абстрактный класс)
final - не разрешается использовать тип в качестве ба-зового, not final - разрешается использовать тип в ка-честве базового
Объектная таблица: таблица, содержащая строки-объекты; каждая строка – экземпляр объекта.
Объектная таблица: имеет только один столбец объектного типа.
ALTER: для объектной таблицы не выполняется
REF ссылка на объект
Пример создания объектной таблицы:
82. Программные интерфейсы СУБД: ODBC, JDBC, ADO.NET. Принципы применения программных интерфейсов.
Java Database Connectivity (JDBC) – это технология, применяемая для доступа приложений на языке Java к реляционным базам данных. Пользуясь интерфейсом JDBC java-приложения, могут выполнить SQL-запрос к СУБД, а также получить и обработать результат этого запроса. В самом первом приближении JDBC – это реализация интерфейса Microsoft ODBC, но для платформы Java.
Интерфейс JDBC реализован в виде двух пакетов java.sql и javax.sql. На момент написания книги последней известной версией была JDBC 4.0.
Основная задача, решаемая JDBC – это организация интерфейса между компонентой web-приложения и сервером реляционной базы данных.
ODBC (Open Database Connectivity) – это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft.
ADO.NET (ActiveX Data Object для .NET) – технология, предоставляющая доступ к данным для приложений, основанных на Microsoft .NET.
