
- •Эволюция субд
- •История развития реляционных субд в России.
- •Историческая тенденция в создании информационных систем
- •Реляционная модель данных
- •Основные понятия теории реляционных бд
- •Целостность бд
- •Структурированный язык запросов
- •Программирование приложений для субд
- •Эволюция серверов бд
- •Общие требования аис
- •Активный сервер (3-поколение субд)
- •Процедуры бд
- •Правила (тригеры)
- •События в бд
- •Технология обработки данных в распределенных системах Технология распределения данных
- •Технология тиражирования данных
- •Сравнение технологий обработки данных в распределенной среде
- •Согласование субд – интерфейсов различных классов
- •Технология шлюзов Oracle.
- •Архитектура системы с использованием шлюза.
- •Механизм репликации oracle
- •Транзакции
- •Модель транзакции Sybase
- •Журнал транзакции
- •Механизм отката транзакций
- •Стерилизация транзакций
- •Распределенные транзакции.
- •Протокол двухфазной фиксации.
- •Уровни блокировки бд.
- •Блокировка баз данных.
- •Блокировка отношений.
- •Блокировка кортежей.
- •Блокировка страниц.
- •Требования к безопасности субд.
- •Привилегии доступа к отношению.
- •Существуют системные отношения.
- •Организация доступа к бд через прикладную программу.
- •Уровни изоляции данных при параллельном чтении.
- •Особенности при управлении доступом
- •Управление доступом к блокированным данным (informix)
- •Оптимизатор sql-запросов – компонента субд
- •Состав затрат времени на выполнение запроса
- •Оптимизатор Использует следующую информацию, которая хранится в системных отношениях:
- •Работа сервера с протоколированием плана запроса
- •Типовые приемы ускорения выполнения sql-запросов.
- •Способы доступа к записям Хеширование
- •Индексирование по первичному ключу.
- •Индексирование по вторичному ключу.
- •Организация индексных таблиц (случай одиночных записей в бд).
- •Технология взаимодействия объектов и программ.
- •Хранилища данных (Data Warehouse) и оперативный анализ данных (On Line Analytical Processing).
- •Современные Системы Поддержки Принятия Решений (сппр) используют:
- •Методика построения сппр
- •Разработка информационного обеспечения.
- •Свойства хранилища и витрин данных.
- •Многомерная модель данных.
- •Витрины, как многомерные модели данных
- •Средства построения аналитических систем.
- •Критерий выбора средства
- •Публикация бд в Интернет Характеристика Internet
- •Протоколы
- •Принципы работы в Internet
- •Технология работы приложения в сетях Intranet
- •Функции Web-сервера в Intranet
- •Интерфейс cgi
- •Пример сценария cgi.
- •Недостатки и достоинства использования cgi модулей.
- •Интерфейс Win cgi(реализация интерфейсаCgi для осWindows 3.1).
- •Интерфейс isapi/insapi.
- •Isapi фильтры.
- •Способы публикации б/д
- •Технологоя работы Web-приложения, использующего б/д.
- •Недостатки 2-ухуровневых Web-приложений.
Блокировка кортежей.
ALTER TABLE имя_таблицы LOCK MODE (ROW)
Блокировка страниц.
ALTER TABLE имя_таблицы LOCK MODE (PAGE)
Требования к безопасности субд.
Данные в любой таблице должны быть доступны не всем, а некоторым пользователям.
Одним разрешено обновлять, другим только выбирать.
Некоторые таблицы должны разрешать доступ только к некоторым столбцам.
Некоторым пользователям должен быть запрещен доступ через запросы к таблицам, но разрешен доступ к этим же таблицам в диалоге с прикладной программой.
Существуют привилегии доступа:
К базе данных
К отношению.
Привилегии к БД:
CONNECT – открытие, выполнение запросов и создание индексов для временных таблиц.
RESOURSE – все привилегии CONNECT + создание, изменение постоянных таблиц и индексов.
DBA – все права admin.
Предоставление привилегий:
GRANT {CONNECT | RESOURSE | DBA} TO {PUBLIC | список_пользователей}.
Отмена привилегий:
REVOKE {-//-} FROM {-//-}.
Привилегии доступа к отношению.
SELECT
DELETE
INSERT
UPDATE
INDEX – создание индексов на атрибутах отношения БД пользователя, имеющего привилегию RESOURSE. Создание индексов на атрибутах временного отношения для пользователя, имеющего привилегию CONNECT.
ALTER – право на изменение отношения.
Назначение привилегий:
GRANT привилегии_отношенния
ON имя_отношенния [(атр.1, …, атр.k)]
TO {PUBLIC | список_польз.| список_ролей }
Привилегии_отношенния:
SELECT [(атр.1, …, атр.k)],
INSERT, DELETE, ALTER,
UPDATE [(атр.1, …, атр.k)],
INDEX, ALL, [PRIVILEGES].
Отмена привилегий:
REVOKE TO привилегии_отн.
ON имя_отн. [ PUBLIC | спис_польз | список_ролей ].
Существуют системные отношения.
Systables – хранит информацию об именах отношений и их уникальных номерах tabid.
Systabauth – фиксируются привилегии на отношения с уникальными номерами tabid.
Syscolaunt – фиксируются привилегии на атрибуты с уникальными номерами colno.
SELECT *FROM systabaunt
Where tabid = ( SELECT tabid FROM systables WHERE tabname = “преподаватель”).
Результат:
Grantor (кто) |
Grantee (кому) |
Tapid |
Tabauth(какие парва) |
USER |
USER1 |
101 |
s u - i - x - - |
USER |
USER2 |
101 |
s - - i d x - - |
USER |
PUBLIC |
101 |
s - - i - x - - |
Для отображения установленных привилегий на атрибут:
Таблица syscolaunth содержит tabid, colno, colaunth.
Таблица syscolaumns содержит tabid, colno, colname.
Организация доступа к бд через прикладную программу.
Создание пользователя (CREATE USER имя_польз.).
Создание ролей (CREATE ROLE имя_роли) и определение прав для каждой из роли(GRANT привилигерованное_отнош. TO имя_роли).
Разработчик одному из пользователей дает права администратора.
Администратор регистрирует имя пользователя и пароль.
Администратор через спец модуль программы каждому пользователю присваивает роль для работы в программе (GRANT ROLE имя_роли TO имя_польз.).
Если, при запуске программы, введенные имя и пароль совпадают с зарегистрированными, то определенная раннее для этого пользователя роль, становится активной.
В соответствии с этой ролью разрешается работать с набором модулей и таблицами БД.
При завершении работы с программой, роль перестает быть активной, тем самым запрещается пользователю работать с БД.
В СУБД Informix блокировка реализуется через механизм замков, поставленных на кортеж или страницу. Существует:
Исключающий (используется при обновлении или удалении данных). Может быть поставлен только один.
Разделяемый (ставится при чтении на данные, не закрытые исключительным замком). Можно поставить несколько.
Модифицируемый (ставится при чтении с последующей модификацией). Перед выполнением операции модификации этот замок меняется на исключительный.