Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД.docx
Скачиваний:
5
Добавлен:
10.12.2018
Размер:
88.82 Кб
Скачать

БД – это все информационные системы. Как наука и как дисциплина появилась в 60-ые года. Выяснилось, что в компьютере можно хранить информацию. В качестве информации могли выступать самые разные объекты из самых разных областей. Чаще всего это было фотографические вещи.

Отличительные признаки информационных систем:

  1. В ИС необходимо обеспечить надежное хранение информации между сеансами работы операторов и пользователей. Цельность или цена информации во много десятков раз превосходит стоимость аппаратов.

  2. В ИС для хранения данных используются специальные сложные структуры (БД). Применение достаточно сложных структур данных.

  3. Для создания ИС не требуется высокие вычислительные мощности. Нужен большой объем носителей информации.

Во всех ИС основой является единое хранилище данных, оно имеет разную структуру данных, но оно есть. Единое хранилище – динамически обновляемая модель внешнего мира. Часть внешнего мира, которая используется для хранения – предметная область. ПО хорошо локализуется, функционирует по единым внутренним законам, но не является чем-то целым. Она состоит из различных частей. Вся ПО условно делится на разделы (фрагменты предметной области).

Предмет. Обл-ть

Фр.1 Фр. 2 … …

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

Динамически обновляемая модель (реальное отображение) означает, что информация в системе должна обновляться в режиме реального времени.

БД – базы данных. На заре развития дисциплины было понятие «Автоматизированный Банк Данных» = БД «Базы Данных» + СУБД «Система Управления БД». Отличались по структуре и функционально.

БД – это некоторая физическая структура информации, которая хранит в себе данные. Это структура носит пассивны характер (только хранение данных), хотя и изменяется во времени. Может быть единственный файл, так и распределенная база, так и сложная. Наименьший делимый элемент в БД – это предметное понятие, элемент Описания.

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

Мы будем изучать АБД полностью.

СУБД – важнейшая часть любой ИС, и разработка СУБД составляет примерно 90% от всего целого. Функции:

  1. Осуществляет управление информацией на внешних запоминающих устройствах.

  2. СУБД так же осуществляет управление данными, находящимися в оперативной памяти.

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

  4. Как правило, все СУБД поддерживают собственный интерфейс и языки программирования. Языки разделяют: язык или операторы манипулирования данными (ЯМД) и язык или операторы описания данных (ЯОД). ЯОД – это группа элементов языка, которые определяют структуру ИС (в MS Access – это таблицы). ЯМД – это элементы, позволяющие получать, как-то использовать данные.

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

Простейшая структура СУБД

Связь по управлению

Связь по информации

RunTime System

Процессор

Языка

запросов

Ядро субд

Внешние производные программы

БД

Программа в коде СУБД

SQL

ОС

SQL, ATI

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

Процессор языка запросов обеспечивает оптимизацию запросов, поступающих извне. Запросы поступают в виде SQL-запросов, ATI-функций. На выходе создается машинно независимый исполняемый внутренний код.

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

Конечно же, есть утилиты.

Появились данные системы по той простой причине, что существуют специфические проблемы управления большими массивами или объемами информации:

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

  2. Обеспечение целостности информации. Целостность – это свойство БД в любой момент времени отображать только правильную информацию.

  3. Разграничение доступа к информации.

  4. Обеспечение независимости представления данных от комплекса технических средств, от носителей информации. Рассматривается два уровня представления информации: логический уровень и физический уровень. Физический уровень рассматривает реальные структуры данных на конкретном носителе. Логический уровень отображает информацию в том виде, в каком она необходима пользователю или прикладной программе.

Варианты классификации БД

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

  1. Различает модели данных по составу связей на логическом уровне:

    1. Внутренняя модель данных (внутри объекта)

    2. Внешняя модель данных (между объектами)

  2. По способу отображения связей:

    1. Модель иерархическая – самая первая модель. Представляет всю предметную область в виде графа типа «дерево». Плюсы: просто реализовать; самый быстрый доступ к информации (жесткая модель, делается лишь один раз при проектировании). Минусы: модифицировать сложно (надо заново разрабатывать), не каждую предметную область можно представить, возможное появление избыточности данных.

    2. Модель сетевая

    3. Модель реляционная позволяет представлять информацию о предметной области в виде совокупности взаимосвязанных таблиц. Таблицы и связи могут быть произвольные. Данная модель имеет плюсы и минусы. Недостатки: обладает самым медленным доступом к информации (поэтому существуют специальные методы доступа), наибольшая трудоемкость в разработке СУБД. Достоинства: наиболее используемые, так как данные представляются в виде удобном для пользователя; структура моделей данных может изменяться без дополнительных затрат во время эксплуатации БД и СУБД; разработка позволила использовать универсальные методы доступа к данным в виде языков запросов не процедурного типа (SQL);позволяет манипулировать информацией на уровне выходного документа.

