Системы управления базами данных скачать через торрент бесплатно. Система баз данных (другие названия: банк данных, банк данных, банк данных) — это программный комплекс для эффективного хранения, модификации и выборки большого объема постоянных данных (данных). Он состоит из следующих двух частей:
1. база данных (с определением)
2 система управления базами данных (СУБД)
Определение и характеристики
Чтобы программную систему можно было назвать СУБД, она должна
1. иметь возможность управлять постоянными данными,
2. быть в состоянии получить доступ к большим объемам данных эффективно.
Оба условия необходимы (например, без другого любая файловая система будет соответствовать определению). Используемые в настоящее время системы баз данных также обладают многими другими характеристиками, такими как
1. поддержка хотя бы одной модели данных (например, реляционной, логической), которая отделяет концептуальный (логический) уровень от физического,
управление транзакциями,
2. использование языка более высокого уровня для обработки и определения данных (например, SQL, QBE, журнал данных),
3. аутентификация пользователя и авторизация операций с данными,
надежность и восстановление после ошибок без потери данных.
История
Первые коммерческие системы баз данных были разработаны в начале 1960-х годов, когда начали проявляться недостатки чисто файловых систем. В те времена так наз. системы навигационных баз данных, которые использовали сетевую модель данных или иерархическую модель данных. В начале 1970-х, после публикации статьи доктора Эдгара Кодда «Реляционная модель данных для больших общих банков данных», появились первые базы данных с поддержкой реляционной модели данных (так называемые системы реляционных баз данных, сокращенно RSRBD или RDBMS). были созданы, которые быстро потеснили неудобные и громоздкие навигационные системы. Интенсивные исследования в области объектно-ориентированных систем баз данных начались в 1980-х годах, но у нас еще нет достаточных знаний в этой области, чтобы иметь возможность достаточно эффективно их реализовывать. В начале 90-х годов появился термин т.н. система управления, ориентированная на знания, представляющая собой СУБД на основе логической модели данных, предоставляющая в качестве языка манипулирования (DML) и определения (DDL) данных один из языков декларативного программирования, например лог данных. Эти системы в настоящее время являются предметом интенсивных исследований, и ожидается, что они будут иметь большое значение в среднесрочной перспективе.
В настоящее время почти все используемые системы баз данных основаны на реляционной модели данных. В зависимости от предоставляемой ими производительности и возможностей мы можем условно разделить их на «высокопроизводительные» (Oracle Database, Microsoft SQL Server, IBM DB/2) и «младшие» (MySQL, MiniSQL, ...) и системы. между ними (PostgreSQL, ...). Помимо них, существуют и так называемые системы настольных реляционных баз данных, которые, в отличие от «полных» систем, не предоставляют высокоуровневых или даже расширенных функций, таких как обработка транзакций, авторизация, надежность и возможность восстановления, многопользовательский доступ и распространение; с другой стороны, они намного дешевле (Microsoft Access, dBase, Microsoft FoxPro, Firebird, Interbase, ...).
Архитектура
Общая архитектура СРБД
Хотя существуют разнообразные системы баз данных, поддерживающие разные модели данных, их архитектура, по крайней мере в самом общем виде, одинакова и состоит из трех подсистем: процессора DML и DDL, менеджера баз данных и файлового менеджера.
Процессор DML и DDL
Эта часть, также известная как «процессор запросов», отвечает за обработку пользовательского ввода, в основном через классы DML и DDL, поддерживаемые системой (например, SQL). Кроме того, он служит интерфейсом между прикладными программами, использующими систему, которая может быть реализована как библиотека пользовательских функций или как препроцессор специальных команд на основном языке. Затем задача процессора состоит в том, чтобы правильно обработать и оптимизировать требования, предъявляемые к базе данных извне, и сообщить о любых ошибках в них. Он отправляет свои выходные данные (например, оптимизированное дерево запросов) администратору базы данных для обработки.
Администратор базы данных
Администратор базы данных отвечает за управление системой (управляет системными таблицами, загружает отдельные модули и т. д.), а также предоставляет мощные услуги между обработчиком запросов и файловым менеджером. Получив ввод от обработчика запросов, он может делать дальнейшие оптимизации, так как обладает знаниями, которых нет у обработчика (сложность расчета отдельных функций, связи между сессиями и т.д.) и подготавливает т.н. логический план. Логический план будет преобразован и оптимизирован на основе дополнительных знаний (наличие индексов, раздача файлов и т.д.) к т.н. физический план, представляющий собой последовательность шагов более низкого уровня, часто содержащую, среди прочего, различные аналоги операторов реляционной алгебры (например, чтение таблицы из файла, сортировка по атрибуту, выполнение декартова произведения и т. д.). Физический план трансформируется в последовательность низкоуровневых шагов для файлового менеджера (например, прочитать первые 100 блоков из этого файла, записать содержимое этой ячейки памяти в этот файл). Администратор базы данных также отвечает за управление транзакциями, аутентификацию и авторизацию и многое другое.
Файловый менеджер
Файловый менеджер управляет доступом к физическим файлам и выполняет операции, указанные менеджером баз данных. Эта функция может выполняться файловым менеджером из операционной системы в простых системах баз данных, но часто она сочетается с собственным модулем, который имеет, например. отмечены блокировки на отдельных блоках файла. В системах, где на первом месте стоит производительность, весь файловый менеджер может поставляться с базой данных, которая управляет одним разделом на диске или даже всем диском, что позволяет выполнять очень низкоуровневую оптимизацию (например, хранить часто необходимые данные на общем цилиндре).