Dr. Öğretim Üyesi Barış ÖZKAN
Veritabanı Yönetimi
3. Hafta
• Veritabanı Temel Kavramları
• Veri Modeli
• Başlıca Veri Modelleri
• İlişki Türleri
35
Veritabanı Kavramları
• Tablo
• Satır ve Sütun
• Veri Tipleri
• Anahtar Kullanımı
• Primary Key (Birincil Anahtar)
• Foreign Key (Yabancı Anahtar)
• Unique Key (Tekil Anahtar)
• Joining (İlişkilendirme)
• Geçerlilik Kuralı
• Null Değer
• View (Görüntü)
36
Veritabanı Kavramları
Tablo
*Veritabanı içerisindeki verileri taşımak için tablolar kullanılır.
*Tablo, satır ve sütunlardan oluşan verilerin depolandığı veritabanı elemanıdır.
*Oluşturulacak tablolar barındırılacak veri gruplarına (temalarına) göre belirlenir.
Satır ve Sütun
*Tabloyu oluşturan temel kavramlardır.
*Sütun (nitelik - attribute), tablo içerisinde tutulan her bir veri türüne verilen isimdir.
*Satır, tablo içerisindeki sütuna ait veri grubudur. Kayıt olarak da ifade edilir.
37
Veritabanı Kavramları - Tablo, Satır ve Sütun
Veri tabanı
Tablo1 Tablo2 Tablo3 Tablo4 Tablo5
Alan 1 Alan 2 Alan3 Alan4 1
2 3
38
Veritabanı Kavramları - İlişkisel veritabanı örneği
CARİ ÜRÜNLER ALIM SATIŞ
CariKodu ÜrünKodu ÜrünKodu ÜrünKodu
FirmaAdı ÜrünAdı Miktarı Miktarı
Yetkili AlışFiyatı ToplamTutar ToplamTutar
Telefon SatışFiyatı CariKodu CariKodu
Faks Birimi
Adres SATIŞTAKİP
Tablolar
Sütunlar (nitelikler)
Veri Tabanı
39
Veritabanı Kavramları
Veri Tipleri
• Tablodaki sütunlar tanımlanırken veri tipleri ve alan uzunlukları belirtilmek zorundadır.
• Tabloları oluştururken doğru veri tipleri ve uzunluklar belirtmek, veri tabanını kullanırken kaynak ve performans açısından büyük kazançlar sağlar.
SQL Server Veri Tipleri
• Metinsel veri tipleri
• Sayısal veri tipleri
• Binary veri tipleri
• Parasal veri tipleri
• Tarih-zaman veri tipleri
• Diğer veri tipleri
İpucu! ASCII
• ASCII (American Standard Code for Information Interchange - Bilgi Değişimi İçin Amerikan Standart Kodlama Sistemi) Latin alfabesi üzerine kurulu 7 bitlik birkarakterkümesidir.
• İlk kez1963yılındaANSItarafından standart olarak sunulmuştur.
• ASCII'de 33 tane basılmayankontrol karakterive 95 tane basılan karakter bulunur.
• Kontrol karakterleri metnin akışını kontrol eden, ekranda çıkmayan karakterlerdir.
• Basılan karakterler ise ekranda görünen, okuduğumuz metni oluşturan karakterlerdir.
Hatırlatma! Unicode
• Unicode (Evrensel Kod) Unicode Consortium organizasyonu tarafından geliştirilen ve her karaktere bir sayı değeri karşılığı atayan bir endüstri standardıdır.
• Sistemin amacı farklı karakter kodlama sistemlerinin birbiriyle tutarlı çalışmasını ve dünyadaki tüm yazım sistemlerinden metinlerin bilgisayar ortamında tek bir standart altında temsil edilebilmesini sağlamaktır.
• Unicode kodlarından oluşan karakter dizilerini (metinleri) bilgisayarda verimli bir biçimde saklayabilmek amacıyla çeşitli karakter kodlamaları geliştirilmiştir. Bunlardan en bilinenleri UTF-8 ve UTF-16 dır.
42
Veritabanı Kavramları – SQL Server Veri Tipleri 1
Metinsel Veri Tipleri
• char(boyut) : Belirtilen değerden az veri girilse bile boyut kadar yer kaplar.
Unicode’u desteklemez. En fazla 8.000 karaktere kadar depolama yapar. (telefon numarası, TC kimlik)
• nchar(boyut) : Belirtilen değerden az veri girilse bile boyut kadar yer kaplar.
Unicode’u destekler. En fazla 4.000 karaktere kadar depolama yapar.
• varchar(boyut) : Chardan farkı, verinin boyutu kadar yer kaplamasıdır. Unicode’u desteklemez. En fazla 8.000 karaktere kadar depolama yapar. Boyut değeri Max olursa, depolama boyutu 2^31 – 2 (2 GB) olur. (ismi soyisim, mail adresi)
• nvarchar(boyut) :Verinin boyutu kadar yer kaplar. Unicode’u destekler. En fazla 4.000 karaktere kadar depolama yapar. Boyut değeri Max olursa, depolama boyutu 2^31 – 2 (2 GB) olur.
• text :Belirtilen değerden az veri girilse bile boyutu kadar yer kaplar. Unicode’u desteklemez. En fazla 2GB’ye kadar metinsel veri depolama yapar.
• ntext :Girilen karakter kad ar yer kaplar. Unicode’u destekler. En fazla 2GB’ye kadar metinsel veri depolama yapar.
43
Veritabanı Kavramları – SQL Server Veri Tipleri 2
Sayısal Veri Tipleri
• bit : Bir byte uzunluğunda tamsayı veri tipidir.
• int : 4 byte büyüklüğünde yaklaşık -2 milyar ile +2 milyar arasında değer alabilen tamsayı veri tipidir.
• tinyint : 1 byte büyüklüğünde 0 ile 255 arasında değer alabilen tamsayı veri tipidir.
• smallint : 2 byte büyüklüğünde -32768 ile 32767 arasında değer alabilen tamsayı veri tipidir.
• bigint : 8 byte büyüklüğünde -2^63 ile +2^63 arasında değer alabilen tamsayı veri tipidir.
• decimal ve numeric : Decimal ve nümeric veri tipleri adları farklı olmasına rağmen kullanımları aynıdır. Boyutu değişken olmakla birlikte -10^38 ile +10^38 arasında ondalık ve tamsayı türünde verileri saklayabilir.
• float : Boyutu ve doğruluğu (ondalık kısım duyarlılığı) aldığı parametreye göre değişen kayan noktalı sayılar için kullanılır.
• real : Float veri tipinin parametre olarak 24 değerini aldığında ortaya çıkan halidir.
-3.40E+38 ile 3.40E+38 arasında değer alır.
44
Veritabanı Kavramları – SQL Server Veri Tipleri 3
Binary (İkilik) Veri Tipleri
• binary(boyut) : İkili bilgi saklar. Belirtilen değerden az veri girilse bile boyut kadar yer kaplar. En fazla 8.000 karakter depolama yapar.
• varbinary(boyut) : İkili bilgi saklar. Girilen karakter kadar yer kaplar. En fazla 8.000 karakter depolama yapar. Boyut değeri Max olursa, depolama boyutu 2^31 – 1 (2 GB) olur.
• image : Resim dosyalarını saklamak için kullanılır. En fazla 2GB’ye kadar ikili veri depolar. Önceki sql versiyonlarını desteklemek amacıyla kullanılmaktadır. Bu tip yerine varbinary (max) veri tipi tercih edilmelidir.
Parasal Veri Tipleri
• money : 8 byte boyutunda yaklaşık -922,337,203,685,477.5808 ila
922,337,203,685,477.5807 arasındaki parasal değerleri tutmak için kullanılır. 4 basamağa kadar duyarlı ondalık tipli verilerdir.
• smallmoney : 4 byte uzunluğunda yaklaşık – 214.748.3648 ila 214.748.3647 arasındaki parasal değerleri tutmak için kullanılır. 4 basamağa kadar duyarlı ondalık tipli verilerdir.
45
Veritabanı Kavramları – SQL Server Veri Tipleri 4
Tarih-Zaman Veri Tipleri
• date : Tarihleri YYYY-MM-DD şeklinde saklayan 3 byte uzunluğunda veri tipidir.
0001-01-01 ile 9999-12-31 tarihleri arasındaki tüm değerleri tutabilir.
• smalldatetime : Tarih ve zaman verilerini YYYY-MM-DD hh:mm:ss şeklinde saklay an 4 byte uzunluğunda veri tipidir. 1900-01-01 00:00:00 ile 2079-06-06 23:59:59 arasındaki tarih ve zaman değerlerini saklar.
• datetime : YYYY-MM-DD hh:mm:ss:mmm şeklinde tarih ve zaman verilerini tutan 8 byte uzunluğunda veri tipidir. 1753-01-01 00:00:00.000 ile 9999-12-31 23:59:59.999 arası değerlerini saklar.
• datetime2 : datetime ile arasındaki fark salise hassasiyetinin daha yüksek olmasıdır. 7 basamağa kadar salise hassasiyeti kullanıcı tarafından belirlenebilir.
Kapladığı alan salise hassasiyetine göre değişir. (6-8 byte)
• time : Sadece saat verilerini hh:mm:ss:nnnnnnn şeklinde saklayan veri tipidir.
Dateteime2 gibi salise hassasiyeti maksimum 7 basamaktır ve kullanıcı tarafından değiştirilebilir. (3-5 byte)
• datetimeoffset : Ülkelere göre değişen zaman farkını tutmak için kullanılır.
46
Veritabanı Kavramları – SQL Server Veri Tipleri 4
Diğer Veri Tipleri
• sql_variant : Sayı, metin, binary gibi farklı veri tipli değerleri depolamak için kullanılır. Bir nevi harmanlanmış veri tipidir.
• timestamp : Tabloya kayıt eklendiğinde ve güncellendiğinde binary türünde özel bir değer alan veri tipidir. Tarih veri tipleriyle alakası yoktur. Kullanıcı bu alanı değiştiremez veya kendisi değer atayamaz.
• uniqueidentifier : 16 byte uzunluğunda 6F9619FF-8B86-D011-B42D-00C04FC964FF gibi GUID tipindeki verileri tutar. Guid, harf ve sayılardan oluşan eşsiz bir datadır. İki Guid’in birbiri ile eşit olması imkansızdır.
• xml : XML türünde hiyerarşik verileri saklamak için kullanılır. Bellekteki boyutu saklanan xml verisine göre değişir.
• geography : Coğrafi koordinatları ve gps verilerini tutmak için kullanılır.
• geometry : Öklid koordinat sistemine ait verileri tutmak için kullanılır. Geometrik şekillerin en, boy, yükseklik verilerini saklar.
• hierarchyid : Ağaç veri modeli veya hiyerarşik olarak sınıflandırılmış verileri saklamak için kullanılır.
47
Veritabanı Kavramları
Anahtar Kullanımı
*Tablodaki satırları birbirinden ayırt etmek için anahtar kullanılır.
*Tablodaki anahtar, sütunlar içerisinden seçilir.
*Bir tabloda birden fazla anahtar bulunabilir.
*Tablolarda anahtar sütun tanımlama kullanma zorunluluğu yoktur.
*Türleri: Primary Key, Foreign Key, Unique Key
Veritabanı Kavramları
Primary Key (Birincil Anahtar)
• Kayıtlar içerisindeki benzersiz olan ilk sütun birincil anahtardır.
• Birincil anahtar olan sütun NULL (boş) değerleri veya birbirinin aynı olan değerleri içeremez.
• Birincil anahtar olan sütunun yanında anahtar işareti bulunur.
Veritabanı Kavramları
Primary Key (Birincil Anahtar)
okulNumarası Adı Soyadı babaAdı
123 Ahmet Yılmaz Mehmet
124 Müjgan Yıldırım Mustafa
125 Sami Yılmaz Mehmet
plakaNo YetkiliAdı Soyadı Markası
35c4499 Mustafa Yılmaz Iveco
35c9932 Hikmet Yaşar Ford
45c9987 Mustafa Yılmaz Mercedes
Öğrenciler Araçlar
50
Veritabanı Kavramları
Foreign Key (Yabancı Anahtar)
*Birbiri arasında ilişki bulunan iki tablodan birisinden diğer tablodaki birincil
anahtara başvuran sütun yabancı anahtar olarak adlandırılır.
*Yabancı anahtar genelde diğer tablolarla ilişki kurmak için kullanılır.
*Yabancı anahtar olan sütun başvurduğu birincil anahtar olan sütunun
değerlerini içermelidir.
*Null değer bulunamaz fakat aynı kayıt birden fazla tekrar edebilir.
51
Veritabanı Kavramları
Foreign Key (Yabancı Anahtar)
okulNuma rası
Adı Soyadı babaAdı servisPla ka
123 Ahmet Yılmaz Mehmet 35c9932
124 Müjgan Yıldırım Mustafa 35c9932
125 Sami Yılmaz Mehmet 45c9987
Primary Key Öğrenciler
plakaNo YetkiliA dı
Soyadı Markası
35c4499 Mustafa Yılmaz Iveco
35c9932 Hikmet Yaşar Ford
45c9987 Mustafa Yılmaz Mercedes
52
Veritabanı Kavramları
Unique Key (Tekil Anahtar)
*Tekil anahtarlar aynı zamanda birincil (primary) anahtardır.
*Tekil anahtar olarak seçilen sütundaki tüm kayıtlar (satırlar) benzersiz olmalıdır.
*Primary Key den farklı olarak Null değer alabilir.
*Bir tabloda birden fazla unique key bulunabilir fakat birden fazla primary key tanımlanamaz.
*Örneğin, öğrenci bilgi sisteminde her öğrenciye ait bir TC kimlik numarası bulunacağından bu alan tekil anahtar olarak tanımlanabilir.
53
Veritabanı Kavramları
Joining (İlişkilendirme)
• İki veya daha fazla tabloyu birlikte sorgulama işlemine join ismi verilir. Tek sorgu ile birden fazla tablodan veri almak için kullanılır.
• Bir öğrenci servis firmasında öğrencilerin kayıtlı olduğu servis aracının özelliklerini öğrenmek için ilişkilendirme yapılmalıdır.
okulNumarası
Adı Soyadı babaAdı servisPlaka YetkiliAdı Soyadı Markası
123 Ahmet Yılmaz Mehmet 35c9932 Hikmet Yaşar Ford
124 Müjgan Yıldırım Mustafa 35c9932 Hikmet Yaşar Ford
125 Sami Yılmaz Mehmet 45c9987 Mustafa Yılmaz Mercedes
Öğrenciler ve araçlar
54
Veritabanı Kavramları
Null Değer
* Sütuna herhangi bir değer girilmediği durumdur.
* Boşluk veya sıfır bir değeri ifade eder.
55
Veritabanı Kavramları
Görüntü (View)
Bazen, tabloları olduklarından farklı gösterecek filtrelere ihtiyaç duyulur. Bu türden işlevler için VIEW kullanılır. VIEW ’ler, saklanmış sorgulardan ibarettirler. Aslında tablo gibi kullanılsa da gerçekte böyle bir tablo veritabanında bulunmaz, sadece view(görüntüsü) bulunur.
VIEW ’ler şu görevler için kullanılır:
*Kullanıcıların bazı kritik tabloların sadece belli sütunlarını veya satırlarını görmesi istenildiğinde,
*Kullanıcıların, çeşitli birim dönüşümlerinden geçmiş değerler görmeleri gerektiğinde,
*Mevcut tablolarda var olan verilerin başka bir tablo formatında sunulması gerektiğinde,
*Çok karmaşık sorguların basitleştirilmesi gerektiğinde.
Veri Modeli
Veri modeli, verileri mantıksal düzeyde düzenlemek için kullanılan yapılar, kavramlar ve işlemler topluluğudur.
• Her VTYS belirli bir veri modeli kullanır.
• Veriler ve veriler arası ilişkiler veri modeline göre düzenlenir.
• Veri modeli ile VT kavramsal ve dış şemaları oluşturulur.
1. Hiyerarşik Veri Modeli 2. Ağ Veri Modeli 3. Varlık-İlişki Veri Modeli 4. İlişkisel Veri Modeli
Hiyerarşik Veri Modeli
• İlk veri modelidir. (1960 – 1970)
• Kayıtlar ağaç yapısında saklanır.
• Ebeveyn-çocuk ilişkisi vardır.
• Her varlık bir sefer ilişki oluşturabilir.
58
Hiyerarşik Veri Modeli
• Model içerisindeki herhangi bir düğüm, altındaki n sayıda düğüme bağlanırken, kendisinin üstünde ancak bir düğüme bağlanabilir.
• Aynı varlık 1 den fazla ilişkide kullanılacaksa tekrar oluşturulmalı.
• Gereksiz veri tekrarına sebep olur.
• Bir kayıt silinirse altındaki dallarda silinir.
59
Şebeke Veri Modeli
• 1970 – 1980 arası kullanılmıştır.
• Şebeke içinde bir eleman, herhangi başka bir elemana bağlanabilir.
• Hiyerarşik modelden farklı olarak bir veri birden fazla veri ile ilişki kurabilmektedir.
• Ortak bilgi alanları ile birden fazla veri ile ilişki kurulabilir.
• Şebeke veri modelinde kullanılan işlemler, ilişkisel veri modelinde kullanılan işlemlerin benzeridir. Fakat şebeke veri modellerinde bağlantılar tarafından belirlenmiş ilişkiler dışında, kayıt tipleri (nitelikler) arasında ilişki belirlenemez.
60
Varlık-İlişki Veri Modeli (E-R Modeli)
• Varlık-ilişki modeli ya da E-R modeli (Entity-Relationship model) 1976 yılında P.P.
Chen tarafından geliştirilen bir modeldir.
• Varlık-ilişki modeli, VTYS'den bağımsız veri çözümlemede ve semantik veri modellemede en çok kullanılan modeldir.
• Veritabanları E-R modeli gibi bir model ile kavramsal düzeyde tasarlanır ve İlişkisel model gibi bir model ile mantıksal düzeyde oluşturulur.
Bu model kullanılarak sırası ile;
1. VTYS'den bağımsız olarak veriler çözümlenir, 2. Veri modellemesi yapılır,
3. Veriler ve veriler arası ilişkilerin anlamları ve özellikleri incelenerek E-R çizelgeleri oluşturulur,
4. Kullanılacak VTYS belirlenir,
5. E-R çizelgeleri bu sistemin veri modeline dönüştürülerek veri tabanı şemaları oluşturulur.
61
Varlık-İlişki Veri Modeli (E-R Modeli)
• Bir veritabanı uygulamasında hakkında tanımlayıcı bilgi saklanabilen her şey varlık olarak kabul edilir.
• Varlık, bağımsızdır ve tek başına tanımlanabilir.
• Bir varlık, ev, öğrenci, araba gibi bir nesne ya da futbol maçı, tatil, satış gibi olaylar olabilir.
• En anlamlı şekilde kendi öznitelikleri tarafından temsil edilir.
Örneğin, bir EV; öznitelikleri olan ADRES, STİL, RENK ve MALZEME ile tanımlanabilir.
Eğer bir özniteliğin kendisi tanımlayıcı bilgi içeriyorsa, onu varlık olarak tanımlamak gerekir. Örneğin, eğer evin malzemesi hakkında ek bilgi depolamak gerekiyorsa MALZEME’Yİ de varlık olarak sınıflamak gerekir.
62
Varlık-İlişki Veri Modeli (E-R Modeli)
Varlık (Entity): Bir gerçek dünya nesnesini veya kavramını ifade eder.
Örneğin; ürüne ait barkod, gramaj, alış fiyatı vb. bilgilerin yer aldığı ürün tablosu gibi.
Nitelik (Attribute): Bir varlığı tanımlayan özelliktir. Örneğin; çalışan adı veya ücreti gibi.
İlişki (Relationship): İki veya daha fazla varlık arasındaki ortak nokta ve birleşmeyi ifade eder. Örneğin bir çalışan ile bir projeyi ilişkilendirme gibi.
Varlık
Nitelik
63
Varlık-İlişki Veri Modeli (E-R Modeli)
Ad Ogrenci_No Sinif Bolum
Ahmet 55 1 EEM
Mehmet 57 1 EM
Varlık Öğrenci
Tablo
Kayıtlar
Nitelikler
İlişkisel Veri Modeli
• 90 lı yıllardan beri hemen hemen tüm sistemlerde kullanılmaktadır.
• Ortak özelliklerdeki veriler tablolarda saklanır.
• Tablo = Sütun + Satır
• Her sütun farklı bir veri tutar.
• Her satırdaki veriler aynı kaydı ifade eder.
İlişkisel Veri Modeli
• Anahtarlar sayesinde indeksleme yapıldığı için işlemler daha hızlı gerçekleşir.
• Birden fazla tablodaki bilgiler ortak alanlar tanımlanarak birbirleriyle ilişkilendirilir.
• Raporlama kolaylığı sağlanır.
66
İlişki Türleri
A ve B varlık kümeleri arasında tanımlanan (A ve B varlık kümeleri aynı da olabilir), A'dan B'ye bir ilişki kümesi, eşleme sınırlamaları açısından aşağıdaki dört türden birinde olabilir.
• Birden-bire (one-to-one)
• Birden-çoğa (one-to-many)
• Çoktan-bire (many-to-one)
• Çoktan-çoğa (many-to-many)
67
İlişki Türleri - Birden-bire (1-1)
Aralarında bir ilişki olan iki tablo arasında, asıl anahtar alanın kayır değerinin, diğer tablodaki birden fazla kayıtta karşılığının olması durumunu gösteren ilişki tipidir.
Ali Ahmet Mustafa
Cemal Veli Ayşe
Fatma Buket Selin Sezin
Kadın Evlilik Erkek
68
İlişki Türleri - Birden-bire (1-1)
69
İlişki Türleri - Birden-çoğa (1-n)
Aralarında bir ilişki olan iki tablo arasında, asıl anahtar alanın kayıt değerinin, diğer tablodaki birden fazla kayıtta karşılığının olması durumunu gösteren ilişki tipidir.
Ali Ahmet Mustafa
Cemal Veli Mimarlık
Mak. Müh.
Bilg. Müh.
Bölüm Okuyan Öğrenci
70
İlişki Türleri - Birden-çoğa (1-n)
Aralarında bir ilişki olan iki tablo arasında, asıl anahtar alanın kayıt değerinin, diğer tablodaki birden fazla kayıtta karşılığının olması durumunu gösteren ilişki tipidir.
1
n
71
İlişki Türleri - Çoktan-bire (n-1)
Aralarında bir ilişki olan iki tablo arasında, tablolardan birindeki bir kaydın değerinin, asıl anahtar alanın olduğu diğer tabloda, birden fazla kayıtta karşılının olması durumunu gösteren ilişki tipidir.
Tarih Arkeoloji
Zooloji
Öğrenci Okuduğu Bölüm
Ayşe Fatma Kemal Sabri Ali
İlişki Türleri - Çoktan-çoğa (n-m)
Aralarında bir ilişki olan iki tablo arasında, tablolardan herhangi birindeki herhangi bir kaydın, diğer tablodaki birden fazla kayıt ile ilişkilendirilebildiği ilişki tipidir.
Fizik Matematik
Kimya
Öğrenci Aldığı Ders
Ayşe Ali
İlişki Türleri - Çoktan-çoğa (n-m)
1 1
m n
74
Nesneye Yönelik Veri Modeli
• Nesneye yönelik model C++ gibi nesneye dayalı bir dille yazılan ve yine nesneye dayalı bir dille kullanılan veritabanı anlamına gelir.
• Henüz yaygın olarak kullanılmamaktadır.
• OODBMS, Nesne yönelimli programlama (OOP - Object-Oriented Programming Language) ilkeleri ve Veri Tabanı Yönetim ilkelerinin birleşmesinden oluşur.
• Veriler nesne olarak modellenir.
• Bu modelde bir sorgunun karşılığında mutlaka öndeceden tanımlanmış bir nesne kümesi olmalıdır.
• Sınıf ve miras kavramları mevcuttur. (Sınıf kavramı ilişkisel modeldeki ilişki kavramına denk gelir)
• Büyük tablolarda ilişkisel veri modeline göre yüksek performans sunar.
• Arama işlemleri ilişkisel modele göre çok daha hızlıdır ancak çalışma mantıkları tamamen farklıdır.
75
Nesneye Yönelik Veri Modeli
Numara Ağırlık Üretici Firma
ÜRETİCİ FİRMA İsim Adres Başkan
Sigorta No İsim Yaş
İŞÇİLER
Otomobil Kamyon Uçak Otomobil
Üreticisi Kamyon Üreticisi
Yerli Otomobil
Yabancı Otomobil
Japon Otomobil Üreticisi ARAÇ
Sınıf/altsınıf bağlantısı Öznitelik/tanım kümesi bağlantısı
76
Kaynaklar
• Altan Mesut, Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü, Veri Tabanı Yönetim Sistemleri 1 Ders Notları.
• Fırat Yücel, Akdeniz Üniversitesi Enformatik Bölümü, Veri Tabanı Yönetim Sistemleri Ders Notları.
• Turgut Özseven, Veritabanı Yönetim Sistemleri 1, Ekin Kitabevi Yayınları.
• Sibel Somyürek, Gazi Üniversitesi Bilgisayar ve Öğretim Teknolojileri Eğitimi Bölümü, Veri Tabanı Yönetim Sistemleri Ders Notları.
• Zehra Alakoç Burma, Veri Tabanı Yönetim Sistemleri, Seçkin Yayıncılık.