Классификация современных субд. Системы управления базами данных и их функции

Систе́ма управле́ния ба́зами да́нных (СУБД) - программная система, предназначенная для создания на ЭВМ общей базы данных для множества приложений, поддержания ее в актуальном состоянии и обеспечение эффективного доступа пользователей.

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

Конструктивные черты:

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

2)Наличие инструментов создания объектов базы данных в режиме диалога;

3)Наличие развитого инструментария создания программных расширений в рамках единой среды;

4)Встроенная поддержка универсальных языков управления данными (SQL или QBE).

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

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

· управление буферами оперативной памяти;

· управление транзакциями;

· ведение журнала изменений в БД;

· Обеспечение целостности и безопасности БД.

Виды СУБД: По модели данных : 1)иерархические; 2)сетевые; 3)реляционные; объектно-ориентированные

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

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

· Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)

· Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).

По способу доступа к БД:

1)файл-серверные (доступ СУБД к данным осуществляется через локальную сеть);

2)клиент-серверные (все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно);

3)встраиваемые (предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети)

26. Основы работы СУБД MS Access: основные технологии работы с таблицами (на примере).

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

Существует несколько способов создания таблиц в Access:

· Создание таблицы в режиме таблицы (или путем ввода данных);

· Создание таблицы в режиме конструктора таблиц;

· Создание таблиц с помощью мастера таблиц.

27. Основы работы СУБД MS Access: основные технологии работы с формами (на примере).

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

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

Также для удобства работы с формой на ней можно разместить Элементы управления (например Кнопки ).

Форма, разделенная форма, конструктор форм и т.д.

28. Основы работы СУБД MS Access: основные технологии организации многотабличных баз данных (на примере).

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

Все запросы делятся на запросы-выборки и запросы-действия.

Основными объектами БД Access являются таблицы, запросы, формы, отчеты, макросы, модули. Таблица является базовым объектом СУБД, все остальные объекты являются производными и создаются только на базе ранее подготовленных таблиц. Таблицы - это набор данных, объединенных одним смыслом, характером, назначением (например, данные о месторождениях). В таблицах эти данные хранятся, располагаясь в полях (столбцах) и однотипных записях (строках). Каждое отдельное поле содержит одно какое-либо сведение об элементе таблицы. Отдельная запись состоит из полей и содержит все сведения об этом элементе. Обычно БД состоит из нескольких таблиц, размеры которых ограничены. Число строк в таблице на единицу больше количества записей (последняя пустая строка предназначена для ввода новой записи), а число столбцов равно количеству полей в записи. Заголовки столбцов таблицы соответствуют именам полей.

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

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

29. Основы работы СУБД MS Access: основные технологии работы с запросами (на примере).

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

Все запросы делятся на запросы-выборки и запросы-действия.

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

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

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

Запросы в MS Access доступны в трех режимах: табличном, в котором запрос выглядит так же, как обычная таблица, режиме конструктора, где запрос предстает в виде схемы связанных объектов, и в виде инструкций SQL (запросы построены на лексическом диалекте, основанном на семантике обычного языка (английского). При создании языка предполагалось, что конструкцию на нем сможет написать любой неподготовленный пользователь, руководствуясь исключительно своими потребностями и исходя из существующей структуры данных).


Похожая информация.


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

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

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

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

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

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

Для вывода в отчеты определенных данных применяются запросы (queries). Использование запросов похоже на процесс поиска, – задаются конкретные критерии отбора, на основе которых база данных формирует и возвращает отчет. Например, если база данных содержит информацию о телефонных номерах, то можно запросить вывести в отчете только те телефоны, которые относятся к конкретному адресу, или только те, которые относятся к конкретной фамилии, или начинающиеся с определенных цифр и т.п. Запросы записываются на языке SQL (Structured Query Language - язык структурированных запросов).

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

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

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

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

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

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

Рис. 45. Схема данных.

На рисунке 45 показана взаимосвязь между двумя таблицами, описанными в этом примере. Линия между таблицами обозначает существование связи. Число 1 , расположенное слева, означает, что в таблице Клиенты параметр cust_ID является уникальным, а знак бесконечности , находящийся справа, указывает, что в таблице Покупки одно и то же значение параметра cust_ID может повторяться сколько угодно. Такое отношение называется "один-ко-многим ".

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

Модель реляционной СУБД была разработана в 70-80 годы XX века. К реляционным СУБД относится целый ряд программных продуктов, среди них Microsoft Access из пакета Microsoft Office , MySQL или более мощные системы промышленного уровня, таких как Microsoft SQL Server или Oracle .

