Edgar Frank Codd

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania
Edgar Frank Codd
Data i miejsce urodzenia 23 sierpnia 1923
Isle of Portland
Data i miejsce śmierci 18 kwietnia 2003
Williams Island, Aventura

Edgar Frank „Ted” Codd (ur. 23 sierpnia 1923 w Isle of Portland, zm. 18 kwietnia 2003 w Williams Island, Aventura) – brytyjski informatyk, znany przede wszystkim ze swojego wkładu dla rozwoju teorii relacyjnych baz danych.

Życiorys[edytuj | edytuj kod]

Lata młodzieńcze i rodzina[edytuj | edytuj kod]

Najmłodszy z siedmiorga dzieci. Urodził się w 1923 r. na Isle of Portland w hrabstwie Dorset na południowym wybrzeżu Anglii. Jego ojciec był producentem skóry, a matka nauczycielką. W latach trzydziestych uczęszczał do Poole Grammar School w Dorset. Otrzymał pełne stypendium na Oxford University, gdzie początkowo czytał chemię. W 1942 roku - pomimo faktu, że był uprawniony do odroczenia z powodu studiów - zgłosił się na ochotnika do czynnej służby i został porucznikiem lotniczym w Królewskim Dowództwie Sił Powietrznych. Po wojnie wrócił do Oksfordu, aby ukończyć studia. Zmienił wtedy kierunek na matematykę i uzyskał stopień naukowy w 1948 roku.

Kariera w Ameryce Północnej[edytuj | edytuj kod]

W 1948 roku przeniósł się do Nowego Jorku, gdzie podjął pracę dla IBM, jako programista. Na uniwersytecie stanu Michigan w Ann Arbor zdobył stopień naukowy doktora z dziedziny nauk komputerowych, a następnie zamieszkał w San Jose (Kalifornia), gdzie podjął pracę dla IBM.

Kariera obliczeniowa Codda rozpoczęła się w 1949 roku, kiedy to dołączył do IBM w Nowym Jorku jako matematyk programistyczny, rozwijając programy do Elektronicznego Kalkulatora Selektywnej Sekwencji (pierwszy na świecie elektroniczny lub przynajmniej elektromechaniczny komputer firmy IBM, wielka i głośna maszyna do produkcji lamp próżniowych). Przez krótki czas mieszkał także w Waszyngtonie, gdzie pracował nad programem IBM Card Carded Electronic Calculator. We wczesnych latach pięćdziesiątych zaangażował się w projektowanie i rozwój komputera IBM 701. (701, pierwotnie znany jako Kalkulator Obrony, był pierwszym komercyjnie dostępnym komputerem IBM do przetwarzania naukowego, ogłoszono go w 1952 r. I oficjalnie odsłonięto w 1953 r.)

W 1953 roku Codd opuścił Stany Zjednoczone (i IBM) w proteście przeciwko polowaniu na czarownice senatora Josepha McCarthy'ego i przeprowadził się do Ottawy w Kanadzie, gdzie prowadził dział przetwarzania danych dla Computing Devices of Canada Limited (który był zaangażowany w rozwój Kanadyjski program rakietowy). Powrócił do Ameryki 10 lat później. Przypadkowe spotkanie ze swoim starym menedżerem IBM doprowadziło do jego powrotu do USA w 1957 roku, kiedy dołączył do IBM. Obecnie pracował w Poughkeepsie w Nowym Jorku, pracował nad projektem STRETCH (tj. IBM 7030, który następnie doprowadził do technologii mainframe IBM 7090); w szczególności kierował zespołem, który opracował pierwszy na świecie system multiprogramowania. ("Multiprogramming" odnosi się do zdolności programów, które zostały opracowane niezależnie od siebie, aby wykonywać równocześnie.) Podstawową ideą jest to, że podczas gdy jeden program czeka na wystąpienie jakiegoś zdarzenia, takie jak zakończenie operacji odczytu lub zapisu, inny program może mieć możliwość korzystania z centralnej jednostki przetwarzania komputera. Multiprogramowanie jest obecnie standardem w zasadniczo wszystkich systemach komputerowych, z wyjątkiem najmniejszych komputerów osobistych.) W 1961 roku, na stypendium IBM, przeniósł się do Ann Arbor w stanie Michigan, gdzie uczęszczał na University of Michigan i uzyskał tytuł magistra inżyniera. i doktorat w naukach komunikacyjnych (1965). Jego praca - opublikowana przez Academic Press w 1968 r. Pod tytułem gdzie uczęszczał na University of Michigan i uzyskał tytuł magistra inżyniera i doktorat w naukach komunikacyjnych (1965). Jego praca - opublikowana przez Academic Press w 1968 r. Pod tytułem gdzie uczęszczał na University of Michigan i uzyskał tytuł magistra inżyniera i doktorat w naukach komunikacyjnych (1965). Jego praca - opublikowana przez Academic Press w 1968 r. Pod tytułemAutomaty komórkowe - stanowią kontynuację i uproszczenie prac von Neumanna nad automatami samopowtarzalnymi; w tym Codd pokazał, że 29 stanów wymaganych przez program von Neumanna można zredukować do zaledwie ośmiu.

