Skip to content

Реляционные базы данных ​

Реляционные базы данных — это тип систем управления базами данных, который организует данные в виде таблиц. Каждая таблица состоит из строк и столбцов, где строки представляют собой записи (или экземпляры данных), а столбцы — атрибуты (или поля) этих записей. Реляционные базы данных основываются на реляционной модели данных, предложенной Эдгаром Коддом в 1970-х годах.

Основные характеристики реляционных баз данных ​

1. Табличная структура ​

Данные хранятся в таблицах, где каждая таблица имеет уникальное имя. Каждая строка в таблице представляет собой уникальную запись, а каждый столбец — атрибут этой записи.

2. Первичный ключ ​

Каждая таблица имеет первичный ключ — уникальный идентификатор для каждой записи. Это позволяет однозначно идентифицировать каждую строку в таблице.

3. Внешний ключ ​

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

4. SQL (Structured Query Language) ​

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

5. Целостность данных ​

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

6. Нормализация ​

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

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

Пример кода ​

Давайте посмотрим, как в реляционной базе данных будет выглядеть код на создание небольшой структуры данных:

sql
CREATE TABLE students (
    student_id INT PRIMARY KEY,
    first_name VARCHAR(100),
    last_name VARCHAR(100),
    email VARCHAR(100),
    enrollment_date DATE
);

CREATE TABLE courses (
    course_id INT PRIMARY KEY,
    course_name VARCHAR(255),
    course_description TEXT,
    credits INT
);

CREATE TABLE teachers (
    teacher_id INT PRIMARY KEY,
    first_name VARCHAR(100),
    last_name VARCHAR(100),
    email VARCHAR(100)
);

CREATE TABLE enrollments (
    enrollment_id INT PRIMARY KEY,
    student_id INT,
    course_id INT,
    enrollment_date DATE,
    FOREIGN KEY (student_id) REFERENCES students(student_id),
    FOREIGN KEY (course_id) REFERENCES courses(course_id)
);

CREATE TABLE grades (
    grade_id INT PRIMARY KEY,
    enrollment_id INT,
    grade DECIMAL(3, 2),
    grade_date DATE,
    FOREIGN KEY (enrollment_id) REFERENCES enrollments(enrollment_id)
);