Модуль 3. 1. Память эвм, ее характеристики. Структура памяти. Постоянные запоминающие устройства (программируемые маской, перепрограммируемые eprom, eeprom). Оперативные запоминающие устройства статического и динамического типов. Стек. Виртуальная память
Скачать 2.32 Mb.
|
). Как и в случае с декартовым произвед, степенью тета-соединения называется сумма степеней операндов-отношений R и S. |
Сотрудник | Номер телефона |
Иванов И. И. | 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-модели сущность представляется в виде прямоугольника, содержащего имя сущности.
Связь – это графич. изображаемая ассоциация, устанавливаемая м/у двумя сущностями. Эта ассоциация всегда является бинарной и может существовать м/у двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь).