Главная страница

Модуль 3. 1. Память эвм, ее характеристики. Структура памяти. Постоянные запоминающие устройства (программируемые маской, перепрограммируемые eprom, eeprom). Оперативные запоминающие устройства статического и динамического типов. Стек. Виртуальная память


Скачать 2.32 Mb.
Название1. Память эвм, ее характеристики. Структура памяти. Постоянные запоминающие устройства (программируемые маской, перепрограммируемые eprom, eeprom). Оперативные запоминающие устройства статического и динамического типов. Стек. Виртуальная память
АнкорМодуль 3.docx
Дата20.03.2019
Размер2.32 Mb.
Формат файлаdocx
Имя файлаМодуль 3.docx
ТипДокументы
#26201
страница8 из 12
1   ...   4   5   6   7   8   9   10   11   12

Альтернативные варианты терминов в реляционной модели




Отношения

Для понимания истинного смысла термина “отношение” рассмотрим несколько математических понятий. Допустим, у нас есть два множества D1 и D2 , где D1 = {2,4} и D2 = {1,3,5}. Декартовым произведением этих двух множеств (обозначается как D1 x D2) называется набор из всех возможных пар, в которых первым идет элемент множества D1, а вторым – элемент множества D2. Альтернативный способ выражения этого произведения заключается в поиске всех комбинаций элементов, в которых первым идет элемент множества D1, а вторым – элемент множества D2. В данном примере получим следующий результат: D1 х D2 = {(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)}.

Любое подмножество этого декартового произведения является отношением. Например, в нем можно выделить отношение R: R = ((2,1),(4,1)}.

Для определения тех возможных пар, которые будут входить в отношение, можно задать некоторые условия их выборки. Например, если обратить внимание на то, что отношение R содержит все возможные пары, в которых второй элемент равен 1, то определение отношения R можно сформулировать следующим образом: R = {(x,y) | x D1, y D2, у = 1}.

На основе тех же множеств можно сформировать другое отношение S, в котором первый элемент всегда должен быть в два раза больше второго. Тогда определение отношения S можно сформулировать так: S = {(x,y) | x D1, y D2, х = 2у}.

В данном примере одна возможная пара данного декартового произв соотв этому условию: S = {(2,1)}.

Увеличивая количество множеств, можно дать обобщенное определение отношения на n доменах. Пусть имеется n множеств D1, D2, .., Dn. Декартово произв для этих n. множеств можно определить:

D1 x D2 x….x Dn = {(d1, d2,..., dn) | d1D1, d2D2,...,dnDn.

Любое множество n-арных кортежей этого декартового произведения является отношением n множеств. Обратите внимание на то, что для определения этих отношений необходимо указать множества, или домены, из которых выбираются значения.

Используя указанные концепции в контексте базы данных, получим следующее определение реляционной схемы. Реляционная схема – имя отношения, за которым следует множество пар имен атрибутов и доменов. Например, для атрибутов А1, А2, ..., Аn с доменами D1, D2, ..., Dn реляционной схемой будет множество {A1 : D1, A2 : D2, ... , An : Dn}. Отношение R, заданное реляционной схемой S, является множеством отображений имен атрибутов на соответствующие им домены. Таким образом, отношение R является множеством таких n-арных кортежей { A1 : d1, A2 : d2, ... , An : dn }, где d1D1, d2D2,..., dnDn.

Каждый элемент n-арного кортежа состоит из атрибута и значения этого атрибута. Обычно при записи отношения в виде таблицы имена атрибутов перечисляются в заголовках столбцов, а кортежи образуют строки формата (d1, d2, ..., dn), где каждое значение берется из соответствующего домена. Таким образом, в реляционной модели отношение можно представить как произвольное подмножество декартового произведения доменов атрибутов, тогда как таблица – это всего лишь физическое представление такого отношения.

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

Отношение обладает следующими характеристиками:

  • оно имеет имя, которое отличается от имен всех других отношений;

  • каждая ячейка отношения содержит только атомарное (неделимое) значение;

  • каждый атрибут имеет уникальное имя;

  • значения атрибута берутся из одного и того же домена;

  • порядок следования атрибутов не имеет никакого значения;

  • каждый кортеж является уникальным, т.е. дубликатов кортежей быть не может;

  • теоретически порядок следования кортежей в отношении не имеет никакого значения.

  • Отношение не может содержать кортежей-дубликатов.

Операции над отношениями. Общая интерпретация реляционных операций

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

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

Операции выборки и проекции являются унарными, поскольку они работают с одним отношением. Другие операции работают с парами отношений, и поэтому их называют бинарными операциями. В приведенных ниже определениях R и S – это два отношения, определенные над атрибутами A = (a1, а2, … , аN) и B = (b1, b2, ..., bM) соответственно.

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

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

Операция проекции определяет новое отношение, которое будет содержать только определенные атрибуты

Операция декартового произведения определяет новое отношение, которое является результатом конкатенации (т.е. сцепления) каждого кортежа из отношения R с каждым кортежем из отношения S.

Операторы выборки и проекции извлекают информацию только из одного отношения. Оператор декартового произведения умножает два отношения, что в результате приводит к созданию другого отношения, состоящего из всех возможных пар кортежей обоих отношений. Следовательно, если отношение имеет I кортежей и N атрибутов, а другое – J кортежей и М атрибутов, то отношение с их декартовым произведением будет содержать (I x J) кортежей и (N x M) атрибутов. Исходные отношения могут содержать атрибуты с одинаковыми именами.

Объединение отношений R и S с кортежами I и J соответственно можно получить в результате их конкатенации с образованием одного отношения с максимальным количеством кортежей (I + J), если кортежи-дубликаты исключены. При этом отношения R и S должны быть совместимы по объединению.

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

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

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

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

  • Тета-соединение (-join). Операция тета-соединения определяет отношение, которое содержит кортежи из декартового произведения отношений R и S, удовлетворяющие предикату F. Предикат F имеет вид R.аi S.bi, где вместо может быть указан один из операторов сравнения (<, <=, >, >=, = или ). Как и в случае с декартовым произвед, степенью тета-соединения называется сумма степеней операндов-отношений R и S.

  • Соединение по эквивалентности (equi-join). Это соединение является частным видом тета-соединения. Если предикат F содержит только оператор равенства (=), то соединение называется соединением по эквивалентности (equi-join).

  • Естественное соединение (natural join). Естественным соединением называется соединение по эквивалентности двух отношений R и S, выполненное по всем общим атрибутам х, из результатов которого исключается по одному экземпляру каждого общего атрибута.

  • Степенью естественного соединения наз-ся сумма степеней операндов-отношений R и S минус количество атрибутов х.

  • Внешнее соединение (outer join). Зачастую при соединении двух отношений кортеж из одного отношения не находит соответствующего кортежа в другом отношении. Иначе говоря, в столбцах соединения оказываются несовпадающие значения. Может потребоваться, чтобы строка из одного отношения была представлена в результате соединения даже если в другом отношении нет совпадающего значения. Эта цель может быть достигнута с помощью внешнего соединения.

  • Полусоединение (semi-join). Операция полусоединения определяет отношение, которое содержит те кортежи отношения R, которые входят в соединение отношений R и S.

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

Оператор деления. Оператор деления может быть полезен в случае запросов особого типа, которые довольно часто встречаются в приложениях баз данных. Предположим, что отношение R определено на множестве атрибутов А, а отношение S – на множестве атрибутов В, причем В является подмножеством А. Пусть С = АВ, т.е. С является множеством атрибутов отношения R, которые не являются атрибутами отношения S. Результатом оператора деления является набор кортежей отношения R, определенных на множестве атрибутов С, которые соответствуют комбинации всех кортежей отношения S.

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

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

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

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

Суперключ – атрибут или множество атрибутов, которое единственным образом (superkey) идентифицирует кортеж данного отношения.

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

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

Потенциальный ключ К для данного отношения R обладает двумя свойствами:

  • уникальность. В каждом кортеже отнош R значение ключа К един образом идентифицируют этот кортеж;

  • неприводимость. Никакое допустимое подмножество ключа К не обладает свойством уникальности.

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

Первичный ключ – это потенциальный ключ, который выбран для уникальной идентификации кортежей внутри отношения.

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

Внешний ключ – это атрибут или множество атрибутов внутри отношения, которое соответствует потенциальному ключу некоторого (может быть, того же самого) отношения.

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

Нормализация реляционной модели данных

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

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

Первая нормальная форма (1 НФ). Перед обсуждением первой нормальной формы целесообразно предварительно дать определение того состояния, которое предшествует ей.

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

Первая нормальная форма (1НФ) – отношение, в котором на пересечении каждой строки и каждого столбца содержится только одно значение.

На исходном этапе таблица находится в ненормализованной форме (ННФ) и часто называется ненормализованной таблицей. Для преобразования ненормализованной таблицы в первую нормальную форму (1НФ) в исходной таблице следует найти и устранить все повторяющиеся группы данных. Повторяющейся группой называется группа, состоящая из одного и более атрибутов таблицы, в которой возможно наличие нескольких значений для единственного значения ключевого атрибута таблицы.

В первом подходе повторяющиеся группы устраняются путем ввода соответствующих данных в пустые столбцы строк с повторяющимися данными. Иначе говоря, пустые места при этом заполняются дубликатами неповторяющихся данных. Этот подход часто называют “выравниванием” (“flattening”) таблицы. Полученная в результате этих действий таблица, которая теперь будет называться отношением, содержит атомарные (или единственные) значения на пересечении каждой строки с каждым столбцом, а потому находится в первой нормальной форме. В результате такого подхода в полученное отношение вносится некоторая избыточность данных, которая в ходе дальнейшей нормализации будет устранена.

Пример: Исходная ненормализованная (то есть не являющаяся правильным представлением некоторого отношения) таблица:

Сотрудник

Номер телефона

Иванов И. И.

283-56-82

390-57-34

Петров П. П.

708-62-34

Таблица, приведённая к 1NF

Сотрудник

Номер телефона

Иванов И. И.

283-56-82

Иванов И. И.

390-57-34

Петров П. П.

708-62-34

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

Вторая нормальная форма (2НФ). Вторая нормальная форма применяется к отношениям с составными ключами, т.е. к таким отношениям, первичный ключ которых состоит из двух и более атрибутов. Дело в том, что отношение с первичным ключом на основе единственного атрибута всегда находится, по крайней мере, в 2НФ

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

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

Пример: Пусть в следующем отношении первичный ключ образует пара атрибутов {Сотрудник, Должность}:

Сотрудник

Должность

Зарплата

Наличие компьютера

Гришин

Кладовщик

20000

Нет

Васильев

Программист

40000

Есть

Иванов

Кладовщик

25000

Нет

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

В результате приведения к 2NF получаются два отношения:

Сотрудник

Должность

Зарплата

Гришин

Кладовщик

20000

Васильев

Программист

40000

Иванов

Кладовщик

25000




Должность

Наличие компьютера

Кладовщик

Нет

Программист

Есть

Третья нормальная форма (3НФ).

Транзитивная зависимость – если для атрибутов А, В и С некоторого отношения существуют зависимости вида А–>В и В–>С, то говорят, что атрибут С транзитивно зависит от атрибута А через атрибут В.

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

Нормализация 2НФ-отношений с образованием 3НФ-отношений включает устранение транзитивных зависимостей. Если в отношении существует транзитивная зависимость между атрибутами, то транзитивно-зависимые атрибуты удаляются из него и помещаются в новое отношение вместе с копией их детерминанта.

Пример:

Рассмотрим в качестве примера отношение, которое находится во 2NF, но не соответствует 3NF:

Сотрудник

Отдел

Телефон

Гришин

Бухгалтерия

1-22-33

Васильев

Бухгалтерия

1-22-33

Петров

Снабжение

44-55-66

В отношении атрибут «Сотрудник» является первичным ключом. Личных телефонов у сотрудников нет, и телефон сотрудника зависит исключительно от отдела.

Таким образом, в отношении существуют следующие функциональные зависимости: Сотрудник → Отдел, Отдел → Телефон, Сотрудник → Телефон.

Зависимость Сотрудник → Телефон является транзитивной, следовательно, отношение не находится в 3NF.

В результате декомпозиции отношения R1 получаются два отношения, находящиеся в 3NF:

Отдел

Телефон

Бухгалтерия

1-22-33

Снабжение

44-55-66




Сотрудник

Отдел

Гришин

Бухгалтерия

Васильев

Бухгалтерия

Петров

Снабжение

Определение нормальной формы Бойса–Кодда. Нормальная форма Бойса–Кодда (НФБК) учитывает функциональные зависимости, в которых участвуют все потенциальные ключи отношения, а не только его первичный ключ. Для отношения с единственным потенциальным ключом его ЗНФ и НФБК являются эквивалентными. Отношение находится в НФБК тогда и только тогда, когда каждый его детерминант является потенциальным ключом.

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

Различие между 3НФ и НФБК заключается в том, что функциональная зависимость А–>В допускается в 3НФ-отношении, если атрибут В является первичным ключом, а атрибут А не обязательно является потенциальным ключом. Тогда как в НФБК-отношении эта зависимость допускается только тогда, когда атрибут А является потенциальным ключом. Следовательно, нормальная форма Бойса–Кодда является жесткой версией формы 3НФ, поскольку каждое НФБК-отношение является 3НФ-отношением, но не всякое 3НФ-отношение является НФБК-отношением.

Четвертая нормальная форма (4НФ). В ходе исследований был выявлен еще один тип зависимости – многозначная зависимость, которая может вызвать проблемы, связанные с избыточностью данных.

В случае многозадачной зависимости, существующей между атрибутами А, В и С некоторого отношения, для каждого значения А имеется набор значений атрибута B и набор значений атрибута C. Однако входящие в эти наборы значения атрибутов B и С не зависят друг от друга.

4НФ – это отношение в норм форме Бойса–Кодда, кот не содержит нетривиальных многозадачных зависим.

Пятая нормальная форма (5НФ). При любой декомпозиции отношения на два других отношения полученные отношения имеют свойство соединения без потерь. Это значит, что полученные отношения можно снова соединить и получить прежнее отношение в исходном виде. Однако бывают случаи, когда требуется декомпозировать отношение на более чем два отношения. В таких (достаточно редких) случаях возникает необходимость учитывать зависимость соединения, которая устраняется с помощью пятой нормальной формы.

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

5НФ – это отношение без зависимостей соединения

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

Существует несколько сотен реляционных СУБД для мейнфреймов и персональных компьютеров. К сожалению, некоторые из них не соответствуют определению реляционной модели. Кодд предложил 12 правил определения реляционных систем (а точнее 13, если учитывать фундаментальное правило 0). Эти правила образуют своего рода эталон, по которому можно определить принадлежность СУБД к разряду действительно реляционных систем.

Правила были разделены на пять функциональных групп.

1. Фундаментальные правила.

2. Структурные правила.

3. Правила целостности.

4. Правила управления данными.

5. Правила независимости от данных.

Фундаментальные правила (правила 0 и 12). Если система на удовлетворяет этим правилам, то ее не следует считать реляционной.

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

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

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

Структурные правила (правила 1 и 6).

Правило 1 – представление информации. Вся информация в реляционной базе данных представляется в явном виде на логическом уровне и только одним способом – в виде значений в таблицах.

Правило 6 – обновление представления. Все представления, которые являются теоретически обновляемыми, должны быть обновляемы и в данной системе.

Правила целостности (правила 3 и 10).

Правило 3 – систематическая обработка неопределенных значений (NULL).

Правило 10 – независимость ограничений целостности. Специфические для данной РСУБД ограничения целостности должны определяться на языке реляционных данных и храниться в системном каталоге, а не в прикладных программах.

Правила манипулирования данными (правила 2, 4, 5 и 7)..

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

Правило 4 – динамический интерактивный каталог, построенный по правилам реляционной модели.

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

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

Правило 7– высокоуровневые операции вставки, обновления и удаления. Способность обрабатывать базовые или производные отношения (т.е. представления) как единый операнд должна относиться не только к процедурам извлечения данных, но и к операциям вставки, обновления и удаления данных.

Правила независимости от данных (правила 8, 9 и 11).

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

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

Правило 11 – независимость от распределения данных.

Независимость от распределения данных означает, что прикладная программа, осуществляющая доступ к СУБД на отдельном компьютере, должна без каких-либо модификаций продолжать работать и в том случае, когда данные в сети будут перенесены с одного компьютера на другой.
17.Защита данных и администрирование баз данных. Основные задачи администратора базы данных. Безопасность базы данных. Целостность базы данных. Обеспечение надежности и работоспособности базы данных. Ведение системного журнала и аудит базы данных.
Основные задачи администратора базы данных


Администратор данных (АД) (Data Administrator – DA) отвечает за управление данными, включая планирование базы данных, разработку и сопровождение стандартов, бизнес-правил и деловых процедур, а также за концептуальное и логическое проектирование базы данных. АД консультирует и дает свои рекомендации руководству высшего звена, контролируя соответствие общего направления развития базы данных установленным корпоративными целями.

Администратор базы данных (АБД) (Database Administrator – DBA) отвечает за физическую реализацию базы данных, включая физическое проектирование и воплощение проекта, за обеспечение безопасности и целостности данных, за сопровождение операционной системы, а также за обеспечение максимальной производительности приложений и пользователей. По сравнению с АД, обязанности АБД носят более технический характер, и для него необходимо знание конкретной СУБД и системного окружения.

Целостность базы данных

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

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

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

Безопасность базы данных

Защита базы данных – обеспечение защищенности базы данных против любых предумышленных или непредумышленных угроз с помощью различных компьютерных и некомпьютерных средств.

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

  • похищение и фальсификация данных;

  • утрата конфиденциальности (нарушение тайны);

  • нарушение неприкосновенности личных данных;

  • утрата целостности;

  • потеря доступности.

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

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

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

Обеспечение надежности и работоспособности базы данных

Cуществуют следующие типы защиты данных:

  • • Авторизация пользователей.

  • • Представления.

  • • Резервное копирование и восстановление.

  • • Поддержка целостности.

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

  • • Вспомогательные процедуры.

1) Авторизация – предоставление прав (или привилегий), позволяющих их владельцу иметь законный доступ к системе или к ее объектам.

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