В последнее время активно развивается и другая модель представления баз данных – объектная . Реляционная модель акцентирует свое внимание на структуре и связях сущностей, объектная - на их свойствах и поведении.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Реферат

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

Выполнил:

Куринов Сергей Борисович

Москва 1997

Введение

1. Краткая характеристика программного обеспечения, используемого при создании СУБД

2. Принципы организации данных, лежащие в основе современных СУБД

3. Современные технологии, используемые в работе с данными

Список литературы

Введение

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

обеспечивать получение общих и/или детализированных отчетов по итогам работы;

позволять легко определять тенденции изменения важнейших показателей;

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

выполнять точный и полный анализ данных.

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

Среди наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также баз данных Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии «клиент-сервер». Фактически, у любой современной СУБД существует аналог, выпускаемый другой компанией, имеющий аналогичную область применения и возможности, любое приложение способно работать со многими форматами представления данных, осуществлять экспорт и импорт данных благодаря наличию большого числа конвертеров. Общепринятыми, также, являются технологи, позволяющие использовать возможности других приложений, например, текстовых процессоров, пакетов построения графиков и т.п., и встроенные версии языков высокого уровня (чаще - диалекты SQL и/или VBA) и средства визуального программирования интерфейсов разрабатываемых приложений. Поэтому уже не имеет существенного значения на каком языке и на основе какого пакета написано конкретное приложение, и какой формат данных в нем используется. Более того, стандартом «де-факто» стала «быстрая разработка приложений» или RAD (от английского Rapid Application Development), основанная на широко декларируемом в литературе «открытом подходе», то есть необходимость и возможность использования различных прикладных программ и технологий для разработки более гибких и мощных систем обработки данных. Поэтому в одном ряду с «классическими» СУБД все чаще упоминаются языки программирования Visual Basic 4.0 и Visual C++, которые позволяют быстро создавать необходимые компоненты приложений, критичные по скорости работы, которые трудно, а иногда невозможно разработать средствами «классических» СУБД. Современный подход к управлению базами данных подразумевает также широкое использование технологии «клиент-сервер».

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

1. Краткая характери стика программного обеспечения, используемого при создании СУБД

Рассмотрим более подробно программные продукты компании Microsoft, а именно Visual FoxPro 3.0, Visual Basic 4.0, Visual С++, Access 7.0, SQL Server 6.5. Наиболее интересной чертой этих пакетов являются их большие возможности интеграции, совместной работы и использования данных, так как данные пакеты являются продуктами одного производителя, а также используют сходные технологии обмена данными.

Visual FoxPro отличается высокой скоростью, имеет встроенный объектно-ориентированный язык программирования с использованием xBase и SQL, диалекты которых встроены во многие СУБД. Имеет высокий уровень объектной модели. При использовании в вычислительных сетях обеспечивает как монопольный, так и раздельный доступ пользователей к данным. Применяется для приложений масштаба предприятия для работы на различных платформах: Windows 3.x, Windows 95, Macintosh... Минимальные ресурсы ПК: для Visual FoxPro версии 3.0 - процессор 468DX, Windows 3.1, 95, NT, объем оперативной памяти 8 (12) Мб, занимаемый объем на ЖМД 15-80 Мб, а для Visual FoxPro версии 5.0 (выпущена в 1997 году) - Windows 95 или NT, 486 с тактовой частотой 50 МГц, 10 Мб ОЗУ, от 15 до 240 Мб на ЖМД.

Access входит в состав самого популярного пакета Microsoft Office. Основные преимущества: знаком многим конечным пользователям и обладает высокой устойчивостью данных, прост в освоении, может использоваться непрофессиональным программистом, позволяет готовить отчеты из баз данных различных форматов. Предназначен для создания отчетов произвольной формы на основании различных данных и разработки некоммерческих приложений. Минимальные ресурсы ПК: процессор 468DX, Windows 3.1, 95, NT, объем оперативной памяти 12 (16) Мб, занимаемый объем на ЖМД 10-40 Мб.

Visual Basic - это универсальный объектно-ориентированный язык программирования, диалекты которого встроены в Access, Visual FoxPro. Преимущества: универсальность, возможность создания компонентов OLE, невысокие требования к аппаратным ресурсам ЭВМ. Применяется для создания приложений средней мощности, не связанных с большой интенсивностью обработки данных, разработки компонентов OLE, интеграция компонентов Microsoft Office. Минимальные ресурсы ПК: процессор 368DX, Windows 3.1, 95, NT, объем оперативной памяти 6 (16) Мб, занимаемый объем на ЖМД 8-36 Мб.

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

