Структура СУБД.
Разработка электронной базы данных по дисциплинам "Пожарная безопасность в строительстве" и "Здания, сооружения и их устойчивость при пожаре"
Загрузка базы и формирование отчетов На универсальном языке программирования можно написать любую программу обработки данных, в том числе программу заполнения (загрузки) и корректировки БД или программу распечатки выходных форм. Однако указанные действия выполяются столь часто, что для их реализации большинство СУБД имеют специальные программные средства, которые носят свои названия: для ввода… Читать ещё >
Структура СУБД. Разработка электронной базы данных по дисциплинам "Пожарная безопасность в строительстве" и "Здания, сооружения и их устойчивость при пожаре" (реферат, курсовая, диплом, контрольная)
Функции и структуру типичной СУБД уместно рассматривать вместе, так как каждой из основных функций соответствует программная компонента СУБД. Типичными компонентами являются следующие.
1. Описание данных В процессе работы прикладных программ и пользователей БД изменяется. Однако эти изменения не могут быть произвольными. Обычно в БД существуют довольно жесткие ограничения на возможности манипулирования данными, которые отражают закономерности предметной области. Так, в БД пользователь может образовать новый экземпляр объекта (например, преподавателя) или исключить уже существующий экземпляр, но изменить характеристики этого объекта (например, добавить характеристику «возраст преподавателя») он, как правило, не может. Описание неизменяемых свойств данных БД получило названия «описание данных», «описание структуры данных» или «схема базы данных» .
2. Манипулирование данными Современные СУБД предоставляют пользователям средства манипулирования данными, в состав которых входят операторы поиска данных в БД, корректировки данных в БД, обмена данными между БД прикладной программой и ряд других.
3. Загрузка базы и формирование отчетов На универсальном языке программирования можно написать любую программу обработки данных, в том числе программу заполнения (загрузки) и корректировки БД или программу распечатки выходных форм. Однако указанные действия выполяются столь часто, что для их реализации большинство СУБД имеют специальные программные средства, которые носят свои названия: для ввода и корректировки данных — это «подсистема загрузки данных»; для получения выходных форм — «генератор отчетов». Эти средства в своем составе имеют языки высокого уровня, ориентированные на описание ввода — вывода данных.
4. Язык запросов Часто возникает необходимость выполнить из базы данных по определенным признакам объекта. Для реализации такой возможности СУБД оснащаются языком запросов высокого уровня, а также интерпретатором с языка запросов. С помощью этого языка пользователи-непрограммисты могут сформулировать запрос к БД и тут же на дисплее получить ответ.
5. Диалоговые средства В целях удобства пользователей и повышения оперативности доступа к данным большинство функций СУБД может осуществляться в диалоговом режиме через дисплей. Современные СУБД, как правило, обеспечивают мультидоступ к базе данных, то есть одновременный доступ к базе нескольких терминальных пользователей или прикладных программ. При помощи дисплея удобно производить просмотр БД, ее корректировку, выполнение различных сервисных функций, ввод запросов и т. д.
В настоящее время существует множество различных СУБД.
Рынок корпоративных серверных СУБД представлен пакетами Oracle, MS SQL, DB2, Sybase и InterBase.
Первой коммерческой реляционной СУБД была Oracle, поддерживающая язык SQL, который впоследствии де-факто стал стандартом. Первая версия продукта появилась на свет в 1979 году. В наши дни компания является лидером рынка производителей коммерческих СУБД и, как написано на сайте [59], крупнейшим в мире поставщиком корпоративного программного обеспечения.
MS SQL — продукт известной всем фирмы Microsoft [60]. Первая версия была разработана совместно с Sybase в 1988 году и предназначалась только для платформы OS/2. Следующие версии этого продукты были созданы для NT-based систем и тесно интегрированы с ОС, что не удивительно. Для компании гораздо выгоднее, чтобы ее СУБД использовались на ее же операционной системе — так совместимость лучше.
DB2 Universal Database — это детище IBM [61], которое представляет собой серию продуктов для различных систем. Впервые проект появился на рынке в 1996 году. При переносе DB2 на другую платформу компания старается максимально эффективно использовать возможности этой платформы.
Изначально компания Sybase разрабатывала серверную СУБД совместно с Microsoft. В 1994 году компании разошлись и стали разрабатывать свои программные продукты независимо друг от друга. В результате у Sybase получился продукт под названием Adaptive Server Enterprise. Продукт существует под разные оси и предназначен для применения на крупных предприятиях. Существует еще одна линия серверных продуктов Sybase, которая ведет свое начало от СУБД Watcom SQL Anywhere [62]. Этот продукт называется SQL Anywhere Studio, отличается своей компактностью и простотой администрирования. Предназначен в основном для обслуживания небольших групп пользователей. Также существуют версии для применения в мобильных устройствах.
InterBase [63],[64] (продукт компании Borland Inc.) — это довольно компактная, устойчивая и производительная СУБД, способная работать на различных ОС. Визитная карточка системы — отсутствие острой необходимости напрягаться при разработке БД. Так как в другие пакеты этой фирмы (например, Delphi) встроены весьма удобные средства для разработки приложений на базе Interbase. Продукт стал популярным вследствие того, что долгое время распространялся бесплатно вместе со средствами разработки. Но вскоре проект Interbase стал платным.
Существует также немало бесплатных СУБД. Особого внимания достойны два представителя этого вида (как наиболее распространенные): MySQL и PostgreSQL [65]. Обе СУБД довольно динамично развиваются и повсеместно используются, так как не просят за себя денег. Продолжаются и еще не скоро утихнут бурные споры о том, какая СУБД лучше. Обе системы очень стабильны, гибки и производительны. У каждой есть свои плюсы и минусы.
MySQL — быстрая, но несколько ограниченная СУБД; она хорошо подходит для проектов, не требующих сложных баз (например, для web-проектов).
PostgreSQL — мощная и «тяжелая» система, отвечающая всем современным стандартам СУБД. Она больше подходит для серьезных проектов, требующих сложных баз данных. По скорости работы PostgreSQL уступает MySQL. При этом администрирование PostgreSQL является трудоемким. PostgreSQL относится к группе это реляционно-объектных СУБД; она имеет некоторые расширения для работы с таблицами, на которые можно легко отображать иерархии объектов. Но это еще не совсем объектная СУБД.
Выбор СУБД существенно зависит от поставленной задачи. Ассортимент услуг, которые предлагают описанные выше СУБД, в основном приходится на «клиент-серверную» архитектуру. Но кроме больших корпораций, которым необходима серверная технология СУБД, существуют еще и маленькие фирмы, которым нет смысла ставить дорогостоящий сервер в одном углу офиса, а компьютер-клиент — в другом. Для этого и используют локальные (настольные) СУБД. Основные представители этого рынка: Microsoft Access, Paradox, Visual FoxPro и dBase [66],[67],[68],[69].
Сходства и различия. Изначально компании сами создавали свои форматы файлов баз данных и свои языки программирования для работы с этими БД. Однако вскоре пользователи и разработчики стали ощущать потребность в стандартизации. Производителям пришлось сделать свои интерфейсы открытыми (типа ADO, BDE, ODBC, JDBC и т. д.). Другими словами, ко всем СУБД можно получить доступ по одному и тому же интерфейсу. Стандартным языком для БД стал SQL 92. Каждый производитель вносил в него свои изменения и улучшения, но любая СУБД поддерживает классический SQL. На данный момент этот язык не полностью удовлетворяет требованиям разработчиков, так как он не объектный, а процедурный. Существует еще язык QBE, который тоже поддерживают современные СУБД и является языком запросов по образцу. Проще говоря, в этом языке запросы формируют визуально. В SQL же запросы пишутся в текстовом формате.
Выбор зависит от поставленной перед нами задачи, а не от количества функций какой-либо СУБД. Выбор СУБД — сложная нетривиальная задача. Оценка проходит по разным критериям, таким как стоимость самой СУБД, стоимость ее обслуживания, необходимого оборудования и соответствующего обучения персонала. Учитываются также производительность, надежность (в том числе защита от сбоев), стабильность, требования к рабочей среде, особенности разработки приложений, документированность, поддержка производителя, возможность выбранного программного продукта полностью удовлетворять как текущие, так и будущие потребности.
Наиболее ярким примером реального проекта является Open Source — форум phpBB [70]. Многие крупные компании (например, Greenball Corporation, Fujitsu Siemens Computers) используют в своей работе различные СУБД. Базы данных имеют все крупные финансовые учреждения (банки).
В нашей стране многие предприятия используют старые СУБД, написанные еще под DOS. Причина этого — высокая стоимость перехода на более современные СУБД.
Развитие технологий БД. Перспективное направление развития — создание и применение объектных СУБД. При занесении сложного объекта в реляционную БД приходится размещать его по множеству различных таблиц (происходит процесс декомпозиции объекта). А при чтении его приходится снова собирать из множества данных, содержащихся в различных таблицах.
Целесообразно на уровне новых технологий (применение многомерных структур, индексов битовых отображений и др.) вернуться к методам прогнозирования эксплуатационных характеристик БД, которые позволяли бы планировать устойчивость физической схемы как минимум на то время, пока экономические возможности не позволят расширять внешнюю память разных уровней для применения других подходов. Большой рост объемов БД будет сопровождаться ростом требований к их надежности. Так, для обеспечения устойчивых к отказам данных необходимо владение средствами управления и синхронизации географически разнесенных теневых и резервных баз данных.