- •8. Распределенные базы данных
- •8.1.Предпосылки возникновения рбд
- •8.2. Классификация систем по способам обработки данных
- •8.3. Однородные и неоднородные системы бд
- •8.4. Стратегия размещения данных в рбд по узлам сети
- •Функции сурбд
- •9. Удаленный доступ взаимодействия с базой данных
- •9.1. Режим работы с бд при удаленном доступе
- •9.2. Архитектура моделей удалённого доступа.
- •2.2.3. Двухуровневые модели. Модель файлового сервера (File Server, fs)
- •9.2.4. Модели удалённого доступа к данным (Remote Data Access, rda) в архитектуре «клиент-сервер»
- •9.2.5. Модель «сервера бд»
- •9.2.6. Хранимые процедуры (хп) и триггеры
- •9.3. Многоуровневые модели 9.3.1. Модель сервера приложений
- •9.3.2. Модель серверов баз данных.
- •9.4. Архитектура распределённых субд
- •10 .Параллельные процессы (или процесс транзакций)
- •10.1. Транзакции
- •10.2. Модели транзакций
- •3.3. Свойства транзакций
- •10.4. Восстановление системы.
- •10.5. Параллельные операции над бд
- •10.6. Проблемы параллелизма
- •10.7. Конфликт транзакций
- •10.8. Элементы блокировки.
- •10.8.1. Бесконечное ожидание и тупики
- •10.8.2. Способы предотвращения тупиков
- •10.9.1. Протоколы и расписания
- •10.9.2. Модель транзакции
- •10.9.3. Протокол, гарантирующий сериализуемость
- •10.10. Модели с блокировками для чтения и записи
- •10.11. Блокировки в Visual FoxPro
- •11. Безопасность бд
- •11.2. Система привилегий.
- •Факультативные возможности grant
- •11.3. Целостность данных
- •11.4. Шифрование данных
- •12. Хранилище данных
- •12.1. Концепция хранилища данных
- •12.2. Многомерная модель данных
- •12.3. Olap – системы
- •12.4. Интеллектуальный анализ данных
11.2. Система привилегий.
Привилегии предоставляются с помощью: оператора GRANT языка SQL GRANT <привилегии> [ON_тип объекта] TO <пользователь>
GRANT SELECT ON TABLE stud TO Данилов GRANT SELECT, UPDATE ON TABLE stud TO Огородников GRANT ALL PRIVILEGES ON TABLE stud, disc, st TO Лаврентьева GRANT SELECT ON TABLE stud TO PUBLIC
Пример
CREATE VIEW prim1 AS SELECT fio, gr FROM stud GRANT SELECT ON prim1 TO Коля, Света
Факультативные возможности grant
Пользователь U1 может предоставить привилегии пользователю U2 с возможностями GRANT (путем фразы WITH GRANT OPTION в предложении GRANT)
Далее U2 может в свою очередь предоставить привилегии U3 и т.д.
U1 ->U2 -> U3 WITH GRANT OPTION Пользователь U1 GRANT SELECT ON TABLE STUD TO U2 WITH GRANT OPTION Пользователь U2 GRANT SELECT ON TABLE STUD TO U3 WITH GRANT OPTION Пользователь U3 … Пользователь U4
Отмена полномочий может быть осуществлена оператором REVOKE REVOKE <привилегии> [ON_тип объекта] FROM <пользователь>
REVOKE SELECT ON TABLE stud FROM U2
Если пользователь U1 отменит привилегии пользователю U2, то все остальные будут отменены каскадно.
11.3. Целостность данных
Под целостностью данных понимают соответствие информационной модели предметной области (ПО), объектам реального мира и их взаимосвязям в каждый момент времени.
В БД сведения о предметной области хранятся в информационной модели. Любые изменения в ПО, значимое для построения модели, должно отражаться в БД.

При создании таблиц пользователь может для столбцов, помимо задания базовых свойств, таких как имя, тип данных, размер и точность, указать ограничения целостности.
Различаю следующие ограничения целостности: 1. Логические ограничения 2. Внутренние ограничения 3. Явные ограничения Логические ограничения – это механизм контролирования значений, которые хранятся в полях строки БД. Термин целостности используется для описания точности и корректности данных, хранящихся в БД. Его не надо путать с безопасностью. Проблема сохранения целостности данных касается непреднамеренных ошибок и их предотвращения. Например, значение поля возраст не должен быть >150 лет.
Год окончания вуза должен превышать значение атрибута год рождения в записи типа служащий. В учебной группе по списку должно быть не более 35 человек. Возраст сотрудника не меньше 18 и не больше 80 лет.
Внутренние ограничения – связаны со структурой данных. Пример: запись не может состоять из 250 полей. В иерархической модели связи должны быть древовидными. Явные ограничения специфицируются в БД с помощью специальных конструкций языка описания данных. Пример: 1) в БД не может быть двух записей с одинаковыми ключами. 2) Шифр детали представляется целым числом из 4х десятичных цифр. В SQL вводятся также операторы ограничения: CHEK – ограничения на значение атрибута NULL – возможность хранения неопределенного значения DEFAULT – определение значения по умолчанию UNIQUE – гарантирует уникальное значение в столбце PRIMARY KEY – определяет первичный ключ Пример: Для задания ограничений отдельного столбца стандарт ISO задает оператор CREATE DOMAIN <имя_файла> [AS] тип данных [DEFAULT <значение>] [CHECK <условие>] Например, имя столбца с указанием пола (SEX)
CREATE DOMAIN sex_type AS CHAR CHECK (Value IN(‘M’,’F’))
В результате будет создан домен под именем Sex_type, состоящий из двух символов M и F. В таблице Sotr(fio, sex, dolgn, …) имеется столбец sex. Тогда столбец sex в таблице можно описать, используя домен sex_type.
