Similar presentations:
Реляционные и объектно-реляционные базы данных. Моделирование данных баумуратова шолпан бекболатқызы
1.
РЕЛЯЦИОННЫЕ ИОБЪЕКТНО-РЕЛЯЦИОННЫЕ
БАЗЫ ДАННЫХ.
МОДЕЛИРОВАНИЕ ДАННЫХ
БАУМУРАТОВА ШОЛПАН БЕКБОЛАТҚЫЗЫ
2.
Реляционная база данных описывается реляционнойалгеброй и основана на реляционной модели.
Объектно-реляционная база данных похожа на
реляционную и дополнительно поддерживает
следующие объектно-ориентированные концепции:
• определенные пользователем и сложные типы данных;
• наследование.
3.
РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ(RDBMS) И ОБЪЕКТНО-РЕЛЯЦИОННЫЕ БАЗЫ
ДАННЫХ (ORDBMS)
1. Модель данных
• Реляционные базы данных (RDBMS): Данные хранятся в виде таблиц (отношений). Каждая таблица
состоит из строк (записей) и столбцов (атрибутов). Взаимосвязи между таблицами осуществляются с
помощью внешних ключей. Основные данные — это примитивные типы (числа, строки, даты и т.д.).
• Объектно-реляционные базы данных (ORDBMS): ORDBMS расширяют реляционную модель,
добавляя поддержку объектно-ориентированных принципов. В них можно определять сложные
пользовательские типы данных (объекты), поддерживать вложенные структуры, массивы, объекты и
даже наследование. Таблицы могут содержать не только примитивные типы данных, но и объекты или
сложные структуры данных.
2. Типы данных
• RDBMS: Используются стандартные примитивные типы данных, такие как INT, VARCHAR, DATE. Все
данные строго табличны и находятся на одном уровне.
• ORDBMS: Поддерживаются более сложные типы данных, включая пользовательские объекты, массивы,
JSON, XML, а также возможность создания пользовательских типов данных и методов для работы с
ними.
4.
РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ(RDBMS) И ОБЪЕКТНО-РЕЛЯЦИОННЫЕ БАЗЫ
ДАННЫХ (ORDBMS)
3. Наследование
• RDBMS: Реляционные базы данных не поддерживают объектное наследование. Все данные
организованы в плоские таблицы, и связь между данными создается через внешние ключи.
• ORDBMS: Поддерживается объектное наследование, что позволяет определять иерархии
объектов. Например, можно создать общий тип данных для всех товаров, а затем наследовать его
для конкретных категорий товаров (например, для книг или электроники).
4. Связь с объектно-ориентированными языками
• RDBMS: Реляционные базы данных требуют преобразования данных в объекты (ORM —
объектно-реляционное отображение) при работе с объектно-ориентированными языками
программирования (например, Java, Python).
• ORDBMS: Объектно-реляционные базы данных облегчают работу с объектно-ориентированными
языками, так как данные уже представлены в виде объектов. Это уменьшает необходимость в
ORM-инструментах.
5.
РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ(RDBMS) И ОБЪЕКТНО-РЕЛЯЦИОННЫЕ БАЗЫ
ДАННЫХ (ORDBMS)
5. Запросы и расширения SQL
• RDBMS: Стандартный SQL используется для запросов и манипуляции данными. Расширенные
возможности, такие как работа с JSON или объектами, обычно ограничены.
• ORDBMS: Помимо стандартного SQL, в ORDBMS можно использовать расширенные запросы
для работы с объектами и сложными структурами данных. Например, можно напрямую
запрашивать и манипулировать объектами, вызовы методов объектов в запросах и т.д.
6. Применение
• RDBMS: Чаще всего используется в приложениях, где данные строго структурированы и имеют
простые взаимосвязи. Это могут быть системы управления заказами, бухгалтерские программы и
т.д.
• ORDBMS: Используется в приложениях, где требуются более сложные структуры данных и
поддержка объектов. Например, в системах с мультимедийными данными, геоинформационных
системах (ГИС), научных исследованиях, где важна гибкость в моделировании сложных объектов.
6.
СВОЙСТВА ACID (ATOMICITY CONSISTENCYISOLITION DURABILITY)
ACID -это аббревиатура, описывающая ключевые свойства транзакций в системах управления базами
данных (СУБД). В реляционной базе данных логическая операция называется транзакцией.
Технически транзакция может состоять из нескольких операций с базой данных: создания, чтения,
обновления и удаления (create, read, update, delete – CRUD).
ACID расшифровывается как:
• атомарность
• согласованность
• изолированность
• долговечность
7.
ЯЗЫК SQL – СТРУКТУРИРОВАННЫЙ ЯЗЫК ЗАПРОСОВ (STRUCTURED QUERYLANGUAGE).
• SQL – декларативный язык программирования баз данных, стандартизованный Американским
национальным институтом стандартов (ANSI) и Международной организацией по
стандартизации (ISO). Первый стандарт SQL был опубликован в 1986 году, за ним последовали
стандарты SQL:1999, SQL:2003, SQL:2006, SQL:2008, SQL:2011 и SQL:2016.
• Язык SQL состоит из нескольких частей:
язык определения данных (DDL): позволяет определить и изменить структуру реляционной
базы данных;
язык манипулирования данными (DML): служит для выборки данных из отношений;
язык управления данными (DCL): служит для управления правами доступа.
8.
ПОНЯТИЯ РЕЛЯЦИОННОЙ МОДЕЛИРеляционная модель – это логика первого порядка, или исчисление предикатов, разработанная
Эдгаром Ф. Коддом в 1970 году и изложенная в статье «A relational model of data for large shared data
banks» База данных в ней представлена в виде набора отношений (relation).
• Отношение
• Кортеж
• Значение NULL
• Атрибут
• Ограничения (Ограничение доменной целостности, Ограничение сущностной целостности,
Ограничения ссылочной целостности, Семантические ограничения )
9.
РЕЛЯЦИОННАЯ АЛГЕБРА• Реляционная алгебра – это формальный язык реляционной модели. Она определяет набор
замкнутых операций над отношениями, т. е. результатом любой операции является новое
отношение. Реляционная алгебра наследует многие операторы от теории множеств.
• Операции реляционной алгебры можно отнести к двум группам:
• в первую группу входят теоретико-множественные операции: объединение, пересечение,
разность множеств и декартово (или перекрестное) произведение;
• во вторую группу входят операции, специфичные для реляционной модели, например выборка
и проекция. Операции реляционной алгебры бывают также унарными и бинарными.
10.
МОДЕЛИРОВАНИЕ ДАННЫХ• Модель данных – это абстракция отношений в базе данных. С помощью модели разработчик
представляет бизнес-требования в виде отношений. Модели также служат средством обмена
информацией между разработчиками и заказчиками. Виды моделей данных. В стандарте ANSI
определены следующие виды моделей данных:
концептуальная модель данных – описывает семантику доменов и служит для перечисления
основных бизнес-правил, действующих лиц и концепций. Содержит высокоуровневое описание бизнестребований и часто называется моделью данных верхнего уровня;
логическая модель данных – описывает семантику в контексте определенной технологии.
Например, для объектно-ориентированных языков это могут быть UML-диаграммы классов;
физическая модель данных – описывает, как хранятся данные на уровне оборудования. Оперирует
такими понятиями, как сеть хранения данных, табличное пространство и т. д.
11.
12.
UML-ДИАГРАММЫ КЛАССОВ1. Унифицированный язык моделирования (UML) – стандарт, разработанный организацией Object
Management Group (OMG). UML-диаграммы широко применяются в программах моделирования.
Разным видам моделирования соответствуют разные диаграммы, в том числе диаграммы классов,
прецедентов, деятельности и реализации.
2. Диаграмма классов может описывать несколько типов ассоциаций, т. е. связей между классами. На ней
можно изображать как атрибуты, так и методы. Диаграмму сущность-связь легко транслировать в UMLдиаграмму классов. У диаграмм классов есть ряд достоинств:
обратное конструирование кода: схему базы данных легко обратить и сгенерировать диаграмму классов;
моделирование объектов расширенной реляционной базы данных: в современных реляционных базах есть
ряд дополнительных типов объектов: последовательности, представления, индексы, функции и хранимые
процедуры. UML-диаграммы классов способны представить такие типы.
13.
КОНТРОЛЬНАЯ РАБОТА 1ЗАДАНИЕ
1.1 Определение реляционных баз данных:
• Дайте определение реляционной базы данных.
• Объясните ключевые концепции, такие как таблицы, строки, столбцы, первичные и внешние ключи.
1.2 Объектно-реляционные базы данных:
• Определите объектно-реляционную базу данных (ORDBMS).
• Какие отличия объектно-реляционных баз данных от реляционных? Приведите примеры, в каких
случаях целесообразно использовать ORDBMS.
1.3 Примеры использования:
• Приведите примеры реальных приложений или систем, использующих реляционные и объектнореляционные базы данных.
14.
ЗАДАНИЕ2.1 Моделирование данных для реляционной базы данных:
• Предположим, у вас есть система управления заказами, где каждый заказ связан с клиентом и содержит
несколько товаров. Постройте реляционную модель данных, которая включает следующие
таблицы: Customers (Клиенты), Orders (Заказы), OrderItems (Товары заказа), Products (Товары).
• Для каждой таблицы опишите ключевые атрибуты и определите первичные и внешние ключи.
2.2 Моделирование данных для объектно-реляционной базы данных:
• Используйте ту же систему управления заказами, но теперь включите возможность моделирования
объектов (например, клиенты могут быть разных типов — физические и юридические лица, а товары
могут иметь дополнительные атрибуты, такие как свойства конфигурации или сроки годности).
• Постройте модель данных для объектно-реляционной базы данных, которая будет поддерживать эти
новые требования.
15.
ОБЗОР POSTGRESQL. ВОЗМОЖНОСТИPOSTGRESQL. УСТАНОВКА POSTGRESQL.
• PostgreSQL, или просто postgres, – объектно-реляционная система управления базами данных с
открытым исходным кодом. На первом месте в ней стоит расширяемость, техническое
совершенство и совместимость. Она конкурирует с основными базами данными: Oracle, MySQL,
SQL Server и другими. Используется в самых разных секторах, включая государственные
учреждения, от- крытые и коммерческие продукты. Это кросс-платформенная СУБД, работающая
в большинстве современных операционных систем, в т. ч. Windows, macOS и различных
дистрибутивах Linux. Совместима со стандартами SQL и обладает всеми свойствами ACID.
16.
ИСТОРИЯ POSTGRESQL• СУБД PostgreSQL начиналась как исследовательский проект в Калифорнийском университете в Беркли.
С 1996 года она разрабатывалась сообществом, и до сих пор в разработке PostgreSQL принимают
активное участие сообщества и университеты. Перечислим основные исторические вехи:
1977–1985, проект Ingres: Майкл Стоунбрейкер (Michael Stonebraker) создал РСУБД на основе формальной
реляционной модели;
1986–1994, postgres: Майкл Стоунбрйкер (Michael Stonebraker) создал postgres, чтобы поддержать сложные
типы данных и объектно-реляционную модель;
1995, Postgres95: Эндрю Ю (Andrew Yu) и Джолли Чен (Jolly Chen) модифицировали язык запросов PostQUEL,
являвшийся частью postgres, превратив его в расширенное подмножество SQL;
1996, PostgreSQL: группа разработчиков потратила много времени и труда, чтобы стабилизировать postgres95.
Первая версия с открытым исходным кодом была выпущена 29 января 1997 года. Поскольку проект стал
открытым и в него были добавлены новые возможности и дополнения, название postgres95 изменили на
PostgreSQL.
17.
ПРИМЕНЕНИЯ POSTGRESQL1. PostgreSQL применяется в различных ситуациях. Основные области применения PostgreSQL
можно отнести к двум категориям:
обработка транзакций в реальном времени (OLTP): OLTP характеризуется большим количеством
операций вставки, обновления и удаления, очень высокой скоростью работы и поддержанием целостности
данных в многопользовательской среде. Производительность измеряется количеством транзакций в секунду;
интерактивная аналитическая обработка (OLAP): OLAP характеризуется небольшим количеством
сложных запросов, включающих агрегирование данных, получение гигантских объемов данных из разных
источников в разных форматах, добычу данных и анализ исторических данных.
18.
АРХИТЕКТУРА POSTGRESQLВ PostgreSQL используется клиент-серверная архитектура, когда клиент и сервер могут находиться в
различных узлах. Обмен данными между клиентом и сервером обычно ведется по протоколу TCP/IP
или через Linux-сокеты. Сервер PostgreSQL может одновременно обрабатывать несколько
подключений клиентов. Типичная программа, работающая с PostgreSQL, состоит из следующих
процессов операционной системы:
клиентский процесс: фронтальная часть приложения отправляет запросы базе данных. В этой роли
может выступать веб-сервер, которому нужно построить веб-страницу, или командная утилита для
решения задач обслуживания. В состав PostgreSQL входят фронтальные команды psql, createdb, dropdb,
createuser и другие;
серверный процесс: управляет файлами базы данных, принимает запросы на подключение от клиентов
и выполняет действия по их требованию. Серверный процесс называется postgres. PostgreSQL создает
новый процесс для каждого подключения, поэтому процессы клиента и сервера общаются между собой,
не прерывая главный серверный процесс. Серверные процессы существуют в течение ограниченного
времени – до завершения соединения с клиентом.
19.
ВОЗМОЖНОСТИ POSTGRESQL• PostgreSQL обеспечивает сервис корпоративного уровня, гарантирующий непрерывность бизнеса.
Например, поддерживается репликация, позволяющая обеспечить высокую доступность.
PostgreSQL может получать данные из различных источников, а затем применять к ним процесс
извлечения, преобразования и загрузки (ETL). Безопасность в PostgreSQL считается
неотъемлемой чертой, а не функций, которую хорошо бы иметь. Обновления безопасности
поставляются в дополнительных (минорных) релизах. Наконец, в PostgreSQL реализовано
бессчетное количество дополнений к SQL, крайне полезных расширений и интерактивных
инструментов.
20.
УСТАНОВКА POSTGRESQL• PostgreSQL устанавливается практически на все современные операционные системы: все сравнительно
недавние дистрибутивы Linux, Windows 2000 SP4 и старше, FreeBSD, OpenBSD, macOS, AIX и Solaris.
Кроме того, PostgreSQL работает на процессорах разной архитектуры, включая x86, x86_64, IA64 и
другие. На странице http://buildfarm.PostgreSQL.org можно проверить, поддерживается ли конкретная
платформа (операционная система + архитектура ЦП). Можно скачать и установить двоичный
дистрибутив или самостоятельно откомпилировать исходный код PostgreSQL.
• В целях автоматизации установки PostgreSQL и уменьшения нагрузки на администратора сервера
рекомендуется использовать двоичный комплект поставки, который может установить менеджер
пакетов операционнй системы. У этого подхода один недостаток: версия будет не самой последней.
Впрочем, на официальном сайте https://www.PostgreSQL.org/download/ выложены дистрибутивы для
наиболее распространенных платформ, включая BSD, Linux, macOS, Solaris и Windows, и инструкции
по установке. На рисунке ниже показано, как добавить репозиторий APT в систему Ubuntu Zesty.
Отметим, что инструкции по установке генерируются для конкретного имени ОС.