Аутентификация – механизм определения того, является ли пользователь тем, за кого себя выдает.

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

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

2) Представления (подсхемы)– это динамический результат одной или нескольких реляционных операций с базовыми отношениями с целью создания некоторого иного отношения.

Представление является виртуальным отношением, которого реально в базе данных не существует, но которое создается по требованию отдельного пользователя в момент поступления этого требования.

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

3) Резервное копирование и восстановление – периодически выполняемая процедура получения копии базы данных и ее файла журнала (а также, возможно, программ) на носителе, сохраняемом отдельно от системы.

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

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

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

– ключ шифрования, предназначенный для шифрования исходных данных (обычного текста);

– алгоритм шифрования, который описывает, как с помощью ключа шифрования преобразовать обычный текст в шифротекст;

– ключ дешифрования, предназначенный для дешифрования шифротекста;

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

6) Вспомогательные процедуры..

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

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

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

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

– меры обеспечения безопасности и планирование защиты от непредвиденных обстоятельств;

– контроль за персоналом;

– защита помещений и хранилищ;

– гарантийные соглашения;

– договоры о сопровождении;

– контроль за физическим доступом.

Меры обеспечения безопасности и планирование защиты от непредвиденных обстоятельств.

В документе по мерам обеспечения безопасности должно быть определено следующее:

