Appearance
Реляционные базы данных
Реляционные базы данных — это тип систем управления базами данных, который организует данные в виде таблиц. Каждая таблица состоит из строк и столбцов, где строки представляют собой записи (или экземпляры данных), а столбцы — атрибуты (или поля) этих записей. Реляционные базы данных основываются на реляционной модели данных, предложенной Эдгаром Коддом в 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)
);