28.09.2011 Лекция 2

Базы данных и СУБД могут классифицированы по степени структурированности данных:

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

  2. Слабо структурированные БД жестокого формата для данных не имеют. Иногда называются информационно – поисковые системы. Все справочники юридического и делового характера.

По степени интегрирования:

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

2.Интегрированные БД и СУБД.

По степени распределености информации:

  1. Локальные (сосредоточенные) БД. Вся информация размещена в пределах одного компьютера или одной локальной сети.

  2. Распределенные БД. Информация в различных углах глобальных сетей.

Доступ к ним различается скоростью каналов связи. Ну и, конечно, надежность.

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

РО – рабочая область

МД - Внутренняя и внешняя модель данных

ПП – прикладная программа и пользователь

Алгоритм:

На одном или нескольких ПК работают ПП. В определенный момент времени возникает потребности получить данные из общей БД. В этом случае ПП посылает запрос в определенной форме СУБД. СУБД этот запрос оптимизирует и на основе структуры внешней модели данных и соответствующей внутренней МД формирует запрос к БД в терминах и командах ОС. По этим командам требуемая информация извлекается из БД и размещается во временном хранилище «системный буфер» (данная информация может храниться некоторое время).

После поступления запроса и буфера, информация поступает в РО той или иной программы.

Представлены в единственном виде внешняя МД и несколько видов внутренней МД.

Наличие в структуре алгоритма ОС. Уменьшение объема программных средств СУБД.

Основные типы и структуры данных, применяемые в информационных системах.

Тип данных определяется: составом информации и способом обработки этой информации. Все данные можно разделить на две большие группы:

  1. Простые (элементарные). Используется в большинстве языков программирования.

  2. Составные (структурные) тоже делятся:

    1. Статические типы данных: во время исполнения программного кода они требуют выделения непрерывной области оперативной памяти (не всегда это можно найти). Они во время исполнения программного кода не могут изменять свой размер и структуру.

Массивы – набор однотипных данных. Доступ по номеру столбца, строки.

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

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

    1. Динамические типы данных: не требуют непрерывной области ОП, изменяют и структуру и размер.

Наиболее известные:

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

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

Таблица, в зависимости от того, как она забита, может быть динамической.

Методы доступа к данным.

Вопросы представления данных связаны с набором операций, с помощью которых эти данные обрабатываются. Четыре основных: выбор данных, изменение данных, добавление данных, удаление данных. В основе всех этих операций находится понятие «доступ к данным». Чтобы что-то с данными сделать, необходимо их найти.

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

Допустим, вся информация расположена в памяти в виде последовательного файла. Файл состоит из записей, которые расположены последовательно друг за другом. Каждая запись имеет ключ или индефикатор в начале записи. Вариант прямого перебора и упорядочивания не подходит. Решается просто: создание дополнительные внешние структуры данных – индексные файлы или индексы. Дополнительный файл с двумя полями: ключ и адрес. Информации меньше – легче перебирать. Можно использовать сортировку. Можно создавать несколько вариантов сортировки (несколько индексных файлов).

Есть две основные группы методов доступа к данным:

  1. С помощью деревьев и графов.

  2. Использование функции хеширования («разрезание»)

11.10.2011

Метод доступа к данным графом типа дерево

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

Существуют некоторые характеристики графов типа дерево:

  1. Степень узла – это количество порождающих связей

  2. Степень дерева – это максимальная из степеней всех узлов

Имеет значение, в каком порядке расположены порожденные вершины. Если все вершины каждого узла отсортированы по определенному признаку, то такой граф упорядоченный.

  1. Сбалансированное дерево предполагает, что уровень конечных узлов (листьев) отличается не более чем на единицу.

