Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л9_Системы управления базами данных.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
224.26 Кб
Скачать

142

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

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

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

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

В настоящее время существует несколько сотен различных СУБД, кото-рые работают на единственном персональном компьютере, мейнфрейме или в сети из многих компьютеров. Появившиеся в конце 70-х - начале 80-х годов ре-ляционные СУБД устранили недостатки предыдущих моделей и получили наи-большее распространение. В СУБД для персональных компьютеров (настоль-ных СУБД) поддерживается преимущественно реляционная модель, которую отличает простота и единообразие представления данных совокупностью взаи-мосвязанных двумерных таблиц. Реляционная модель обеспечивает возмож-ность использования в разных СУБД операций обработки данных, имеющих единую основу - алгебру отношений (реляционную алгебру) и универсальный язык структурированных запросов - SQL (Structured Query Language). Примера-ми реляционных СУБД для персональных компьютеров являются Access и FoxPro фирмы Microsoft, Paradox и Visual dBase фирмы Borland. Примерами многопользовательских СУБД могут служить Oracle, Informix, Microsoft SQL Server.

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

Реляционная база данных

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

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

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

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

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

В нормализованной реляционной базе данных связь двух таблиц характе-ризуется отношениями записей типа один-к-одному (1:1) или один-ко-многим (1:M). Отношение 1:1 предполагает, что каждой записи одной таблицы соответ-ствует одна запись в другой. Отношение 1:М предполагает, что каждой записи первой таблицы соответствует много записей во второй, но каждой записи вто-рой таблицы соответствует только одна запись в первой.

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

На рис. 1 показаны две таблицы с перечнем кафедр и списком препода-вателей, которые находятся в отношении типа 1:M и логически связаны с по-мощью общего поля Код кафедры - ключа связи. Это поле является уникаль-ным ключом в главной таблице КАФЕДРА, и не ключевым полем в подчинен-ной таблице - ПРЕПОДАВАТЕЛЬ.

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

Рис. 1. Взаимосвязанные таблицы реляционной базы данных

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

В СУБД Access реализовано средство просмотра и редактирования свя-занных записей из нескольких таблиц. При этом данные отображаются в иерар-хическом виде. При раскрытии одного уровня иерархии рядом с записью глав-ной таблицы отображаются связанные записи подчиненной. Для записи подчи-ненной таблицы также могут быть открыты связанные записи подчиненной таблицы следующего уровня и т. д. Например, для таблиц КАФЕДРА, ПРЕПОДАВАТЕЛЬ (рис. 2), связанных отношением один-ко-многим, для ка-ждой записи таблицы КАФЕДРА могут быть отображены и отредактированы связанные записи в таблице ПРЕПОДАВАТЕЛЬ.

Рис. 2. Отображение связанных записей таблиц

Схема данных

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

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

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

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

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