Edgar Codd, İlişkisel Veri Tabanı Modelini bulan İngiliz bilgisayar bilimcisidir. Bilişim dünyasına önemli katkılardan birini yapan Edgar Frank Ted Codd, 23 Ağustos 1923’te İngiltere’deki Portland Adası’nda dünyaya geldi. Babası deri imalatçısı, annesi ise öğretmendi. Bu ailenin yedi çocuğunun en küçüğüydü. Oxford’daki Exeter College’de matematik ve kimya bölümlerinde dereceler yaptı. Daha sonra patlak veren 2. Dünya Savaşı’nda ülkesine pilot olarak hizmet etti.
Edgar Codd, günümüzde hemen her yerde kullanılan RDBMS’nin temeli, son derece etkili bir genel veri yönetimi teorisi olan İlişkisel Veri Tabanları Modeli’nin (RDBMS) yaratıcısıdır.
Codd, bilişim dünyasına yalnızca veri tabanı katkısında bulunmadı; daha birçok önemli teoriler ve yenilikler ekledi. Ancak evrensel veri yönetimi teorisi olan ilişkisel model, Codd’un en önemli başarısı olarak kabul edildi. Edgar, 1960’lı yılların başından 1970’li yılların sonuna kadar veri düzenleme teorileri üzerinde çalıştı ve hemen hepsini başarılı bir şekilde geliştirdi.
İçindekiler
On Line Transactional Processing (OLTP) Sistemi Üzerine Çalışmalar
Codd, 1957’de International Business Machines yani kısaca IBM’de “prosedür odaklı diller” olarak adlandırılan teklifler sundu. Hazırlanan belge, PL/I’de yazılmış bir programın ana hatlarını içeriyordu. İş problemlerini ortadan kaldırmak için nasıl kullanılması gerektiğini açıklayan birkaç örnekle birlikte sunuldu. Bunlar bordro bilgi sistemleri veya envanter kontrol yazılımı gibi şeylerdi.
Bu araştırma “PL/I’nin İş Odaklı Bir Alt Dili” başlığı altında yayınlandı. Bu erken geliştirme çalışması, Edgar Codd’un San Jose, Kaliforniya’daki bir IBM şubesinde çalışırken başlattığı “İş Veri İşleme Sistemleri” (BDP) projesine yol açtı.
PL/I kısaca programlama dili demektir. Mühendislik, bilimsel ya da bilimsel olmayan, sistem programlama ve iş uygulamaları için tasarlanmıştır. Hem prosedür olarak hem de zorunlu olan bir programlama dilidir. 1960’lardaki tanıtımından itibaren birçok sektörde yer aldı. Programlama dili, hâlâ aktif olarak kullanılıyor.
1961 yılının Nisan ayında Edgar Codd ve mühendis ekibi, ilişkisel modelin ilk tam ticari uygulaması olarak kabul edilen modeli tamamladı. Bu model dört ana bileşenin tümünü; İlişkisel Veri Alt Dili (RDSL), manipülatör alt programları, terminal kullanıcı arayüzü, arayüz dili, ilişkisel cebir içeriyordu.
Bu çalışma, Mayıs 1962’de IBM tarafından San Jose Araştırma Laboratuvarı’ndan RM3420 -“RDBMS” olarak yayınlandı. Ancak IBM, mevcut veri sistemleriyle rekabet etmesini istemediği için hemen pazarlama yoluna gitmedi.
On Line Transactional Processing (OLTP) Nedir?
OLTP kavramı, İlişkisel Veri Tabanı Sistemlerinde kullanılan bir kavramdır. Bu sistemler bazı organizasyonlarda kullanılmaktadırlar. Bu organizasyonlara veri girişi, güncelleme, veri silme işlemlerini örnek verebiliriz.
Bunun yanı sıra günümüzde de günlük işlerde kullanılan çoğu veri tabanı ve veri tabanına bağlı olan programlar, OLTP gibi işlem gören veri tabanlarıdır. Bu, karmaşık ve büyük veriler için değildir. Büyük ve karmaşık veriler için OLAP tipi sistemler kullanılmaktadır. OLTP’de tablolar arasında ilişkiler vardır.
International Business Machines (IBM) Nedir, Ne Yapar?
IBM, “International Business Machines – Uluslararası İş Makineleri”, merkezi New York, Amerika Birleşik Devletleri olan, dünyanın en büyük bilişim teknolojisi şirketidir. Computing Scale Corporation ve International Time Recording Company ile Charles R. Flint tarafından yönetilen birleşmeyle 15 Haziran 1911’de kuruldu.
Bu birleşmeyle kurulan şirketin adı “Computİng Tabulating Recording Corporation” (CTR)’dı. Fakat 1924’te bu isimi değiştirerek “International Business Machines Corporation” ismini koydular.
Charles R. Flint, IBM’in öncüsü olarak tanınıyor. Bir işadamı ve finansör olan Flint, 1907’de üç şirketin müdürlerini bir araya getirdi. Ve bugünkü IBM’i kurdu. Böylece taraflar arasındaki görüşmeler ve ayrıntılı planlama, Computing Tabulating Recording Corporation’nin (CTR) üç ayrı firmayı kontrol eden bir holding şirketi olarak kurulduğu Haziran 1911’e kadar devam etti. Aynı ay içinde şirket kuruldu. Flint, 1930’da emekli olana kadar bu şirketin yönetim kurulu üyesi olarak kaldı.
IBM, dünyanın hemen her yerine hizmet vermekte, faaliyet göstermektedir. Bununla birlikte hizmetlerinin başında bilgisayar ve donanım üretimi, yazılım, sunucu, servis hizmetleri ve AR-GE vardır. Dünyada her yıl kendini durmadan geliştiren, en fazla yeni patent alan şirkettir. Yüz yıllık tarihini de aşan şirket, devrim niteliği taşıyan birçok önemli buluşun sahibidir.
Codd’un En Büyük Buluşu: İlişkisel Veri Tabanı Yönetim Sistemi (RDBMS)
Elmer olarak adlandırılan (kod adı) RDBMS, IBM’in bilgi yönetim sisteminin öncüsü olarak kabul ediliyor ve Codd’un yazdıklarına dayanıyor. Böylece yeni tasarım, gelecekteki veri tabanı sistemlerine yapılması gereken bazı önemli özellik ortaya çıkardı. Bunlar arasında iki seviyeli depolama sistemi, sorgu işleme yönetimi ve otomatik olarak dizin oluşturma mekanizması vardır.
RDBMS’in bu kadar özel olmasını -ya da başarılı olmasını- sağlayan şey tasarımıydı. Sorgu optimizasyonu için uygun bir algoritmayı seçmeyi de içeren bir sistemdi. Ayrıca ihtiyaç duyulduğu zaman kayıtların sadece bir kısmının diskten alınması için hiyerarşik bir indekslemesi vardı.
Edgar Codd, iki bilgisayar bilimcisi arkadaşıyla birlikte birinci nesil ilişkisel sistemlerin sınırlamalarının üstesinden gelmek için çalışmalar yaptı. Bunun için “İkinci Nesil İlişkisel Sistemler” şeklinde tüm kavramları özetleyen bir makale yayımladı.
1962’nin sonuna doğru Codd, Maryland’deki bir IBM şubesine geçti. Burada RM/360 adında bir çeşit ağ DBMS’i için fikirlerini kesinleştirdi. Yine burada RDSL dil uygulamasının gelişimini başlattı. Bu çalışmayla veri tabanı bilgilerini almak için hangi işlemlerin gerekli olduğunu çözdü.
1963’te Codd ve bilgisayar bilimcisi bir diğer arkadaşı, örnek sistemle verimli bir sorgulamayı yapmak için teorik çalışmaların ana hatlarını içeren bir makale daha yazdı. Ayrıca bu makale, delta anahtarının kullanımını (farklı sütunları temsil eden), yani kullanıcı kimlik numaraları gibi belirli anahtar değerine bağlı sütunları da tanıtmış oldu.
Yeni Sistemler
IBM, 1970’lerde, sistemlerin birbirlerine nasıl bağlanabileceği hakkında araştırmalara başladı. Veri tabanlarının Uzaktan Biriktirme Planı (RSP) ile bu ağlar arasında nasıl paylaşacağını araştırdı. Böylece IBM/360’ın -Mainframe Network Architecture System (SNA)- geliştirilmesine neden oldu.
1970’lerin sonlarına doğru ise, IBM tarafından kontrol edilmeyen bilgisayarlara ilgi çok büyüktü. Bu ilgi odağı bilgisayarlar, alternatif işletim sistemlerini çalıştırmak için kullanılıyordu. Bu da yeni bir şeyin gelişmesine neden oldu: Açık Veri Tabanı Bağlantısı (ODBC). ODBC, ilişkisel veri tabanlarına bağlanan uygulama programları için SQL sürücü arabirimi kullanıyordu.
Edgar Codd, 1970’lerin sonlarına doğru, birçok bilgisayar satıcısının kendi SQL sürümlerini uyguladığı zamanda, “Sürüm 3” ya da “SQL-3” şeklinde bilinen sistemler üzerinde çalışmaya başladı. (SQL, ilişkisel veri tabanları sisteminin sağlıklı işlemesi için ilişkisel cebir kullanılarak yapılan bir programlama dilidir. Günümüzde de kullanılan SEQUEL -yani SQL-, bu dönemde gelişmiştir.) Edgar Codd, yine bu dönemde, gelecekteki veri tabanları uygulamalarının nasıl gelişebileceğine ilişkin tüm fikirlerini de bir makalede topladı.
1981 yılında IBM, ilk ilişkisel veri tabanı ürünü olan (Structured Query Language/Data System) SQL/DS’yi piyasaya sürdü. Bu, ilk ticari ilişkisel veri tabanı yönetim sistemi oldu. 1983’te, “DB2” başlangıçta anabilgisayar makineleri için geliştirdi.
IBM’in DB2 veri tabanları, IBM’in en başarılı yazılım ürünlerinden biri oldu. Bunu satış rekorlarıyla kanıtladıktan sonra, IBM’in anabilgisayar ve ara katman yazılımı sunucularının işletim sistemlerine dahil oldu.
Edgar Codd’un Ünlü 12 Kuralı
IBM, Codd’un ilişkisel modelini geliştirmeyi ve onu genişletmeyi sürdürdü. İlişkisel model, 1980’lerde popüler olmaya başladı. Codd, sisteminin eski teknolojiye sadece bazı yeni kaplamalarla veri tabanı satıcıları -ya da hırsızları- tarafından kötüye kullanılmasını önlemek amacıyla bir kampanya yürüttü. Bu sert kampanyanın bir parçası olarak da ünlü 12 kuralını yayımladı.
12 Kural:
- Kural “Bilgi Kuralı”: Burada bazı tablo hücrelerinin bir değeri olması gerektiği ve veri tabanındaki her şey bir tablo formatında saklanmalıdır şeklindeydi.
- Kural “Garantili Erişim Kuralı”: Her bir veri elemanının kombinasyonlarla mantıksal olarak erişilebilir olması garanti olmalı. Verilere ulaşmak için başka hiçbir yöntem kullanılmamalı.
- Kural “Etkin Çevrimiçi Katalog”: Tüm veri tabanının yapı açıklaması çevrimiçi bir katalogda saklanmalıdır. Kullanıcı, veri tabanına erişmek için kullandığı aynı sorgu dilini katalog için de kullanabilir.
- Kural “Kapsamlı Veri Alt Dili”: Bir veri tabanına doğrusal sözdizimine sahip bir dil kullanılarak erişilebilir.
- Kural “Boş Değerlerin Sistematik Değerlendirilmesi”: Veri tabanındaki bazı değerlere (NULL) sistematik ve tek bir muamele olmalıdır. Bu, en önemli kurallardan biridir. Çünkü veri eksik, bilinmeyen veri ya da veriler geçerli değil şeklinde yorumlanabilir.
- Kural “Güncelleme Kuralı”: Veri tabanının güncellenebilen tüm görünümleri, aynı zamanda sistem tarafından da güncellenebilir olmalıdır.
- Kural “Yüksek Düzeyli Ekleme, Güncelleme ve Silme”: Bir veri tabanı üst düzey ekleme, güncelleme ve silme işlemini yapmalıdır.
- “Fiziksel Veri Bağımsızlığı” Kuralı: Bir veri tabanında depolanan veriler, veri tabanına erişen uygulamalardan bağımsız olmalıdır. Veri tabanının fiziksel yapısındaki bir değişikliğin, verilere harici uygulamalarla nasıl erişildiğini etkilememeli.
- Kural “Mantıksal Veri Bağımsızlığı”: Bir veri tabanındaki mantıksal veriler, kullanıcının uygulamasından tamamen bağımsız olmalıdır. Mantıksal verilerdeki en ufak bir değişiklik, onu kullanan uygulamaları etkilememelidir.
- Kural “Bütünlük”: Bir veri tabanı, onu kullanan uygulamadan her zaman bağımsızdır. Bağımsız olmalıdır. Tüm bütünlük kısıtlamaları, uygulamada bir değişikliğe neden olamadan değiştirilebilir.
- Kural “Dağıtım Bağımsızlığı”: Son kullanıcı, verilerin hangi konumlara dağıtıldığını asla göremez. Böylelikle kullanıcı sadece verilerin bir sitede olduğu izleniminde olur. Bu kural, dağınık veri tabanı sistemlerinin temelidir.
- Kural ise “Yıkmama Kuralı”: Sistemin eğer düşük düzeyli kayıtlara erişimi için bir arabirimi mevcut ise bu, arabirim sistemini bozmamalıdır. Güvenlik ve bütünlük kuralları yıkılamaz.
Edgar Codd Ödülleri ve Ölümü
Edgar Codd, 1981’de veri tabanı yönetimi için ilişkisel modele yaptığı katkılarından dolayı Turing Ödülü’nü aldı. Modern bilgisayarın kurucularından sayılan Alan Turing anısına verilen bu ödül, oldukça değerlidir. 1990 yılında ise Codd’u, IBM’den üstün teknik başarılarından dolayı Altın Yıldönümü Ödülü’ne değer buldular.
Codd, 1984’te henüz 61 yaşında, düşerek kaza geçirdi ve ciddi bir şekilde yara aldı. Böylece çalışamayacağını anlayarak IBM’den emekli olmak zorunda kaldı. Codd, California, Oceanside’daki evinde 18 Nisan 2003’te hayatını kaybetti. Codd’un ölüm sebebi kanserdi.
İlişkisel model olarak bilinen bilişim dünyasına yaptığı bu katkı, Edgar Codd’u çeşitli yerler ve endüstrilerdeki veri işleme sistemlerinin temeline oturttu. Ayrıca Codd, IBM çalışanı olarak, bu kurumdan ayrıldığında bile, tüm fikirleri ve çalışmaları hakkında yazılar yazdı. Bilgisayar bilimi alanlarında dersler verdi.
Halka açık tartışmalara katılarak binlerce insanı bilişimin gelişmeleriyle ilgili bilgi sahibi yaptı. Hayatı boyunca gençleri bilgisayar alanına dahil olmaya teşvik etmek için sorumlu hissetti. Bunun için de sık sık gençlerle bir araya geldi. Onlara elinden geldiğince destek olmayı ihmal etmedi.
Edgar Frank Codd’un teorileri, bilgisayar tarihinin büyük bölümünde veri tabanları sistemlerinin temelini oluşturdu.