Основное отличие файловой системы от БД состоит в том, что набором данных в БД управляет специальная программа - СУБД, которая обладает знаниями по поводу связи между разнородными данными в БД.
Располагается между собственно физической БД и пользователями системы.
Этот уровень называется диспетчером базы данных (database manager), или более привычно Системой Управления Базами Данных, СУБД (database management system DBMS).
Чем отличается "база данных" от какого бы то ни было склада данных, поддерживаемого в файлах операционной системы?
Основное отличие состоит в том, что набором данных, входящих в состав базы данных управляет специальная системная программа, обычно называемая "системой управления базами данных (СУБД)", которая обладает знаниями по поводу связи между разнородными данными.
Например, в случае складской системы, СУБД, управляющая соответствующей базой данных, должна знать, что для всех единиц любого товара, перечисленных в общей складской ведомости, должно быть проставлено правильное число в документе, регулирующем поступление товаров на склад.
Все запросы пользователей на доступ к БД обрабатываются СУБД: возможности добавления файлов (таблиц), выборки и обновления данных в файлах и т.д.
Основная функция, выполняемая СУБД - предоставление пользователю БД возможности работать с ней, не вникая в детали на уровне аппаратного обеспечения (простой пользователь отстранен более чем прикладной программист).
Опр-ие: СУБД - это программное обеспечение, которое взаимодействует с
прикладными программами и БД и обладает следующими возможностями:
1) позволяет определить или создать БД, что осуществляется с помощью определения данных DDL (Data Definition Language). Язык DDL позволяет задать структуру, тип данных и логические ограничения на данные и связи между данными.
2) Вставлять, обновлять, удалять и извлекать информацию из БД (Insert, Update, Delete,
Read).
Эти операции осуществляются с помощью языка, принадлежащего группе DML (Data Manipulation Language). К этой группе языков относится и язык запросов SQL (Structure Query Language).
Наличие языка запросов устраняет присущие файловым системам ограничения -сформулированный на языке запросов сложный запрос к БД выражается небольшим по объему кодом.
Существует 2 разновидности группы языков DML: процедурные и непроцедурные
языки.
Отличие: процедурные языки обрабатывают данные в БД навигационное, т.е.
перемещаясь от записи к записи, от таблицы к таблице.
Непроцедурные - оперируют сразу набором записей.
С помощью процедурных языков указывается, КАК можно получить желаемый результат, непроцедурные языки используют для того, чтобы указать, ЧТО надо получит в результате.
Пример навигационного и процедурного запросов
Человек (Табельный номер, Имя, год рождения)
Работа (Номер, Дата начала, Дата окончания, Номер человека, Код должности) Должность (Код, Название, Крат_название)
Запрос: вывести имена людей, категория должности у которых равна "Руководитель"
Процедурный язык - алгоритм (последовательность действий):
1) Проиндексировать таблицу "Должность" по полю "Название", таблицу "Работа" по полю "Код должности", таблицу "Человек" по полю "Табельный номер"
2) Найти в таблице ‘ Должность’ запись с названием = ‘Руководитель’.
3) Запоминаем код должности
4) Индексируем таблицу ‘Работа’ по полю ‘Код должности’.
5) Ищем первую запись, соответствующую запомненному коду должности, дата начала меньше текущей и дата окончания больше текущей или равна null, причем поиск может быть не удачен, ситуацию надо обработать - выдать соответствующее сообщение и идти на конец.
6) Из найденной записи запоминаем номер сотрудника.
7) В таблице ‘Человек’ ищем запись, соответствующему запомненному номеру
человека (по полю табельный номер). Если БД поддерживается правильно, то такая запись обязательно должна быть.
8) В таблице ‘Человек’ ищем имя и выводим на экран или в отчет.
9) Возвращаемся в таблицу ‘Работа’ и в цикле - пока не конец таблицы или код
должности равен заданному, повторяем эти пункты с 6 по 8.
Непроцедурный язык:
(SQL) Select Человек.Имя
From Человек, Работа, Должность
Where Должность.Код = Работа.Код должности
And
Работа.Номер человека = Человек.Номер And Дата начала меньше текущей и Дата окончания больше текущей или пустая.
3) Предоставляет контролируемый доступ к данным с помощью следующих средств:
- системы обеспечения безопасности, предотвращающей несанкционированный доступ к данным БД со стороны пользователей (Clipper, FoxPro Dos - не поддерживает, Access, InterBase, Oracle, MSQL - поддерживает);
- системы поддержки целостности данных, обеспечивающей непротиворечивое состояние хранимых данных (Clipper, FoxPro Dos - нет);
- системы управления параллельной работой приложений, контролирующей процессы их совместного доступа к БД;
- системы восстановления, позволяющей восстановить БД до предыдущего непротиворечивого состояния, нарушенного в результате сбоя аппаратного или программного обеспечения;
- доступного пользователям каталога, содержащего описание хранимой в БД информации (метаданные).
Реальный объем функциональных возможностей, предлагаемых в некоторой конкретной СУБД отличается от продукта к продукту.
Самая общая классификация СУБД:
по назначению делятся:
-СУБД, предназначенные для выполнения специализированных задач. Например, для хранения геофизической информации или для обработки данных в системах реального времени используются специализированные СУБД, которые оптимизированы для решения этих задач,
-СУБД общего назначения, предназначенные для широкого круга задач обработки данных: общего назначения в свою очередь делятся на:
- СУБД, предназначенные для работы на персональных компьютерах в локальном режиме или режиме файл-сервер (Paradox, dBase, Access, FoxPro).
- СУБД, функционирующие в режиме клиент/ сервер (Oracle, Informix,
Ingres)
Компьютер, управляющий тем или иным информационным вычислительным ресурсом, принято называть сервером ресурса.
Компьютер, желающий воспользоваться этим ресурсом - клиентом ресурса.
СУБД, предназначенные для работы на персональных компьютерах могут работать в локальной сети, но в этом случае файл-сервер используется прежде всего в качестве дополнительного общего жесткого диска, к которому могут обращаться одновременно несколько пользователей. Если рабочей станции необходимо получить данные, размещенные на файле-сервере, на него посылается запрос. Файл-сервер передает требуемые данные на рабочую станцию, где они в дальнейшем обрабатываются. Одним из существенных недостатков использования файла-сервера при работе с базами данных является большой поток данных в сети, что приводит к снижению ее производительности.
В отличие от файла-сервера, сервер базы данных в режиме клиент/ сервер используется не только для хранения информации, но и для обработки запросов к базе данных. Сервер базы данных устанавливается на файле-сервере локальной сети. Запросы рабочей станции обрабатываются сервером базы данных и обратно возвращается только результат выполнения запроса. Такой подход уменьшает поток данных в сети. Кроме того, обработка запросов сервером базы данных осуществляется быстрее, чем на рабочей станции, поскольку:
В качестве сервера базы данных, как правило, используется гораздо более мощный компьютер. СУБД, используемая в качестве сервера базы данных, обладает более совершенными средствами обработки данных.
СУБД можно также классифицировать по степени их сложности и средствам взаимодействия с пользователем.
СУБД для обработки небольших объемов информации.
Использование не требует предварительного обучения. Например, БД, входящие в состав Microsoft Work. Позволяеют шаг за шагом создавать таблицы, формы, отчеты и содержат большое количество шаблонов.
СУБД, ориентированные, прежде всего на конечного пользователя, который не умеет программировать, или не желает тратить на это время. Например, Microsoft Access, Quest фирмы Gupta. Quest предназначен для работы в режиме клиент/сервер.
СУБД, ориентированные прежде всего на разработку законченного приложения (FoxPro, dBase, почти все СУБД типа клиент/сервер). Данные системы требуют умения программировать на языке конкретного СУБД и используются при создании достаточно сложной системы. От пользователей законченных приложений не требуется знание СУБД, а только умение пользоваться приложением.
СУБД, сочетающие ориентированность на конечного пользователя с мощными средствами программирования. Среди них лидирующее положение занимает Paradox для Windows фирмы Borland Int., который сочетает "дружественный” пользовательский интерфейс и простоту его изучения с широкими возможностями.
В последнее время все более популярными становятся разработки приложений клиент/сервер в среде Windows, которые независимы от конкретных серверов баз данных. На данный момент существуют две наиболее мощные программы создания приложений клиент/ сервер: PowerBuilder компании Powersoft и SQLWindows компании Gupta. Уникальны
возможности Paradox для Windows.
Выбор СУБД
Основным принципом выбора СУБД логично считать определение такого программного продукта, в наибольшей степени соответствующего предъявленным требованиям.
Решить эту задачу непросто:
- во-первых, требования к СУБД по мере её освоения изменяются - требуются новые возможности, так например, реализовали локальную версию БД, потребовалась сетевая, необходимо увеличить скорость обработки данных (память, процессор, монитор), наиболее полно поддерживать ограничения целостности, особенно неявные.;
- во-вторых, СУБД имеют большое число параметров, их трудно сравнивать;
- в-третьих - часто информация о СУБД носит рекламный характер, нет технической документации.
Каждый программный продукт, и СУБД в частности, сопровождает информация следующего вида6
- сведения разработчиков и рекламная информация продавцов;
- информация конечных пользователей, разработчиков ПО для БД, администраторов, имеющих опыт работы;
- информация аналитиков и экспертов.
Выбор СУБД удобно проводить в 3 этапа:
1 этап - на качественном уровне оцениваются предлагаемые показатели пригодности программного продукта, сузив таким образом область выбора;
2 этап - оцениваются технические характеристики выбранных систем более детально;
3 этап - оценивается производительность оставшихся продуктов по различным критериям для принятия окончательного решения.
1 Показатели пригодности
Характеристика |
MS FoxPro |
Access |
InterBase |
Oracle |
1 Вид программного продукта |
|
|
|
|
1.1 Полнота функциональности СУБД (развитый интерфейс пользователя, позволяющий осуществлять различные операции с БД: создать БД; создать и модифицировать объекты БД; осуществлять ввод, обновление информации; реализацию запросов и выводить их на печать) |
+ |
+ |
+ |
+ |
1.2 Реализация сервера БД |
- |
+ |
+ |
+ |
1.3 Наличие встроенных средств для разработки программ для работы с БД (клиентских приложений) |
+ |
+ |
- |
- |
1.4 Поддержка объектов БД, хранящих логику обработки данных |
- |
- |
+ |
+ |
1.5 Персональные СУБД (локальная работа с БД и недорогие приложения) |
+ |
+ |
- |
- |
1.6 Многопользовательские СУБД (сервер + клиентская часть) |
- |
- |
+ |
+ |
2 Категории пользователей (необходимо отдавать предпочтение СУБД более широкого назначения)_
2.1 Профессиональные программисты |
+ |
+ |
+ |
+ |
2.2 Администраторы БД как пользователи |
+ |
+ |
+ |
+ |
2.3 Конечные пользователи |
+ |
+ |
- |
- |
3 Удобство и простота использования |
|
|
|
|
3.1 Понятные процедуры установки (сетевые |
+ |
+ |
+ |
+ |
установки с множеством рабочих мест) |
|
|
|
|
3.2 Интерфейс пользователя |
|
|
|
|
3.2.1 Простота выполнения обычных операций с БД |
|
|
|
|
3.2.2 Наличие подсказок помощи |
|
|
|
|
4 Модель представления данных (реляционные все 4 ) |
+ |
+ |
+ |
+ |
5 Качество средств разработки |
|
|
|
|
5.1 Обеспечение целостности данных на уровне СУБД |
- |
+ |
+ |
+ |
5.2 Автоматическая генерация кода разрабатываемого визуально приложения |
+ |
+ |
- |
- |
5.3 Автоматизация проектирования БД |
- |
+ |
- |
+ |
6 Качество средств защиты и контроля |
|
|
|
|
6.1 Поддержка внутренних ограничений РМД (уникальность первичного ключа, поддержка целостностей связей при вставке, удалении, обновлении связей). |
|
+ |
+ |
+ |
6.2 Поддержка ограничений предметной области |
- |
+ |
+ |
+ |
6.3 Средства для реализации функций резервного копирования и восстановления БД |
- |
+ |
+ |
+ |
7 Качество коммуникационных средств |
|
|
|
|
7.1 Поддержка сетевых протоколов, обеспечивающих работу СУБД в различных сетях |
- |
+ |
+ |
+ |
7.2 Способность использовать и модифицировать БД в других форматах без импортирования и преобразования. |
|
|
+ |
+ |
7.3 Наличие средств разграничения прав пользователя |
- |
+ |
+ |
+ |
7.4 Поддержка стандартных интерфейсов: ODBC, SQL |
+ |
+ |
+ |
+ |
8 Фирма - разработчик |
MSFT |
MSFT |
Borland |
Orack Corp/ |
8.1 Высокое качество |
+ |
+ |
+ |
+ |
8.2 Наличие документации или книг на рынке |
+ |
+ |
+ |
+ |
8.3 Высокая уверенность в появлении новой версии |
|
+ |
|
+ |
9 Стоимость полнофункциональных СУБД от 500 у.е. до 1000 у.е Серверы БД - от 500 до 500000 у.е. Стоимость определяется числом поддерживаемых пользователей |
FoxPro 7/0 - 560 уе. |
200-300 |
150 (1 польз) -2100 (20 польз) |
40000 450(1 польз) -4500 (10 польз) |
2 Технические характеристики
1 Общие параметры |
|
|
|
|
1.1 Операционная система |
MS DOS |
W |
W UNIX |
W UNIX |
1.2 Потребность в оперативной памяти |
256 -512 кБ |
не менее 16 МБ |
не менее 32 МБ |
не менее 128 МБ |
1.3 Ограничения на максимальный объем БД |
+ |
+ |
10-20 ГБ |
ГБ |
1.4 Ограничение на количество одновременных подключений |
10-20 |
50 |
зависит от версии |
зависит от версии |
2 Ограничения на операции над данными |
|
|
|
|
2.1 Максимальный размер поля |
254 симв |
зависит от типа: симв -255 мемо -64000 симв числ - до 16 Б объекты OLE -до1 ГБ |
32 КБ кроме BLOB binary large object большой двоичны й объект |
CLOB character |
2.2 Максимальное число полей в таблице |
255 |
255 |
1000 |
больше 1000 |
2.3 Максимальный размер строки |
255х255 |
2000 симв (97) |
64 КБ |
|
2.4 Максимальное количество строк в таблице |
4-10 тыс. |
до 1 МБ |
не огр. |
не огр. |
2.5 Максимальное число таблиц, которые можно обрабатывать одновременно |
25 |
254 (32768) |
не огр |
не огр |
3 Возможности средств формулировки и выполнения запросов |
|
|
|
|
3.1 Навигационная обработка |
+ |
+ |
+ |
+ |
3.2 Работа с языком запроса |
огр QBE |
+ QBE |
+ |
+ |
3.3 Сохранение запросов в БД |
- |
+ |
+ |
+ |
3.4 Наличие вычислений в запросах |
- |
+ |
+ |
+ |
3.5 Сортировка по нескольким полям |
+ |
+ |
+ |
+ |
4 Работа в многопользовательских средах |
|
|
|
|
4.1 Возможность блокировок |
+ |
+ |
+ |
+ |
4.2 Обработка транзакций (единовременное выполнение блока команд) |
+ |
+ |
+ |
+ |
5 Наличие различных генераторов |
+ |
+ |
- |
+ |
5.1 Генератор интерфейса |
+ |
+ |
- |
- |
5.2 Генератор отчетов |
+ |
+ |
- |
+ |
5.3 Генерация exe модуля |
+ |
+ |
|
|
6 Импорт и экспорт данных |
|
|
|
|
6.1 Формат ASCII (текстов) |
+ |
+ |
|
+ |
6.2 Веб-формат |
|
+ |
+ |
+ |
6.3 Другие форматы |
|
|
+ |
+ |
Формат файла (ов) БД |
отдельные файлы, не связанные на физичес ком уровне, т.е. СУБД не знает, что они связаны *.dbf
|
*.mdb |
*.gdb |
*. любое |
Скачать реферат:
Пароль на архив: privetstudent.com