Что является ядром базы данных

СОДЕРЖАНИЕ

Двигатели хранения

ИмяЛицензияТранзакционный
АрияGPLНет
СоколGPLда
InnoDBGPLда
MyISAMGPLНет
InfiniDBGPLНет
TokuDBGPLда
WiredTigerGPLда
XtraDBGPLда
RocksDBGPL v2 или Apache 2.0да

Дополнительные типы двигателей включают:

Соображения по дизайну

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

Иерархия хранилища базы данных

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

Структуры данных

Базы данных могут хранить данные во многих типах структур данных. Типичные примеры:

Ориентация данных и кластеризация

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

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

Например, может быть полезно сгруппировать запись о «предмете» на складе со всеми соответствующими записями о «заказах». Решение о том, кластеризовать ли определенные объекты или нет, зависит от статистики использования объектов, размеров объектов, размеров кешей, типов хранилищ и т. Д.

Индексирование базы данных

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

Источник

информатика

Лекции

1. Введение

ИНФОРМАЦИЯ И ЕЕ РОЛЬ В СОВРЕМЕННОМ ОБЩЕСТВЕ.

ИНФОРМАТИКА- НАУКА, ИЗУЧАЮЩАЯ СПОСОБЫ АВТОМАТИЗИРОВАННОГО СОЗДАНИЯ, ХРАНЕНИЯ, ОБРАБОТКИ, ИСПОЛЬЗОВАНИЯ, ПЕРЕДАЧИ И ЗАЩИТЫ ИНФОРМАЦИИ.

ИНФОРМАЦИЯ – ЭТО НАБОР СИМВОЛОВ, ГРАФИЧЕСКИХ ОБРАЗОВ ИЛИ ЗВУКОВЫХ СИГНАЛОВ, НЕСУЩИХ ОПРЕДЕЛЕННУЮ СМЫСЛОВУЮ НАГРУЗКУ.

В развитых странах большинство работающих заняты не в сфере производства, а в той или иной степени занимаются обработкой информации. Поэтому философы называют нашу эпоху постиндустриальной. В 1983 году американский сенатор Г.Харт охарактеризовал этот процесс так: «Мы переходим от экономики, основанной на тяжелой промышленности, к экономике, которая все больше ориентируется на информацию, новейшую технику и технологию, средства связи и услуги..»

2. КРАТКАЯ ИСТОРИЯ РАЗВИТИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ.

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

В вычислительных машинах первого поколения основными элементами были электронные лампы. Эти машины занимали громадные залы, весили сотни тонн и расходовали сотни киловатт электроэнергии. Их быстродействие и надежность были низкими, а стоимость достигала 500-700 тысяч долларов.

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

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

История ЭВМ четвертого поколения началась в 1970 году, когда ранее никому не известная американская фирма INTEL создала большую интегральную схему (БИС), содержащую в себе практически всю основную электронику компьютера. Цена одной такой схемы (микропроцессора) составляла всего несколько десятков долларов, что в итоге и привело к снижению цен на ЭВМ до уровня доступных широкому кругу пользователей.

СОВРЕМЕННЫЕ КОМПЬТЕРЫ- ЭТО ЭВМ ЧЕТВЕРТОГО ПОКОЛЕНИЯ, В КОТОРЫХ ИСПОЛЬЗУЮТСЯ БОЛЬШИЕ ИНТЕГРАЛЬНЫЕ СХЕМЫ.

6.ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ И ЕЕ ОБЪЕМ.

ЛЮБОЕ СООБЩЕНИЕ НА ЛЮБОМ ЯЗЫКЕ СОСТОИТ ИЗ ПОСЛЕДОВАТЕЛЬНОСТИ СИМВОЛОВ- БУКВ, ЦИФР, ЗНАКОВ. Действительно, в каждом языке есть свой алфавит из определенного набора букв (например, в русском- 33 буквы, английском- 26, и т.д.). Из этих букв образуются слова, которые в свою очередь, вместе с цифрами и знаками препинания образуют предложения, в результате чего и создается текстовое сообщение. Не является исключением и язык на котором «говорит» компьютер, только набор букв в этом языке является минимально возможным.