SQL Server - сервер баз данных, реализует подход «клиент-сервер» и взаимодействует с указанными пакетами. Главные достоинства: высоая степень защиты данных, мощные средства для обработки данных, высокая производительность. Область применения: хранение больших объемов данных, хранение высокоценных данных или данных, требующих соблюдения режима секретности. Минимальные ресурсы ПК: процессор 468DX-33МГц, Windows NT, объем оперативной памяти 16 (32) Мб, занимаемый объем на ЖМД 80 Мб.

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

2. Принципы организации данных, ле жащие в основе современных СУБД

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

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

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

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

Объект (Сущность) - элемент какой-либо системы, информация о котором сохраняется. Объект может быть как реальным (например, человек), так и абстрактным (например, событие - поступление человека в стационар).

Атрибут - информационное отображение свойств объекта. Каждый объект характеризуется набором атрибутов.

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

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

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

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

3. Современные технологии, используемые в работе с данными

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

Microsoft Access, Microsoft Visual FoxPro, Microsoft Visual Basic обеспечивают средства для создания клиентских частей в приложениях «клиент-сервер», которые сочетают в себе средства просмотра, графический интерфейс и средства построения запросов, а Microsoft SQL Server является на сегодняшний день одним из самых мощных серверов баз данных.

OLE 2.0 (Object Linking and Embedding - связывание и внедрение объектов) - стандарт, описывающий правила интеграции прикладных программ. Применяется для использования возможностей других приложений. OLE 2.0 используется для определения и совместного использования объектов несколькими приложениями, которые поддерживают данную технологию. Например, использование в среде Access таблиц Excel и его мощных средств построения диаграмм или использование данных, подготовленных Access, в отчетах составленных в редакторе текстов Word (связывание или включение объекта).

OLE Automation (Автоматизация OLE) - компонент OLE, позволяющий программным путем устанавливать свойства и задавать команды для объектов другого приложения. Позволяет без необходимости выхода или перехода в другое окно использовать возможности нужного приложения. Приложение, позволяющее другим прикладным программам использовать свои объекты называется OLE сервером. Приложение, которое может управлять объектами OLE серверов называется OLE контроллер или OLE клиент. Из рассмотренных программных средств в качестве OLE серверов могут выступать Microsoft Access, а также Microsoft Excel, Word и Graph... Microsoft Visual FoxPro 3.0 и 5.0 может выступать только в виде OLE клиента.

RAD (Rapid Application Development - Быстрая разработка приложений) - подход к разработке приложений, предусматривающий широкое использование готовых компонентов и/или приложений и пакетов (в том числе от разных производителей).

ODBC (Open Database Connectivity - открытый доступ к базам данных) - технология, позволяющая использовать базы данных, созданные другим приложением при помощи SQL.

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

VBA (Visual Basic for Applications - Visual Basic для Приложений) - разновидность (диалект) объектно-ориентированного языка программирования Visual Basic, встраиваемая в программные пакеты.

Список литературы

1. Б. Богумирский Эффективная работа на IBM PC в среде Windows 95

2. СПб, «Питер», 1997, 1000с.

3. Д. Вейскас Эффективная работа с Microsoft Access 7.0 «Microsoft Press», 1997, 864с.

4. Дж. Вудкок, М. Янг Эффективная работа с Microsoft Office 95 «Microsoft Press», 1000с.

5. А. Горев, С. Макашарипов, Р. Ахаян Эффективная работа с СУБД СПб, «Питер», 1997, 704с.

6. А. В. Потапкин Основы Visual Basic для пакета Microsoft Office М, «Эком», 1995, 256с.

Размещено на Allbest.ru

