Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции БД.doc
Скачиваний:
15
Добавлен:
26.11.2018
Размер:
388.1 Кб
Скачать

Управление параллельным доступом

Параллельный доступ- ситуация, когда к одним и тем же данным обращается одновременно несколько пользователей. При этом возможны следующие конфликты:

  1. R-W (read-write, чтение-запись): когда один пользователь читает данные, модифицируемые другим пользователем.

  2. W-R (write-read, запись-чтение): когда один пользователь модифицирует данные, читаемые другим пользователем.

  3. W-W (write-write, запись-запись): когда 2 транзакции модифицируют одновременно одни и те же данные.

Избежать этих конфликтов можно введя блокировки по чтению и по записи.

Потенциальные пути утечки и повреждения информации.

1 1 1 1 1

Т1

8

ЭВМ

УК

5

Т1

5

Т1

7 4

3 2

ЭВМ

Компьютер, на котором находится БД

УК

Узел коммутации

Т

Терминал

1

Электромагнитное излучение

2

Подключение к каналам связи

3

Перекрестные помехи

4

Ошибки коммутации

5

Ошибки ввода

6

Ошибки программного обеспечения

7

Аппаратные сбои

8

Подглядывание, подслушивание

9

«Сбор мусора»

Атаки на БД можно ждать:

  • со стороны пользователей

  • со стороны персонала (администраторов подсистем)

  • программистов

  • электронщиков

  • вспомогательный персонал

Классификация угроз системе защиты.

  1. Случайные

  • стихийные бедствия

  • ошибки ввода

  • сбои в аппаратном обеспечении

  • ошибки в программном обеспечении

  1. Неслучайные

  • Подключение к каналам связи

  • сбор ЭМИ, «мусора»

  1. Косвенные

(нет явного нарушения защиты, но действия могут способствовать)

  1. Непосредственные

(действия, ведущие к потерям информации)

Мероприятия, по защите секретности.

  1. Ограничения доступа

  2. Контроль за путями утечки

  3. Шифрование

  4. Контроль надежности всех элементов информационной системы (аппаратура, программное обеспечение, данные, персонал)

Языковые средства субд.

Языковые средства СУБД:

  1. Язык описания данных (Data Definition Language, DDE)

  2. Язык манипулирования данными (Data Manipulation Language, DME)

DDE позволяет:

  • Определить структуру данных

  • Определить связи между данными

  • Определить ограничения на данные.

DME позволяет описать алгоритмы доступа и обработки данных.

Реализации языковых средств СУБД делятся на:

  1. Закрытые системы: со свои собственным языком и не работающих со стандартными языками (dBase, FoxPro)

  2. Открытые системы: нет своего языка, а пользующие универсальные языки программирования.

  3. Комбинированные системы: симбиоз открытых систем и закрытых.

  • Базовый язык описывает структуры и алгоритмы обработки данных

  • Расширение языка работает с данными.

Способы реализации базового языка:

  1. Новый транслятор (Pascal -> Delphi)

  2. Препроцессор (программа, реализующая команды работы с данными в последовательности команд базового языка)

  3. Call-интерфейс (библиотека, нужная для работы с данными)

  • Реализация call-интерфейса через много подпрограмм (dBase: dbopen(), dbclose()…)

  • Реализация call-интерфейса через одну процедуру, где команда передается через параметры

SQL (Structured Query Language).

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

Команды делятся на группы:

  1. Команды определения данных

    1. создание БД

    2. создание таблиц

    3. задание полей таблиц

    4. создание индексов

    5. удаление таблиц, индексов, БД.

  1. Запросы на выборку данных

  2. Команды модификации данных

    1. добавление данных

    2. удаление данных

    3. изменение данных

  3. Команды управления данными

    1. привелегии

    2. паралельный доступ

    3. транзакции

Кроме команд, существует множество операторов:

  • Арифметические вычисления

  • сравнения

  • создание виртуальных таблиц

  • запоминание результатов запросов/вычислений в таблицах БД

  • группировка данных по группам

Типы данных в SQL:

  • integer целые числа

  • decimal(p,q) с фиксированной точкой, p- всего знаков, q – после запятой

  • float с плавающей точкой

  • char(n) строка длиной n

  • archer строка переменной длины

  • date дата

  • time время

  • datetime дата/время

  • money денежный тип

  • logical логический

  • doubleprecesion двойная точность.

Cуществует 3 уровня языка SQL

  1. Минимальный SQL

  • INSERT

  • SELECT

  • UPDATE

  1. Базовый SQL

  • ALTER TABLE

  • CREATE TABLE

  • CREATE VIEW

  • Более рсширеный синтаксис SELECT

  1. Расширеный SQL (используется в “навороченных” СУБД Oracle, DB2…)