В КОМПЬЮТЕРЕ ИСПОЛЬЗУЮТСЯ 2 СИМВОЛА- НОЛЬ И ЕДИНИЦА (0 и 1), АНАЛОГИЧНО ТОМУ, КАК В АЗБУКЕ МОРЗЕ ИСПОЛЬЗУЮТСЯ ТОЧКА И ТИРЕ. Действительно, закодировав привычные человеку символы (буквы, цифры, знаки) в виде нулей и единиц (или точек и тире), можно составить, передать и сохранить любое сообщение.

ЭТО СВЯЗАНО С ТЕМ, ЧТО ИНФОРМАЦИЮ, ПРЕДСТАВЛЕННУЮ В ТАКОМ ВИДЕ, ЛЕГКО ТЕХНИЧЕСКИ СМОДЕЛИРОВАТЬ, НАПРИМЕР, В ВИДЕ ЭЛЕКТРИЧЕСКИХ СИГНАЛОВ. Если в какой-то момент времени по проводнику идет ток, то по нему передается единица, если тока нет- ноль. Аналогично, если направление магнитного поля на каком-то участке поверхности магнитного диска одно- на этом участке записан ноль, другое- единица. Если определенный участок поверхности оптического диска отражает лазерный луч- на нем записан ноль, не отражает- единица.

ОБЪЕМ ИНФОРМАЦИИ, НЕОБХОДИМЫЙ ДЛЯ ЗАПОМИНАНИЯ ОДНОГО ИЗ ДВУХ СИМВОЛОВ-0 ИЛИ 1, НАЗЫВАЕТСЯ 1 БИТ (англ. binary digit- двоичная единица). 1 бит- минимально возможный объем информации. Он соответствует промежутку времени, в течение которого по проводнику передается или не передается электрический сигнал, участку поверхности магнитного диска, частицы которого намагничены в том или другом направлении, участку поверхности оптического диска, который отражает или не отражает лазерный луч, одному триггеру, находящемуся в одном из двух возможных состояний.

Итак, если у нас есть один бит, то с его помощью мы можем закодировать один из двух символов- либо 0, либо 1.

3 бита- 8 вариантов;

Продолжая дальше, получим:

4 бита- 16 вариантов,

7 бит- 128 вариантов,

8 бит- 256 вариантов,

9 бит- 512 вариантов,

10 бит- 1024 варианта,

В обычной жизни нам достаточно 150-160 стандартных символов (больших и маленьких русских и латинских букв, цифр, знаков препинания, арифметических действий и т.п.). Если каждому из них будет соответствовать свой код из нулей и единиц, то 7 бит для этого будет недостаточно (7 бит позволят закодировать только 128 различных символов), поэтому используют 8 бит.

ДЛЯ КОДИРОВАНИЯ ОДНОГО ПРИВЫЧНОГО ЧЕЛОВЕКУ СИМВОЛА В КОМПЬЮТЕРЕ ИСПОЛЬЗУЕТСЯ 8 БИТ, ЧТО ПОЗВОЛЯЕТ ЗАКОДИРОВАТЬ 256 РАЗЛИЧНЫХ СИМВОЛОВ.

СТАНДАРТНЫЙ НАБОР ИЗ 256 СИМВОЛОВ НАЗЫВАЕТСЯ ASCII ( произносится «аски», означает «Американский Стандартный Код для Обмена Информацией»- англ. American Standart Code for Information Interchange).

ОН ВКЛЮЧАЕТ В СЕБЯ БОЛЬШИЕ И МАЛЕНЬКИЕ РУССКИЕ И ЛАТИНСКИЕ БУКВЫ, ЦИФРЫ, ЗНАКИ ПРЕПИНАНИЯ И АРИФМЕТИЧЕСКИХ ДЕЙСТВИЙ И Т.П.

КАЖДОМУ СИМВОЛУ ASCII СООТВЕТСТВУЕТ 8-БИТОВЫЙ ДВОИЧНЫЙ КОД, НАПРИМЕР:

