EDIT Я только что начал снимать знаменитую бумагу 1970 года в Codd, которая начала все это, о том, что Oracle основывалась на (Реляционная модель данных для больших общих данных Банки [pdf]), и был поражен, обнаружив, что, похоже, он ответит на этот вопрос. Он говорит о базах данных на рынке в то время ( "иерархический" и "сетевой" - например, NoSQL?), Необходимость независимости от внутреннего представления и четкое объяснение того, как применять математические "отношения" к базе данных.
Исторически, какая особенность реляционных баз данных давала то преимущество, которое заставляло предприятия принимать его, делая его массово успешным?
Сегодня существует много причин использовать RDB: он стандартный, продукты зрелые, отлаженные, полнофункциональные, есть выбор поставщиков, там поддержка, там обученная рабочая сила и так далее. Но почему это стало настолько популярным?
Я слышал, что " иерархические базы данных" были популярны до реляционных баз данных - они звучат как хранилище значений ключей, где значение может быть другим набором значений ключа. Если это так, это похоже на объектно-ориентированные базы данных, которые были опубликованы десятилетие или два назад; а также к базам данных XML/документа и NoSQL.
Возможно транзакции ACID (атомарность и т.д.)? Но это не похоже на RDB.
Возможно, потому, что реляционные базы данных позволили вам определить схему данных, которая была исключительно о данных, независимо от конкретного языка программирования, версии приложения (эволюции) или цели приложения (это делает "несоответствие импеданса" неизбежным). Но любая база данных с схемой данных имеет эту функцию.
Может быть, потому, что реляционная модель математически звучит? Но это не похоже на то, что это убедит менеджеров принять его - и что будет выгодным для бизнеса.
Может быть, потому, что математическая модель дает вам способ переупорядочить базу данных в разные нормальные формы, чтобы дать разные характеристики производительности, которые математически гарантированно не изменят смысл данных? Это кажется правдоподобным, и мои учебники по Uni делают это очень много, но для меня это не очень привлекательно, как практическое деловое преимущество (может быть, я чего-то не хватает)?
Резюмируем: исторически, что заставило реляционную модель так решительно победить над иерархической моделью? Меня также интересует, обладает ли RDB каким-то особым качеством, которое активно делает их более практичным выбором для бизнеса (кроме преимуществ того, чтобы быть стандартом, упомянутым выше).
Большое спасибо, если вы можете пролить некоторый свет - мне давно это интересно.