Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИСЭ / ИСЭ КонспектЛекций.doc
Скачиваний:
24
Добавлен:
10.04.2015
Размер:
417.28 Кб
Скачать
  1. Базы данных

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

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

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

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

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

СУБД обеспечивает:

- описание и сжатие данных; - манипулирование данными;

- физическое размещение и сортировку записей;

- защиту от сбоев, поддержку целостности данных и их восстановление;

- работу с транзакциями и файлами;

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

СУБД определяет модель представления данных.

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

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

Классификации.

1. По модели данных:

Иерархические, Сетевые, Реляционные, Многомерные, Объектные, Объектно-ориентированные, Объектно-реляционные

2. По степени распределённости:

Локальная база данных - база данных, размещенная на одном или нескольких носителях на одном компьютере.

Централизованная база данных - база данных, размещенная в виде единого информационного массива на одном или нескольких носителях в одной ЭВМ.

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

По технологии хранения:

БД во вторичной памяти (традиционные), БД в оперативной памяти (in-memory databases), БД в третичной памяти (tertiary databases)

По содержимому:

Географические, Исторические, Научные, Мультимедийные, и т.д.

Централизованные (сосредоточенные), Распределённые

Пример БД.

arXiv.org (произносится [архи́в]) — крупнейший бесплатный архив электронных препринтов научных статей по физике, математике,астрономии,информатикеибиологии.

Архив был создан в 1991вЛос-Аламосской национальной лаборатории,США(англ.Los Alamos National Laboratory, LANL) и первоначально предназначался для физических статей, но постепенно возникли разделы, посвящённые другим наукам. К середине 2008 года в нём содержалось более 485 000 публикаций, и каждый месяц добавляется 3000—4000 статей.

Реляционные базы данных.

Проблемы обеспечения целостности при хранении в одной таблице.

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

При появлении новых «исходных» данных неясно, где их хранить.

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

Почему требуется помещать каждое данное в отдельную ячейку?

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

Почему нельзя дублировать данные?

При различии данных в разных таблицах (ошибка ввода или обоснованное изменение в одной из них) не очевидно, какое из данных верно.

В РБД данные размещены в наборе взаимосвязанных таблиц.

РБД используется следующая терминология:

Отношение (relation)– таблица;

поле, атрибут (field) – столбец;

запись, кортеж (record) – строка;

первичный ключ (primary key) – один или несколько атрибутов, содержащие неповторяющиеся значения;

внешний ключ (foreign key) – атрибут, ссылающийся на первичный ключ другого отношения;

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

структура базы данных – описание отношений, их атрибутов и связей.

Атрибуты характеризуются, как правило параметрами: имя, тип данных, модификаторы (первичный ключ, внешний ключ, уникальное поле (unique), непустое поле (not null), другие ограничения)

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

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

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

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

Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов(частей). Или другими словами: в 2НФ нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1НФ).

Таблица находится в третьей нормальной форме, если она находится во второй нормальной форме, и при этом любой её неключевой атрибут функционально зависит только от первичного ключа. Или что тоже самое - "нет зависимостей неключевых атрибутов от других неключевых атрибутов + 2НФ".

Между третьей и четвертой формами существует еще одна разновидность — нормальная форма Бойса—Кодда (НФБК). Все зависимые от первичного ключа атрибуты должны быть потенциальными ключами отношения. Если это условие не выполняется для них создаётся отдельное отношение. Чтобы сущность соответствовала НФБК, она должна находиться в третьей нормальной форме. Любая сущность с единственным возможным ключом, соответствующая требованиям третьей нормальной формы, автоматически находится в НФБК.

Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость не является функциональной, она существует в том случае, когда из факта, что в таблице содержится некоторая строка X, следует, что в таблице обязательно существует некоторая определённая строка Y. То есть, таблица находится в 4NF, если все ее многозначные зависимости являются функциональными.

Таблица находится в 5NF, если она находится в 4NF и любая многозначная зависимость соединения в ней является тривиальной.

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

управление данными во внешней памяти (на дисках);

управление данными в оперативной памяти с использованием дискового кэша;

журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,

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

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

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

Примеры СУБД

Firebird (FirebirdSQL) — компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на GNU/Linux, Microsoft Windows и разнообразных Unix платформах.

В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров. Firebird используется в различных промышленных системах с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.

Interbase — СУБД от компании Borland.

В настоящее время последней версией является InterBase 2009 (2009), в которой появилась поддержка Unicode и шифрование AES/DES. InterBase 7.5/2007 и Firebird 1.5/2.0 похожи, но уже далеки от полной совместимости — то есть миграция между их форматами баз данных легче, чем между форматами совсем «чужих» баз данных, но все же сопряжена с определенными проблемами.

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

Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISOпо структурированному языку запросов (SQL) с расширениями. Используется для небольших и средних по размеру баз данных, и в последние 5 лет — для крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка.

+Express Edition

Microsoft SQL Server Express является бесплатно распространяемой версией SQL Server. Данная версия имеет некоторые технические ограничения. Такие ограничения делают её непригодной для развертывания больших баз данных, но вполне годится для ведения программных комплексов в масштабах небольшой компании.

MySQL (официально произносится /mɑɪɛs kjuːɛl/, «май-эс-кью-эль», сленг. «мускул») — свободная система управления базами данных (СУБД). MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

PostgreSQL (произносится «Пост-Грес-Кью-Эл» или просто «постгрес») — свободная объектно-реляционная система управления базами данных (СУБД).

Является свободной альтернативой коммерческим СУБД (таким как Oracle Database, Microsoft SQL Server, IBM DB2, Informix и СУБД производства Sybase) вместе с другими свободными СУБД (такими как MySQL и Firebird).

Существует в реализациях для следующих платформ: Linux, Solaris/OpenSolaris, Win32, Mac OS X, FreeBSD, QNX 4.25, QNX 6.