ОБЪЕМ ИНФОРМАЦИИ, НЕОБХОДИМЫЙ ДЛЯ ЗАПОМИНАНИЯ ОДНОГО СИМВОЛА ASCII НАЗЫВАЕТСЯ 1 БАЙТ.

Очевидно что, поскольку под один стандартный ASCII-символ отводится 8 бит,

Остальные единицы объема информации являются производными от байта:

1 КИЛОБАЙТ = 1024 БАЙТА И СООТВЕТСТВУЕТ ПРИМЕРНО ПОЛОВИНЕ СТРАНИЦЫ ТЕКСТА,

1 МЕГАБАЙТ = 1024 КИЛОБАЙТАМ И СООТВЕТСТВУЕТ ПРИМЕРНО 500 СТРАНИЦАМ ТЕКСТА,

1 ГИГАБАЙТ = 1024 МЕГАБАЙТАМ И СООТВЕТСТВУЕТ ПРИМЕРНО 2 КОМПЛЕКТАМ ЭНЦИКЛОПЕДИИ,

1 ТЕРАБАЙТ = 1024 ГИГАБАЙТАМ И СООТВЕТСТВУЕТ ПРИМЕРНО 2000 КОМПЛЕКТАМ ЭНЦИКЛОПЕДИИ.

СКОРОСТЬ ПЕРЕДАЧИ ИНФОРМАЦИИ ПО ЛИНИЯМ СВЯЗИ ИЗМЕРЯЕТСЯ В БОДАХ.

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

7. СЖАТИЕ ИНФОРМАЦИИ НА ДИСКЕ

ИНФОРМАЦИЮ НА ДИСКЕ МОЖНО ОБРАБОТАТЬ С ПОМОЩЬЮ СПЕЦИАЛЬНЫХ ПРОГРАММ ТАКИМ ОБРАЗОМ, ЧТОБЫ ОНА ЗАНИМАЛА МЕНЬШИЙ ОБЪЕМ.

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

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

Источник

Ядро СУБД

Резюме

Вступление

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

История

В период с 1970 по 2000 год технология баз данных развивалась очень медленно.

Функции

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

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

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

использовать

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

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

Технологии

Источник

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

Содержание

Двигатели хранения

Многие современные СУБД поддерживают несколько механизмов хранения в одной базе данных. Например, MySQL поддерживает InnoDB а также MyISAM.

Некоторые механизмы хранения транзакционный.

ИмяЛицензияТранзакционный
АрияGPLНет
СоколGPLда
InnoDBGPLда
MyISAMGPLНет
InfiniDBGPLНет
TokuDBGPLда
WiredTigerGPLда
XtraDBGPLда
RocksDBBSDда

Дополнительные типы двигателей включают:

Соображения по дизайну

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

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

Иерархия хранилища базы данных

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

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

Структуры данных

Базы данных могут хранить данные во многих типах структур данных. [1] Типичные примеры:

Ориентация данных и кластеризация

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

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

Например, может быть полезно сгруппировать запись «предмета» на складе со всеми соответствующими записями «заказа». Решение о том, кластеризовать ли определенные объекты или нет, зависит от статистики использования объектов, размеров объектов, размеров кешей, типов хранилищ и т. Д.

Индексирование базы данных

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

Источник

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

Главная > Документ

Информация о документе
Дата добавления:
Размер:
Доступные форматы для скачивания:

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

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

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

2.1. Непосредственное управление данными во внешней памяти

2.2. Управление буферами оперативной памяти

2.3. Управление транзакциями

2.5. Поддержка языков БД

3.2. Компилятор языка БД и подсистема поддержки времени выполнения

4. Обзор возможностей и особенностей различных СУБД

5. Локальные и удаленные базы данных

5.1 Локальная база данных

5.2. Удаленная база данных

5.3. Обработка данных по технологии клиент-сервер

6. Язык запросов SQL

6.1. Состав языка SQL

6.2. Примеры применения операторов языка SQL

7. Современные технологии разработки СУБД (CASE-технологии)

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

Основная особенность СУБД – это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД, стали называть банки данных, а затем « Базы данных» (БД).

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

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

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

К числу функций СУБД принято относить следующие:

2.1. Непосредственное управление данными во внешней памяти

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