W latach 60. i 70. pracował nad zagadnieniami porządkowania danych – w 1970 roku wydał fundamentalną pracę A Relational Model of Data for Large Shared Data Banks, w której przedstawił relacyjny model zarządzania bazami danych. Ku jego rozczarowaniu IBM zwlekał z praktycznym zastosowaniem zaprezentowanych rozwiązań aż do chwili, gdy konkurencyjne firmy zaczęły implementować ten model – przykładem była baza danych Oracle, opracowana przez Larry’ego Ellisona na bazie idei Codda.

Model relacyjny jest powszechnie uznawany za jedno z największych osiągnięć technicznych XX wieku. Zrewolucjonizował sposób postrzegania baz danych; w istocie przekształciło ono całe pole bazy danych - które wcześniej stanowiło niewiele więcej niż zbiór produktów, propozycji i technik ad hoc - w szanowaną dyscyplinę naukową (i akademicką). Dokładniej mówiąc, dostarczyła ona teoretycznych ram, w których różne ważne problemy z bazami danych mogłyby zostać zaatakowane w sposób naukowy. W związku z tym nie jest przesadą stwierdzenie, że zasadniczo wszystkie bazy danych używane lub rozwijane obecnie są oparte na pomysłach Codda. Ilekroć ktoś korzysta z bankomatu, kupuje bilet lotniczy lub korzysta z karty kredytowej, faktycznie polega na inwencji Codd'a.

Codd opisał dalej swój model i zbadał jego implikacje w serii prac badawczych, oszałamiających ich oryginalnością, które opublikował w ciągu kilku następnych lat (patrz bibliografia z adnotacjami). Przez cały ten czas był pomocny i wspierał wszystkich, którzy się do niego zwracali - w tym autora tych notatek - z poważnym zainteresowaniem, aby dowiedzieć się więcej lub z myślą o pomocy w rozpowszechnianiu, a może i rozwijaniu swoich pomysłów. Jednocześnie był niezłomny i nieustępliwy w obronie tych samych idei przed negatywną krytyką. Nawiasem mówiąc, należy zauważyć, że model relacyjny był de facto pierwszym abstrakcyjnym modelem bazy danych, który należy zdefiniować. Dlatego Codd nie tylko wynalazł model relacyjny, ale tak naprawdę wymyślił koncepcję modelu danych w ogóle.

Na początku 1979 r. na konferencji Australian Computer Societyw miejscowości Hobert w Tasmanii Codd przedstawił pracę pod tytułem „Extending the relational database model to capture more meaning”. Praca ta została później opublikowana w czasopismie ACM Database Transactions[1]. Rozszerzoną wersję relacyjnego modelu danych, którą sformułował w swojej pracy, Codd nazwał RM/T (T od Tasmania)[2].

Codd ukuł także termin OLAP i sformułował dwanaście praw techniki online analytical processing. Wniósł również wkład w dziedzinie automatów komórkowych.

W 1981 roku Codd został uhonorowany Nagrodą Turinga[3].

W ciągu następnych kilku lat Codd zauważył, że branża relacyjnych baz danych rozwija się i rozwija, do tego stopnia, że ​​była i nadal jest warta dziesiątki miliardów dolarów rocznie (chociaż sam nigdy nie korzystał bezpośrednio z tego ogromnego wzrostu finansowego) . Przez cały ten okres, a nawet przez resztę życia zawodowego, pracował niestrudzenie, aby zachęcać sprzedawców do opracowywania w pełni relacyjnych produktów i edukowania użytkowników, sprzedawców i organizacji normalizacyjnych w zakresie usług, które zapewniałby taki produkt i dlaczego użytkownicy potrzebują takich usług. Był także zainteresowany rozszerzeniem swoich pomysłów na relacje w celu złożonej analizy danych, tworząc termin OLAP (On-Line Analytical Processing) jako wygodną etykietę dla takich działań. W chwili jego śmierci

Śmierć[edytuj | edytuj kod]

Edgar Frank Codd zmarł 18 kwietnia 2003 roku na Williams Island na Florydzie. Został przeżyty przez swoją żonę Sharon; jego pierwszą żonę Libby; córke Katherine; trzech synów, Ronalda, Franka i Davida; i kilku wnuków.

Postulaty Codd'a dotyczące relacyjnych baz danych[edytuj | edytuj kod]

Dwanaście postulatów Codda - jest to zestaw 13 numerowanych zasad od 0 do 12 stworzonych przez Edgara F. Codd pioniera relacyjnych baz danych[4]. Każda relacyjna baza danych musi je spełni

  1. System musi być kwalifikowany jako relacyjny, jako baza danych i jako system zarządzania
  2. Postulat informacyjny - dane są reprezentowane jedynie przez wartości atrybutów w wierszach tabel (w krotkach)
  3. Postulat dostępu - każda wartość w bazie danych jest dostępna poprzez podanie nazwy tabeli, atrybutu i wartości klucza podstawowego (głównego)
  4. Postulat dotyczący wartości NULL - dostępna jest specjalna wartość NULL dla reprezentacji zarówno wartości nieokreślonej, jak i nieadekwatnej, inna od wszystkich i podlegająca przetwarzaniu
  5. Postulat dotyczący katalogu - wymaga się, aby system obsługiwał wbudowany katalog relacyjny z bieżącym dostępem dla uprawnionych użytkowników używających języka zapytań
  6. Postulat języka danych - system musi dostarczać pełny język przetwarzania danych, który może być używany zarówno w trybie interaktywnym, jak i w obrębie programów, obsługuje operacje definiowania danych, operacje manipulowania danymi, ograniczenia związane z bezpieczeństwem i integralnością oraz operacje zarządzania transakcji
  7. Postulat modyfikowalności perspektyw - system musi umożliwiać modyfikowanie perspektyw, o ile jest ono semantycznie realizowalne.
  8. Postulat modyfikowalności danych - system musi umożliwiać operacje modyfikacji danych, musi obsługiwać operacje INSERT, UPDATE oraz DELETE
  9. Postulat fizycznej niezależności danych - zmiany fizycznej reprezentacji danych i organizacji dostępu nie wpływają na aplikacje
  10. Postulat logicznej niezależności danych - zmiany wartości w tabelach nie wpływają na aplikacje
  11. Postulat niezależności więzów spójności - więzy spójności są definiowane w bazie i nie zależą od aplikacji
  12. Postulat niezależności dystrybucyjnej - działanie aplikacji nie zależy od modyfikacji  i dystrybucji bazy
  13. Postulat bezpieczeństwa względem operacji niskiego poziomu - operacje niskiego poziomu nie mogą naruszać modelu relacyjnego i więzów spójności

Nagrody[5][edytuj | edytuj kod]

  • British Computer Society, 1974
  • IBM, 1976
  • ACM, 1981
  • National Academy of Engineering, 1983
  • American Academy of Arts and Sciences, 1994

Publikacje[edytuj | edytuj kod]

  • Codd, E. F. (1968). Cellular Automata. Academic Press, Inc[6].
  • Codd, E. F. (1970). „Relational Completeness of Data Base Sublanguages”. Database Systems: 65–98[7]
  • Codd, E. F. (9 November 1981). „1981 Turing Award Lecture – Relational Database: A Practical Foundation for Productivity”
  • Codd, E. F. (1990). The Relational Model for Database Management (Version 2 ed.). Addison Wesley Publishing Company
  • Codd, E. F.; Codd, S. B.; Salley, C. T. (1993).

Przypisy[edytuj | edytuj kod]

  1. Extending the database relational model to capture more meaning, „ACM Transactions on Database Systems (TODS)”, 4 (4), Nowy Jork: ACM, 1979, ISSN 0362-5915 [dostęp 2018-07-25] (ang.).
  2. Paul Beynon-Davies, Systemy baz danych, 1998.
  3. C. J. Date: Edgar F. Codd – A.M. Turing Award Winner (ang.). amturing.acm.org. [dostęp 2015-08-22].
  4. Codd's 12 Rules for Relational Database Management, OLAP.com [dostęp 2018-12-11] (ang.).
  5. Computer Pioneers - Edgar Frank Codd, history.computer.org [dostęp 2018-11-28].
  6. E.F. Codd, Cellular automata, ACM monograph series, New York: Academic Press, 1968 [dostęp 2018-11-22].
  7. E.F. Codd, Relational completeness of data base sublanguages, „DATABASE SYSTEMS”, 1972, s. 65–98 [dostęp 2018-11-22].