🔬
Business-system analyst roadmap
  • Roadmap
  • Бизнес-системные аналитики
  • От автора
  • Будущее профессии бизнес и системного аналитика: вызовы, тренды и компетенции будущего
  • Глобальные тенденции занятости IT аналитиков (2025–2030)
  • Базовые знания
    • Гибкие навыки (Soft skills)
      • Анализ (Analysis)
      • Логическое мышление (Logics)
      • Креативность (Creativity)
      • Критическое мышление (Critical thinking)
      • Аналитическое мышление (Analytical thinking)
      • Системное мышление (Systems thinking)
      • Быстрая адаптация (Fast adaptation)
      • Язык и грамматика (Language and literacy)
      • Навыки коммуникации (Сommunication skills)
      • Предметные области (Domain knowledge)
      • Память (Memory)
      • Демонстрации (Demo)
      • Интервью (Interview)
    • Требования (Requirements)
      • Уровни и типы требований
        • Пример: «Создание быстрого заказа»
      • Разработка и управление требований
      • Документирование требований
      • Методы сбора требований
    • Проектирование (Engineering/Design)
      • UX/UI
      • Инструменты проектирования
    • Процесс (Process)
      • Управление и оптимизация бизнес процесса
      • Моделирование процессов
      • Описание процессов
      • Система управления процессами (BPM)
    • Нотации (Notations)
      • UML
      • BPMN
      • ERD
      • Flowchart
      • EPC
      • DFD
    • Документирование (Documentation)
      • Системы управления знаниями (Knowledge Management Systems)
      • Системы контроля версий (Version Control Systems, VCS)
      • requirements‑as‑code
    • Управление продуктом (Product managment)
    • Жизненный цикл программного продукта (Product Development Life Cycle)
      • Методологии разработки программного продукта
    • UX/UI
      • Подробнее о UX/UI
  • Технические навыки
    • Работа с данными (Work with Data)
      • Модель данных
      • Базы данных
        • Реляционные базы данных(Relational Databases)
          • SQL
        • NoSQL databases
        • Графовые базы данных (Graph Databases)
        • Документоориентированные базы данных (Document Databases)
        • Колоночные базы данных (Columnar Databases)
      • ETL
      • Файловое хранилище (File storage)
      • Визуализация данных (Data visualization)
      • Форматы данных (Data formats)
    • Компьютерные сети (Internet)
      • Как работает интернет (How does the internet work)
      • Модели OSI/ISO и TCP/IP
      • HTTP/HTTPS
      • DNS
      • Browser
      • Домены и URI (Domain and URI)
      • Хостинг
    • Разработка (Development)
      • GIT (VCS)
      • Backend
      • Frontend
    • API & Интеграции (API & Integration)
      • Synchronicity / Asynchrony
      • REST
      • SOAP
      • gRPC
      • GraphQL
      • WebSocket
      • Authentication
      • Open API
      • Message broker
      • Contract first / Code first
      • System Integration Patterns
    • Архитектура (Architecture)
      • Serverless
      • Microservices
      • Client/Server
      • Layered
      • Паттерны проектирования (Design patterns)
      • DDD
Powered by GitBook
On this page
  • Что такое реляционные базы данных?
  • Транзакции и целостность
  • Проектирование реляционной модели
  • ERD-диаграммы «Сущность-связь»
  • Популярные реляционные базы данных:
  1. Технические навыки
  2. Работа с данными (Work with Data)
  3. Базы данных

Реляционные базы данных(Relational Databases)

Что такое реляционные базы данных?

Реляционная база данных (РБД) – это набор данных с предопределенными связями между ними. Эти данные организованны в виде набора таблиц, состоящих из столбцов и строк. В таблицах хранится информация об объектах, представленных в базе данных. В каждом столбце таблицы хранится определенный тип данных, в каждой ячейке – значение атрибута. Каждая стока таблицы представляет собой набор связанных значений, относящихся к одному объекту или сущности. Каждая строка в таблице может быть помечена уникальным идентификатором, называемым первичным ключом, а строки из нескольких таблиц могут быть связаны с помощью внешних ключей. К этим данным можно получить доступ многими способами, и при этом реорганизовывать таблицы БД не требуется.

Транзакции и целостность

Транзакции в контексте реляционных баз данных (РБД) представляют собой единицы работы, которые состоят из одной или нескольких операций на базе данных.

Транзакции позволяют обеспечить надежность и целостность данных в реляционных базах данных, обеспечивая контроль над операциями и предотвращая неконсистентные состояния. Это особенно важно в многопользовательской среде, где несколько клиентов могут одновременно обращаться к базе данных.

Транзакции в РБД обеспечивают атомарность, согласованность, изолированность и долговечность данных, что обычно обозначается сокращением ACID.

Вот объяснение каждого из аспектов ACID:

  1. Атомарность (Atomicity): Транзакции считаются атомарными, если все операции внутри них выполняются как единое целое. Это означает, что либо все операции успешно завершаются, либо ни одна из них не выполняется. Нет промежуточных состояний, где только часть операций выполнена.

  2. Согласованность (Consistency): Транзакции должны обеспечивать соблюдение всех ограничений целостности базы данных. Если база данных находится в согласованном состоянии до выполнения транзакции, она должна оставаться в согласованном состоянии после ее выполнения.

  3. Изолированность (Isolation): Транзакции должны выполняться изолированно, то есть результат выполнения одной транзакции не должен быть видим другим транзакциям до ее завершения. Это предотвращает неконсистентные или непредсказуемые результаты, которые могут возникнуть при параллельном выполнении нескольких транзакций.

  4. Долговечность (Durability): После успешного завершения транзакции изменения, внесенные в базу данных, должны быть постоянными и устойчивыми к сбоям системы. Даже в случае отказа системы или перезагрузки, изменения, сделанные в рамках завершенной транзакции, должны сохраняться.

Проектирование реляционной модели

Проектирование реляционной модели базы данных включает определение сущностей (таблиц), их атрибутов (столбцов) и связей между ними. Вот общий процесс проектирования реляционной модели:

  1. Идентификация сущностей: Определите сущности, которые будут представлять объекты или концепции в вашей базе данных. Например, если вы создаете базу данных для онлайн-магазина, сущности могут включать товары, клиентов, заказы и т.д.

  2. Определение атрибутов: Для каждой сущности определите ее атрибуты, то есть свойства или характеристики, которые описывают эту сущность. Например, для сущности "товар" атрибуты могут включать название товара, цену, описание и т.д. Каждый атрибут становится столбцом в соответствующей таблице.

  3. Определение первичных ключей: Выберите один или несколько атрибутов каждой сущности в качестве ее первичного ключа. Первичный ключ уникально идентифицирует каждую запись в таблице. Обычно он состоит из одного или нескольких столбцов, значения которых не повторяются и не могут быть пустыми.

  4. Определение связей: Определите связи или отношения между сущностями. Связи могут быть однозначными или многозначными. Например, связь "один-ко-многим" может быть использована для связи "клиент-заказ", где один клиент может иметь множество заказов.

  5. Нормализация данных: Примените нормализацию данных для устранения избыточности и обеспечения структурной целостности базы данных. Важно понять нормальные формы, такие как первая нормальная форма (1NF), вторая нормальная форма (2NF) и третья нормальная форма (3NF).

  6. Создание таблиц: Создайте таблицы для каждой сущности, используя определенные атрибуты и первичные ключи. Убедитесь, что связи между таблицами отражены с помощью внешних ключей.

  7. Оптимизация производительности: При проектировании реляционной модели также следует учитывать производительность базы данных. Это включает создание правильных индексов, выбор подходящих типов данных, оптимизацию запросов и денормализацию.

ERD-диаграммы «Сущность-связь»

ERD (Entity-Relationship Diagram) или диаграмма сущность-связь - это графическое представление структуры и взаимосвязей между сущностями в базе данных.

ERD диаграммы являются важным инструментом при проектировании баз данных, поскольку они помогают визуализировать структуру данных, связи между сущностями и ключевые атрибуты. Это упрощает понимание и коммуникацию между разработчиками баз данных и другими заинтересованными сторонами.

Популярные реляционные базы данных:

  • PostgreSQL

  • MySql

  • MariaDb

  • MS SQL

  • Oracle

  • SQLite

PreviousБазы данныхNextSQL

Last updated 2 years ago