2.2. Управление буферами оперативной памяти

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

2.3. Управление транзакциями

Транзакция – это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется, и СУБД фиксирует изменения БД, произведенные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД. (Например, в информационной системе с файлами СТУДЕНТЫ и ГРУППЫ единственным способом не нарушить целостность БД при выполнении операции перевода в группу нового студента является объединение элементарных операций над файлами СТУДЕНТЫ и ГРУППЫ в одну транзакцию.)

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

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

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

Во всех случаях придерживаются стратегии «упреждающей» записи в журнал (так называемого протокола Write Ahead Log – WAL). Эта стратегия заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД.

2.5. Поддержка языков БД

Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка – язык определения схемы БД (SDL – Schema Definition Language) и язык манипулирования данными (DML – Data Manipulation Language). SDL служил главным образом для определения логической структуры БД, т.е. той структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language).

Перечислим некоторые функции реляционной СУБД, поддерживаемые на «языковом» уровне (т.е. функции, поддерживаемые при реализации интерфейса SQL).

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

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

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

Естественно, организация типичной СУБД и состав ее компонентов соответствует рассмотренному нами набору функций.

Логически в современной реляционной СУБД можно выделить наиболее внутреннюю часть – ядро СУБД (часто его называют Data Base Engine), компилятор языка БД (обычно SQL), подсистему поддержки времени выполнения, набор утилит. В некоторых системах эти части выделяются явно, в других – нет, но логически такое разделение можно провести во всех СУБД.

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

3.2. Компилятор языка БД и подсистема поддержки времени выполнения

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

4. Обзор возможностей и особенностей различных СУБД

Рассмотрим средства разработки, которые предлагает Microsoft. Эта компания в настоящий момент предлагает несколько программных продуктов семейства СУБД: Access, SQL Server, Visual FoxPro. Эти средства могут быть использованы, так по отдельности – для решения конкретно поставленной задачи, как и в качестве интегрированного набора. Основные характеристики продуктов приведены в следующей таблице.

Возможность использования непрофессиональным программистом.

Имеет мощные средства подготовки отчетов из БД различных форматов.

Создание отчетов произвольной формы на основании различных данных.

Разработка не коммерческих приложений.

Высокая степень защиты данных.

Мощные средства работы с данными.

Хранение больших массивов данных.

Хранение данных, требующих соблюдения режима секретности или при не допустимости их потери.

Высокий уровень объектной модели.

Высокая скорость обработки данных.

Интеграция объектно-ориентированного языка программирования с Xbase и SQL.

Создание приложений масштаба предприятия.

Создание приложений для работы на различных платформах (Windows 3.x,, Windows 95,, Macintosh и т. д.).

Рассмотрим названные СУБД.

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

СУБД Access для работы с данными использует процессор баз данных Microsoft Jet, объекты доступа к данным и средства быстрого построения интерфейса – Конструктор форм. Для получения распечаток используются Конструкторы отчетов. Автоматизация рутинных операций может быть выполнена с помощью макрокоманд. Access из всех рассматриваемых средств разработки имеет, пожалуй, самый богатый набор визуальных средств. Если функциональность визуальных средств оказывается недостаточной, пользователи Access могут обратиться к созданию процедур и функций на языке программирования Visual Basic for Application. Можно целиком создавать базы данных с помощью кодирования, когда в этом появляется необходимость.

Для коммерческого распространения приложений, разработанных на Access, предназначен пакет Access Developer Toolkit, вместе с которым поставляются и несколько дополнительных объектов ActiveX. Посредством драйверов ISAM можно получить доступ к файлам таблиц некоторых других форматов: DBASE, Paradox, Excel, текстовым файлам, FoxPro 2.x, а посредством технологии ODBC – и к файлам многих других форматов.

(ODBC – Open DataBase Connectivity – технологический стандарт Microsoft, предполагающий создание единого интерфейса доступа к различным базам данных на различных платформах.)

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

Access 7.0 может выступать как в роли OLE – контролера, так и OLE сервера. Это значит, что можно контролировать работу приложений Access из любого приложения, при условии, что оно может выступать в роли OLE контролера и наоборот.

