İlişkisel Veri Tabanları I Erdem Alparslan Bahçeşehir Üniversitesi 1
Veri Tabanı Modelleri Veri Tabanları tasarımında kullanılan modeller: Tablolar : Veriler tek bir tabloda veya tablo dizisinde tutulur (spread sheets), Hiyerarşik : (örgüt şeması) IBM in Bilgi Yönetim Sistemi Windows Registry İlişkisel : Her satır yeni bir kayıttır Her kolon yeni bir değişkendir (yaş, cinsiyet v.b) 2
İlişkisel Model Mantıksal Veri Modelini (Logical Data Model) açıklamak için bilindik bir yöntem 1977 de Dr. Peter Chen tarafından ortaya çıkarılmış ve o günden bu yana bir çok bilgisayar mühendisi tarafından geliştirilmiştir. 3
Neden İlişkisel Model? En yaygın kullanılan DBs Oracle, IBM DB2, Informix, Microsoft, Sybase v.b Legacy Systems Örn : IBM MIS Yeni firmalar ve ürünleri, ObjectStore, Versant, Ontos Object relational model Oracle, Informix Universal Server, UniSQL, O2, DB2 4
Terminoloji Kayıt : Daha geniş bir parçayı tanımlayan alanlar topluluğu Tablo : Kayıtlar topluluğu Veri Tabanı : Tablo(lar) topluluğu. Ayrıca veri girişi formları, veri kontrol kuralları, verinin alt kümelerini seçen sorgular ve veriyi gösterecek raporlar içerir. 5
İlişkisel Veri Modeli İlişkisel veri tabanı, ilişkiler(tablolar) kümesinden oluşur Her ilişki değişken/domain ikilileri kümelerinden oluşur Değişkenlerin tek bir değeri olmalı. Ayrıca null değerler destekleniyor. Bir ilişkinin değişkenleri düzenli değildir. Değişken değerleri çok küçük(atomic) olmalıdır. (satır ya da ilişki olamaz) İlişkiler tuple kümelerini tutar. (sorgular sonucunda birçok satır dökülür); Her ilişkinin satırı, ilişkinin her değişkeni için bir değer tutar; ilişkilerde tutulan bütün satırlar farklı olmalıdır. Bir ilişkideki satırlar düzenli değildir. 6
İlişkisel Veri Modeli Her ilişkinin bir birincil anahtarı vardır ve o ilişkideki tekil satırları betimleyen değişken kümelerini içerir, Objeler arası ilişkinin, ilişkisel modeldeki uygulaması objelere ait birincil anahtarların kendi aralarında ilişkilendirimesiyle olur ve bunlara ikincil anahtar(foreign key) adı verilir. Çok değerli değişkenler ayrı bir ilişki kullanılarak veya objenin çoklu satırlar ile tanımlanmasıyla açıklanabilir (çok değerli değişkenin her değeri için bir tane). Opsiyonel değişkenler (değeri olması gerekli olmayan değişkenler) null değer kullanılarak açıklanabilir; dahası, ilişkinin birincil anahtarları ve opsiyonel değişkenlerini tutan ayrı ilişkiler halinde açıklanabilirler. 7
Varlıkları 8
Değişkenler Varlıklar, değişkenlerden oluşur, Değişkenleri tanımlamak için isimler kullanılır, Bilginin, bilinmesi gereken özel parçacıkları Bir varlığın değişkenleri olmalıdır 9
Biricik Anahtarı Bir varlığın özel bir parçasını tanımlamaya yardımcı olan ilişkiler veya değişkenler birleşimidir. UID oluşturmak için birden fazla değişken kullanılabilir 10
Bir varlığın diğeri ile olan ilişkisi, Ticari ihtiyaçları bağlayan, ticari kurallar, 11
İlişki Çeşitleri 12
Cardinality, eleman sayısıdır. 13
Mantıksal ve Fiziksel Veri Modelleri 14
SQL SELECT Sözcüğünün Yetenekleri 15
SELECT Sözcüğü Temel Kullanım İstenen kolonları, istenen satırları ve nasıl istendiklerini belirler 16
Tüm Veriyi Seçmek 17
Belirli Kolonları Seçmek 18
Aritmetik Hesaplamalar Aritmetik hesaplamaları kabul eder. 19
Operatör Önceliği 20
Alias Tanımlamaları 21
Bitiştirme Operatörü Metinsel ifadelerin bitiştirilmesinde operatörü ya da concat() fonksiyonu kullanılır. (RDBMS çeşidine göre değişecektir.) 22
Tekil Seçme (DISTINCT) 23
Satır Seçme (WHERE) 24
Satır Seçme (WHERE) WHERE sözcüğü yardımı ile istenen satırlar seçilip geitirilmektedir. 25
Satır Seçme (WHERE) 26
WHERE Komutunda Kullanılabilen Operatörler 27
WHERE Kullanım Örnekleri 28
WHERE Kullanım Örnekleri 29
WHERE Komutunda Kullanılabilen Mantıksal Operatörler 30
WHERE Kullanım Örnekleri 31
Sıralama (ORDER BY) Getirilmek istenen satırların bir sütuna göre sıralı olarak getirilmesini sağlar. Tüm satırları gezinmesi gerektiği için maliyetli bir işlemdir. 32
Sıralama (ORDER BY) Azalan şekilde sıralama istenebilir (büyükten küçüğe) Birden fazla kolon üzerinden sıralama yaptırılabilir 33