– область деловых процессов организации, для которой они устанавливаются;

– ответственность и обязанности отдельных работников;

– дисциплинарные меры, принимаемые в случае обнаружения нарушения установленных ограничений;

– процедуры, которые должны обязательно выполняться.

Контроль за персоналом.

Защита помещений и хранилищ.

Контроль за физическим доступом..

Защита от компьютерных вирусов.

СУБД и защита в Web. К мерам защиты, связанным с использованием СУБД в среде Web, относятся следующие:

– прокси-серверы;

– брандмауэры;

– использование цифровой подписи;

– алгоритмы создания дайджеста сообщений и цифровой подписи;

– цифровые сертификаты;

– использование церберов;

– использование технологий SSL и SHTTP.
Ведение системного журнала и аудит базы данных

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

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

Аудит – процедура, состоящая в проверке того, все ли предусмотренные средства управления задействованы и соответствует ли уровень защищенности установленным требованиям. В ходе выполнения инспекции аудиторы могут ознакомиться с используемыми ручными процедурами, обследовать компьютерные системы и проверить состояние всей имеющейся документации на данную систему. В частности, аудиторская проверка предусматривает контроль следующих используемых процедур и механизмов управления:

– поддержание точности вводимых данных;

– поддержание точности процедур обработки данных;

