Базы данных.ppt
- Количество слайдов: 30
База данных — представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ). (Гражданский кодекс РФ, ст. 1260 ).
Другие определения : • База данных — организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей. • База данных — совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных. • База данных — некоторый набор перманентных (постоянно хранимых) данных, используемых прикладными программными системами какого-либо предприятия. • База данных — совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей организации. • База данных — совокупность определенным образом организованной информации на какую-то тему (в рамках некоторой предметной области).
Отличительные признаки БД • БД хранится и обрабатывается в вычислительной системе. Таким образом, любые внекомпьютерные хранилища информации (архивы, библиотеки, картотеки и т. п. ) базами данных не являются. • Данные в БД логически структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки в вычислительной системе. Структурированность подразумевает явное выделение составных частей (элементов), связей между ними, а также типизацию элементов и связей, при которой с типом элемента (связи) соотносится определённая семантика и допустимые операции. • БД включает метаданные, описывающие логическую структуру БД в формальном виде (в соответствии с некоторой метамоделью). В соответствии с ГОСТ Р ИСО МЭК ТО 10032 -2007, «постоянные данные в среде базы данных включают в себя схему и базу данных. Схема включает в себя описания содержания, структуры и ограничений целостности, используемые для создания и поддержки базы данных.
История БД История возникновения и развития технологий баз данных может рассматриваться как в широком, так и в узком аспекте. В широком аспекте понятие истории баз данных обобщается до истории любых средств, с помощью которых человечество хранило и обрабатывало данные. В таком контексте упоминаются, например, средства учёта царской казны и налогов в древнем Шумере (4000 г. до н. э. ), узелковая письменность инков — кипу, клинописи, содержащие документы Ассирийского царства и т. п. Следует помнить, что недостатком этого подхода является размывание понятия «база данных» и фактическое его слияние с понятиями «архив» и даже «письменность» .
История баз данных в узком аспекте рассматривает базы данных в традиционном (современном) понимании. Эта история начинается с 1955 г. , когда появилось программируемое оборудование обработки записей. Программное обеспечение этого времени поддерживало модель обработки записей на основе файлов. Для хранения данных использовались перфокарты. Оперативные сетевые базы данных появились в середине 1960 -х. Операции над оперативными базами данных обрабатывались в интерактивном режиме с помощью терминалов. Простые индексно-последовательные организации записей быстро развились к более мощной модели записей, ориентированной на наборы. За руководство работой DBTG (Data Base Task Group), разработавшей стандартный язык определения данных и манипулирования данными, Чарльз Бахман получил Тьюринговскую премию. В это же время в сообществе баз данных COBOL была проработана концепция схем баз данных и концепция независимости данных.
Следующий важный этап связан с появлением в начале 1970 -х реляционной модели данных, благодаря работам Эдгара Ф. Кодда. Работы Кодда открыли путь к тесной связи прикладной технологии баз данных с математикой и логикой. За свой вклад в теорию и практику Эдгар Ф. Кодд также получил премию Тьюринга. Сам термин database (база данных) появился в начале 1960 -х гг. , и был введён в употребление на симпозиумах, организованных фирмой SDC (System Development Corporation) в 1964 и 1965 гг.
Примеры БД: • база данных книжного фонда библиотеки; • база данных кадрового состава учреждения; • база данных законодательных актов в области уголовного права; • база данных современной эстрадной песни.
Типы БД • Фактографические • Документальные В фактографических БД содержатся краткие сведения об описываемых объектах, представленные в строго определенном формате. Например, в БД библиотеки о каждой книге хранятся библиографические сведения: год издания, автор, название и пр. Разумеется текст книги в ней содержаться не будет. В БД отдела кадров учреждения хранятся анкетные данные сотрудников: фамилия, имя, отчество; год и место рождения. В документальных БД содержатся сами документы. Например, тексты законов; тексты и ноты песен; биографическая и творческая справочная информация о композиторах, поэтах, исполнителях; звуковые записи и видеоклипы. Следовательно, документальная БД содержит обширную информацию самого разного типа: текстовую, графическую, звуковую, мультимедийную.
Классификации БД 1. Классификация БД по модели данных ; 2. Классификация БД по среде физического хранения; 3. Классификация БД по содержимому; 4. Классификация БД по степени распределённости ;
Классификация БД по модели данных • иерархические • сетевые • реляционные • объектные и объектноориентированные
Иерархическая база данных Иерархические базы данных могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект, второй — объекты второго уровня и т. д. Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами.
• Например, если иерархическая база данных содержала информацию о покупателях и их заказах, то будет существовать объект «покупатель» (родитель) и объект «заказ» (дочерний). Объект «покупатель» будет иметь указатели от каждого заказчика к физическому расположению заказов покупателя в объект «заказ» . • В этой модели запрос, направленный вниз по иерархии, прост (например: какие заказы принадлежат этому покупателю); однако запрос, направленный вверх по иерархии, более сложен (например, какой покупатель поместил этот заказ). • Иерархической базой данных является файловая система, состоящая из корневой директории, в которой имеется иерархия поддиректорий и файлов. • Иерархическая модель представляет собой связный неориентированный гpaф древовидной структуры, объединяющий сегменты. Иерархическая БД состоит из упорядоченного набора деревьев.
Файловая система компьютера как пример иерархической базы данных
Сетевая СУБД, графическое представление связей Сетевая БД состоит из набора записей и набора связей между этими записями, а если говорить более точно, из набора экземпляров каждого типа из заданного в схеме БД набора типов записи и набора экземпляров каждого типа из заданного набора типов связи. К основным понятиям сетевой модели базы данных относятся: уровень, элемент (узел), связь. Узел — это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. В сетевой структуре каждый элемент может быть связан с любым другим элементом.
Реляционная база данных • Реляционная база данных — база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз данных было предложено доктором Коддом из компании IBM в 1970 году.
Эдгар Франк Кодд Edgar Frank Codd Дата рожд. : 23 августа 1923 Место рожд. : Портланд (Дорсет) Дата смерти: 18 апреля 2003 (79 лет) Страна: Англия Научная информатика сфера: Альмаматер: Оксфордский университет
Неформальное определение реляционной БД • Вся информация в базе данных представлена в виде таблиц. • БД поддерживает три реляционных оператора – выбора, проектирования и объединения, с помощью которых получаются необходимые данные.
Правила Кодда Реляционная БД должна: • представлять всю информацию в виде таблиц; • поддерживать логическую структуру данных независимо от их физического представления; • использовать язык высокого уровня для структурирования, выполнения запросов и изменения информации в базах данных (теоретически это может быть любой язык баз данных, практически для этого используется язык SQL (Structured Query Language – язык структурированных запросов); • поддерживать основные реляционные операции (выбор, проектирование и объединение), а также теоретикомножественные операции, такие как, объединение, пересечение и дополнение; • различать в таблицах неизвестные значения (nulls), нулевые значения и пропуски данных; • обеспечивать механизмы для поддержки целостности, авторизации, транзакций и восстановления данных.
Таблицы ФИО Должность Иванов Зав. отделением Петров Врач Сидоров Врач Строки (записи) Столбцы (поля) • • Первое правило Кодда гласит, что вся информация в реляционных базах данных представляется значениями в таблицах. Таблицы состоят из горизонтальных строк и вертикальных столбцов. Каждая запись описывает отдельный объект или сущность – человека, клинику, препарат или что-нибудь другое. Каждое поле описывает одну характеристику объекта – ФИО или должность, адрес или дату. Набор связанных таблиц образует базу данных. Таблицы в реляционной базе разделены, но полностью равноправны. Между ними не существует никакой иерархии и, вообще говоря, они не обязательно даже физически связаны друг с другом. Каждый элемент данных или значение определяется пересечением записи и поля таблицы. Чтобы найти требуемый элемент данных, необходимо знать имя содержащей его таблицы, поле и значение его первичного ключа или уникального идентификатора. (Каждая запись должна единственным образом идентифицироваться по одному из своих значений).
Независимость • Реляционная модель обеспечивает независимость данных на двух уровнях – физическом и логическом. Физическая независимость данных означает, что представление данных абсолютно не зависит от способа их физического хранения. Как следствие этого, физическое перемещение данных никоим образом не может повлиять на логическую структуру базы данных и восприятие данных. Такие изменения могут потребоваться, например, при выходе устройства хранения их строя или при установке дополнительных физических носителей. • Логическая независимость означает, что изменение взаимосвязей между таблицами, записями и полями не влияет на правильную работу приложений и текущих запросов. Можно разбивать таблицы по записям или полям, а приложения и запросы все равно будут выполняться, как и раньше.
Язык высокого уровня • Определение реляционной системы требует, чтобы весь диалог с базой данных велся на едином языке – SQL. Этот язык используется для выборки и модификации, определения данных и администрирования данных. Любая из этих операций выполняется с помощью оператора или команды SQL. Выборка – это поиск необходимых данных, а модификация означает добавление, удаление или изменение данных. • Операции по выборке (чаще называемые запросами) осуществляют поиск в базе данных, наиболее эффективно извлекают затребованную вами информацию и отображают ее. Во всех запросах SQL используется ключевое слово SELECT. • Предназначение языка SQL состоит в том, чтобы на основе команд создать интерфейс в виде шаблонов, инструкций (бланков запросов) для работы с реляционными базами данных. При таком интерфейсе шаблоны «скрывают» команды языка SQL и пользователь манипулирует только полями и условиями выборки.
Реляционные операции № пац. • • Операции по выборке данных – 1 проектирование, выбор и объединение. Операция проектирования выбирает поля, 2 операция выбора – записи, а 3 операция объединения собирает вместе данные из 4 связанных таблиц. Последняя операция обеспечивает реляционную базу данных необходимой № врача мощностью и гибкостью. Когда вы «объединяете» две таблицы, 1 на период действия запроса они как бы становятся единой 2 таблицей. Операция объединения соединяет данные, сравнивая значения в заданных 3 полях и отражая результаты. ФИО пациента Пол № врача Александров А. А. м 3 Дедова Г. Г. ж 2 Жуков В. Н. м 1 Володин П. С. м 3 ФИО врача Должность Иванов И. И. Зав. отделением Петров П. П. Врач Сидоров С. С. Врач
Нули • В реальном мире управления информацией данные часто являются неизвестными или неполными: ваш пациент может не захотеть назвать свой возраст, пациенту назначена процедура, но дата ее еще не может быть определена. Такие пропуски информации создают «дыры» в таблицах. • Проблема, конечно, состоит не в простой неприглядности таблиц. Опасность состоит в том, что из-за них база данных может стать противоречивой. Чтобы сохранить целостность данных в реляционной модели для обработки пропущенной информации используется понятие нуля. • «Нуль» не означает пустое поле или обычный математический нуль. Он отображает тот факт, что значение неизвестно, недоступно или неприменимо.
Целостность • Целостность – очень сложный и серьезный вопрос при управлении реляционными базами данных. Несогласованность или противоречивость данных может возникать вследствие сбоя системы – проблемы с аппаратным обеспечением, ошибки в программном обеспечении или логические ошибки в приложениях. Реляционные системы управления защищают данные от такого типа несогласованности. • Другой тип целостности, называемый ссылочной целостностью, означает непротиворечивость между частями информации, повторяющимися в разных таблицах. Например, если вы изменяете неправильно введенный номер страхового полиса обязательного медицинского страхования в одной таблице, другие таблицы, содержащие эту же информацию, продолжают содержать старый номер, поэтому вы должны обновить и эти таблицы. Чрезвычайно важно, чтобы при изменении информации в одном месте, она соответственно изменялась и во всех других местах.
Пример БД «Клиника»
Объектно-ориентированная база данных (ООБД) — база данных, в которой данные моделируются в виде объектов, его атрибутов, методов и классов. Обязательные характеристики • Поддержка сложных объектов. В системе должна быть предусмотрена возможность создания составных объектов за счет применения конструкторов составных объектов. • Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов. • Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. • Перегрузка в сочетании с полным связыванием. Методы должны применяться к объектам разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. • Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения. • Набор типов данных должен быть расширяемым.
Классификация БД по среде физического хранения: • БД во вторичной памяти (традиционные): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) — как правило жёсткий диск. В оперативную память СУБД помещает лишь кеш и данные для текущей обработки. • БД в оперативной памяти (in-memory databases): все данные находятся в оперативной памяти. • БД в третичной памяти (tertiary databases): средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило на основе магнитных лент или оптических дисков. Во вторичной памяти сервера хранится лишь каталог данных третичной памяти, файловый кеш и данные для текущей обработки; загрузка же самих данных требует специальной процедуры.
Классификация БД по содержимому: • географические; • исторические; • научные; • мультимедийные.
Классификация БД по степени распределённости: • Централизованные (сосредоточенные); • Распределенные; • Отдельное место в теории и практике занимают пространственные (англ. spatial), временные, или темпоральные (temporal) и пространственно-временные (spatialtemporal) БД.
Базы данных.ppt