Подобные документы

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

    контрольная работа , добавлен 16.11.2010

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

    курсовая работа , добавлен 11.07.2011

    Классификации баз данных по характеру сберегаемой информации, способу хранения данных и структуре их организации. Современные системы управления базами данных и программы для их создания: Microsoft Office Access, Cronos Plus, Base Editor, My SQL.

    презентация , добавлен 03.06.2014

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

    курсовая работа , добавлен 02.07.2011

    Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.

    реферат , добавлен 01.11.2009

    Характеристика категорий современных баз данных. Исследование особенностей централизованных и распределенных баз данных. Классификация систем управления базами данных по видам программ и применению. Управление буферами оперативной памяти и транзакциями.

    курсовая работа , добавлен 10.03.2016

    Основные понятия базы данных и систем управления базами данных. Типы данных, с которыми работают базы Microsoft Access. Классификация СУБД и их основные характеристики. Постреляционные базы данных. Тенденции в мире современных информационных систем.

    курсовая работа , добавлен 28.01.2014

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

    реферат , добавлен 29.11.2010

    Современные информационные технологии обработки данных, автоматизированного офиса и баз данных, сетевые интернет-технологии. Работа с системой управления базами данных (СУБД) MS Access, связанными списками MS Excel, текстовым редактором MS Word.

    методичка , добавлен 01.07.2014

    Алгоритмы обработки массивов данных. Система управления базами данных. Реляционная модель данных. Представление информации в виде таблицы. Система управления базами данных реляционного типа. Графический многооконный интерфейс.


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

Достоинствами иерархической модели данных относятся эффективное исполь­ зование памяти ЭВМ и неплохие показатели времени выполнения основных опера­ций над данными. Иерархическая модель данных удобна для работы с иерархически упорядоченной информацией.

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

Примеры: зарубежные системы IMS, PC/Focus, Team-Up и Data Edge, а также отечественные системы Ока, ИНЭС и МИРИС;

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

Достоинством сетевой модели данных является возможность эффективной реа­лизации по показателям затрат памяти и оперативности. В сравнении с иерархичес­кой моделью сетевая модель предоставляет большие возможности в смысле допусти­мости образования произвольных связей.
Недостатком сетевой модели данных является высокая сложность и жесткость схемы БД, построенной на ее основе, а также сложность для понимания и выполне­ния обработки информации в БД обычным пользователем. Кроме того, в сетевой мо­дели данных ослаблен контроль целостности связей вследствие допустимости уста­новления произвольных связей между записями.
Системы на основе сетевой модели не получили широкого распространения на практике. Наиболее известными сетевыми СУБД являются следующие: IDMS, db_VistaIII, СЕТЬ, СЕТОР и КОМПАС;

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

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

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

Примерами зарубежных реляционных СУБД для ПЭВМ являются следующие: dBaseIII Plus и dBase IV (фирма Ashton-Tate), DB2 (IBM), R:BASE (Microrim), FoxPro ранних версий и FoxBase (Fox Software), Paradox и dBASE for Windows (Borland), FoxPro более поздних версий, Visual FoxPro и Access (Microsoft), Clarion (Clarion Software), Ingres (ASK Computer Systems) и Oracle (Oracle).

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

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

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

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

Недостатками объектно- ориентированной модели являются высокая понятийная сложность, неудобство обработки данных и низкая скорость выполнения запросов.

Современные СУБД являются объектно-ориентированными и реляционными. Основной единицей является объект, имеющий свойства, и связи между объектами. СУБД используют несколько моделей данных: иерархическую и сетевую (с 60-х годов) и реляционную (с 70-х). Основное различие данных моделей в представлении взаимосвязей между объектами. Иерархическая модель данных строится по принципу иерархии объектов, то есть один тип объекта является главным, все нижележащие – подчиненными. Устанавливается связь «один ко многим», то есть для некоторого главного типа существует несколько подчиненных типов объектов. Иначе, главный тип именуется исходным типом, а подчиненные – порожденными. У подчиненных типов могут быть в свою очередь подчиненные типы. Наивысший в иерархии узел (совокупность атрибутов) называют корневым. Сетевая модель данных строится по принципу «главный и подчиненный тип одновременно», то есть любой тип данных одновременно может одновременно порождать несколько подчиненных типов (быть владельцем набора) и быть подчиненным для нескольких главных (быть членом набора). Реляционная модель данных объекты и связи между ними представляются в виде таблиц, при этом связи тоже рассматриваются как объекты. Все строки, составляющие таблицу в
реляционной базе данных должны иметь первичный ключ. Все современные средства СУБД поддерживают реляционную модель данных.
Объект (Сущность) – элемент какой-либо системы, информация о котором сохраняется. Объект может быть как реальным (например, человек), так и абстрактным (например, событие – поступление человека в стационар).
Атрибут – информационное отображение свойств объекта. Каждый
объект характеризуется набором атрибутов. Таблица – упорядоченная структура, состоящая из конечного набора однотипных записей.
Первичный ключ – атрибут (или группа атрибутов), позволяющий однозначным
образом определить каждую строку в таблице.

    По степени распределённости
    Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
    Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).
    По способу доступа к БД
3.1 Файл-серверные

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

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

Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

3.2 Клиент-серверные

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

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

В ответ на пользовательский запрос рабочая станция получит не «сырье» для последующей обработки, а готовые результаты. Программное обеспечение рабочей станции при такой архитектуре играет роль только внешнего интерфейса (Front - end) централизованной системы управления данными. Это позволяет существенно уменьшить сетевой трафик, сократить время на ожидание блокированных ресурсов данных в мультипользовательском режиме, разгрузить рабочие.
Как правило, клиент и сервер территориально отделены друг от друга, и в этом случае они входят в состав или образуют систему распределенной обработки данных.
Для современных СУБД архитектура «клиент-сервер» стала фактически стандартом. Если предполагается, что проектируемая информация будет иметь архитектуру «клиент-сервер», то это означает, что прикладные программы, реализованные в ее рамках, будут иметь распределенный характер, т. е. часть функций приложений будет реализована в программе-клиенте, другая - в программе-сервере.
Основной принцип технологии «клиент-сервер» заключается в разделении функций стандартного интерактивного приложения на четыре группы:

    функции ввода и отображения данных;
    прикладные функции, характерные для предметной области;
    фундаментальные функции хранения и управления ресурсами (базами данных);
    служебные функции.
Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Cache, ЛИНТЕР.

3.3 Встраиваемые

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

Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.

Перспективы развития систем управления базами данных: Этот этап характеризуется появлением новой технологии доступа к данным - интранет. Основное отличие этого подхода от технологии клиент-сервер состоит в том, что отпадает необходимость использования специализированного клиентского программного обеспечения. Для работы с удаленной базой данных используется стандартный браузер Интернета, например Microsoft Internet Explorer или Netscape Navigator, и для конечного пользователя процесс обращения к данным происходит аналогично скольжению по Всемирной Паутине (см. рис. 1.1). При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языке Java, Java-script, Perl и других, отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к базе данных, выполняя, таким образом, ту работу, которой в технологии клиент-сервер занимается клиентская программа. Удобство данного подхода привело к тому, что он стал использоваться не только для удаленного доступа к базам данных, но и для пользователей локальной сети предприятия.

Требования к современным СУБД:

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

Cовременные технологии используемые при работе с данными:

Технология «Клиент-сервер» – технология, разделяющая приложение- СУБД на две части: клиентскую (интерактивный графический интерфейс, расположенный на компьютере пользователя) и сервер,
собственно осуществляющий управление данными, разделение информации, администрирование и безопасность, находящийся на выделенном компьютере. Взаимодействие «клиент-сервер» осуществляется следующим образом: клиентская часть приложения формирует запрос к серверу баз данных, на котором выполняются все команды, а результат исполнения запроса отправляется клиенту для просмотра и использования. Данная технология применя
и т.д.................

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

Быстрое развитие потребностей применений выдвигает ряд новых требований к СУБД:

· поддержка широкого спектра представлений данных и операций над ними в БД (включая фактографические, документальные и картинно-графические данные);

· управление мультибазами данных (в общем случае их неоднородности);

· управление распределенными БД, интеграция неоднородных БД;

· естественные и эффективные представления о моделях данных разнообразных отношений объектов предметных областей;

· развитие техники баз знаний (БЗ), интеграция концепций баз данных и знаний, реализация дедуктивных БД;

· обеспечение целостности БД в широком диапазоне разнообразных предметных областей и операционных обстановок.

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

Классификация СУБД :

1- по используемому языку общения:

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

· открытые - для общения с БД используется язык программирования, "расширенный" операторами языка манипулирования данными (ЯМД), в этом случае необходимо присутствие квалифицированного программиста;

2- по числу поддерживаемых СУБД уровней моделей данных :

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

3- по выполняемым функциям:

· операционные - иные виды обработки по получению информации, не хранящейся в явном виде в БД;

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

4- по сфере применения :

· универсальные - настраиваются на любую предметную область путем создания соответствующей БД и прикладных программ;

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

5- по допустимым режимам работы :

· пакетный;

· телеобработка;

6- по числу пользователей :

1. однопользовательские;

2. многопользовательские;

7-по поддерживаемой модели данных:

1. реляционные (сетевые, иерархические);

2. объектные.

Поколения СУБД и их основные характеристики

1 поколение: на основе сетевых и иерархических моделей; впервые была представлена развитая функциональность СУБД в рамках единой системы, с языками манипулирования и определения данными для наборов записей. Примеры CODASYL, IMS.

