Все учебники / Информатика — 9 класс. Учебник / § 33. Многотабличные базы данных

§ 33. Многотабличные базы данных

Многотабличные базы данных

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

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

В чем преимущества многотабличных баз данных?
Преимущества многотабличных баз данных следующие:
Избежание дублирования информации

Каждое поле данных хранится только в одной таблице, что минимизирует избыточность и облегчает процесс обновления данных. К примеру, в базе данных библиотеки сведения о книге (название, автор, год издания) сохраняются исключительно в таблице “Книги”, тогда как в таблице “Читатели” размещается информация о пользователях библиотеки (имя, адрес, телефонный номер).

Гибкость и масштабируемость

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

Упрощение запросов

Возможность выполнять сложные запросы, объединяя данные из нескольких таблиц, что позволяет получать более полную и детальную информацию. Например, запрос Найдите всех читателей, которые взяли книгу “Война и мир” может быть реализован путем объединения данных из таблиц “Читатели” и “Книги”.

Как проектируются многотабличные базы данных?

Процесс проектирования многотабличной базы данных основан на принципах нормализации. Нормализация – это процесс разделения данных на таблицы с минимальной избыточностью и максимальной целостностью. В процессе нормализации определяются ключевые поля (первичные и внешние ключи), которые связывают таблицы между собой.

Как доставать данные из нескольких таблиц?

Для извлечения информации из нескольких таблиц используется оператор JOIN. Оператор JOIN позволяет объединить данные из разных таблиц по заданному условию. Например, есть таблицы:

-- Создание таблицы "Readers"
CREATE TABLE Readers (
    reader_id SERIAL PRIMARY KEY, -- Автоинкрементный первичный ключ
    name VARCHAR(255) NOT NULL, -- Имя читателя
);
-- Создание таблицы "Books"
CREATE TABLE Books (
    book_id SERIAL PRIMARY KEY, -- Автоинкрементный первичный ключ
    name VARCHAR(255) NOT NULL, -- Название книги
);
-- Создание таблицы "Orders"
CREATE TABLE Orders (
    order_id SERIAL PRIMARY KEY, -- Автоинкрементный первичный ключ
    reader_id INT NOT NULL,
    book_id INT NOT NULL
);

Тогда запрос Найдите всех читателей, которые взяли книгу “Война и мир”, с помощью оператора JOIN может быть записан так:

SELECT readers.name, books.name
FROM orders
JOIN books ON orders.book_id = book.id
JOIN readers ON orders.reader_id = reader.id
WHERE books.name = 'Война и мир';

В этом запросе объединяются данные из таблиц “Читатели”, “Заказы” и “Книги” с помощью оператора JOIN. Запрос выводит имена читателей и названия книг, которые они взяли, и фильтрует результаты по названию книги “Война и мир”.

Заключение

Многотабличные базы данных – это инструмент, который позволяет эффективно управлять большими объемами информации, обеспечивая гибкость, масштабируемость и простоту использования.

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

Остались вопросы?
Расскажите нам, что вызвало трудности, и мы ответим на ваш вопрос по элеткронной почте
book letter
Оставляя заявку, вы автоматически соглашаетесь на обработку ваших персональных данных в соответствии с Условиями и Договором оферты
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Перейти к верхней панели