Тема 8. Базы данных
План лекции
1. Введение
2. Основные понятия о базах и банке данных
3. Уровни представления данных
4. Организация связей между данными
5. Основные понятия реляционной базы данных
6. Многопользовательские базы данных
7. Основные системы управления базами данных
Введение
Можно с большой уверенностью утверждать, что большинство приложений, которые предназначены для выполнения хотя бы какой-нибудь полезной работы, тем или иным образом используют структурированную информацию или, другими словами, упорядоченные данные. Такими данными могут быть, например, списки заказов на тот или иной товар, списки предъявленных и оплаченных счетов или список телефонных номеров ваших знакомых. Обычное расписание движения автобусов в вашем городе - это тоже пример упорядоченных данных.
Основная функция базы данных - предоставление единого хранилища для всей информации, относящейся к определенной теме. Основное предназначение базы данных не в простом хранении информации, а в возможности быстрого получения требуемых сведений.
|
|
При компьютерной обработке информации упорядоченные каким-либо образом данные принято хранить в базах данных - особых файлах, использование которых вместе со специальными программными средствами предоставляют пользователю как просматривать необходимую информацию, так и, по мере необходимости, манипулировать ею, например, добавлять, изменять, копировать, удалять, сортировать и т.д.
Большие объемы информации, высокие требования к актуальности и достоверности, простоте доступа и скорости обработки привели к необходимости интеграции данных в единой базе, обеспечивающей решение всего комплекса задач определенной предметной области.
Основные понятия о базах и банке данных
База данных (БД) - это интегрированная не избыточная совокупность взаимосвязанных данных (компьютерная структура) совместного доступа, в которой размещаются данные конечного пользователя и метаданные, с помощью которых осуществляется интегрирование данных.
Метаданные описывают свойства данных и их отношения, которыми связаны данные, хранящиеся в базе данных. Базу данных можно сравнить с электронной картотекой, в которой программное обеспечение, называемое СУБД, помогает управлять ее содержимым.
Следует отметить, что в экспертных системах, помимо базы данных, присутствует база знаний. Данные - это отдельные факты, характеризующие объекты, процессы и явления в предметной области, а также их свойства. Знания связаны с данными, основываются на них, но представляют результат мыслительной деятельности человека, обобщают его опыт, полученный в ходе какой-либо практической деятельности. Они получаются эмпирическим путем.
|
|
Система управления базами данных (СУБД) представляет собой совокупность программ, с помощью которых осуществляется управление базой данных и контроль доступа к данным, хранящимся к ней. Такая система позволяет многим пользователям осуществлять совместный доступ к данным.
Назначение СУБД. СУБД выполняет множество функций, обеспечивающих целостность и непротиворечивость данных, хранящихся в базе:
1. Управление метаданными или словарем данных. Функционирование СУБД ориентировано на то, что определения элементов данных и их отношения (метаданные) хранятся в словаре данных. Используя словарь данных, СУБД осуществляет поиск нужных данных.
2. Управление хранением данных. СУБД обеспечивает хранение не только данных, но и связанных с ними экранных форм, макетов, отчетов, правил проверки данных, кода процедур и т.д.
3. Преобразование и представление данных. При выполнении логических запросов она определяет физическое местоположение необходимых данных и их извлечение.
4. Управление безопасностью. С помощью правил безопасности устанавливается, какие пользователи могут получить доступ к БД, какие операции с данными (чтение, добавление, удаление, изменение) может выполнять пользователь.
5. Управление многопользовательским доступом. Несколько пользователей могут получить одновременный доступ к БД, не нарушая целостности и непротиворечивости данных.
6. Управление резервным копированием и восстановлением. СУБД включает специальные утилиты, с помощью которых администратор базы данных может регулярно выполнять резервное копирование и восстановление данных, обеспечивая их безопасность и целостность. Восстановление данных производится после повреждения БД (аварийного отключения, появления сбойного сектора на жестком диске и т.д.).
7. Управление целостностью данных. Для обеспечения целостности используется описание данных и их связей, сохраняемое в словаре данных.
8. Языки доступа к данным и интерфейсы прикладного программирования. СУБД обеспечивает доступ к данным с помощью языка запросов. Язык запросов - непроцедурный язык, т.е. язык, позволяющий определить, что необходимо определить без необходимости указывать, как это нужно выполнять. СУБД также предоставляет доступ к данным программистам на процедурных языках третьего поколения: Cobol, C, Pascal, Visual Basic и др.
Обычно современная СУБД содержит следующие компоненты:
· ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию (обеспечение возможности восстановления согласованного состояния базы данных после любого сбоя);
· процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода;
· подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД:
· сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
Базы данных, находящиеся в отрыве от соответствующей СУБД, являются мертвым грузом: их нельзя просмотреть, осуществить поиск, пополнять и др. Создание и ведение баз данных осуществляет СУБД. Так, пользователь на своем персональном компьютере, имея в качестве СУБД программное приложение MS Access, может самостоятельно создавать, пополнять, осуществлять поиск, корректировать или удалять устаревшие записи, анализировать массивы данных и др. Но в организациях ведением баз данных занимается целый коллектив. На предприятиях, в различных компаниях, фирмах, министерствах имеется специальная структурная единица - информационно-вычислительный центр.
|
|
Информационно-вычислительный центр (ИВЦ) — организация или подразделение, предназначенная(ое) для размещения компьютерных систем, вспомогательного оборудования, персонала, обеспечивающего функционирование размещенной техники и взаимодействие с пользователями.
В состав компьютерных и телекоммуникационных систем обязательно входит автоматизированный банк данных.
Банк данных - автоматизированная информационная система централизованного хранения и коллективного использования данных. В состав банка данных входят одна или несколько баз данных, справочник баз данных, одна или несколько СУБД, а также библиотеки запросов и прикладных программ.
Автоматизированный банк данных обеспечивает накопление, обновление, корректировку и многоаспектное использование данных в интересах пользователей.
Как видно из определений, понятие банка данных значительно шире понятия базы данных, поскольку, помимо баз данных, он включает СУБД, обслуживающий персонал и др. Отвечает за непрерывное бесперебойное функционирование банка данных администратор банка данных.
Администратор банка данных - специалист (или группа специалистов), который на начальной стадии разработки банка данных отвечает за его оптимальную организацию с точки зрения одновременной работы множества конечных пользователей, на стадии эксплуатации отвечает за корректность работы данного банка информации в многопользовательском режиме. На стадии развития и реорганизации он отвечает за возможность корректной реорганизации банка без изменения или прекращения его текущей эксплуатации.
При администраторе банка данных функционирует группа специалистов, в которую входят: системные аналитики; проектировщики структур данных и внешнего по отношению к банку данных информационного обеспечения; проектировщики технологических процессов обработки данных; системные и прикладные программисты; операторы и специалисты по техническому обслуживанию.
|
|
Если речь идет о коммерческом банке данных, то важную роль здесь играют специалисты по маркетингу.
Итак, банк данных (БнД) включает следующие структурные компоненты:
· информационный фонд, т.е. организованная совокупность данных, так называемые базы данных;
· информационные языки описания и манипулирования данными;
· специализированное математическое обеспечение для управления функциями банка данных;
· администратор банка данных и обслуживающий персонал;
· технические средства банка данных;
· справочный аппарат, который включает в себя справочные и служебные данные, которые необходимо для управления функционированием банка данных.
Автоматизированный банк данных должен обеспечивать:
· накопление и хранение информации необходимой для решения задач организации и информационное обеспечение пользователей этой организации;
· кратчайшее время поиска данных;
· многократность использования данных;
· простоту и удобство обращения со стороны пользователя к банку данных;
· достоверность хранимых данных;
· ограниченную доступность к некоторым видам секретной информации, выдаваемой только сотрудникам, имеющим соответствующие допуски.