Лекция 6. Базы данных.ppt
- Количество слайдов: 25
Лекция № 6 Базы данных 1
Определения • База данных — совместно используемый набор логически связанных данных (и их описаний), предназначенный для удовлетворения той или иной информационной потребности организации либо индивидуального пользователя • СУБД - специализированный программный комплекс, предназначенный для организации и ведения баз данных
Состав • В состав полнотекстовых баз данных в входят документы • Данные структурированных баз данных организованы в виде записей, состоящих из полей • Существенными являются также взаимосвязи записей разного рода
Пример состава базы данных
Основные принципы построения баз данных и работы с ними • Базы данных состоят из записей или сегментов • Основные операции конструирования и ведения баз данных: объявление структуры, включение, выборка и модификация записей, осуществляются с помощью СУБД • СУБД, поддерживая механизм транзакций, даёт возможность программисту легко обеспечить выдачу только внутренне непротиворечивых комбинаций состояния записей базы данных 5
Требования к организации информации в базе данных и к работе СУБД • Объединение элементов данных в группы и связи между элементами данных должны отражать внутреннюю структуру данных. Базы данных – основа для наращивания прикладных программ. Разные пользователи одни и те же данные могут использовать по-разному • Простота, лёгкость и гибкость использования: пользователи должны легко узнавать и понимать, какие данные имеются в их распоряжении, иметь простой интерфейс доступа к ним и иметь возможность пользоваться различными способами для поиска и доступа к данным 6
Требования к организации информации в базе данных и к работе СУБД • Работа с базами данных должна быть производительной как для каждой отдельной операции с БД (время отклика) так и для всего потока транзакций (пропускная способность) • Постоянная готовность к работе • Минимизация затрат на хранение данных и на программирование прикладных задач (необходимость одновременного решения этих двух проблем закономерно приводит к различию физической организации данных и их логической модели) • Минимизация избыточности. Избыточные данные занимают больше памяти и требуют более одной операции обновления 7
Требования к организации информации в базе данных и к работе СУБД • Широкие возможности поиска, в т. ч. по нестандартным, заранее не запланированным вопросам • Целостность – сохранность данных и связей между ними, обеспечение соответствия данных определённым критериям • Связь с прошлым и будущим. Переход на новые СУБД и новые форматы не должен быть катастрофой для продолжения использования наработанного программного обеспечения. Лёгкость преобразования форматов. Разделение физического и логического описания. Применение стандартных методов и интерфейсов для работы с данными. Разделение логического описания и пользовательского представления 8
Требования к организации информации в базе данных и к работе СУБД 9
Безопасность и секретность • Безопасность – защита данных от случайного или преднамеренного доступа к ним лиц, не имеющих на это права, от неавторизованной модификации данных или их разрушения • Секретность - право отдельных лиц или организаций решать, когда, как и какое количество соответствующей информации может быть передано другим лицам или организациям 10
Меры обеспечения безопасности • • Данные должны быть разрушения. защищены от искажения, хищения и других форм Данные должны быть восстанавливаемыми, так как иногда, несмотря на тщательную предосторожность, могут иметь место различного рода случайные сбои. • Данные должны быть контролируемыми. Нарушения проверочных средств в вычислительных системах могут привести к катастрофе. • Система должна быть • возможностью обхода системы контроля. В настоящее время еще нет систем, полностью изолированных от возможности вмешательства, но осуществление вмешательства в систему должно быть предельно трудным. Должна быть установлена процедура идентификации пользователя базы данных, которая обеспечивает возможность доступа к базе только после правильного ее выполнения. В системе должен быть предусмотрен контроль действий пользователя с точки • максимально трудной для вмешательства; обычные программисты не должны располагать зрения санкционирования их выполнения. Контроль над работой пользователя должен осуществляться так, чтобы его ошибочные действия были с большой вероятностью обнаружены. 11
Дополнительные требования к организации информации в базе данных и к работе СУБД • Настраиваемость • Перемещаемость и архивируемость • Эффективные языки пользователей и пользовательские интерфейсы 12
Модель данных • 1 – модель данных как схема типов записей, состава их атрибутов и их (записей и атрибутов) взаимосвязей • 2 – модель данных как основной используемый в СУБД тип организации взаимосвязей между записями различных типов 13
Иерархическая модель данных • Иерархическая модель данных — логическая модель данных в виде древовидной структуры. • Иерархическая модель данных представляет собой совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (граф). Данная модель характеризуется такими параметрами, как уровни, узлы, связи. Принцип работы модели таков, что несколько узлов более низкого уровня соединяется при помощи связи с одним узлом более высокого уровня. • Узел — информационная модель элемента, находящегося на данном уровне иерархии. 14
Сетевая модель данных • • • Разница между иерархической моделью данных и сетевой состоит в том, что в иерархических структурах запись-потомок должна иметь в точности одного предка, а в сетевой структуре данных у потомка может иметься любое число предков. Сетевая БД состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями. Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия: каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L; каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L. 15
Реляционная модель данных (простое интуитивное определение) • Реляционная модель данных основана на понятии математических отношений. В реляционной модели данные и связи представлены в виде таблиц, каждая из которых имеет несколько столбцов с уникальными именами 16
Реляционная модель данных (по-научному) Для лучшего понимания РМД следует отметить три важных обстоятельства: • модель является логической, то есть отношения являются логическими (абстрактными), а не физическими (хранимыми) структурами; • для реляционных баз данных верен информационный принцип: всё информационное наполнение базы данных представлено одним и только одним способом, а именно — явным заданием значений атрибутов в кортежах отношений; в частности, нет никаких указателей (адресов), связывающих одно значение с другим; • наличие реляционной алгебры позволяет реализовать декларативное программирование и декларативное описание ограничений целостности, в дополнение к навигационному (процедурному) программированию и процедурной проверке условий. 17
Объектно-ориентированный подход к СУБД • Объектно-ориентированная база данных (ООБД) — база данных, в которой данные оформлены в виде моделей объектов, включающих прикладные программы, которые управляются внешними событиями. Результатом совмещения возможностей (особенностей) баз данных и возможностей объектно-ориентированных языков программирования являются Объектноориентированные системы управления базами данных (ООСУБД). 18
Обязательные отличительные особенности ООСУБД • • Поддержка сложных объектов. В системе должна быть предусмотрена возможность создания составных объектов за счет применения конструкторов составных объектов. Необходимо, чтобы конструкторы объектов были ортогональны, то есть любой конструктор можно было применять к любому объекту. Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов. Поддержка инкапсуляции. Корректная инкапсуляция достигается за счет того, что программисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов. Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. (Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указанием ее типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с ее типом, что позволяет гарантировать корректность программного обеспечения. С другой стороны класс является неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени относится ко времени исполнения, чем ко времени компиляции. ) 19
Обязательные отличительные особенности ООСУБД • • Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно. Перегрузка в сочетании с полным связыванием. Методы должны применяться к объектам разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. Для обеспечения этой функциональности связывание имен методов в системе не должно выполняться до времени выполнения программы. Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения. Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределенных системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий. 20
Основные режимы работы и роли людей, связанных с работой БД • Проектировщики разрабатывают структуру БД с учётом требований заказчика • Пользователи занимаются наполнением, получением данных и их анализом • Администраторы занимаются обслуживанием и настройкой базы данных
Проектирование базы данных. Подготовка технического задания • Список исходных данных, с которыми работает заказчик • Список выходных данных внутренних потребностей заказчика • Список выходных данных внешней отчётности
Если заказчик не готов самостоятельно представить техническое задание Приемы: • Демонстрация работы аналогичной базы данных с последующим согласованием (составлением спецификации) отличий • Если аналогов нет – исследование круга задач и потребностей заказчика с последующей помощью в составлении ТЗ
Последовательность разработки схемы данных 1. Составление общего списка полей • • 2. Определение подходящих типов данных • 3. Распределение полей по основным таблицам. • Ввод данных в таблицу должен, как правило, производиться в рамках одного подразделения, Ещё лучше – на одном рабочем месте. 4. Выбор ключевых полей. Счётчик – если другой возможности организовать ключевое поле не видится. • 5. Процесс нормализации и создания связей между таблицами. • 6. Уточнение ограничений на содержимое полей (маски ввода и ограничивающие условия, не относящиеся к соотношениям ключевых полей) • (7. Согласование с заказчиком и учёт дополнительных требований, возникающих в ходе разработки и внедрения БД)
Три шага нормализации • Первая, вторая и третья нормальные формы
Лекция 6. Базы данных.ppt