Система бд. Банк данных. Информационно-поисковая система (документальная, фактографическая). 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Система бд. Банк данных. Информационно-поисковая система (документальная, фактографическая).



Базы данных и знаний

 

Понятие базы данных.

Система БД. Банк данных. Информационно-поисковая система (документальная, фактографическая).

База данных (БД, Date Base) – это именованная совокупность данных, отражающая состояние объектов и их отношения в рассматриваемой предметной области.

Базы данных (по Мартину) – взаимосвязанная совокупность хранящихся вместе данных при наличии такой минимальной избыточности, которая подразумевает их использование оптимальным.

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

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

В узком смысле система баз данных понимается как СУБД с управляемой ею базой данных, возможно, уже наполненной

Система управления базами данных (СУБД, Date Base Management System) – комплекс программных и языковых средств, предназначенных для создания баз данных, быстрого поиска в них информации, поддержки в актуальном состоянии и совместного использования многими пользователями.

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

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

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

 

 

2. СУБД (определение, функции). Классификация пользователей систем баз данных. Определение данных в базах данных. SQL.: Управление таблицами: создание, удаление. Типы данных в таблицах.

Система управления базами данных (СУБД, Date Base Management System) – комплекс программных и языковых средств, предназначенных для создания баз данных, быстрого поиска в них информации, поддержки в актуальном состояние и совместного использования многими пользователями.

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

  • -управление данными во внешней памяти (на дисках);
  • -управление данными в оперативной памяти с использованием дискового кэша;
  • -журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
  • -поддержка языков БД (язык определения данных, язык манипулирования данными).

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

  • администратор сервера баз данных. Он ведает установкой, конфигурированием сервера, регистрацией пользователей, групп, ролей и т.п. Администратор сервера имеет имя ingres. Прямо или косвенно он обладает всеми привилегиями, которые имеют или могут иметь другие пользователи.
  • администраторы базы данных. К этой категории относится любой пользователь, создавший базу данных, и, следовательно, являющийся ее владельцем. Он может предоставлять другим пользователям доступ к базе и к содержащимся в ней объектам. Администратор базы отвечает за ее сохранение и восстановление. В принципе в организации может быть много администраторов баз данных. Чтобы пользователь мог создать базу и стать ее администратором, он должен получить (вероятно, от администратора сервера) привилегию createdb.
  • прочие (конечные) пользователи. Они оперируют данными, хранящимися в базах, в рамках выделенных им привилегий.

Управление таблицами:

Таблицы создаются командой CREATE TABLE. Эта команда создает таблицу без строк. Значения вводятся с помощью команды INSERT. Команда CREATE TABLE в основном определяет имя таблицы, в виде описания набора имен столбцов указанных в определенном порядке. Она также определяет типы данных и размеры столбцов. Каждая таблица должна иметь по крайней мере один столбец.
Синтаксис команды CREATE TABLE:

CREATE TABLE <TABLE-NAME> (<COLUMN name> <DATA type>[(<SIZE>)], <COLUMN name> <DATA type> [(<SIZE>)]...);

Для удаления таблицы сначала необходимо очистить ее от записей. Это можно сделать с помощью команды DELETE. Синтаксис для удаления таблицы: DROP TABLE < table name >

Типы данных в таблицах:

· - Числовые типы. Обычно выделяют целочисленные типы данных и типы данных с плавающей точкой. В свою очередь в зависимости от диапазона значений эти типы данных делятся еще на несколько подклассов.

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

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

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

 

 

Языки запросов СУБД. SQL: Команда SELECT. Общая структура команды (блоки FROM, WHERE и т.п.) Манипулирование данными в СУБД.

SQL является наиболее мощным и популярным языком манипулирования данными реляционных систем управления базами данных (СУБД)

Минимальный синтаксис инструкции Select: Select поля from таблица

Выбор всех столбцов: Select * from <таблица>

Выбор конкретных столбцов: Select фамилия, имя [дата рождения] from таблица

Использование псевдонимов: Select fam as [фамилия], name as [имя], dr as [дата рождения] from таблица

Выборка данных: Select поля from таблица where условия отбора

Примечания:

  1. Символьные строки заключаются в апострофы “ ”.
  2. Даты заключаются в решетки #.
  3. Псевдонимы не могут использоваться в предложении Where.

 

 

4. Обновление баз данных. SQL: Управление данными: добавление, удаление записей. Реструктуризация баз данных. Понятие целостности баз данных. Безопасность баз данных.

  • Удаление: Delete <имя таблицы> where <условия отбора>
  • Изменение: Update <имя таблицы> Set <имя колонки>={<выражение>|Default|Null} from <имя исходной таблицы> where <условия отбора>
  • Добавление: INSERT INTO <имя таблицы> (<имя колонки>) values(<тип данных>)