(OLE – Object Linking and Embedding – технология, позволяющая создавать приложения, включающие в свой состав объекты, полученные из других приложений.)

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

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

Visual FoxPro – одна из наиболее быстрых СУБД для персональных компьютеров. Интерфейс Visual FoxPro отвечает представлениям о современной графической среде и напоминает интерфейс прочих программ Microsoft. Основная работа с данными выполняется с помощью различных инструментальных средств, поэтому команды меню часто имеют вспомогательный характер и их состав гибко меняется в зависимости от того, какое средство активно в данный момент.

Отличительные черты Visual FoxPro можно описать следующим образом:

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

2. Обеспечение полного набора средств для управления событиями. Традиционно в Xbase от программиста требовалось написать собственный драйвер для обработки необходимого набора событий. Но число событий, к которым может обращаться пользователь, весьма велико, и, следовательно, обработка событий является непростой задачей. Visual FoxPro имеет истинно управляемую событиями модель, так что по умолчанию система раньше, чем пользователи обрабатывает объектные события. Кроме того, программист теперь имеет полный доступ к набору стандартных, основанных на функционировании Windows событий (например, движение мыши, которые допускают перетаскивание объектов).

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

4. Обеспечение полной интеграции Visual FoxPro в семейство прикладных программ Micrpоsoft. Visual FoxPro обеспечивает полную поддержку OLE, что облегчает взаимодействие с другим программным обеспечением в среде Windows.

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

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

5. Локальные и удаленные базы данных

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

5.1 Локальная база данных

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

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

К этой группе относятся Paradox, dBase, Access.

5.2. Удаленная база данных

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

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

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

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

5.3. Обработка данных по технологии клиент-сервер

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

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

Как следует уже из самого термина, главная функция компьютера-сервера заключается в обслуживании потребностей клиента. Чаще всего компьютер с сервером баз данных выделяется только для выполнения операций с базами данных. Связь с клиентом, анализ и выполнение запроса к базе данных, включая возврат клиенту результата запроса, управление одновременным доступом к базе данных многих пользователей, перенаправление запросов к другим серверам сети, выполнение реляционных операций, управление словарем-справочником данных и обеспечение защиты – таковы некоторые основные функции сервера баз данных. Одно из важных требований к серверу – это то, что операционная система, в среде которой размещен сервер баз данных, должна быть многозадачной (и, желательно, но не обязательно, многопользовательской). Например, СУБД Oracle, установленная на персональном компьютере с операционной системой MS-DOS (или PC-DOS), не удовлетворяющей требованию многозадачности, не может использоваться как сервер баз данных. И та же СУБД Oracle, установленная на компьютере с многозадачной (хотя и не многопользовательской) операционной системой OS/2, может быть сервером баз данных.

Преимущества технологии клиент-сервер:

независимость от платформ (доступ к разнородным сетевым средам, в состав которых входят компьютеры разных типов с различными операционными системами);

большее число пользователей;

экономичность (доступность недорогого компьютерного оборудования и все большее распространение локальных сетей делают технологию клиент-сервер экономичнее других технологий обработки данных);

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

6. Язык запросов SQL

SQL (Structured Query Language – структурированный язык запросов) – язык программирования, который используется при работе с реляционными базами данных в большинстве современных СУБД (Access, Paradox, ORACLE и др.).

Язык SQL считается стандартом языков запросов для работы с реляционными базами данных. Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации).

Однако помимо SQL ANSI существует множество диалектов, с которыми работают различные системы. Например, Sybase SQL Server и Microsoft SQL используют синтаксис, существенно отличающийся от стандарта ANSI. InterBase, Oracle и многие другие в основном придерживаться стандарта ANSI, но каждый разработчик вносит в него и свои усовершенствования.

6.1. Состав языка SQL

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

Поэтому, в язык SQL в качестве составных частей входят:

язык манипулирования данными (Data Manipulation Language, DML)

язык определения данных (Data Definition Language, DDL)

язык управления данными (Data Control Language, DCL).

Подчеркнем, что это не отдельные языки, а модули, содержащие различные команды одного языка.

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *