Экскурс в историю. Модели данных.
Что же такое БД? На сегодняшний день под этим термином понимают два понятия:
- Данные, каким-то образом структурированные.
- Прикладное ПО для работы с данными.
Мы в нашем курсе под термином БД будем иметь ввиду сами данные, а ПО для работы будем называть СУБД - Система управления базами данных.
Как вы думаете, когда появились первые СУБД? Это было в конце 60-х годов. Именно тогда появилась потребность хранить и работать с большими (на тот момент) объемами данных. Например, бронирование авиабилетов, банковские системы, корпоративные системы продаж - вот несколько примеров систем, в которых необходимость эффективной работы с данными критична.
А как вы думаете, для чего нужны СУБД? Какую функцию они несли и продолжают нести по сей день?
Предполагается, что основные функции СУБД:
- Хранение большого объема данных длительное время; защита их от порчи.
- Авторизация доступа к данным. В том числе многопользовательского доступа. И, соответственно, защита от несанкционированного (неавторизованного) доступа.
- Обеспечение возможностью эффективно запрашивать и модифицировать данные.
- Обеспечение возможностью определять и модифицировать структуру хранимых данных; создавать БД.
- Независимость программ от данных.
Первыми примерами СУБД были файловые системы. Но они эффективно выполняли только первую и вторую функции.
Первые СУБД основывались на идеи визуально представить данные. Для этого использовались различные модели данных для представления структуры хранимой информации.
Модель данных – это совокупность структур данных и операций их обработки. С помощью модели данных могут быть представлены информационные объекты и взаимосвязи между ними.
Основными моделями на тот период были
- Плоская модель - данные представлены в виде коллекции пар "ключ - значение". Самый простой и давно нам известный способ представления данных. Примеры: телефонный справочник, массив, хэш-таблица, Dictionary, Map.
- Иерархическая модель - данные, представленные в виде одной или нескольких древовидных структур. Такая модель представляет средства для обхода деревьев в поисках необходимых данных. Примеры: файловая система, JSON, XML.
- Сетевая модель - данные представлены в виде графа. Сетевая БД состоит из набора элементов определенного типа и набора определенного типа связей между этими элементами. Примеры: сеть, стандарт CODASYL.
Данные структуры активно используются и по сей день. Особенно в задачах как человеко-машинного, так и межмашинного взаимодействия. Мы вернемся к примерам такого взаимодействия чуть позже.
Ситуация коренным образом поменялась (причем на следующие 50 лет), после выхода в свет знаменитой работы Эдгара Кодда1. Он предложил новую, реляционную модель данных, которая приобрела большую популярность и теперь является доминирующей на рынке СУБД.
Глоссарий
Тип данных – множество значений и операций над ними.
Знания – структурированная информация.
Данные – знания, представленные в удобном для хранения и обработки виде.
База данных – это интегрированная совокупность структурированных и взаимосвязанных данных, организованная по определенным правилам, которые предусматривают общие принципы описания, хранения и обработки данных. Обычно база данных создается для предметной области.
Модель данных – наборы принципов, которые определяют организацию логической структуры хранения данных в базе, называются
Вопросы
- В чем преимущества, ставшие причиной такой популярности реляционной модели?
Задания
- Представьте, вам необходимо реализовать свою СХД (систему хранения данных). Опишите, как вы реализуете хранение данных.
Например, у вас есть следующие данные: Марки автомобилей (name), Модели автомобилей (name, make), Автомобили (make, model, VIN), Владельцы (name, surname, car).
- Сколько у вас будет файлов и папок?
- Как будут называться файлы и папки?
- Как будут устроены файлы и папки?
- Чем обусловлены ваши решения?
1. "A Relational Model of Data for Large Shared Data Banks", 1970 ↩