Открыть сервис

Эдгар Франк Кодд

Эдгар Франк Кодд (англ. Edgar Frank Codd; 19 августа 1923, Портленд, Великобритания — 18 апреля 2003, Уильямс-Айленд, Флорида, США) — британский и американский учёный в области информатики, математик и логик. Наиболее известен как создатель реляционной модели данных, которая стала теоретической основой для большинства современных систем управления базами данных (СУБД). Внёс значительный вклад в теорию многомерных массивов и клеточных автоматов.

Биография

Ранние годы и образование

Эдгар Кодд родился в 1923 году в Портленде, графство Дорсет, Великобритания. В 1942 году поступил в Эксетер-колледж Оксфордского университета для изучения химии. В 1943 году, во время Второй мировой войны, прервал обучение и присоединился к Королевским военно-воздушным силам Великобритании, где служил пилотом бомбардировщика. После войны в 1948 году вернулся в Оксфорд и получил степень бакалавра по математике.

Карьера в IBM

В 1949 году Кодд переехал в США и начал работать в компании IBM (International Business Machines Corporation) в качестве программиста-математика. В 1953 году он возглавил группу, разрабатывавшую первый коммерческий компьютер IBM 701. В 1957 году Кодд был назначен руководителем проекта по созданию многопроцессорной системы, однако проект был закрыт.

В 1960-х годах Кодд, разочаровавшись в существующих подходах к организации данных, начал исследования в области теории баз данных. В 1965 году он получил степень доктора философии (PhD) по информатике в Мичиганском университете, где защитил диссертацию по клеточным автоматам.

Создание реляционной модели

Ключевой период в карьере Кодда пришёлся на 1968–1970 годы, когда он работал в исследовательской лаборатории IBM в Сан-Хосе (Калифорния). В 1970 году он опубликовал свою знаменитую статью «A Relational Model of Data for Large Shared Data Banks» («Реляционная модель данных для больших совместно используемых банков данных»). В этой работе он предложил отказаться от иерархических и сетевых моделей данных в пользу математической теории отношений (реляций), что позволило формализовать операции с данными.

Поздние годы и признание

В 1981 году Кодд получил премию Тьюринга — высшую награду в области информатики. В 1990-х годах он консультировал компании по разработке реляционных СУБД, а также критиковал отступления от реляционных принципов в коммерческих продуктах. Эдгар Кодд скончался 18 апреля 2003 года в своём доме во Флориде от сердечной недостаточности.

Научный вклад

Реляционная модель данных

Основной вклад Кодда — реляционная модель, которая описывает базу данных как набор отношений (таблиц). Каждое отношение имеет уникальное имя и состоит из строк (кортежей) и столбцов (атрибутов). Ключевые принципы модели:

Реляционная модель обеспечила независимость данных от приложений и позволила выполнять запросы с помощью формального языка, что привело к созданию SQL (Structured Query Language).

12 правил Кодда

В 1985 году Кодд сформулировал 12 правил, которым должна удовлетворять полноценная реляционная СУБД (РСУБД). Эти правила стали стандартом для оценки СУБД. К основным правилам относятся:

  1. Информационное правило — вся информация в базе данных должна быть представлена только на логическом уровне как значения в таблицах.
  2. Правило гарантированного доступа — каждая строка должна быть доступна по комбинации имени таблицы, первичного ключа и имени столбца.
  3. Правило поддержки отсутствующих значений — СУБД должна поддерживать NULL-значения для неизвестных или неприменимых данных.
  4. Правило динамического каталога — описание базы данных (метаданные) должно храниться в виде реляционных таблиц.
  5. Правило подъязыка данных — должен существовать хотя бы один язык для определения данных, манипулирования ими и управления доступом (например, SQL).
  6. Правило обновления представлений — все представления, теоретически обновляемые, должны быть обновляемы системой.
  7. Правило высокоуровневых операций — операции вставки, обновления и удаления должны применяться к множеству строк, а не к одной строке.
  8. Физическая независимость данных — приложения не должны зависеть от способов физического хранения данных.
  9. Логическая независимость данных — приложения не должны зависеть от изменений в структуре таблиц (например, добавления новых столбцов).
  10. Независимость целостности — ограничения целостности должны определяться отдельно от приложений.
  11. Независимость распространения — приложения не должны зависеть от того, где физически расположены данные (на одном сервере или распределены).
  12. Правило единственности — запрет на подмену реляционных принципов низкоуровневыми манипуляциями.

Клеточные автоматы

Помимо баз данных, Кодд внёс вклад в теорию клеточных автоматов. В 1968 году он описал клеточный автомат, способный моделировать саморепликацию (самовоспроизведение) — так называемый «автомат Кодда». Эта работа развивала идеи Джона фон Неймана и повлияла на развитие искусственной жизни.

Критика и ограничения

Несмотря на фундаментальное значение реляционной модели, она подвергалась критике за:

  • Сложность нормализации — чрезмерная нормализация может привести к снижению производительности из-за большого количества соединений таблиц.
  • Неэффективность для неструктурированных данныхреляционные базы данных плохо подходят для хранения документов, изображений и других сложных объектов.
  • Ограниченность модели — отсутствие встроенной поддержки иерархий и графов, что привело к появлению NoSQL-систем.

Кодд также критиковал коммерческие СУБД, такие как Oracle и DB2, за отступление от реляционных принципов, например, за поддержку дублирующихся строк или неполную реализацию NULL-значений.

Наследие

Реляционная модель Кодда стала основой для большинства современных СУБД, включая Oracle, MySQL, PostgreSQL, Microsoft SQL Server и SQLite. Его работы по теории баз данных и клеточным автоматам продолжают изучаться в университетах. В честь Кодда названа премия Эдгара Кодда, присуждаемая за выдающиеся достижения в области баз данных.

Источники

  • Codd, E. F. (1970). «A Relational Model of Data for Large Shared Data Banks». Communications of the ACM, 13(6), 377–387.
  • Codd, E. F. (1990). The Relational Model for Database Management: Version 2. Addison-Wesley.
  • Date, C. J. (2003). An Introduction to Database Systems (8th ed.). Addison-Wesley.
  • ACM Turing Award: Edgar F. Codd — 1981. Association for Computing Machinery.
  • Некролог в The New York Times (2003). «Edgar F. Codd, 79, Who Pioneered the Relational Database, Dies».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →