Эдгар Франк Кодд
Эдгар Франк Кодд (англ. 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 правил, которым должна удовлетворять полноценная реляционная СУБД (РСУБД). Эти правила стали стандартом для оценки СУБД. К основным правилам относятся:
- Информационное правило — вся информация в базе данных должна быть представлена только на логическом уровне как значения в таблицах.
- Правило гарантированного доступа — каждая строка должна быть доступна по комбинации имени таблицы, первичного ключа и имени столбца.
- Правило поддержки отсутствующих значений — СУБД должна поддерживать NULL-значения для неизвестных или неприменимых данных.
- Правило динамического каталога — описание базы данных (метаданные) должно храниться в виде реляционных таблиц.
- Правило подъязыка данных — должен существовать хотя бы один язык для определения данных, манипулирования ими и управления доступом (например, SQL).
- Правило обновления представлений — все представления, теоретически обновляемые, должны быть обновляемы системой.
- Правило высокоуровневых операций — операции вставки, обновления и удаления должны применяться к множеству строк, а не к одной строке.
- Физическая независимость данных — приложения не должны зависеть от способов физического хранения данных.
- Логическая независимость данных — приложения не должны зависеть от изменений в структуре таблиц (например, добавления новых столбцов).
- Независимость целостности — ограничения целостности должны определяться отдельно от приложений.
- Независимость распространения — приложения не должны зависеть от того, где физически расположены данные (на одном сервере или распределены).
- Правило единственности — запрет на подмену реляционных принципов низкоуровневыми манипуляциями.
Клеточные автоматы
Помимо баз данных, Кодд внёс вклад в теорию клеточных автоматов. В 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 →