– предотвращение появления и своевременное обнаружение ошибок в процессе выполнения программ;

– корректное тестирование, документирование и сопровождение разработанных программных средств;

– предупреждение несанкционированного изменения программ;

– предоставление прав доступа и контроль за их использованием;

– поддержание документации в актуальном состоянии.

18.Методология проектирования баз данных. Описание предметной области. Концептуальное проектирование. Модель сущность-атрибут-связь (ER). Модели данных. Логическое проектирование. Система управления базой данных (СУБД). Основные функции СУБД. Физическое проектирование.
Понятие “предметная область” является базисным понятием в теории баз данных и поэтому не имеет строгого определения. Чтобы выяснить его смысл, дадим несколько определений.

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

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

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

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

Совокупность объектов, информация о которых представляет интерес для пользователей, образует объектное ядро предметной области.

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

После задания пространства состояний можно рассматривать в нем определенные траектории или последовательности состояний s0, s1 ,…, st, в которых находится предметная область в моменты времени 0, 1, …, t. Члены такой последовательности не могут быть совершенно произвольными, поскольку состояние st обычно каким-либо образом связано с предшествующими состояниями s0, s1 , …, st-1. Поэтому предметную область можно определить как класс всех действительно возможных последовательностей состояний. Такие последовательности называются траекториями предметной области. Совокупность всех общих свойств траекторий называется семантикой предметной области.

Концептуальное проектирование

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

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

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

Введем следующее определение: тип – это понятие, объединяющее все объекты данного типа.

Тип и объект данного типа находится в отношении абстрактное – конкретное. Каждый тип имеет уникальное имя.

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

Модель сущность-атрибут-связь (ER)

Модель сущность–атрибут–связь была предложена Петером Пин-Шен Ченов в 1976 г.

Базовыми понятиями ER-модели являются сущность, атрибут и связь.

Сущность – это реальный или воображаемый объект, информация о котором представляет интерес. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности.

Связь – это графич. изображаемая ассоциация, устанавливаемая м/у двумя сущностями. Эта ассоциация всегда является бинарной и может существовать м/у двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь).



1   ...   4   5   6   7   8   9   10   11   12


написать администратору сайта