Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция по Пиастро.docx
Скачиваний:
24
Добавлен:
28.05.2015
Размер:
784.82 Кб
Скачать

11.2. Системы управления базами данных (субд)

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

СУБД имеет транслятор с некоторых ЯОД и ЯМД, где

ЯОД – язык описания данных. Обычно это некоторый декларативный язык, описывающий данные: их наименование, тип, взаимосвязь с другими данными и др.

ЯМД – язык манипулирования данными. Это язык запросов данных, позволяющий получать отдельные или сгруппированные данные, отвечая условиям запросов.

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

SQL – язык командных запросов, но также он может манипулировать данными.

Основные концепции СУБД:

      1. Данные должны быть независимы от программ и первичны.

      2. Изменение данных, т.е. добавление и перестройка структуры.

      3. Возможность доступа к данным без использования специально написанных программ, в том числе и без использования SQL.

      4. Обеспечение сохранности и конфиденциальности информации.

Категории пользователей:

      1. Группа администратора – решает вопросы о структуре организации данных, координирует действия по проектированию БД, ориентированных на текущие и перспективные потребности пользователя, обеспечивает секретность.

      2. Владельцы данных.

      3. Потребители данных.

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

Средства защиты от несанкционированного доступа:

1.Замки: элементарные – пароль, сложные – право доступа к каталогам, файлам, отдельным записям и полям.

2. Кодирование информации – при записи, раскодирование – при чтении.

Защита от некорректного обновления. Имеется возможность использовать механизмы проверки корректности. Для отката ведется журнал, сохраняющий изменения всех данных. Глубина сохранности зависит от желания потребителей и возможностями систем.

Уровни абстрактности в операционных системах

1-й уровень (деление условное) – рассматриваются ЛПП – Локальные Пользовательские Представления – это представления конечных пользователей в некоторой предметной области.

2-й уровень – инфологический. Основан на интеграции ЛПП. Можно сравнить со взглядом главного пользователя на ЛПП всех других, иначе – это множество объектов и их связи.

3-й уровень – концептуальный. Это представление о данных администратора. Этот уровень основан на инфологическом, но с возможной конкретной привязкой к СУБД.

4-й уровень – внутренний – это представление данных в понятиях компьютера.

Архитектура бд

Схема КМД – это описание структуры модели данных с точки зрения администратора.

Схема ВМД – это описание внутренней или физической модели. Здесь хранится описание физического расположения данных на носителях. Схема хранит прямые указания на размещение данных в памяти (томах, дисках).

Схема КМД описывает структуру данных, записей и полей.

Виды моделей данных

Все СУБД поддерживают три основных вида моделей данных:

        1. Иерархическая модель. Она предполагает некоторую корневую запись. От корней идут ветви.

Не все объекты удобно описывать подобным образом. В иерархии нет связей и характерна большая избыточность информации.

 2. Сетевая модель. Позволяет правильно отобразить все сложности взаимосвязей.

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

3. Реляционная модель. В основе лежит математический термин Relation – отношение, а попросту – таблица. Например, прямоугольная двухмерная.

Реляционная структура данных была разработана в конце 60-х годов рядом исследо­вателей, из которых наиболее значимый вклад внес сотрудник фирмы IBM Эдгар Кодд. При реляционном подходе данные представляются в виде двумерных таблиц – наи­более естественном для человека. В то же время, для обработки данных Кодд предло­жил использовать аппарат теории множеств – объединение, пересечение, разность, де­картово произведение.

Тип данных – это понятие имеет такой же смысл, как и в языках программирования (т.е. тип данных определяет внутреннее представление в памяти компьютера и способ хранения экземпляра данных, а также множество значений, которые может принимать экземпляр данных и множество допустимых операций над данными). Все существующие современные базы данных поддерживают специальные тины данных, предназначенные для хранения данных целого типа, дробного с плавающей точкой, сим­волов и строк, календарных дат. У многих серверов баз данных реализованы и другие типы, например, у сервера Interbase имеется специальный тип данных для хранения круп­ных массивов бинарной информации (BLOB).