Реструктуризация баз данных

Реструктуризацией (Далее Р.) называется процесс изменения структуры БД и соответсвующих ему изменения описания БД и самой хранимой БД. Р. может заключаться в изменении как логической так и физической структуры БД. Иногда к Р. Относят и такие изменения как восстановление или изменение условий проверки непротиворечивости данных.

Операции по Р. Зависят от предоставляемых СУБД возможностей выбора параметров структур данных, а так же от особенностей поддерживаемых ими структур.

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

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

Главная объективная причина необходимости Р. Заключается в том, что отображаемая в Бд предметная область является динамической и изменения происходящие в ней, могут потребовать изменения структуры БД. Другая причина возникает из-за появления новых запросов к БД, расширения и развития АИС в процессе ее функционирования.

Целесообразность Р. Выявляется и в процессе управления эффективностью функционирования АИС.

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

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

В большинстве случаев Р. выполняется путем создания новой схемы БД, выгрузкой старой БД (в линейные файлы) и загрузки ее в соответствие с новой схемой. Некоторые СУБД ползволяют осуществлять перезагрузку без промежуточных файлов, т.е. в режиме «Исходная БД -> Целевая БД».

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

Необходимость РО. вызывается ухудшением характеристик функционирования системы в результате ранее произведенных характеристик.

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

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

Частота проведения РО. зависит от многих факторов: размера БД, интенсивности и характера предшествующих корректировок, интенсивности последующих обращений к БД, предполагаемого срока жизни БД, характеристик процедуры РО. данных.

 

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

Обеспечение целостности данных гарантирует качество данных в таблице. Например если служащий вводится со значением столбца employee_id, равным 123, то база данных не должна позволять другим служащим иметь такое же значение идентификатора. Если существует столбец employee_rating, в котором диапазон значений должен составлять от 1 до 5, то база данных не должна сохранять в нем значение 6. Если в таблице есть столбец dept_id, в котором хранятся номера отделов для служащих, то база данных должна воспринимать только те значения, которые допустимы в качестве номеров отделов компании.

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

· Сущностная целостность

· Доменная целостность

· Ссылочная целостность

· Пользовательская целостность

Сущностная целостность

Сущностная целостность определяет строку как уникальную сущность в конкретной таблице. Она обеспечивает целостность столбцов идентификаторов или первичного ключа таблицы с помощью индексов, ограничений UNIQUE, ограничений PRIMARY KEY или свойств IDENTITY.

Доменная целостность - это достоверность записей в конкретном столбце. Она включает ограничения типа данных, ограничения формата при помощи ограничений CHECK и правил, а также ограничения диапазона возможных значений при помощи ограничений FOREIGN KEY, CHECK, DEFAULT, определений NOT NULL и правил.

Ссылочная целостность

Ссылочная целостность сохраняет определенные связи между таблицами при вводе или удалении записей. В SQL Server 2000 ссылочная целостность основана на связи первичных и внешних ключей (либо внешних и уникальных ключей) и обеспечивается с помощью ограничений FOREIGN KEY и CHECK. Ссылочная целостность гарантирует согласованность значений ключей во всех таблицах. Этот вид целостности требует отсутствия ссылок на несуществующие значения, а также обеспечивает согласованное изменение ссылок во всей базе данных при изменении значения ключа.

При обеспечении ссылочной целостности SQL Server не допускает следующих действий пользователей.

Добавления или изменения записей в связанной таблице, если в первичной таблице нет соответствующей записи.

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

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

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

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

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

Хищение информации из баз данных: местные особенности России или отражение мировых тенденций?

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

Один из основных выводов отчета CSI/FBI – значительно возросший ущерб от такой угрозы, как кража конфиденциальных данных. Каждая американская компания в среднем потеряла 355,5 тыс. долл. только из-за утечек конфиденциальных данных за прошедшие 12 месяцев. Средний размер потерь от действий инсайдеров составил 300 тыс. долл. (максимальный – 1,5 млн долл.). Решение вопросов персонифицированного доступа к конфиденциальным данным позволяет выявлять злоумышленника с помощью информации, неопровержимо доказывающей его вину. Это, в свою очередь, невозможно без применения самых современных способов аутентификации и управления доступом.

Можно ли остановить хищение информации из баз данных?

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

Итак, имеются следующие исходные данные:

- многие не догадываются о том, что их базы данных крадут;

- кража и причиненный ущерб имеют латентный характер;

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

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

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

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

 

 

E-R модель.

Модель сущность-связь (ER-модель) (англ. entity-relationship model, ERM) — модель данных, позволяющая описывать концептуальные схемы предметной области.

ER-модель используется при высокоуровневом (концептуальном) проектировании баз данных. С её помощью можно выделить ключевые сущности и обозначить связи, которые могут устанавливаться между этими сущностями.

Во время проектирования баз данных происходит преобразование ER-модели в конкретную схему базы данных на основе выбранной модели данных (реляционной, объектной, сетевой или др.).

ER-модель представляет собой формальную конструкцию, которая сама по себе не предписывает никаких графических средств её визуализации. В качестве стандартной графической нотации, с помощью которой можно визуализировать ER-модель, была предложена диаграмма сущность-связь (ER-диаграмма) (англ. entity-relationship diagram, ERD).

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

Хэш-адресация.

Бинарные деревья, B+деревья и их использование в СУБД. Объектно-ориентированное визуальное проектирование приложений в объектно-ориентированных СУБД. Понятие транзакции. Управление доступом, привилегии.

Хэш-адресация заключается в использовании значения, возвращаемого хэш-функ­цией, в качестве адреса ячейки из некоторого массива данных. Тогда размер масси­ва данных должен соответствовать области значений используемой хэш-функции. Следовательно, в реальном компиляторе область значений хэш-функции никак не должна превышать размер доступного адресного пространства компьютера. Метод организации таблиц идентификаторов, основанный на использовании хэш-адресации, заключается в помещении каждого элемента таблицы в ячейку, адрес которой возвращает хэш-функция, вычисленная для этого элемента. Тогда в иде­альном случае для помещения любого элемента в таблицу идентификаторов достаточно только вычислить его хэш-функцию и обратиться к нужной ячейке массива данных. Для поиска элемента в таблице также необходимо вычислить хэш-функцию для искомого элемента и проверить, не является ли заданная ею ячейка массива пустой (если она не пуста — элемент найден, если пуста — не найден). Первоначально таблица идентификаторов должна быть заполнена информацией, которая позволила бы говорить о том, что все ее ячейки являются пустыми. Этот метод весьма эффективен, поскольку как время размещения элемента в таб­лице, так и время его поиска определяются только временем, затрачиваемым на вычисление хэш-функции, которое в общем случае несопоставимо меньше вре­мени, необходимого для многократных сравнений элементов таблицы. Метод имеет два очевидных недостатка. Первый из них — неэффективное ис­пользование объема памяти под таблицу идентификаторов: размер массива для ее хранения должен соответствовать всей области значений хэш-функции, в то время как реально хранимых в таблице идентификаторов может быть существен­но меньше. Второй недостаток — необходимость соответствующего разумного выбора хэш-функции. Этот недостаток является настолько существенным, что не позволяет непосредственно использовать хэш-адресацию для организации таб­лиц идентификаторов.

Бинарное (двоичное) дерево (binary tree) - это упорядоченное дерево, каждая вершина которого имеет не более двух поддеревьев, причем для каждого узла выполняется правило: в левом поддереве содержатся только ключи, имеющие значения, меньшие, чем значение данного узла, а в правом поддереве содержатся только ключи, имеющие значения, большие, чем значение данного узла.
Бинарное дерево является рекурсивной структурой, поскольку каждое его поддерево само является бинарным деревом и, следовательно, каждый его узел в свою очередь является корнем дерева.
Узел дерева, не имеющий потомков, называется листом.
Схематичное изображение бинарного дерева:


Бинарное дерево может представлять собой пустое множество.

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

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

При построении B+ дерева, его временами приходится перестраивать. Это связано с тем, что количество ключей в каждом узле (кроме корня) должно быть от k, до 2k, где k — степень дерева. При попытке вставить в узел (2k+1)-й ключ возникает необходимость разделить этот узел. В качестве ключа-разделителя сформированных ветвей выступает (k+1)-й ключ, который помещается на соседний ярус дерева. Особым же случаем является разделение корня, так как в этом случае увеличивается число ярусов дерева. Особенностью разделения листа B+ дерева является то, что он делится на неравные части. При разделении внутреннего узла или корня возникают узлы с равным числом ключей k. Разделение листа может вызвать «цепную реакцию» деления узлов, заканчивающуюся в корне.

В B+ дереве легко реализуется независимость программы от структуры информационной записи.

Поиск обязательно заканчивается в листе.

