- •Основные понятия систем управления базами данных план
- •Литература
- •Введение
- •1. Общие сведения о проектировании информационных систем и баз данных
- •1.1. Информационные системы: основные понятия и определения
- •1.2. Принципы проектирования информационных систем
- •2. Принципы организации баз данных
- •2.1. Классификация баз данных
- •2.2. Подходы к организации баз данных
- •Иерархические базы данных
- •Сетевые базы данных
- •Реляционные системы
- •2.3. Функции систем управления базами данных
- •Распределенные базы данных
- •3. Разработка модели базы данных
- •3.1. Использование методологии idef1x для разработки концептуальной модели данных
- •3.2. Пример описания модели данных информационной системы «Контингент студентов университета»
- •Основная терминология
2.3. Функции систем управления базами данных
Начиная с 80-х годов ХХ в., одновременно с широким распространением ПК, большое распространение получили «настольные» реляционные СУБД(Desktop Databases), такие какdBase,FoхBase(его более поздние версии –FoхProиVisual FoхPro),Paradoх,Access. Наиболее распространенным форматом таблиц подобных реляционных баз стал*.dbf, с которым работалиdBase,FoхBase, а такжеClipper– система написания программ (в режиме строкового компилятора) для работы с базами данных. В последующем некоторые из них стали полноценными сетевыми СУБД, работающими не только в различных операционных системах в архитектуре «файл-сервер», но и имеющими возможности для работы с серверами баз данных в архитектуре «клиент-сервер», а также разработки и использования Веб-страниц для работы БД.
Основные функции, выполняемые СУБД (рис 2.9):
Проектирование схемы БДначинается с определения перечня и свойств объектов, сведения о которых необходимо сохранять в БД, а также связей между ними. Описание структуры базы и элементов данных сохраняется в памяти компьютера.
Ввод данныхсвязан с наполнением БД. При вводе данных осуществляется контроль их корректности. Простейший метод контроля – проверка типов данных. Если, например, тип вводимого элемента определен как текстовый, а делается попытка ввода числа, то ввод блокируется, и на экран выводится предупреждающее сообщение.
Обновление данныхсвязано с удалением устаревших данных или их заменой новыми. Реализуется администратором БД.
Редактирование введенных данныхсвязано с исправлением допущенных ошибок.
Поиск и отбор данныхсвязан с формированием отчетов по определенной форме на запросы пользователей. При этом СУБД не только анализирует тип и содержание запроса, а и проверяет полномочия пользователя по доступу к соответствующим данным.
Обработка данныхсвязана с выполнением разнообразных задач, например, сортировкой текстовых строк в алфавитном порядке, проведением расчетов и т.п.
Обеспечение целостности данныхреализуется в случае возникновения особых ситуаций, например, таких как внезапное отключение электроэнергии в процессе модификации БД. В этом случае целостность обеспечивается путем восстановления поврежденных данных. Кроме того, целостность означает, что введенные в базу данные должны удовлетворять определенным правилам ссылочной целостности.
Защита данныхобеспечивается ограничением доступа различных пользователей к данным в соответствии с их полномочиями, а также применением специальных средств, обеспечивающих конфиденциальность данных, например, путем их шифрования.
По функциональному предназначению СУБД делятся на:
Пользовательские СУБД– наиболее распространенные системы, поддерживающие весь цикл работы с БД. Не отличаются высокой производительностью, объемами БД и рассчитаны на ПК средней мощности. Для создания запросов в таких СУБД используются языка манипулирования данным, такие какSQLилиQBE(Query By Example– запрос по образцу). Некоторые системы имеют дополнительные средства проектирования схемы БД (CASE-средства). Примерами подобных систем являютсяMicrosoft Access,FoxPro,Paradoxи др.
Серверы БД– системы, принимающие запросы к БД по локальной сети, обрабатывающие эти запросы и возвращающие результаты на рабочие станции. Термин «сервер баз данных» обычно используют для обозначения всей СУБД, основанной на архитектуре «клиент-сервер», включая и серверную, и клиентскую части. Наиболее распространенными серверами являются в настоящее времяMicrosoft SQL Server,Oracle,IBMDB2 Universal DataBase,Informixи др. Размер одной базы данных на этих серверах может достигать миллиона терабайт.
По способу использованияСУБД разделяются на:
Персональные– предназначены для ведения БД, которыми пользуется один человек или несколько человек, а также для разработки приложений, взаимодействующих с подобными БД. Персональные СУБД могут использоваться как клиентские части СУБД, рассчитанных на многих пользователей. К этим системам принадлежат:Paradox,Clipper,Visual FoxPro, Access и др.
Многопользовательские– рассчитаны на одновременное обслуживание многих пользователей. Состоят из сервера БД и клиентских частей, размещенных на рабочих станциях. Поддерживают работу с разными типами компьютеров и операционных систем. Примерами подобных систем являютсяInformixиOracle.
По типу поддерживаемой модели данныхразличают реляционные, сетевые, иерархические, объектно-ориентированные и другие системы управление базами данных. Некоторые СУБД поддерживают несколько моделей данных, например реляционную и иерархическую или сетевую.
Управляющим компонентом многих СУБД является ядро, выполняющее следующие функции:
управление данными на носителях;
управление буферами оперативной памяти (рабочими областями, в которые осуществляется подкачка данных из базы для повышения скорости работы);
управление транзакциями.
Все подобные СУБД имеют в своем составе средства для:
создания баз данных и модификации их структуры;
создания индексных файлов;
работы с базами в табличном формате или в виде стандартной формы с расположением полей построчно; при этом возможно редактирование данных, добавление записей, удаление записей, работа с данными из нескольких таблиц базы, вычисление сложных выражений для заданных условий и пр.;
разработки экранных форм, имеющих, кроме редактируемых полей, связанных с базой данных или с переменными памяти, также элементы управления разного вида в виде кнопок; более сложные объекты типа раскрывающихся списков и пр.;
генерации печатных форм – отчетов сложной структуры с группировкой данных, с получением расчетных значений и итогов по группам и общих итогов (сумма, количество, среднее, максимальное, минимальное и пр.);
разработки программных модулей для сложной обработки данных;
генерации запросов очень сложной структуры – с использованием данных из различных баз, заданием сложных условий отбора данных, сортировки и группировки данных;
в системах, ориентированных на разработчика, дополнительно возможны разработка меню, справочной системы и проекта, включающего все перечисленные выше компоненты и компилирующегося в исполняемую программу.
При выборе СУБД необходимо оценивать следующие характеристики:
производительность;
обеспечение целостности данных на уровне БД;
обеспечение безопасности;
возможность работы в многопользовательских средах;
реализация импорта-экспорта;
реализация доступ к данным SQL;
возможности запросов и наличие инструментальных средств разработки прикладных программ.
Все современные СУБД поддерживают режимы работы в локальной сети многих пользователей с одной базой данных. Некоторые имеют «мастеров», «построителей (конструкторов)» и «генераторы выражений» для ускоренной разработки баз данных, экранных форм, отчетов, стандартных приложений.
Последние версии СУБД, разработанные для работы в OC семейства Windows, относятся к классу RAD-систем(Rapid Application Development) – средства быстрой разработки приложений – и включают объектно-ориентированный язык программирования. Это такие системы, какVisual FoхPro,MS Access,Visual dBaseи другие.
В настоящее время известны также так называемые «постреляционные» СУБД, в основе которых лежат модель данных в виде многомерных таблиц (например в системеCacheфирмыInterSystems Сorporation) и широкое использование принципов объектно-ориентированного подхода при организации баз данных и программировании.