Среди методов доступа с помощью дерева есть две группы:

  1. С помощью двоичного (бинарного) дерева. Это граф со степенью 2. Данный метод используется в случае, если:

    1. Все множество ключей размещается в оперативной памяти.

    2. Ключи могут изменяться достаточно динамично во времени.

  2. С помощью сбалансированного графа порядка n. То есть каждый узел может иметь степень значительно больше чем 2. Используется, если вся индексная структура не размещается в быстрой оперативной памяти. Доступ к внешним запоминающим устройствам осуществляется в момент перехода с одного уровня на другой. Минимизация к обращению к ОЗУ. Граф степени n умеет более сложную структуру, чем предыдущий:

    1. Каждый узел, за исключение корня, содержит не менее n и не более 2n ключей.

    2. Корень содержит не менее 1 и не более 2n ключей.

    3. Все конечные узлы расположены на одном уровне

    4. НЯ:

      1. Каждый не конечный уровень содержит два списка: упорядоченный по возрастанию список значения ключей и соответствующий ему список указателей на порожденные вершины.

      2. Каждый конечный узел содержит два списка: список ключей и список указателей на предметную информацию.

Есть так же объемные деревья, но они сложны. Требуются там, где информация носит объемный характер.

Доступ с помощью хеш-функций

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

Представление данных с помощью модели «сущность-связь»

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

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

Сущность – это некоторый объект, процесс или задача из списка, который может быть индефицирован каким-либо способом.

Экземпляр сущности – это отдельная сущность с отдельными характеристиками.

Набор сущностей состоит из экземпляров одного типа.

Каждая сущностей представляется множеством атрибутов. Эти атрибуты задают свойства всего набора сущностей. Обозначать сущности можно по-разному, но обычно делается так:

Название сущности – список характеристик, которые определяет данную сущность.

Пример: Сотрудник (№ табельный, ФИО, дара рождения, Адрес).

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

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

Связь – это некоторая ассоциация или зависимость, которая устанавливается между несколькими сущностями. Объединяется две сущности – бинарная связь. Более двух – n-арная связь.

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

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

Класс принадлежности или кардинальность связи – 1 или 0 – определяет обязательным или необязательным является наличие экземпляров сущностей с обеих сторон связи.

Зависимая и независимая сущность. Если существование сущности В зависит от существования сущности А, то в этом В – зависимая или слабая сущность, А – независимая или сильная сущность.

19.10.2011

Диаграмма сущность-связь

Это некоторое графическое представление модели сущность-связь, выполненное с определенными стандартами – нотациями.

Сущность – прямоугольник

Зависимая сущность – двойной прямоугольник

Каждая сущность определяется набором значений атрибутов – эллипс

Ключевые атрибуты – эллипс с подчеркиванием внутри

Связи – ромб

Кардинальность – 0 или 1

Степень – n:1, n:n, …

При построении диаграммы сущность-связь можно выделить несколько этапов:

  1. Изучение предметной области

  2. Индефикация основных сущностей и связей

  3. Осуществляется индефикация семантических (предметных) наборов связей (о степенях связей)

  4. Определение кардинальности связей

  5. Задаются атрибуты для каждой сущности. При этом выполняется два действия: определяется состав атрибутов (название) и определяется домены этих атрибутов (области определения)

  6. Формируется диаграмма сущность-связь

Определение предметной области:

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

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

Сущности: Сотрудник (Табельный номер, ФИО, …), Отдел (название), Должность (название, зарплата)

Связи: Работает

Может возникнуть коллизии. Отделы могут быть пустыми, а должности?

После того, как разработчики договорились, создается окончательная диаграмма:

Штатная единица – соединение информации должность и конкретная единица ставки

Диаграмма усложнилась, но нет связей многие-ко-многим, и больше не будет коллизий.

26.10.2011

Ограничение целостности на этапе построения диаграмм сущность-связь

Целостность БД – это свойство БД в любой момент времени содержать актуальную или правильную информацию. Для этого надо соблюдать правила на определенных этапах – Правила ограничения целостности. На этапе проектирования:

  1. При проектировании модели сущность-связь рассматриваются ограничения на допустимые наборы значений. Домен в данном случае трактуется как область определения атрибута. Область определения атрибута можно задать тремя способами:

    1. Непрерывный интервал каких-то значений

    2. Набор дискретных значений

    3. Перечисление допустимых значений

При придании значений атрибутам, они должны попадать в область допустимых значений.

  1. Ограничение на разрешенные значения для каждого атрибута. Пример: Возраст – разрешенные значения (с 16-18 лет до 70 лет) – определены семантикой области

  2. Ограничение, связанное с существующими значениями в базе данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]