Similar presentations:
Основы теории баз данных
1.
Основы теории баз данных2. Основные понятия базы данных
База данных — именованная совокупность структурированных данных, отражающаяпонятияпредметной
базы данных
состояние объектов и их отношенийОсновные
в рассматриваемой
области.
Система управления базами данных — совокупность языковых и программных
средств, предназначенных для создания, ведения и совместного использования БД
многими пользователями.
3. Основные понятия базы данных
Можно выделить трисовокупности данных:
свойства,
которые
отличают
БД от
Основные
понятия
базы данных
База данных хранится и обрабатывается в вычислительной
системе.
Данные в БД хорошо структурированы, т.е. выделены
основные элементы, их типы и связи между элементами, а
также ограничения на допустимые операции.
Обеспечивается поиск и обработка данных.
простой
4. Свойства базы данных
Удобное использование баз данных основано на их свойствах:1. Быстродействие
Современные БД проектируются по принципу «получить данные прямо сейчас», чтобы пользователь не ждал
отклик на запрос.
2. Простота получения и обновления данных
Какой бы высокой ни была скорость, это бессмысленно, если нужно сделать много сложных операций, чтобы
получить, обновить или добавить данные в базу.
3. Независимость структуры
Изменения в любом количестве и качестве информации не должны влиять на структуру базы данных. Также
изменения не должны касаться программного обеспечения и средств хранения, например жёсткого диска.
4. Стандартизация
Аналогично свойству независимости структуры: при обновлении программного обеспечения или СУБД (сокр.
от «системы управления базами данных») база данных не должна менять свою структуру или свойства.
5. Свойства базы данных
Удобное использование баз данных основано на их свойствах:5. Безопасность данных
Для каждой категории пользователей делают список ограничений и доступов, согласно которым можно
взаимодействовать с информацией из БД.
6. Интегрированность
Данные должны быть логически связаны. И эти связи должны прослеживаться по структуре таблиц.
7. Многопользовательский доступ
Удалённо вносить изменения и получать информацию из БД могут сразу несколько человек с разных
устройств.
6. Модели организации баз данных
Ядром любой базы данных является модель данных.Модели организации баз данных
Модель данных — это совокупность структуры данных и операций их
обработки.
Виды моделей:
Иерархическая
Сетевая
Реляционная SQL
Объектно-ориентированная
Нереляционные (NoSQL)
NewSQL базы данных
7. Иерархическая модель
ИерархическиеИерархическая модель
Простейшая структура, где записи, как ветви, отходят от «родителя». Информация связана по
аналогии с папками на рабочем столе. У каждой записи есть физическая связь только с одной предыдущей,
а отношение многих ко многим невозможно.
На примере базы данных для кофейни в виде иерархической структуры можно представить сорта
кофе: Арабика (англ. Arabica), Робуста (англ. Robusta) и Либерика (англ. Liberica).
Преимущества:
Простота.
Минимальный расход памяти.
Недостатки:
Отсутствие универсальности – не всякую
информацию
можно
выразить
в
иерархической модели данных.
Исключительно навигационный принцип
доступа к данным.
Доступ к данным только через корневой
элемент.
8. Иерархическая модель
СетевыеИерархическая модель
В отличие от иерархической структуры, у каждой записи может быть более одного родителя.
Сетевые БД представляют собой не древовидный, а общий граф.
Можно построить граф с рецептами напитков, где связаны «Капучино» с «Эспрессо» и «Молоком», а
«Эспрессо» — с «Кофейными зёрнами» и «Водой». «Латте» имеет связи с «Эспрессо», «Молоком» и
«Молочной пеной».
Преимущества:
Универсальность.
Возможность доступа к данным через
значения нескольких отношений.
Недостатки:
Сложность
–
обилие
понятий,
вариантов
их
взаимосвязей
и
способов реализации.
Допустимость только навигационного
принципа доступа к данным.
9. Сетевая модель
Объектно-ориентированныеСетевая модель
Базы данных, где информация о реальных вещах представлена в виде объектов под уникальным
идентификатором. К ООБД обращаются на языке объектно-ориентированного программирования (ООП).
Состояние объекта описывается атрибутами, а его поведение — набором методов. Объекты с одинаковыми
атрибутами и методами образуют классы.
Объект в ООП создаётся как отдельная сущность со своими свойствами и методами работы. И как
только объект создан, его можно вызвать по «имени», или коду, а не разрабатывать заново.
Например, при разработке руки главного героя в компьютерной игре программист один раз создаёт
объект «рука». И когда нужно запрограммировать движения, достаточно сказать на языке программирования:
«рука, сожми кулак» или «рука, поднимись вверх».
По такому же принципу работают и объектно-ориентированные базы данных. Данные формируются в
объекты, и работать с ними можно как с рукой героя в примере.
10. Сетевая модель
РеляционныеСетевая модель
Их также называют SQL — как язык программирования, с помощью которого создают,
преобразовывают и управляют данными в реляционных БД. Записи и связи между ними организованы при
помощи таблиц. В таблицах есть поле для внешнего ключа со ссылками на другие таблицы. Благодаря
высокой организации и гибкости структуры реляционные БД применяются для многих типов данных.
В кофейне реляционные базы данных пригодились бы для описания рецептов, закупок и связей
между ними. В таблице с поставщиками можно указать цены на один и тот же продукт у разных брендов.
При выборе бренда данные будут автоматически попадать в таблицу «Закупка ингредиентов». Так можно
будет настроить расчёт суммы всей закупки и себестоимости одного напитка. Каждый сотрудник сможет
вывести данные по любому поставщику и обновить цены, если они изменятся.
11. Реляционная модель
Нереляционные (NoSQL)Реляционная модель
Эту группу называют также NoSQL, потому что к таким базам данных нужны отличные от SQL-запросы.
● Базы данных «ключ-значение»
В таких базах данные
сохраняются под ключами. Если хотите
получить объект, например,
изображение или текст, нужно ввести
ключ. Таким образом часто хранят
информацию о состоянии объектов,
представленную различными типами
данных. Каждому хранилищу
разрабатывают свою схему
именования ключей в зависимости от
форматов значений.
12. Реляционная модель
Нереляционные (NoSQL)Реляционная модель
● Графовые базы данных
Связи в графовых базах данных обозначены узлами, рёбрами и свойствами. Записи в этих БД могут иметь
любое количество связанных с ними свойств.
Например, взаимодействия между
сотрудниками кофейни можно обозначить с
помощью графа. В его узлах находятся
карточки сотрудников с именем, возрастом и
должностью, а каждое ребро показывает
функции и задачи, которые связывают этих
людей.
13. Реляционная модель
Нереляционные (NoSQL)Реляционная модель
● Колоночные базы данных
Подобно реляционным, в этих базах данные хранятся в виде таблиц. Но структура колонок строго не
регламентирована — они могут объединяться в колоночные семейства с определённым форматом. Строки
колоночного семейства имеют уникальные идентификаторы.
Например, в колоночном семействе «Десерты» будут строки «Печенье» и «Круассаны».
14.
NewSQL базы данныхNewSQL совмещают реляционную модель, язык запросов SQL и распределённые горизонтально
масштабируемые базы данных NoSQL. Этот тип появился на рубеже 2000-х и 2010-х годов как ответ на
потребности рынка, которые существующие БД не могли удовлетворить. Так, SQL-базы не поддерживали
масштабируемость на уровне NoSQL, а эти, в свою очередь, не отвечали стандартам точного выполнения
оперативных транзакций ACID (англ. atomicity, consistency, isolation, durability — «атомарность,
непротиворечивость, изолированность, долговечность»).
Для баз данных NewSQL характерны:
● реляционная модель и транзакционность,
● язык SQL для доступа к данным,
● горизонтальная масштабируемость,
● более быстрая производительность за счёт новых «движков».
Развитие типов баз данных не останавливается на NewSQL. Появляются новые гибридные модели
(англ. multi-model databases), так как использование базы данных может решить разные задачи.
15.
Примеры использования баз данныхВесь спектр возможного использования БД не показать, поэтому остановимся на нескольких примерах.
Даже в небольшой точке питания вроде кофейни найдутся данные, которые нужно хранить, использовать и
обновлять:
● Показания счётчиков
Коммерческое помещение, как и жилое, подключено к системам электро- и водоснабжения. Если счётчики
автоматические, они сами передадут показания, управляющая компания назначит плату за услуги, и придёт счёт.
После оплаты в системе будет указано, что задолженности нет. Каждая компания обрабатывает огромное количество
счётчиков. Базы данных нужны, чтобы хранить ежемесячные показания, сортировать их по номерам квартир, учитывать
оплаты и долги. Простые электронные таблицы с такими задачами не справятся.
● Данные сотрудников
Если список сотрудников небольшой, данные можно записать в таблицу. Но это будет не самый безопасный способ
их хранения, поэтому понадобятся базы данных с ограниченным доступом. Кроме личных данных, у каждого сотрудника
должны быть медицинские карты и зарплатные счета. Здесь не обойтись без работы с базой данных: в первом случае она
хранится на стороне клиники, а во втором — на стороне банка. Владельцу бизнеса останется только проконтролировать, все
ли успешно прошли медосмотр и пришла ли зарплата.
16.
Примеры использования баз данных● База лояльных клиентов
Заведения общепита часто предлагают поучаствовать в системе лояльности. Покупатель сообщает имя и телефон,
чтобы начислялись бонусы, которыми можно оплатить следующие покупки. Без базы данных с лояльными клиентами
сложно выстроить сообщество любителей кофейни.
● Налоги
Системы налогообложения тоже работают на базах данных, потому что объём информации колоссальный. Ни одна
таблица Excel не вместит всех налоговых резидентов страны, чтобы каждый месяц присылать им уведомление о
начисленном налоге.
● Заказы
Можно оценивать на глаз, в какие дни и время в кофейне больше всего посетителей, но это малоэффективно.
Надёжнее и проще опираться на базу данных, где учитываются все чеки с суммой, временем и ID клиента.
● Сайты
Если сайт чуть больше, чем визитка, в его внутренней механике есть база данных. Это касается не только интернетмагазинов, где нужно хранить данные о заказах, товарах и ценах. В базах сайтов могут храниться изображения, данные о
зарегистрированных пользователях, статистика посещений и перемещений.
database