История развития баз данных
Хранение и использование данных до появления СУБД
- На протяжении веков люди пользовались бумажными архивами: книги учёта, журналы, картотеки.
- Характерные проблемы: поиск был долгим, данные изнашивались, терялись, дублировались.
- С появлением компьютеров в 1950–1960-е годы начали применять файлы для хранения данных в цифровой форме.
Пример: ведомости сотрудников предприятия хранились в отдельных текстовых файлах, которые читались и обрабатывались прикладными программами.
Проблемы работы с данными в ранних системах
- Избыточность — одни и те же сведения приходилось хранить в разных файлах.
- Несогласованность — при изменении данных в одном файле они могли остаться устаревшими в других.
- Сложность доступа — каждая программа имела собственный формат и методы работы с файлами.
- Отсутствие стандартизации — затрудняло обмен и совместное использование данных.
- Низкая надёжность — при сбое терялась целостность файлов.
Этапы эволюции подходов к хранению
1. Бумажные носители
- Данные фиксировались на бумаге.
- Удобно для одного человека, но непрактично для больших организаций.
- Проблемы: медленный поиск, физическая хрупкость, большие архивы.
2. Ранние файловые системы (1950–1960-е)
- Данные стали храниться в электронных файлах (текстовых или бинарных).
- Управление полностью зависело от приложений.
- Пример: бухгалтерия имела свой файл зарплат, кадры — свой список сотрудников.
- Недостатки: дублирование, несогласованность, сложное сопровождение.
3. Иерархические и сетевые модели (1960–1970-е)
- Решение для ускорения доступа и структурирования.
- Иерархическая модель: дерево (один родитель — много потомков).
- Сетевая модель: связи между записями образуют сложный граф.
- Плюсы: выше скорость обработки, меньше избыточность.
- Минусы: слишком сложная структура, трудности при изменении.
4. Реляционная модель (1970-е)
- Предложена Эдгаром Коддом (IBM).
- Основная идея: представление данных в виде таблиц с чёткими правилами.
- Появился язык SQL, который стандартизировал работу с данными.
- Преимущества: простота, независимость от конкретных приложений, универсальность.
5. Современные тенденции (2000-е — настоящее время)
- Рост интернета и больших данных потребовал новых решений.
- Появились NoSQL базы: документо-ориентированные, графовые, хранилища ключ-значение.
- Современные системы сочетают реляционный подход с масштабируемостью распределённых систем.
Причины перехода от одного этапа к другому
- От бумаги к файлам: необходимость автоматизации и быстрого поиска.
- От файлов к иерархическим моделям: решение проблемы дублирования и ускорение доступа.
- От иерархических к реляционным: упрощение разработки и обслуживания.
- От реляционных к NoSQL: работа с огромными массивами данных и сложными структурами.
Определения базовых понятий
- База данных (БД) — организованная совокупность структурированных данных, предназначенных для хранения, обработки и многократного использования.
- Система управления базами данных (СУБД) — программный комплекс, который обеспечивает создание, ведение и использование баз данных, управляет доступом, контролирует целостность и безопасность.