БЕЗОПАСНОСТЬ СИСТЕМ БАЗ ДАННЫХ ЛЕКЦИИ



БЕЗОПАСНОСТЬ СИСТЕМ БАЗ ДАННЫХ

Реляционнаятеория

ЛЕКЦИЯ1.Основные понятия систем базы данных

База данных -совокупность данных,хранимых в соответствии со схемой данных,манипулирование которых осуществляется в соответствии с правилами средств моделирования данных.

База данных -совокупность данных,организованных в соответствии с концептуальной структурой,описывающей характеристики этих данных и взаимоотношения между ними,причём такое собрание данных,которое поддерживают одну или более областей применения

СУБД -Это совокупность программ и лингвистических средств общего или специального назначения,обеспечивающих управление,создание и использование БД.

Классификация СУБД

  1. По модели данных.
    1. Иерархические;
    2. Сетевые;
    3. Реляционные;
    4. Объектно-ориентированные;
    5. Обьектно-реляционные;
      1. По способу доступа БД.
        1. Файлсерверный;
        2. Клиентсерверный;
        3. Встраиваемые.

ОсновныефункцииСУБД

  1. НепосредственноеуправлениефайламиБД.

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

  1. Управлениебуферамиоперативнойпамяти.

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

  1. Управлениетранзакциями.

Транзакция -последовательность операций над БД рассматриваемой СУБД,как единое целое.Либо транзакция успешно выполняется и СУБД фиксирует изменения в БД,произведенные этой транзакцией,либо ни одно из этих изменений никак не отображается на состоянии БД.Понятие транзакции необходимо для поддержания логической целостности БД.

  1. Журнализация.

Одним из основных требований к СУБД является надёжность хранения данных во внешней памяти.Под надежностью хранения понимается то,что СУБД в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя.Обычно рассматривают2вида аппаратных сбоев: 1)мягкий сбой,который можно трактовать как внезапную остановку компьютера; 2)жесткий сбой,который можно трактовать внезапным сбоем компьютера,который характеризуется потерей частью информации на внешних носителях.Журнал -особая часть БД,недоступная пользователям СУБД и поддерживаемая с особой тщательностью,в которую поступают записи обо всех изменениях в основной части БД.

  1. Поддержка языков БД.

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

Типовая организация современной СУБД

  1. Ядро.

Отвечает за управление в СУБД данными во внешней памяти,управлением буферами  оперативной памяти,управлением транзакциями и журнализацию.Можно выделить компоненты ядра:менеджер данных,буферов,транзакций,журналов.

  1. Компиляторязыка.

Основной функцией компилятора языка является компиляция операторов языка,под некоторой управляемой программой.

  1. УтилитыБД.

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

ЛЕКЦИЯ2.Введение в реляционную модель данных

Реляционный подход к организации БД был заложен в конце1960-х годов Эдгаром Коддом.В современности данных подход является одним из распространенных.

Достоинствами реляционного подхода являются:

Основан на небольшом числе интуитивно понятных абстракций,на основе которых возможно простое моделирование наиболее распространенных предметных областей.Эти абстракции могут быть точно и формально определены.Теоретическом базисом реляционного подхода служит аппарат теории множеств и математической логики.Реляционный подход обеспечивает возможность ненавигационного манипулирования данными без необходимости знания конкретной физической структуры базы данных во внешней памяти.

Основные понятия реляционных баз данных

  1. Тип данных;
  2. Домен;
  3. Атрибут;
  4. Кортеж;
  5. Отношение;
  6. Первичный ключ.

Тип данных

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

Домен

В общем виде домен определяется путем задания некоторого базового типа данных,к которому относятся элементы домена и произвольного логического выражения,применяемого элементу этого типа данных(ограничение домена).Элемент будет являться элементом домена только в том случае,если вычисления ограничения домена дает результат ИСТИНА.С каждым доменом связываются Имя уникальной среди имен всех доменов и соответствующей базе данных.

Заголовок отношения,кортеж,тело отношения,значение отношения,переменная отношения