2 поколение : на основе реляционных моделей данных; в этих системах использовались непроцедурные языки манипулирования данными и предусматривалась значительная независимость данных. Примеры - DB2 (IBM), INGRES (INDRES Corporation), ORACLE (Oracle Corporation), Rdb/VMS (Digital Equipment Corporation). Однако существует ряд недостатков, заставивших разработчиков СУБД, сформулировать предполагаемые функции следующего поколения: в реляционных системах баз данных трудно хранить сегменты текста, графики, пиктограммы и сложных структуры данных.

3 поколение: принципы .

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

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

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

Предложения, касающиеся управления объектами и правилами .

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

· Наследование - организация типов в иерархию наследования.

· Наличие функций, в т. ч. процедур и методов данных, инкапсуляция.

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

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

1. управление данными во внешней памяти;

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

3. управление транзакциями;

4. журнализация и восстановление базы данных после сбоев;

5. поддержание языков баз данных.

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

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

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

Одно из основных требований к СУБД - надежное хранение данных во внешней памяти . Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние базы данных после аппаратного или программного сбоя. Поддержание надежного хранения данных в базе данных требует избыточности хранения данных, причем та их часть, которая используется для восстановления, должна храниться особо надежно. Наиболее распространенный метод поддержания такой избыточности - это ведение журнала изменений базы данных. Во всех случаях придерживаются “упреждающей “ записи в журнал (так называемый протокол Write Ahеad Log). Эта стратегия заключается в том, что запись об изменении любого объекта базы данных должна попасть во внешнюю память журнала раньше, чем она попадет во внешнюю память основной части базы данных. Известно, что если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления базы данных после любого сбоя.

Для работы с базой данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по свои функциям языков. Чаще всего выделяются два: язык определения схемы БД (SDL - Shema Defininatin Language) и язык манипулирования данными (DML - Data Manipulation Language). В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с базой данных, начиная от ее создания обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных реляционных СУБД является язык SQL. Прежде всего он сочетает средства SDL и DML, т. е. позволяет определять схему реляционной базы данных и манипулировать данными. Язык SQL содержит специальные средства определения ограничения целостности; специальные операторы языка позволяют определять так называемые представления БД, фактически являющиеся хранимыми в базе данных запросами. Наконец, авторизация доступа к объектам базы данных производится на основе специального набора операторов SQL.

Типовая организация современной СУБД

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

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

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

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

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

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

Что представляет собой современная СУБД

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

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

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

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

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

1. Поддержка модели данных.

1.1 Класс структур данных

1.2 Класс манипулирования данными

1.3 Класс ограничений целостности

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

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

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

1- взгляд пользователя, воплощаемый в "логическом " представлении,

2- взгляд системы - "физическое" представление, характеризующее организацию данных.

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

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

2. Средства администратора данных.

2.1 Ведение словаря-справочника

2.2 Сбор и анализ статистики функционирования БД

2.3 Управление представлением БД в среде хранения

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

2.4 Реорганизация (реструктуризация) БД

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

2.5 Контроль целостности и восстановления БД

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

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

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

2.6 Конвертирование данных и прикладных программ

3. Средства разработки приложений

3.1 Проектирование БД

3.2 Интерфейс с языками программирования

3.3 Средства генерации (генератор программного кода, форм ввода - вывода, пользовательских интерфейсов)

3.4 Генерация отчетов

4. Средства конечного пользователя.

4.1 Тип конечного пользователя (язык запросов конечного пользователя, интерфейс типа меню)

4.2 Средства обучения, подсказки и меню

5. Интерфейсы с другими СУБД.

6. Средства работы в сети ЭВМ и создание распределенных БД.

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

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

Ключевые слова :

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

поколения СУБД

функции СУБД

управление внешней памятью

управление транзакциями

буферизация данных во внешней памяти

хранение данных во внешней памяти

языки СУБД

ядро СУБД

компилятор языка СУБД

менеджер транзакций

менеджер журнала

менеджер буферов

менеджер данных

логическое представление данных

физическое представление данных

независимость данных

администрирование данных

логическая (физическая) реструктуризация

1. Ульман Дж., Уидом Дж. Введение в системы баз данных./Пер. с англ. – М.: Издательство «Лори», 200с.

2. Системы управления базами данных. Журнал издательского дома "Открытые системы", 1гг.

3. Кагаловский технологий баз данных. – М.: Финансы и статистика, 2002. – 800с.

4. Дейт К. Дж. Введение в системы баз данных.: Пер. с англ. - 6-е изд. - К.: Диалектика,1999. – 784 с.