Какие базы данных использовал в работе
В работе я использовал реляционные базы данных: MySQL, Oracle DB, PostgreSQL и SQLite. Реляционные базы данных — это система хранения и организации информации, имеющей установленные отношения, что обеспечивает возможность для быстрого доступа. Данные упорядочиваются с использованием табличных форм, содержащих сведения об их сущности: строки и столбцы представляют заранее установленные категории данных. Такой способ структурирования делает процедуру доступа к информации гибкой и быстрой, поэтому реляционные БД получили наибольшее распространение. Они поддерживают стандартный язык SQL, а также встроенные языки: DDL для описания данных и DML для работы с данными.
Как это работает
Реляционная модель организует данные в таблицы (отношения), где каждая строка — запись, а каждый столбец — атрибут. Связи между таблицами устанавливаются через ключи: первичные (PRIMARY KEY) и внешние (FOREIGN KEY). Это обеспечивает целостность данных и позволяет выполнять сложные запросы с помощью JOIN.
Пример простой схемы на Python с использованием SQLite:
import sqlite3
# Создание подключения к базе данных
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# Создание таблицы пользователей
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT UNIQUE
)
''')
# Вставка данных
cursor.execute("INSERT INTO users (name, email) VALUES (?, ?)", ('Alice', 'alice@example.com'))
conn.commit()
# Выборка данных
cursor.execute("SELECT * FROM users")
print(cursor.fetchall())
conn.close()Сравнение использованных СУБД
| СУБД | Особенности | Типичное применение |
|---|---|---|
| MySQL | Популярная, быстрая, открытая | Веб-приложения, CMS |
| Oracle DB | Мощная, масштабируемая, коммерческая | Крупные корпоративные системы |
| PostgreSQL | Расширяемая, поддерживает JSON, строгая стандартам | Сложные приложения, геоданные |
| SQLite | Встраиваемая, файловая, без сервера | Мобильные приложения, прототипы |
Подводные камни
- Различия в синтаксисе: например,
LIMITв MySQL и PostgreSQL, ноROWNUMв Oracle. - Типы данных:
AUTO_INCREMENTв MySQL,SERIALв PostgreSQL,IDENTITYв Oracle. - Уровень поддержки транзакций и изоляции может отличаться.
- SQLite не поддерживает конкурентную запись, что ограничивает её применение в высоконагруженных системах.
Когда использовать
Реляционные БД подходят, когда данные структурированы и требуют строгой целостности, а также когда нужны сложные запросы с объединениями. Для простых проектов или прототипов удобна SQLite, для веб-приложений — MySQL или PostgreSQL, для корпоративных решений — Oracle.
Коротко
- Использовал MySQL, Oracle DB, PostgreSQL, SQLite — все они реляционные.
- Данные хранятся в таблицах со связями через ключи.
- SQL — стандартный язык для работы с такими БД.
- Выбор СУБД зависит от требований проекта: от встраиваемой SQLite до масштабируемой Oracle.