Заголовком схемы отношенияrотношение(Hr)называется конечное множество<A,T>,гдеA– имя атрибута,Т обозначает имя некоторого базового типа или ранее определенного домена.По определению требуется,чтобы все имена атрибутов в заголовке были различны.

Кортежемtrсоответствующим заголовкуHrназывается множество упорядоченных триплетов вида: <A,T,v>,гдеvдолжен являться допустимым значением типа данных или домена.

ТеломBrназывается произвольное множество кортежейtr.

ЗначениемVrназывается пара множестваHrиBr.Заголовок и тело данных.

Первичный ключ

Первичным ключом является такое подмножество,которых что в любое время значение первичного ключа в любом кортеже тела отношения отличается от значения первичного ключа в любом другом кортеже тела этого отношения.А никакое собственное подмножествоSэтим свойством не обладает.

Фундаментальные свойства отношений

  1. Отсутствие кортежей дубликатов.Это свойство следует из определения тела отношения как множество кортежей.В классической теории множеств по определению множество состоит из различных элементов.Именно из этого свойства вытекает наличие у каждого значения отношения первичного ключа.То есть у минимального множества атрибутов,являющегося  подмножества заголовка данного отношения,составное значение которых уникально определяет кортеж отношения.Понятие первичного ключа является исключительно важным в связи с понятием целостности баз данных.
  2. Отсутствие упорядоченности кортежей.
  3. Отсутствие упорядоченности атрибутов.
  4. Атомарность значения атрибутов.Значения всех атрибутов являются атомарными.Это следует из определения домена,как потенциального множества значений скалярного типа.То есть среди значений домена не могут содержаться значения с видимой структурой,в том числе множества значений.Главное в атомарности значений атрибутов состоит в том,что реляционная СУБД не должна обеспечивать пользователю явновидимой структуры внутренних данных.

Типы данных

Целые числаСтроки символовДеньгиНомераотделов

                                   |                                |                      |                               |

Домены(кроме первичного ключа)

Перв.ключ иномерапроп-ов.ИменаРазмерызарплатНомераотделов

    |                /                            |                      |                             |

Атрибуты

СЛУ_НОМЕР

СЛУ_ИМЯ

СЛУ_ЗАРП

СЛУ_ОТД_НОМЕР

<–Заголовокотношения

2934

Иванов

22000.00

310

Кортеж

Тело

2935

Петров

30000.00

310

Кортеж

Данных

2936

Сидоров

18000.00

313

Кортеж

Отношения

Лекция3.Реляционная алгебра и нормализация

Базисные средства манипулирования реляционными данными

составляющие определяются2базовых механизма манипулирования реляционными данными.

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

В состав теоретико-множественных операций входят:

объединение

пересечение

разность

прямое произведение

Специальные операции:

ограничение отношений

проекция отношений

соединение отношений;

деление отношений;

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

Общая интерпретация рел.операций:

  1. При выполнении операции объединения двух отношений,производится отношение,включающих все кортежи,входящее в хотя бы одно из отношений операндов.
  2. Операция пересечений двух отношений производит отношение,включающее все кортежи,входящие в оба отношений операндов.
  3. Отношение,являющееся разностью двух отношений,включает все кортежи,входящие в отношение первого операнда,такие что ни один из них не входит в отношение,являющимся вторым операндом.
  4. При выполнении прямого произведения двух отношений производится отношение,кортежи которого являются... (сцеплением)кортежей первого и второго операнда.
  5. Результатом ограничения отношений по некоторому условию является отношение,включающее кортежи отношения операнда,удовлетворяющие этому условию.
  6. При выполнении проекции отношений на заданный набор атрибутов, ......кортежи которого производятся путем взятия соответствующих значений,из кортежей отношения операнда.
  7. При соединении двух отношений по некоторому условию образуется результирующее отношение,кортежи которого являются контетенацией(сцеплением)кортежей первого и второго отношения и удовлетворяет условию.
  8. У операции деления два операнда:бинарные и унарные отношения.результирующее отношени