İlişkisel Veri Tabanları

advertisement
İ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
Download