Bu maddedeki bilgilerin için ek kaynaklar gerekli.Mayıs 2020) () ( |
İlişkisel veritabanı, 1970 yılında Edgar Frank Codd tarafından önerildiği gibi, organizasyonu ilişkisel veri modeline dayanan bir dijital veritabanıdır. İlişkisel veritabanlarını korumak için kullanılan çeşitli yazılım sistemleri bir ilişkisel veritabanı yönetim sistemi (RDBMS) olarak bilinir. Neredeyse tüm ilişkisel veritabanı sistemleri, sorgulama ve veritabanının bakımı için dil olarak SQL(Structured Query Language) kullanmaktadırlar.
İlişkisel model
Bu model, verileri her bir satırı tanımlayan benzersiz bir anahtarla sütunların ve satırların bir veya daha fazla tabloya (veya ilişkilere) düzenler. Satırlara kayıt veya "tuple" denir. Genellikle, her tablo / ilişki bir varlık türünü (müşteri veya ürün gibi) temsil eder. Satırlar, o varlık türünün örneklerini ("Berk" veya "sandalye" gibi) ve bu örneğe atfedilen değerleri (adres veya fiyat gibi) temsil eden sütunları temsil eder.
Anahtarlar
Bir tablodaki her satırın kendine has ve benzersiz anahtarı vardır. Bir tablodaki satırlar, bağlantılı satırın benzersiz anahtarı için bir sütun ekleyerek diğer tablolardaki satırlara bağlanabilir (bu sütunlar yabancı anahtarlar olarak bilinir). isteğe bağlı olarak karmaşıklığın veri ilişkilerinin basit bir kavramlar dizisi ile temsil edilebileceğini gösterdi.
Bu işlemin bir kısmı, bir tablodaki bir ve yalnızca bir satırı sürekli olarak seçebilmeyi veya değiştirmeyi içermektedir. Bu nedenle, çoğu fiziksel uygulamanın her tablo için benzersiz bir birincil anahtarı vardır. Tabloda yeni bir satır yazıldığında, birincil anahtarda (PK) yeni benzersiz bir değer oluşturulur.Sistemin öncelikli erişmek için kullandığı anahtar budur. Sistem performansı PK'ler için optimize edilmiştir.Buna ek olarak alternatif anahtarlar (AK) tanımlanabilir. Genellikle bir AK oluşturmak için birkaç sütun gerekebilir. PK'ler ve AK'ler, bir tablodaki bir satırı benzersiz şekilde tanımlama yeteneğine sahiptir. Dünyada benzersiz bir kimliği, küresel olarak benzersiz bir tanımlayıcı olan global güvenlik sağlayacak ek teknoloji uygulanabilir.Ancak bunlar daha geniş sistem gereksinimleri karşılandığında kullanılabilecektir.
Bir veritabanı içindeki birincil anahtarlar tablolar arasındaki ilişkileri tanımlamak için kullanılır. Bir PK başka bir tabloya taşındığında, diğer tabloda bir yabancı anahtar haline gelir. Her hücre yalnızca bir değer içerebilir ve PK, normal varlık tablosuna taşınırken, bu tasarım deseni bire-bir veya birden-çoğa ilişkiyi temsil edebilir. Çoğu ilişkisel veritabanı tasarımı, diğer varlık tablolarından gelen PK'leri içeren ek bir tablo oluşturarak çoktan çoklu ilişkiler kurar ve ilişki bir varlık haline gelir.Çözümleme tablosu daha sonra uygun şekilde adlandırılır.Ve sonuç olarak iki FK ve bir PK oluşturmak üzere birleştirilir.
İlişkiler
İlişkiler, farklı tablolar arasında mantıksal bir bağlantıdır. Bu alan tablolar arasındaki etkileşime dair bir ilişki kurulmasını ve düzenlenmesini kapsamaktadır.
İşlemler
Veritabanı yönetim sisteminin (DBMS) etkin ve doğru bir şekilde çalışması için ACID işlemlerine(Atomik yapı, tutarlılık, izolasyon, dayanıklılık) sahip olması gerekir.
Saklı prosedürler
RDBMS içindeki programlama işlemlerinin çoğu saklı yordamlar(SP) kullanılarak gerçekleştirilir. Genellikle, bir sistemin içinde ve dışında aktarılan bilginin miktarını büyük ölçüde azaltmak için prosedürler kullanılabilir. Güvenliğin artması için, sistem tasarımı yalnızca tablolara değil saklı yordamlara da erişim düzenlemesi sağlayabilir. Temel saklı yordamlar, yeni veri eklemek ve mevcut verileri güncellemek için gerekli mantığı ve algoritmaları içerir. Verilerin işlenmesi veya seçilmesi ile ilgili ek kural ve mantıkların uygulanması için daha karmaşık prosedürler yazılabilir.
Terminoloji
İlişkisel veri tabanı ilk olarak Haziran 1970'te IBM'in San Jose Araştırma Laboratuvarının Edgar Codd tarafından tanımlandı.Codd'un RDBMS olarak nitelendirdiği şeyleri Codd'un 12 kuralında özetlemektedir.Böylelikle ilişkisel veritabanı en yaygın veritabanı türü haline geldi. İlişkisel modelin yanı sıra diğer modeller arasında ve ağ modeli bulunur.
Aşağıdaki tablo, bazı önemli ilişkisel veritabanı terimlerini ve karşılık gelen SQL terimlerini özetlemektedir:
SQL terimi | İlişkisel veritabanı terimi | Açıklaması |
---|---|---|
Satır | Veri seti veya kayıt | Bir veri setini temsil etmektedir ve tekil nesne olarak kabul edilir. |
Sütun | Özellik veya alan | Veri setlerini içeren belirli bir etikettir.Örneğin: "adresler" veya "doğum tarihleri" gibi. |
Tablo | Varlıklar arasındaki temel ilişki | Aynı öz nitelikleri paylaşan bir takım kümedir.Bir dizi satır ve sütundan oluşur. |
Çıktı veya sonuç kümesi | Türetilmiş ya da kısıtlanmış biçimde veriler | Bir sorguya yanıt olarak elde edilmiş veri seti veya sorgudan gelen bir veri raporudur. |
İlişkiler veya tablolar
Bir ilişki, aynı özniteliklere sahip bir dizi kayıt(tuple) olarak tanımlanır. Bir grup genellikle bir nesneyi ve o nesne hakkındaki bilgileri temsil eder. Nesneler genellikle fiziksel nesneler veya kavramlardır. Bir ilişki genellikle satırlar ve sütunlar şeklinde düzenlenmiş bir tablo olarak tanımlanır. Bir öz nitelik tarafından başvurulan tüm veriler aynı etki alanındadır ve aynı kısıtlamalara uygundur.
İlişkisel model, bir ilişkiye ait verilerin özel bir düzene sahip olup olmadığını ve verilerin nitelikler üzerinde herhangi bir emir verip vermediklerini belirtir.Uygulamalar aracılığıyla sorgular belirtilerek verilere erişme, seçme, nitelikleri tanımlama, proje ve ilişkileri birleştirmek ve katılma gibi işlemler gerçekleştirilebilir.İlişkiler, "insert", "delete" ve "update" operatörlerini kullanarak değiştirilebilir. Yeni veri setleri açık değerler sağlayabilir veya bir sorgudan türetilebilir. Benzer şekilde, sorgular güncelleme veya silme için verileri tanımlar.
Her veri seti fiziksel alanda kapladığı yer gereği benzersizdir.Ancak yine de ilişkisel modelde, yalnızca, veri seti birincil anahtarsa kesin olarak benzersiz olduğu anlaşılır.Bununla birlikte, her bir satır için bir birincil anahtarın tanımlanması ya da kayıtlı bir grup olarak tanımlanmasına gerek yoktur.Çünkü bu yöntem tutarsızlığa sebep olmaktadır.
Temel ve türetilmiş ilişkiler
İlişkisel bir veritabanında, tüm veriler saklanır ve ilişkiler aracılığıyla erişilir. Verileri depolayan ilişkilere "taban ilişkileri" denir ve uygulamalarına "tablolar" denir. Diğer ilişkiler verileri saklamaz, ancak ilişkisel operasyonları diğer ilişkilere uygulayarak hesaplanmaktadır. Bu ilişkilere bazen "türetilmiş ilişkiler" denir. Uygulamalarda bunlara "sorgular" denir. Türemiş ilişkiler, çeşitli ilişkilerden bilgi almalarına rağmen tek bir ilişki şeklinde ifade edilebilmesi açısından oldukça elverişlidir. Ayrıca, türetilmiş ilişkiler bir soyutlama katmanı olarak kullanılabilir.
Etki Alanı
Bir alan, belirli bir öznitelik için olası değerlerin kümesini tanımlar ve öznitelik değerinde bir sınırlama olarak kabul edilebilir. Matematiksel olarak, bir alanı bir özniteliğe eklemek, öznitelik için herhangi bir değerin belirtilen kümedeki bir öge olması gerektiği anlamına gelir. Örneğin, "ABC" karakter dizisi tam sayı alanında değil, 123 tam sayısı değeridir. Alanın bir başka örneği "Cinsiyet" alanının olası değerleri ("Erkek," Kadın ") olarak tanımlar.Böylece" Cinsiyet "alanı (0.1) veya (E, K) gibi girdi değerlerini kabul etmez.
Kısıtlamalar
Kısıtlamalar bir niteliğin alan adını daha da kısıtlamayı mümkün kılar. Örneğin, bir kısıtlama belirli bir tam sayının özniteliğini 1 ile 10 arasındaki değerlere kısıtlayabilir. Kısıtlamalar, iş kurallarını veritabanında uygulamak için bir yöntem sağlar. SQL, denetim kısıtlamaları biçiminde kısıtlama işlevselliği uygular. Kısıtlamalar, ilişkilerde saklanabilecek verileri kısıtlar. Bunlar genellikle, bir boolean değeriyle sonuçlanan, verilerin kısıtlamayı karşılayıp karşılamadığını gösteren ifadeler kullanılarak tanımlanır. Kısıtlamalar, tek özniteliklere, bir veri setine veya bütün bir ilişkiye uygulanabilir. Her öznitelik ilişkili bir alan olduğundan, kısıtlamalara sahiptir (alan kısıtlamaları). İlişkisel model için iki ana kural, varlık bütünlüğü ve referans bütünlüğü olarak bilinir.
Birincil anahtar
Birincil anahtar, tablodaki bir takımı benzersiz olarak belirtir. Bir özniteliğin iyi birincil anahtarı olması için tekrar etmemesi gerekir. Doğal özellikler (girilen verileri tanımlamak için kullanılan özellikler) bazen iyi birincil anahtarlar olmakla birlikte, bunun yerine yedek anahtarlar kullanılır. Bir vekil anahtarı, onu benzersiz bir şekilde tanımlayan bir nesneye verilen yapay bir özelliktir (örneğin, bir okuldaki öğrenciler hakkında bir bilgi tablosunda, hepsini ayırt etmek için öğrenci kimliğine sahip olabilirler). Vekil anahtar kendine özgü bir anlam taşımayan, ancak bir kümeyi benzersiz şekilde tanımlama yeteneği sağlayan yararlı bir kullanımdır.Özellikle N: M kararlılığı açısından diğer yaygın kullanım ise, bileşik anahtardır. Bileşik anahtar, bir tabloda iki veya daha fazla öznitelikten oluşan ve birlikte kullanılarak bir kaydın benzersiz şekilde tanımlandığı bir anahtardır. (Örneğin, öğrenciler, öğretmenler ve sınıflar ile ilgili bir veritabanı verilsin.Sınıflar, derslik numaralarının ve eğitim döneminin birleşik bir anahtarı ile benzersiz olarak tanımlanabilir, çünkü başka hiçbir sınıf öznitelikleri tam olarak aynı kombinasyona sahip olamaz.) Her ne kadar bunun gibi birleşik bir anahtar, zayıf bir sistem olmasına rağmen, bir veri doğrulama biçimi olarak kullanılabilir.
Yabancı anahtar
Yabancı anahtar, ilişkisel tablodaki başka bir tablonun birincil anahtar sütunuyla eşleşen bir alandır. Yabancı anahtar, çapraz referans tabloları için kullanılabilir. Yabancı anahtarların, başvuru ilişkisinde benzersiz değerlere sahip olması gerekmez. Yabancı anahtarlar, başvurulan ilişkide bir veya daha fazla öznitelik alanını sınırlamak için başvurulan ilişkideki öznitelik değerlerini etkili biçimde kullanır. Bir yabancı anahtar, bilgisayar bilimi açısından olarak şöyle tanımlanabilir: "Bir tabloda ya da ilişkide kullanılan bir anahtar alanı başka bir tabloda ya da ilişkide yer alıyorsa, yani bir anahtar alanı başka bir anahtar alanını gösteriyorsa buna yabancı anahtar denir."
Saklı prosedürler
Saklı yordam, veritabanıyla ilişkilendirilen ve genellikle veritabanında saklanan yürütülebilir koddur. Saklı prosedürler genellikle ortak işlemleri (örn. Bir ilişkiye eklemek, kullanım modelleri hakkında istatistiksel bilgi toplamak veya karmaşık iş mantığını ve hesaplamalarını kapsüllemek gibi) toplamakta,özelleştirmekte ve standartlaştırmaktadır.Sıklıkla güvenlik veya basitlik için bir uygulama programlama arabirimi (API) olarak kullanılırlar. SQL RDBMS'lerdeki saklı yordamların uygulamaları genellikle geliştiricilerin standart bildirimsel SQL sözdizimine yordamsal uzantılardan (genellikle satıcıya özgü) yararlanmasına izin verir.Saklı yordamlar, ilişkisel veritabanı modelinin bir parçası değildir ancak tüm ticari uygulamalarda kullanılmaktadır.Özellikle bankacılık sektöründe yazılımcıların standart biçimde yazılım geliştirmesi ve koruması bu sayede olmaktadır.
İndeksleme
Bir dizin, verilere daha hızlı erişmenin bir yoludur. İndeksler, bir ilişki üzerinde herhangi bir öznitelik kombinasyonu üzerinde oluşturulabilir. Bu öznitelikleri kullanarak filtreleme yapılan sorgular, sırayla bütün veri seti için denetim yapmadan sadece eşleşen veri setlerini rastgele bulabilir. Bu yöntem, doğrudan aradığınız bilginin bulunduğu sayfaya gitmek için bir kitabın dizinini kullanmakla aynıdır.Dolayısıyla aradığınızı bulmak için kitabın tamamını okumamanıza benzer.İlişkisel veritabanlarında, genellikle birden fazla indeksleme tekniği bulunur; bunların her biri, veri dağılımı, ilişki boyutu ve tipik erişim modeli kombinasyonu için en iyisidir. İndeksler genellikle B+ ağaçları, R-ağaçları ve bitmap'ler vasıtasıyla uygulanır. İndeksler genellikle, veritabanının bir parçası olarak düşünülmez; çünkü bunlar, uygulama ayrıntısı olarak düşünülür.Ancak, indeksler genellikle veritabanının diğer kısımlarını koruyan aynı grup tarafından tutulur. Hem birincil hem de yabancı anahtarlar üzerinde etkili dizinler kullanılması sorgu performansını önemli ölçüde artırabilir. Bunun nedeni, B-tree indekslerinin sorgu sürelerinin log (n) ile orantılı olması ve n değerinin yalnızca bir tablodaki satırların sayısı olması ve hash indekslerinin sabit zaman sorgularıyla sonuçlanabilmesidir.
İlişkisel işlemler
İlişkisel veritabanında yapılan sorgular ve veritabanında türetilen ilişkiler bir ilişkisel hesap veya ilişkisel cebir olarak ifade edilir.Codd, has ilişkisel cebirde, her biri dört operatörden oluşan iki grupluk sekiz ilişkisel operatörünü tanıttı. İlk dört operatör, geleneksel matematiksel küme işlemlerine dayanıyordu:
Birlik operatörü, iki ilişkinin verilerini birleştirir ve tüm tekrarlanan verileri sonuçtan çıkarır. İlişkisel birleştirmede kullanılan komut "SQL UNION" komutuna eşdeğerdir.
Kesişme operatörü, iki ilişkinin ortak paylaştığı bir dizi veri üretir. Kesişme, "INTERSECT" biçiminde SQL'de uygulanmaktadır.
Fark operatörü iki ilişki üzerinde eğer ilk ilişkideki verilerden ikinci ilişkide bulunmayanlar bulunuyorsa çıktı üretir. SQL'de "EXCEPT" veya "MINUS" operatörü şeklinde uygulanır.
İki ilişkinin kartezyen çarpımı, herhangi bir ölçütle sınırlandırılmamış bir birleşmedir.Bu işlemde, ilk ilişkinin her bir birimi, ikinci ilişkinin her bir birimi ile eşleştirilir. Kartezyen ürün SQL'de "CROSS JOIN" operatörü olarak uygulanmaktadır.
Codd tarafından diğer önerilen operatörler, ilişkisel veritabanlarına ait bazı özel işlemleri içerir:
Seçim veya kısıtlama işlemi, bir ilişkiden verileri alır, sonuçları yalnızca belirli bir kriteri karşılayan örneklerle, yani küme teorisi açısından bir alt kümeyle sınırlar. Seçimin SQL karşılığı, "SELECT" sorgu deyimi yan tümcesi olan "WHERE" ifadesiyle birlikte kullanılır.
Projeksiyon işlemi, yalnızca bir veri veya veri kümesinde belirtilen öznitelikleri ayıklar.
İlişkisel veritabanlarında tanımlanan birleştirme işlemi genellikle doğal katılma olarak adlandırılır. Bu tür birleşimlerde, iki ilişki ortak özellikleriyle birleştirilir. MySQL'in doğal katılma yaklaşımı INNER JOIN operatörüdür. SQL'de INNER JOIN, bir sorgudaki iki tablo olduğunda bir kartezyen ürünün oluşmasını önler. Bir SQL sorgusuna eklenen her tablo için oluşan kartezyen ürünü önlemek için bir başka INNER JOIN eklenir. Dolayısıyla, bir SQL sorgusundaki N tablolar için, kartezyen bir ürünü önlemek için N-1 tane "INNER JOINS" olmalıdır.
İlişkisel bölme işlemi biraz daha karmaşık bir işlemdir ve esasen bir ilişkinin (ya da tablonun) verilerini ikinci bir ilişkiyi bölmek için kullanma işlemidir.İlişkisel bölme operatörü kartezyen çarpım işlemcisinin tam tersidir.
Codd'un sekiz tane has ilişkisel cebir işlemini tanıtmasından bu yana, diğer operatörler; ilişkisel karşılaştırma operatörleri, iç içe yerleştirme ve hiyerarşik veriler için destek sunan eklentiler de dahil olmak üzere sunuldu.
Normalizasyon
Normalleştirme ilk önce Codd tarafından, ilişkisel modelin ayrılmaz bir parçası olarak önerildi. Basitleştirilmemiş alanları(atomik olmayan değerler) ve gereksiz veri fazlalılığını ortadan kaldırmak için tasarlanmış bir dizi yordamı kapsamaktadır.Bu da, veri işlemeyi normalleştirir ve veri bütünlüğü sağlar.Veritabanlarına uygulanan en yaygın normalleştirme biçimleri normal formlar olarak adlandırılır.
Dağıtık ilişkisel veritabanları
Dağıtık İlişkisel Veritabanı Mimarisi (DRDA) 1988-1994 döneminde IBM içinde bir çalışma grubu tarafından tasarlanmıştır. DRDA, ağa bağlı ilişkisel veritabanlarının SQL taleplerini yerine getirmek için entegre çalışmasını sağlar. DRDA'nın mesajları, protokolleri ve yapısal bileşenleri Dağıtık Veri Yönetimi Mimarisi(DDMA) tarafından tanımlanır.
Kaynakça
- ^ a b Codd, E.F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM. 13 (6): 377–387. doi:10.1145/362384.362685.
- ^ "A Relational Database Overview 11 Aralık 2016 tarihinde Wayback Machine sitesinde .". oracle.com.
- ^ "Gray to be Honored With A. M. Turing Award This Spring 18 Eylül 2010 tarihinde Wayback Machine sitesinde .". Microsoft PressPass. 1998-11-23. Archived from the original on 6 February 2009. Retrieved 2009-01-16.
- ^ Reinsch, R. (1988). "Distributed database for SAA". IBM Systems Journal. 27 (3): 362–389. doi:10.1147/sj.273.0362..
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bu maddedeki bilgilerin dogrulanabilmesi icin ek kaynaklar gerekli Lutfen guvenilir kaynaklar ekleyerek maddenin gelistirilmesine yardimci olun Kaynaksiz icerik itiraz konusu olabilir ve kaldirilabilir Kaynak ara Iliskisel veritabani haber gazete kitap akademik JSTOR Mayis 2020 Bu sablonun nasil ve ne zaman kaldirilmasi gerektigini ogrenin Iliskisel veritabani 1970 yilinda Edgar Frank Codd tarafindan onerildigi gibi organizasyonu iliskisel veri modeline dayanan bir dijital veritabanidir Iliskisel veritabanlarini korumak icin kullanilan cesitli yazilim sistemleri bir iliskisel veritabani yonetim sistemi RDBMS olarak bilinir Neredeyse tum iliskisel veritabani sistemleri sorgulama ve veritabaninin bakimi icin dil olarak SQL Structured Query Language kullanmaktadirlar Iliskisel modelBu model verileri her bir satiri tanimlayan benzersiz bir anahtarla sutunlarin ve satirlarin bir veya daha fazla tabloya veya iliskilere duzenler Satirlara kayit veya tuple denir Genellikle her tablo iliski bir varlik turunu musteri veya urun gibi temsil eder Satirlar o varlik turunun orneklerini Berk veya sandalye gibi ve bu ornege atfedilen degerleri adres veya fiyat gibi temsil eden sutunlari temsil eder AnahtarlarBir tablodaki her satirin kendine has ve benzersiz anahtari vardir Bir tablodaki satirlar baglantili satirin benzersiz anahtari icin bir sutun ekleyerek diger tablolardaki satirlara baglanabilir bu sutunlar yabanci anahtarlar olarak bilinir istege bagli olarak karmasikligin veri iliskilerinin basit bir kavramlar dizisi ile temsil edilebilecegini gosterdi Bu islemin bir kismi bir tablodaki bir ve yalnizca bir satiri surekli olarak secebilmeyi veya degistirmeyi icermektedir Bu nedenle cogu fiziksel uygulamanin her tablo icin benzersiz bir birincil anahtari vardir Tabloda yeni bir satir yazildiginda birincil anahtarda PK yeni benzersiz bir deger olusturulur Sistemin oncelikli erismek icin kullandigi anahtar budur Sistem performansi PK ler icin optimize edilmistir Buna ek olarak alternatif anahtarlar AK tanimlanabilir Genellikle bir AK olusturmak icin birkac sutun gerekebilir PK ler ve AK ler bir tablodaki bir satiri benzersiz sekilde tanimlama yetenegine sahiptir Dunyada benzersiz bir kimligi kuresel olarak benzersiz bir tanimlayici olan global guvenlik saglayacak ek teknoloji uygulanabilir Ancak bunlar daha genis sistem gereksinimleri karsilandiginda kullanilabilecektir Bir veritabani icindeki birincil anahtarlar tablolar arasindaki iliskileri tanimlamak icin kullanilir Bir PK baska bir tabloya tasindiginda diger tabloda bir yabanci anahtar haline gelir Her hucre yalnizca bir deger icerebilir ve PK normal varlik tablosuna tasinirken bu tasarim deseni bire bir veya birden coga iliskiyi temsil edebilir Cogu iliskisel veritabani tasarimi diger varlik tablolarindan gelen PK leri iceren ek bir tablo olusturarak coktan coklu iliskiler kurar ve iliski bir varlik haline gelir Cozumleme tablosu daha sonra uygun sekilde adlandirilir Ve sonuc olarak iki FK ve bir PK olusturmak uzere birlestirilir Iliskiler Iliskiler farkli tablolar arasinda mantiksal bir baglantidir Bu alan tablolar arasindaki etkilesime dair bir iliski kurulmasini ve duzenlenmesini kapsamaktadir IslemlerVeritabani yonetim sisteminin DBMS etkin ve dogru bir sekilde calismasi icin ACID islemlerine Atomik yapi tutarlilik izolasyon dayaniklilik sahip olmasi gerekir Sakli prosedurlerRDBMS icindeki programlama islemlerinin cogu sakli yordamlar SP kullanilarak gerceklestirilir Genellikle bir sistemin icinde ve disinda aktarilan bilginin miktarini buyuk olcude azaltmak icin prosedurler kullanilabilir Guvenligin artmasi icin sistem tasarimi yalnizca tablolara degil sakli yordamlara da erisim duzenlemesi saglayabilir Temel sakli yordamlar yeni veri eklemek ve mevcut verileri guncellemek icin gerekli mantigi ve algoritmalari icerir Verilerin islenmesi veya secilmesi ile ilgili ek kural ve mantiklarin uygulanmasi icin daha karmasik prosedurler yazilabilir TerminolojiIliskisel veritabaninin terminolojisi Iliskisel veri tabani ilk olarak Haziran 1970 te IBM in San Jose Arastirma Laboratuvarinin Edgar Codd tarafindan tanimlandi Codd un RDBMS olarak nitelendirdigi seyleri Codd un 12 kuralinda ozetlemektedir Boylelikle iliskisel veritabani en yaygin veritabani turu haline geldi Iliskisel modelin yani sira diger modeller arasinda ve ag modeli bulunur Asagidaki tablo bazi onemli iliskisel veritabani terimlerini ve karsilik gelen SQL terimlerini ozetlemektedir SQL terimi Iliskisel veritabani terimi AciklamasiSatir Veri seti veya kayit Bir veri setini temsil etmektedir ve tekil nesne olarak kabul edilir Sutun Ozellik veya alan Veri setlerini iceren belirli bir etikettir Ornegin adresler veya dogum tarihleri gibi Tablo Varliklar arasindaki temel iliski Ayni oz nitelikleri paylasan bir takim kumedir Bir dizi satir ve sutundan olusur Cikti veya sonuc kumesi Turetilmis ya da kisitlanmis bicimde veriler Bir sorguya yanit olarak elde edilmis veri seti veya sorgudan gelen bir veri raporudur Iliskiler veya tablolarBir iliski ayni ozniteliklere sahip bir dizi kayit tuple olarak tanimlanir Bir grup genellikle bir nesneyi ve o nesne hakkindaki bilgileri temsil eder Nesneler genellikle fiziksel nesneler veya kavramlardir Bir iliski genellikle satirlar ve sutunlar seklinde duzenlenmis bir tablo olarak tanimlanir Bir oz nitelik tarafindan basvurulan tum veriler ayni etki alanindadir ve ayni kisitlamalara uygundur Iliskisel model bir iliskiye ait verilerin ozel bir duzene sahip olup olmadigini ve verilerin nitelikler uzerinde herhangi bir emir verip vermediklerini belirtir Uygulamalar araciligiyla sorgular belirtilerek verilere erisme secme nitelikleri tanimlama proje ve iliskileri birlestirmek ve katilma gibi islemler gerceklestirilebilir Iliskiler insert delete ve update operatorlerini kullanarak degistirilebilir Yeni veri setleri acik degerler saglayabilir veya bir sorgudan turetilebilir Benzer sekilde sorgular guncelleme veya silme icin verileri tanimlar Her veri seti fiziksel alanda kapladigi yer geregi benzersizdir Ancak yine de iliskisel modelde yalnizca veri seti birincil anahtarsa kesin olarak benzersiz oldugu anlasilir Bununla birlikte her bir satir icin bir birincil anahtarin tanimlanmasi ya da kayitli bir grup olarak tanimlanmasina gerek yoktur Cunku bu yontem tutarsizliga sebep olmaktadir Temel ve turetilmis iliskilerIliskisel bir veritabaninda tum veriler saklanir ve iliskiler araciligiyla erisilir Verileri depolayan iliskilere taban iliskileri denir ve uygulamalarina tablolar denir Diger iliskiler verileri saklamaz ancak iliskisel operasyonlari diger iliskilere uygulayarak hesaplanmaktadir Bu iliskilere bazen turetilmis iliskiler denir Uygulamalarda bunlara sorgular denir Turemis iliskiler cesitli iliskilerden bilgi almalarina ragmen tek bir iliski seklinde ifade edilebilmesi acisindan oldukca elverislidir Ayrica turetilmis iliskiler bir soyutlama katmani olarak kullanilabilir Etki Alani Bir alan belirli bir oznitelik icin olasi degerlerin kumesini tanimlar ve oznitelik degerinde bir sinirlama olarak kabul edilebilir Matematiksel olarak bir alani bir oznitelige eklemek oznitelik icin herhangi bir degerin belirtilen kumedeki bir oge olmasi gerektigi anlamina gelir Ornegin ABC karakter dizisi tam sayi alaninda degil 123 tam sayisi degeridir Alanin bir baska ornegi Cinsiyet alaninin olasi degerleri Erkek Kadin olarak tanimlar Boylece Cinsiyet alani 0 1 veya E K gibi girdi degerlerini kabul etmez KisitlamalarKisitlamalar bir niteligin alan adini daha da kisitlamayi mumkun kilar Ornegin bir kisitlama belirli bir tam sayinin ozniteligini 1 ile 10 arasindaki degerlere kisitlayabilir Kisitlamalar is kurallarini veritabaninda uygulamak icin bir yontem saglar SQL denetim kisitlamalari biciminde kisitlama islevselligi uygular Kisitlamalar iliskilerde saklanabilecek verileri kisitlar Bunlar genellikle bir boolean degeriyle sonuclanan verilerin kisitlamayi karsilayip karsilamadigini gosteren ifadeler kullanilarak tanimlanir Kisitlamalar tek ozniteliklere bir veri setine veya butun bir iliskiye uygulanabilir Her oznitelik iliskili bir alan oldugundan kisitlamalara sahiptir alan kisitlamalari Iliskisel model icin iki ana kural varlik butunlugu ve referans butunlugu olarak bilinir Birincil anahtar Birincil anahtar tablodaki bir takimi benzersiz olarak belirtir Bir ozniteligin iyi birincil anahtari olmasi icin tekrar etmemesi gerekir Dogal ozellikler girilen verileri tanimlamak icin kullanilan ozellikler bazen iyi birincil anahtarlar olmakla birlikte bunun yerine yedek anahtarlar kullanilir Bir vekil anahtari onu benzersiz bir sekilde tanimlayan bir nesneye verilen yapay bir ozelliktir ornegin bir okuldaki ogrenciler hakkinda bir bilgi tablosunda hepsini ayirt etmek icin ogrenci kimligine sahip olabilirler Vekil anahtar kendine ozgu bir anlam tasimayan ancak bir kumeyi benzersiz sekilde tanimlama yetenegi saglayan yararli bir kullanimdir Ozellikle N M kararliligi acisindan diger yaygin kullanim ise bilesik anahtardir Bilesik anahtar bir tabloda iki veya daha fazla oznitelikten olusan ve birlikte kullanilarak bir kaydin benzersiz sekilde tanimlandigi bir anahtardir Ornegin ogrenciler ogretmenler ve siniflar ile ilgili bir veritabani verilsin Siniflar derslik numaralarinin ve egitim doneminin birlesik bir anahtari ile benzersiz olarak tanimlanabilir cunku baska hicbir sinif oznitelikleri tam olarak ayni kombinasyona sahip olamaz Her ne kadar bunun gibi birlesik bir anahtar zayif bir sistem olmasina ragmen bir veri dogrulama bicimi olarak kullanilabilir Yabanci anahtar Yabanci anahtar iliskisel tablodaki baska bir tablonun birincil anahtar sutunuyla eslesen bir alandir Yabanci anahtar capraz referans tablolari icin kullanilabilir Yabanci anahtarlarin basvuru iliskisinde benzersiz degerlere sahip olmasi gerekmez Yabanci anahtarlar basvurulan iliskide bir veya daha fazla oznitelik alanini sinirlamak icin basvurulan iliskideki oznitelik degerlerini etkili bicimde kullanir Bir yabanci anahtar bilgisayar bilimi acisindan olarak soyle tanimlanabilir Bir tabloda ya da iliskide kullanilan bir anahtar alani baska bir tabloda ya da iliskide yer aliyorsa yani bir anahtar alani baska bir anahtar alanini gosteriyorsa buna yabanci anahtar denir Sakli prosedurler Sakli yordam veritabaniyla iliskilendirilen ve genellikle veritabaninda saklanan yurutulebilir koddur Sakli prosedurler genellikle ortak islemleri orn Bir iliskiye eklemek kullanim modelleri hakkinda istatistiksel bilgi toplamak veya karmasik is mantigini ve hesaplamalarini kapsullemek gibi toplamakta ozellestirmekte ve standartlastirmaktadir Siklikla guvenlik veya basitlik icin bir uygulama programlama arabirimi API olarak kullanilirlar SQL RDBMS lerdeki sakli yordamlarin uygulamalari genellikle gelistiricilerin standart bildirimsel SQL sozdizimine yordamsal uzantilardan genellikle saticiya ozgu yararlanmasina izin verir Sakli yordamlar iliskisel veritabani modelinin bir parcasi degildir ancak tum ticari uygulamalarda kullanilmaktadir Ozellikle bankacilik sektorunde yazilimcilarin standart bicimde yazilim gelistirmesi ve korumasi bu sayede olmaktadir Indeksleme Bir dizin verilere daha hizli erismenin bir yoludur Indeksler bir iliski uzerinde herhangi bir oznitelik kombinasyonu uzerinde olusturulabilir Bu oznitelikleri kullanarak filtreleme yapilan sorgular sirayla butun veri seti icin denetim yapmadan sadece eslesen veri setlerini rastgele bulabilir Bu yontem dogrudan aradiginiz bilginin bulundugu sayfaya gitmek icin bir kitabin dizinini kullanmakla aynidir Dolayisiyla aradiginizi bulmak icin kitabin tamamini okumamaniza benzer Iliskisel veritabanlarinda genellikle birden fazla indeksleme teknigi bulunur bunlarin her biri veri dagilimi iliski boyutu ve tipik erisim modeli kombinasyonu icin en iyisidir Indeksler genellikle B agaclari R agaclari ve bitmap ler vasitasiyla uygulanir Indeksler genellikle veritabaninin bir parcasi olarak dusunulmez cunku bunlar uygulama ayrintisi olarak dusunulur Ancak indeksler genellikle veritabaninin diger kisimlarini koruyan ayni grup tarafindan tutulur Hem birincil hem de yabanci anahtarlar uzerinde etkili dizinler kullanilmasi sorgu performansini onemli olcude artirabilir Bunun nedeni B tree indekslerinin sorgu surelerinin log n ile orantili olmasi ve n degerinin yalnizca bir tablodaki satirlarin sayisi olmasi ve hash indekslerinin sabit zaman sorgulariyla sonuclanabilmesidir Iliskisel islemlerIliskisel veritabaninda yapilan sorgular ve veritabaninda turetilen iliskiler bir iliskisel hesap veya iliskisel cebir olarak ifade edilir Codd has iliskisel cebirde her biri dort operatorden olusan iki grupluk sekiz iliskisel operatorunu tanitti Ilk dort operator geleneksel matematiksel kume islemlerine dayaniyordu Birlik operatoru iki iliskinin verilerini birlestirir ve tum tekrarlanan verileri sonuctan cikarir Iliskisel birlestirmede kullanilan komut SQL UNION komutuna esdegerdir Kesisme operatoru iki iliskinin ortak paylastigi bir dizi veri uretir Kesisme INTERSECT biciminde SQL de uygulanmaktadir Fark operatoru iki iliski uzerinde eger ilk iliskideki verilerden ikinci iliskide bulunmayanlar bulunuyorsa cikti uretir SQL de EXCEPT veya MINUS operatoru seklinde uygulanir SQL dilinde tanimlanan kume islemleri Iki iliskinin kartezyen carpimi herhangi bir olcutle sinirlandirilmamis bir birlesmedir Bu islemde ilk iliskinin her bir birimi ikinci iliskinin her bir birimi ile eslestirilir Kartezyen urun SQL de CROSS JOIN operatoru olarak uygulanmaktadir Codd tarafindan diger onerilen operatorler iliskisel veritabanlarina ait bazi ozel islemleri icerir Secim veya kisitlama islemi bir iliskiden verileri alir sonuclari yalnizca belirli bir kriteri karsilayan orneklerle yani kume teorisi acisindan bir alt kumeyle sinirlar Secimin SQL karsiligi SELECT sorgu deyimi yan tumcesi olan WHERE ifadesiyle birlikte kullanilir Projeksiyon islemi yalnizca bir veri veya veri kumesinde belirtilen oznitelikleri ayiklar Iliskisel veritabanlarinda tanimlanan birlestirme islemi genellikle dogal katilma olarak adlandirilir Bu tur birlesimlerde iki iliski ortak ozellikleriyle birlestirilir MySQL in dogal katilma yaklasimi INNER JOIN operatorudur SQL de INNER JOIN bir sorgudaki iki tablo oldugunda bir kartezyen urunun olusmasini onler Bir SQL sorgusuna eklenen her tablo icin olusan kartezyen urunu onlemek icin bir baska INNER JOIN eklenir Dolayisiyla bir SQL sorgusundaki N tablolar icin kartezyen bir urunu onlemek icin N 1 tane INNER JOINS olmalidir Iliskisel bolme islemi biraz daha karmasik bir islemdir ve esasen bir iliskinin ya da tablonun verilerini ikinci bir iliskiyi bolmek icin kullanma islemidir Iliskisel bolme operatoru kartezyen carpim islemcisinin tam tersidir Codd un sekiz tane has iliskisel cebir islemini tanitmasindan bu yana diger operatorler iliskisel karsilastirma operatorleri ic ice yerlestirme ve hiyerarsik veriler icin destek sunan eklentiler de dahil olmak uzere sunuldu NormalizasyonNormallestirme ilk once Codd tarafindan iliskisel modelin ayrilmaz bir parcasi olarak onerildi Basitlestirilmemis alanlari atomik olmayan degerler ve gereksiz veri fazlaliligini ortadan kaldirmak icin tasarlanmis bir dizi yordami kapsamaktadir Bu da veri islemeyi normallestirir ve veri butunlugu saglar Veritabanlarina uygulanan en yaygin normallestirme bicimleri normal formlar olarak adlandirilir Dagitik iliskisel veritabanlariDagitik Iliskisel Veritabani Mimarisi DRDA 1988 1994 doneminde IBM icinde bir calisma grubu tarafindan tasarlanmistir DRDA aga bagli iliskisel veritabanlarinin SQL taleplerini yerine getirmek icin entegre calismasini saglar DRDA nin mesajlari protokolleri ve yapisal bilesenleri Dagitik Veri Yonetimi Mimarisi DDMA tarafindan tanimlanir Kaynakca a b Codd E F 1970 A Relational Model of Data for Large Shared Data Banks Communications of the ACM 13 6 377 387 doi 10 1145 362384 362685 A Relational Database Overview 11 Aralik 2016 tarihinde Wayback Machine sitesinde oracle com Gray to be Honored With A M Turing Award This Spring 18 Eylul 2010 tarihinde Wayback Machine sitesinde Microsoft PressPass 1998 11 23 Archived from the original on 6 February 2009 Retrieved 2009 01 16 Reinsch R 1988 Distributed database for SAA IBM Systems Journal 27 3 362 389 doi 10 1147 sj 273 0362