Базы данных.ppt
- Количество слайдов: 72
Базы данных
Введение Изменеие основного вопроса информатики Этап 1 Этап 2 Этап 3 Этап 4 обеспечен аппаратн программ информацион интеллектуал ие ое ное ьное субъект электрон программ пользователь эксперт ик ист
Лекция 1. Хранение данных 1. 1 Данные, информация Определение. Данные – это представление фактов и идей в формализованном виде, пригодном для передачи и переработки в некотором процессе, информация – это смысл, который придается данным при их представлении. Обработка данных – выполнение систематических последовательных действий с данными.
Взаимосвязанные данные называют системами данных. Утверждение. Цель существования систем хранения информации – обеспечить выдачу достоверной информации в определенное время, определенному лицу, в определенном месте, за определенную плату.
n n n Предметная область (ПО) – совокупность информационной среды и технологии обработки информации, ориентированная на конечного пользователя. Объект – понятие, характеризующееся данными предметной области. Атрибут – элемент данных объекта. Значение атрибута – его реальное содержание. Экземпляр объекта – совокупность значений атрибутов объекта. Ключевой атрибут – тот, по которому можно определить другие атрибуты объекта.
n n Запись данных – совокупность связанных атрибутов. Файл данных – упорядоченная совокупность записей (плоский файл – совокупность однородных записей). Источник данных – среда, из которой поступает информация. Примеры – больница (история болезни, коечный фонд), авиалинии (самолеты, рейсы, места), торговля (товар, покупатель, поставщик). Первичные документы – носители информации, используемые в источнике данных.
1. 2 Системы хранения данных на основе файлов n Главный недостаток системы, построенной на файлах, связан с тем, что короткие записи, ориентированные на решение частных задач, приводят к избыточности, возникающей из-за повторения одних и тех же данных в разных файлах. Это порождает проблему противоречивости данных, которая усугубляется слабым контролем достоверности данных.
К недостаткам подобных систем следует отнести: n ограничение разделения данных; n ограничение по доступности; n сложность в управлении.
Попытка борьбы с противоречивостью путем объединения записей приводит к следующим неприятностям: n ведение длинных записей представляет собой трудоемкую задачу; n система данных на длинных записях отличается крайне низкой гибкостью; n при недостаточности средств защиты возможен несанкционированный доступ к данным; n процесс восстановления данных сложен и требует значительного времени; n стоимость и сложность в эксплуатации таких систем крайне высока.
1. 3 База данных Определение. Под базой данных (БД) будем понимать совокупность связанных данных конкретной предметной области, в которой определения данных и отношений между ними отделены от процедур.
n Основное отличие баз данных от систем на основе файлов состоит в том, что эти системы имеют несколько назначений и несколько представлений о данных, а базы данных – несколько назначений и одно представление о данных.
n Определение. Система управления данными (СУБД) – комплекс программно-аппаратных средств, обеспечивающих доступ к БД и управление данными.
Требования к СУБД n Эффективное выполнение функций ПО. n Минимизация избыточности. n Предоставление непротиворечивой информации. n Безопасность. n Простота в эксплуатации. n Простота физической реорганизации. n Возможность централизованного управления. n Упрощение приложений.
Лекция 2. Модели данных 2. 1 Проектирование баз данных n Мы рассмотрим проектирование данных – процесс разработки структуры базы данных в соответствии с требованиями заказчиков. В ходе разработки проекта нужно ответить на следующие вопросы:
n n n что представляют собой требования заказчиков, и в какой форме они выражены; как они преобразуются в структуру базы данных; как часто и каким образом структура базы данных должна перестраиваться.
В настоящее время рассматриваются три уровня абстракции для определения структуры данных: концептуальный (точка зрения заказчика), логический (точка зрения разработчика) и физический (точка зрения администратора БД).
Концептуальный уровень – наиболее общее представление об информационном содержании предметной области. Представляется в виде концептуальной модели (КМ), которая часто называется концептуальной схемой или информационной структурой. КМ обладает высокой степенью стабильности, она проблемно-ориентирована и не зависит от конкретной СУБД, операционной системы и аппаратного обеспечения. Ее поведение должно быть полностью предсказуемо. n
n Концептуальное представление оперирует основными элементарными данными предметной области, называемыми сущностями. Сущности описываются атрибутами. Данные могут находиться в некотором отношении друг с другом: образовывать ассоциации. Эти ассоциации называются связями. КМ должна поддерживать согласованность связей в пределах уровня детализации.
Логический уровень представления оперирует такими понятиями, как запись, компоненты записи, связи между записями. Соответствующая ему модель называется логической (ЛМ), она представляет собой отображение концептуальной модели в среду конкретной СУБД. Иногда рассматривают не конкретную СУБД, а только ее класс (модель) – иерархическую, сетевую или реляционную. n
n Физический уровень демонстрирует физическое хранение данных. На этом уровне используются такие понятия, как физические блоки, файлы, хранимые записи, указатели. Взаимосвязи между хранимыми записями, возникающие в процессе их группировки, а также индексные структуры тоже рассматриваются на уровне физической модели (ФМ).
2. 2 Независимость данных Прикладной программист, работая над проектом, должен знать ответы на следующие вопросы: n каков формат данных; n где они располагаются; n как к ним обратиться.
Независимость данных заключается в том, что программист всегда знает ответы на эти вопросы, то есть его программа не зависит от изменения в расположении, формате данных и способе доступа к ним.
n n 1 -й уровень независимости – логическая независимость, 2 -й уровень – физическая независимость.
При наличии независимости на 1 -м уровне решения, принимаемые в КМ, не зависят от выбираемой СУБД. Независимость на 2 -м уровне означает, что реализация ЛМ не зависит от метода доступа, расположения данных, типа ЭВМ, характеризующих ФМ. Отсюда следует, что для обеспечения независимости в КМ не должны учитываться особенности СУБД, а методы доступа к данным должны быть скрыты.
n Определение. Данные независимы, если существует возможность нормального функционирования БД при изменениях как со стороны концептуальной, так и со стороны физической модели, то есть обеспечивается логическая и физическая независимость.
2. 3 Модель, схема n Определение. Модель данных – средство для определения логического представления физических данных, относящихся к ПО.
Она характеризуется тремя компонентами: n Структура данных, предназначенная для представления точки зрения пользователя на БД. n Множество допустимых операций, выполняемых в структуре данных, составляющее основу языка данных модели. n Ограничения для контроля целостности.
Объекты, которыми оперирует модель, представляют собой сущности. Сущности могут быть в некотором отношении друг к другу: если A, B – множества сущностей, то отношение A R B показывает их связь. Подобные модели называются моделями «сущность-связь» или, используя английскую аббревиатуру, ER-моделями.
Связи характеризуются кардинальными числами. Говорят об отображении один к одному (1: 1), обозначается “ ”, один ко многим (1: M), обозначается “ ”, многие ко многим (M: N), обозначается “ ”. Связи между сущностями называются еще “ассоциациями”.
ОБЪЕКТ АТРИБУТ Пациент Врач Номер, имя, адрес, диагноз, паспорт имя, специальность Койка палата, номер койки
n n Отношения между объектами (сущностями): (1) 1: 1 пациент койка номер паспорт (2) 1: М палата пациент имя номер (3) М: N пациент врач имя пациента имя врача
2. 3. 1 Схема базы данных Определение. Под схемой базы данных будем понимать ее описание средствами языка определения данных. Схема описывает свойства базы данных в терминах типов хранящихся в ней данных. В зависимости от уровня модели, для которой она предназначена, различают концептуальную, логическую, физическую схемы.
Проектирование данных – процесс перевода общих представлений о данных, выраженных концептуальной моделью, в конкретную логическую модель.
При ее создании полезно руководствоваться набором простых правил. n основа проектирования – концептуальные требования; n БД удовлетворяет информационным потребностям; n БД удовлетворяет требованию производительности; n БД удовлетворяет вновь возникающим требованиям; n БД расширяется в соответствии с расширением ПО; n БД изменяется в зависимости от изменения программной и аппаратной среды; n в процессе функционирования БД не изменяется корректность данных; n контроль достоверности данных производится до записи в БД; n доступ к данным осуществляется с учетом полномочий.
2. 4 Определение СУБД Определение. СУБД – набор программных средств, позволяющих: n обеспечить пользователя языковыми средствами манипулирования данными – языки определения данных (ЯОД) и языки манипулирования данными (ЯМД); n обеспечить поддержку моделей пользователя;
n n обеспечить реализацию ЯОД и ЯМД: отображение операций над данными в операции над физическими данными; обеспечить защиту (полномочия) и целостность (согласованность) данных.
2. 4. 1 Классификация СУБД К СУБД относятся следующие основные виды программ: 1. полнофункциональные СУБД – наиболее многочисленные и мощные по своим возможностям; имеют развитый интерфейс, позволяющий выполнять основные действия с БД. QBE (Query By Example – формулировка запросов по образцу)
2. Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Реализуют функции управления базами данных, запрашиваемые другими (клиентскими) программами обычно с помощью операторов языка SQL. Примерами серверов БД являются следующие программы: MS SQL Server (Microsoft), Inter. Base (Borland), SQLBase Server (Gupta), Intelligent Database (Ingress).
3. В роли клиентских программ для серверов БД в общем случае могут использоваться различные программы: ПФСУБД, электронные таблицы, текстовые процессоры, программы электронной почты и т. д.
4. Средства разработки программ работы с БД могут использоваться для создания разновидностей следующих программ: n клиентских программ; n серверов БД и их отдельных компонентов; n пользовательских приложений. В числе наиболее распространенных можно назвать следующие инструментальные системы: Delphi и Power Builder (Borland), Visual Basic (Microsoft), ERwin (Logic. Works).
По характеру использования СУБД делят на персональные и многопользовательские. Персональные СУБД обычно обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними. К персональным СУБД, например, относятся Visual Fox. Pro, Paradox, Clipper, d. Base, Access и др.
n Многопользовательские СУБД включают в себя сервер БД и клиентскую часть и могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и операционными системами). К многопользовательским СУБД относятся, например, СУБД Oracle, Informix и др.
По используемой модели данных СУБД (как и БД), разделяют на иерархические, сетевые, реляционные.
2. 4. 2 Функции СУБД С точки зрения пользователя, СУБД реализует функции хранения, изменения (пополнения, редактирования и удаления) и обработки информации, а также разработки и получения различных выходных документов.
Низкоуровневые функции СУБД: n управление данными во внешней памяти; n управление буферами оперативной памяти; n управление транзакциями; n ведение журнала изменений в БД; n обеспечение целостности и безопасности БД.
n Реализация функции управления данными во внешней памяти в разных системах может различаться и на уровне управления ресурсами, и по логике самих алгоритмов управления данными. Качество реализации этой функции наиболее сильно влияет на эффективность работы специфических ИС, например, с огромными БД, со сложными запросами, большим объемом обработки данных.
Буферы -это области оперативной памяти, предназначенные для ускорения обмена между внешней и оперативной памятью. В буферах временно хранятся фрагменты БД, данные из которых предполагается использовать при обращении к СУБД или планируется записать в базу после обработки.
n Транзакция - некоторая неделимая последовательность операций над данными БД, которая отслеживается СУБД от начала и до завершения.
Ведение журнала изменений в БД (журнализация изменений) выполняется СУБД для обеспечения надежности хранения данных в базе при наличии аппаратных сбоев и отказов, а также ошибок в программном обеспечении.
Целостность БД - свойство базы данных, означающее, что в ней содержится полная, непротиворечивая и адекватно отражающая предметную область информация. Поддержание целостности БД включает проверку целостности и ее восстановление в случае обнаружения противоречий в базе данных. Целостное состояние БД описывается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые в базе данные.
n Обеспечение целостности БД составляет необходимое условие успешного функционирования БД, особенно для случая использования БД в сетях. n Обеспечение безопасности достигается в СУБД шифрованием прикладных программ, данных, защиты паролем, поддержкой уровней доступа к базе данных и к отдельным ее элементам (таблицам, формам, отчетам и т. д. ).
2. 5 Схема обмена данными при работе с БД Обычные стрелки – связи по управлению, утолщенные стрелки связи по информации
n n n много пользовательская СУБД «нескольких параллельных источников запросов » нескольких параллельных источников запросов
Лекция 3. Модели данных Обычно рассматриваются три основных модели представления данных, которые отличаются ограничениями, накладываемыми на представление данных и виды связей. Это, в порядке хронологии появления, иерархическая, сетевая и реляционная модели. В настоящее время развивается и четвертый тип модели – объектно-ориентированный.
3. 1 Иерархическая модель Определение. Отношение объектов иерархической модели определяется следующими правилам: n А подчинено Б Б не подчинено А; n А подчинено Б (А подчинено В) (Б тождественно В), где А, Б, В – объекты. Другими словами, иерархическая модель реализуется древовидной структурой.
Иерархическая модель обладает следующими свойствами. n n n Существует корень. Узел содержит атрибуты. Исходный и зависимый узлы находятся в отношении «непосредственный предок и потомок» . Узлы добавляются горизонтально и вертикально.
n n n Потомок соединен единственной связью с предком. Предок может иметь несколько потомков. Доступ к данным производится через предка. Может существовать множество экземпляров узла. При удалении узла удаляется все его поддерево.
пример А n n B Аномалия включения: В БД (А) невозможно включить не оперировавшего хирурга. Аномалия удаления: так как при удалении узла исключаются и все его подузлы, то при удалении хирурга из (Б) исчезают все его пациенты.
Аномалий в этом случае нет.
Достоинства n Простота в понимании и использовании. n n n Независимость по сравнению с файловыми системами. Простота обслуживания и оценки характеристик. Высокая скорость доступа.
Недостатки n Основной недостаток – невозможность реализации отношения «многие к многим» в рамках одной базы данных. Реализация такого отношения на основе двух БД затрудняет управление.
3. 2 Сетевая модель n Сетевая модель основана на рекомендациях рабочей группы по базам данных КОДАСИЛ (CODASYL), которые стали фактически первым стандартом в области систем баз данных (1969 -1978 гг. ). В дальнейшем изложении используются терминология и ограничения, введенные этим комитетом.
База данных делится на области, те – на записи, состоящие из полей. С другой стороны, база состоит из наборов, а те – из записей
Связь «пациент-операция» означает «пациент перенес операцию» , «хирург-операция» – «хирург выполнил операцию» . Область “Пациент” Пациент Операция Область “Хирург
n n n Запись – иерархия, образованная из простейших (атомарных) элементов данных, их групп и повторяющихся групп. Множество допустимых экземпляров записи называется типом записи. Тип набора – множество экземпляров набора. К набору относятся записи – члены набора и владелец набора. Записи-владельцы (члены) могут быть одновременно владельцами (членами) других наборов.
Y-структура Пациент Хирург Операция Лечение
иерархическая Пациент многочленная Пациент Операция Лечение Заболеван ие
n Атрибут «обязательныйнеобязательный» определяет поведение СУБД при удалении владельца экземпляра набора. В первом случае члены набора удаляются при удалении владельца, во втором случае – нет.
n Атрибут «автоматический-ручной» определяет способ включения в набор. В первом случае члены набора включаются в нужный экземпляр набора автоматически, во втором случае в нужный набор запись включается по команде из прикладной программы.
Достоинства n Реализуется отношение "многие к многим". n Высокая производительность.
Недостатки n Основной недостаток сетевой модели – трудность реорганизации базы данных, то есть изменения ее структуры. n n Второй недостаток связан с тем, что в процессе эксплуатации за счет некорректных удалений, сбоев и т. п. накапливается мусор – данные, к которым нет доступа. Третий недостаток – слабая выразительность языка запросов.
Базы данных.ppt