Домен – это потенциальное множество значений простого типа данных, он имеет сходство с подтипом данных в некоторых языках программирования. Домен определя­ется двумя элементами – типом данных и логическим выражением, которое применяется к данным. Если результат этого выражения равен значению «истина», то экземпляр дан­ных принадлежит домену.

Отношение – это двумерная таблица особого вида, состоящая из заголовка и тела.

Заголовок – это фиксированное множество атрибутов, каждый из которых опреде­лен на каком-то домене, причем между атрибутами и определяющими доменами суще­ствует взаимно однозначное соответствие.

Каждый из ат­рибутов определен на своем домене. Домен представляет собой тип данных «це­лый», а логическое условие - n>0. Заголовок является неизменным во времени, в от­личие от тела отношения. Тело отношения – это совокупность кортежей, каждый из которых представляет собой пару «атрибут - значение».

Мощностью отношения называется число его кортежей, а степенью отношения – число атрибутов.

Степень отношения является для данного отношения величиной постоянной, тогда как мощность отношения изменяется во времени. Мощность отношения еще называют кардинальным числом.

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

отношение – таблица;

атрибут - колонка или поле;

кортеж - запись или строка.

Таким образом, степень отношения – это число колонок в таблице, а кардинальное число - количество строк.

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

Ключ должен удовлетворять следующим требованиям:

  • должен быть уникальным;

  • должен быть минимальным, то есть удаление любого атрибута из ключа ведет к нарушению уникальности.

Как правило, число атрибутов в ключе меньше степени отношения, однако, в крайнем случае, ключ может содержать все атрибуты, так как комбинация всех атрибутов удов­летворяет условию уникальности. Обычно отношение имеет несколько ключей. Из всех ключей отношения (их еще называют «возможными ключами») один выбирается в ка­честве первичного ключа. При выборе первичного ключа предпочтение обычно отдается ключу с наименьшим числом атрибутов. Нецелесообразно также использовать ключи с длинными строковыми значениями.

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

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

Основатель реляционного подхода Дейт установил, что реляционная модель состо­ит из трех частей:

  • структурной;

  • манипуляционной;

  • целостной.

В структурной части модели фиксируются отношения, как единственная структура данных, используемая в реляционной модели.

В манипуляционной части фиксируются два базовых механизма манипулирования ре­ляционными базами - реляционная алгебра и реляционное исчисление.

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

Требование целостности сущностей состоит в том, что любой кортеж любого от­ношения должен быть отличим от любого другого кортежа этого отношения, то есть другими словами, любое отношение должно обладать первичным ключом. Это требо­вание должно выполняться, если выполняются базовые свойства отношений.

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

В языке манипулирования данными, а также на языке запросов, исполняется математический аппарат, называемый алгеброй отношений, для определены следующие действия:

    1. Стандартные операции: – пересечение,– объединение, \ – разность, X – декартово произведение.

    2. Специфические: проекция, ограничение, соединение, деление.

Примеры:

    1. Объединение.

ШД ШМ ЕИ НР

R1(шифр детали, шифр материала, единицы измерения, норма расхода)

R2(ШД, ШМ, ЕИ, НР)

Необходимо найти

Предполагается присоединение множеств R1 и R2. В этой операции степень сохраняется, а мощность результирующего множества

    1. Пересечение.

- выделение совпадающих строк.

Мрез = 1

    1. Разность.

- исключение из R1 кортежей, совпадающих с R2.

    1. Декартово произведение.

Здесь производится конкатенация кортежей .

Каждая строка одного множества конкатенирует с каждой строкой другого.

Даны два множества:

Декартово произведение имеет следующий вид:

В этом случае S-степень равна , а, т.е. получится 12 строк и 5 столбцов.