Удаление ключа имеет преимущество — удаление всегда происходит из листа.

Другие операции выполняются аналогично B-деревьям.

B+ деревья требуют больше памяти чем B-деревья для представления.

B+ деревья имеют возможность последовательного доступа к ключам.

Транзакция – набор команд на SQL языке, выполняемых единым блоком, который выполняется по принципу все или ничего.

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

 

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

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

Логически пользователь понимается рассматриваемыми СУБД одинаково, хотя с принципиально различными реализациями этого понятия.

Процедура аутентификации (authentication) состоит в представлении пользователя системе при установлении соединения с базой данных и подтверждении его подлинности. Подтверждение подлинности выполняется паролем (password). Процедура аутентификации выполняется при запуске пользователем приложения.

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

Методы аутентификации

Для аутентификации могут использоваться внутренние или внешние методы.

При применении внутренних методов данные аутентификации пользователи являются объектами базы данных и их имена и пароли хранятся в СУБД.

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

Ая нормальная форма. Примеры.

Отношение (relation) – это формальный аппарат приведения отношений к такому виду чтобы данные в них не дублировались и не были противоречивы.

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

Первая нормальная форма

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

Преобразование отношения к первой нормальной форме может привести к увеличению количества реквизитов (полей) отношения и изменению ключа.

Например, отношение «Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа)» находится в первой нормальной форме.

 

Ая нормальная форма. Примеры.

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

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

Функциональная зависимость реквизитов — зависимость, при которой экземпляре информационного объекта определенному значению ключевого реквизита соответствует только одно значение описательного реквизита.

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

 

В случае составного ключа вводится понятие функционально полной зависимости.

Понятие функциональной зависимости атрибутов:

В отношении R атрибут B функционально зависит от A если в каждый момент времени, каждому значению атрибута A соответствует не более одного атрибута B.

Вторая нормальная форма

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

В случаи составного ключа вводится понятие полной функциональной зависимости.

Атрибут B из отношения R называется полностью зависимым от набора атрибутов A если B

функционально зависит от всего множества A но не зависит ни от какого подмножества A.

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

Пример

Пример приведения отношения ко второй нормальной форме

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

Сотрудник Должность Зарплата Наличие компьютера
Гришин Кладовщик   Нет
Васильев Программист   Есть
Иванов Кладовщик   Нет

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

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

Сотрудник Должность Зарплата
Гришин Кладовщик  
Васильев Программист  
Иванов Кладовщик  

 

Должность Наличие компьютера
Кладовщик Нет
Программист Есть

 

Транзитивная зависимость. 3-я нормальная форма. Примеры

Пример

Рассмотрим в качестве примера следующее отношение:

R1
Сотрудник Отдел Телефон
Гришин Бухгалтерия 11-22-33
Васильев Бухгалтерия 11-22-33
Петров Снабжение 44-55-66

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

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

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

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

R2
Отдел Телефон
Бухгалтерия 11-22-33
Снабжение 44-55-66

 

R3
Сотрудник Отдел
Гришин Бухгалтерия
Васильев Бухгалтерия
Петров Снабжение

Исходное отношение R1 при необходимости легко получается в результате операции соединения отношений R2 и R3.

 

SQL ("Язык структурированных запросов") - универсальный язык, применяемый для создания, модификации и управления данными в реляционных (удаленных) базах данных.

SQL является информационно-логическим языком, предназначенным для полного взаимодействия с реляционными базами данных.

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

Язык SQL предназначен только для взаимодействия с базой данных. Средств разработки законченных программ (организации красивых экранных форм, печати отчетов и т.п.) в нем нет.

 

 

Базы данных и знаний

 

Понятие базы данных.

Система БД. Банк данных. Информационно-поисковая система (документальная, фактографическая).

База данных (БД, Date Base) – это именованная совокупность данных, отражающая состояние объектов и их отношения в рассматриваемой предметной области.

Базы данных (по Мартину) – взаимосвязанная совокупность хранящихся вместе данных при наличии такой минимальной избыточности, которая подразумевает их использование оптимальным.

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

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

В узком смысле система баз данных понимается как СУБД с управляемой ею базой данных, возможно, уже наполненной

Система управления базами данных (СУБД, Date Base Management System) – комплекс программных и языковых средств, предназначенных для создания баз данных, быстрого поиска в них информации, поддержки в актуальном состоянии и совместного использования многими пользователями.

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

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

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

 

 



Поделиться:


Последнее изменение этой страницы: 2016-04-19; просмотров: 628; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.207.163.25 (0.133 с.)