48
7. Hafta VERİ TABANI YÖNETİM SİSTEMLERİ Dr. Öğr. Üyesi Nesibe YALÇIN https://nesibeyalcin.wordpress.com/bsm102/ BARTIN ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

7. Hafta – VERİ TABANI

YÖNETİM SİSTEMLERİ

Dr. Öğr. Üyesi Nesibe YALÇIN

https://nesibeyalcin.wordpress.com/bsm102/

BARTIN ÜNİVERSİTESİ

MÜHENDİSLİK FAKÜLTESİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Page 2: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Veri Tabanı

2

Page 3: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

3

• Birbiriyle ilişkisi olan verilerin tutulduğu,

• Kullanım amacına uygun olarak düzenlenmiş veriler

topluluğunun,

• Mantıksal ve fiziksel olarak tanımlarının bulunduğu

• Bilgi depolarıdır.

• Veri tabanı kavramı ilk olarak 1980’li yıllar

Veri Tabanı

Page 4: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

4

Neden Veri Tabanı??

Page 5: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

5

• Verilerin tutulması, saklanması ve erişilmesinde

geleneksel yaklaşım (dosya/liste yönetimi) verilerin ayrı ayrı dosyalarda gruplanması yaklaşımını kullanmaktadır. • Sıralı, • Rastgele erişimli dosya

• Verilerin artması, verilere aynı anda erişme ve

düzenlenme ihtiyacı ile geleneksel yaklaşım yetersiz kalmıştır.

• Veri tekrarını önler.

• Verilerin tutarlı olmasını sağlar.

Neden Veri Tabanı??

Page 6: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

6

• Ortak verilerin tekrarının önlenmesi

• Verilerin merkezi denetiminin ve tutarlılığının sağlanması

• Veri paylaşımının sağlanması

• Her kullanıcıya yalnız ilgilendiği verilerin, alışık olduğu

kolay, anlaşılır yapılarda sunulması

Avantajları

Page 7: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

7

• Sunulan çözümleme, tasarım ve geliştirme araçları ile

uygulama yazılımı geliştirmenin kolaylaşması

• Veri bütünlüğünün sağlanması

• Güvenlik ve gizliliğin istenilen düzeyde sağlanması

• Yedekleme, yeniden başlatma, onarma gibi işletim sorunlarına çözüm getirilmesi

Avantajları

Page 8: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

8

• Basit bir web uygulamasından uluslararası kuruluşların büyük

ve karışık verilerine kadar pek çok alanda veri tabanı uygulamalarına ihtiyaç durulmaktadır.

Üniversite – Öğrenci işleri bilgi sistemi Hastane – Hasta, doktor, tedavi, araç-gereç, mali bilgiler Ticari bir şirket – Müşteri, ürün, satış, ödeme, teslimat

bilgileri Banka – Müşteri, mevduat, kredi kartı, kredi bilgileri

Veri Tabanı Örnekleri

Page 9: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

9

Veri Tabanı Yapısı

Veri tabanı

Tablo Tablo Tablo Tablo Tablo

Alan 1 Alan 2 Alan3 Alan4

1

2

3

• Tablo • Kayıt • Nitelik • Anahtar nitelik

Page 10: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

10

• Veriler tablolarda saklanmaktadır.

• Tablolar verilerin satırlar ve sütunlar halinde düzenlenmesiyle

oluşan veri grubudur. Satır ve sütunlar farklı işleve sahiptir: Sütunların her birinde bir özellik/alan bilgisi yer alır. Satırlarda ise sütunlara ait kayıt bilgileri saklanmaktadır.

• Tablolardaki veriler sorgu sonucunda seçilir ve belli bir düzen

içinde sunulur.

Tablo

Page 11: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

11

• Öğrenci bilgilerini veritabanında saklamak için: ogrenci_bilgileri

• Öğrenci bilgileri tablosunda: Öğrenci numarası, adı soyadı, doğum tarihi, doğum yeri, e-mail adresi bilgileri yer alsın.

Tablo - Örnek

Page 12: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Alan

Ogr_no Ad_soyad d_tarih d_yeri e-mail

1 Atiye Aydın 01.11.1999 Konya [email protected]

2 Asya Özdemir 05.12.1999 Giresun [email protected]

3 Sedat Pekin 16.02.2000 Ardahan [email protected]

4 Metin Ertürk 11.04.1998 Ankara [email protected]

5 Zeynep Nur Aker 02.01.2000 Malatya [email protected]

6 Resmiye Bahar 22.02.2001 Yozgat [email protected]

Alan

Kayıt

Tablo - Örnek

12

Page 13: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Anahtar (Key) • Anahtar bir veya birden fazla alanın bir satır için niteleyici

olarak girilmesi için zorlanan bir çeşit zorlayıcıdır.

• 2 çeşit anahtar vardır:

• Birincil Anahtar (Primary Key)

• Yabancı Anahtar (Foreign Key)

13

Page 14: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Birincil Anahtar (Primary Key)

• Bir kayıta ulaşmayı sağlayacak anahtar veridir.

• Örneğin, öğrenciler arasında iki Ahmet var. Arama yaparken istediğimiz Ahmet’i bulmak için her bir öğrenciye özel bir numara olmalıdır: “öğrenci numarası”

• Birden fazla alanda birlikte birincil anahtar olabilir.

14

Page 15: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Yabancı Anahtar (Foreign Key)

• Bir tabloya girilebilecek kayıtları başka bir tablonun belli alanındaki verilerle

• sınırlandırmaya ve

• ilişkilendirmeye yarar.

• Örneğin, öğrencilerin not verilerinin girildikleri tablodaki her satıra öğrenci bilgileri tablosundaki öğrenci no ile eşleşmeyen bir değer girilmez gibi.

15

Page 16: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Birleşik Anahtar (Composite Key)

• Birden fazla alanın birleşmesi ile oluşan anahtar nitelik

• Örneğin, öğrencilerin not verilerinin girildikleri “notlar” tablosunda her bir öğrenciye ilişkin birincil olarak tanımlanabilecek öğrenci no ve dersno alanları birlikte anahtar nitelik olabilir.

16

Page 17: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

17

Veri Tabanı Yönetim

Sistemleri (VTYS)

Page 18: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

18

• Yeni bir veri tabanı oluşturmak,

• Veri tabanını düzenlemek,

• Kullanmak,

• Geliştirmek,

• Bakımını yapmak için

• Çeşitli karmaşık işlemlerin gerçekleştirildiği bir yazılım paketi

ya da sistemidir.

Veri Tabanı Yönetim Sistemleri (VTYS)

Page 19: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

19

Veri Tabanı Yönetim Sistemleri (VTYS)

Page 20: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

20

• Microsoft Office ürünüdür.

• Küçük ölçekli uygulamalar içindir.

• Tablo başına 2 GB’ a kadar veri depolayabilir.

• Aynı anda 255 bağlantıya izin verebilir.

• Windows işletim sistemleri dışında kullanılamaz.

Access

Page 21: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

21

• Açık kaynak kodludur.

• Windows/Unix/Linux,… işletim sistemlerinde çalışır. (platform

bağımsız)

• Tablo başına 4 TB veri depolayabilir.

• Web uygulamalarında PHP ile çok sık kullanılır.

MySQL

Page 22: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

22

• IBM tarafından geliştirilmiştir.

• Windows/Unix/Linux,… işletim sistemlerinde çalışır.

• “Transaction logging” , “trigger” ve “stored procedure”

özelliklerine sahiptir.

IBM DB2

Page 23: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

23

• Illustra firması tarafından geliştirildi.

• 2001 yılında IBM Informix’ i satın aldı.

• Ücretli ve güçlü bir veritabanı.

• Orta ölçekli işletmelerin yükünü kaldırabilecek kapasitedir.

Informix

Page 24: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

24

• Bir orta ve büyük ölçekli VTYS’ dir.

• Unix, Windows, .. işletim sistemlerinde çalışır.

• SAP ile uyumlu.

• Ülkemizde daha çok bankacılık ve kamusal alanlarda tercih

edilmektedir.

Sybase

Page 25: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

25

• Microsoft firmasına ait veritabanı sunucu yazılımıdır.

• Orta ve büyük ölçekli işlemler için kullanılır.

• Kullanım kolaylığı, güvenilirliği, işlem gücü…

• Tablo başına 4 TB veri depolama.

• Sadece Windows üzerinde çalışır (platform bağımlı).

• “Transaction logging” , “trigger” ve “stored procedure”

özelliklerine sahip.

SQL Server

Page 26: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

26

• Oracle firması tarafından geliştirildi.

• Dünyanın en güçlü ve en güvenilir veritabanı olarak gösterilir.

• Birçok işletim sistemi üzerinde kullanılabilir.

• Çok yüksek ölçekli uygulamalar için tercih edilir.

• Oluşturulabilecek tablo sayısı sınırsızdır.

• Çok yüksek maliyet..!

Oracle

Page 27: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

27

VTYS Bileşenleri

Page 28: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Veri Türleri • Veri tabanında tutulan kayıtların yapısı hakkında bilgi sahibi

olmak için alanların bazı özelliklerinin önceden tanımlanması gerekir.

• Örneğin;

• personel sicil numarası mutlaka tam sayı,

• Adı soyadı harflerden oluşması gibi

• Özellikle çok fazla verinin tutulduğu veritabanlarında performans kaybını azaltmak, veritabanı ve yedeklerin kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir.

28

Page 29: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

MsSQL – Veri Türleri char: Sabit uzunlukta karakter verisi saklamak için kullanılır. En fazla 8000 karakter veri saklayabilir.

varchar: Değişken uzunlukta karakter verisi saklamak için kullanılır. Belirlenmiş veri kapasitesi 8000 karakter olmasına rağmen (max) parametresi ile bu değer 2^31 byte’ a kadar genişletilebilir.

nchar: Sabit uzunlukta 4000 karakter verisi saklamak için kullanılır. Boyutu değişken olmakla birlikte kısa olan değerler atanan uzunluğa tamamlanır.

nvarchar: Değişken uzunlukta karakter verisi saklamak için kullanılır. Belirlenmiş maksimum uzunluk 4000 karakter olmasına rağmen (max) parametresiyle 2^31 byte’a kadar veri depolanabilir.

29

Page 30: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

MsSQL– Veri Türleri

30

• int: 4 byte büyüklüğünde yaklaşık -2 milyar ile +2 milyar arasında değer alabilen tamsayı veri tipidir.

• bigint: 8 byte yüyüklüğünde -2^63 ile +2^63 arasında değer alabilen tamsayı veri tipidir.

• 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.

• smallmoney: 4 byte uzunluğunda yaklaşık -214 000 ile 214 000 arasında parasal değerleri tutmak için kullanılır. Ondalık kısım duyarlılığı 4 basamaktır.

• money: 8 byte uzunluğunda yaklaşık -922 milyar ile 922 milyar arasındaki parasal değerleri tutmak için kullanılır. Ondalık kısım duyarlılığı 4 basamaktır.

Page 31: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

MsSQL– Veri Türleri

31

• date: Tarihleri YYYY-MM-DD şeklinde saklayan 3 byte uzunluğunda veri tipidir.

• smalldatetime: Tarih ve zaman verilerini YYYY-MM-DD hh:mm:ss şeklinde saklayan 4 byte uzunluğunda veri tipidir.

• datetime: YYYY-MM-DD hh:mm:ss:mmm şeklinde tarih ve zaman verilerini tutan 8 byte uzunluğunda veri tipidir.

• 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.

Page 32: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

MsSQL– Veri Türleri

32

• binary: Maksimum 8000 byte boyutunda, sabit uzunlukta binary veri saklamak için kullanılır.

• varbinary: Değişken uzunlukta 8000 byte boyutunda binary değer saklamak için kullanılır. (max) parametresiyle tutacağı maksimum değer 2^31 byte’a kadar yükseltilebilir.

• image: Önceki sql versiyonlarını desteklemek amacıyla kullanılmaktadır. Bu tip yerine varbinary (max) veri tipi tercih edilmelidir.

• xml: XML türünde hiyerarşik verileri saklamak için kullanılır. Bellekteki boyutu saklanan xml verisine göre değişir.

Page 33: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

33

• VTYS Yöneticisi (Admin)

• Sistem mühendisleri • Tasarımcı (Designer)

• Uygulama yazılımcısı

• Son kullanıcılar

VTYS Aktörleri

Page 34: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

34

• Kullanıcı sayısına göre Tek kullanıcılı Çok kullanıcılı

• Veri modeline göre Düz-dosya Hiyerarşik Ağ İlişkisel Nesneye Yönelik

• Fiziksel konumuna göre Merkezi Dağıtık

VTYS’ nin Sınıflandırılması

Page 35: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Düz-Dosya Veri Tabanları

• Tek tablodan oluşan veritabanıdır. Tüm veriler bu tablo üzerinde tutulur. Tek bir tablo olduğu için 1 dosya içinde barındırılır.

• Tüm veriler tek tabloda tutulduğu için tutulacak veriye göre hem sütun sayısı çok fazla olur hem de aynı veriyi birçok kayıtta tekrar etmek (data duplication) gerekecektir. Bu sebeple veri boyutu çok fazla olabilir.

• Word, Excel bu tür programlara örnektir.

35

Page 36: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Hiyerarşik Veri Tabanları

• 1960’lar ve 1970’ler - Veri tabanları için kullanılan ilk modeldir.

• IBM IMS (Information Management System)

• Hiyerarşik veritabanları bilgileri bir ağaç yağısında saklarlar.

36

Page 37: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Hiyerarşik Veri Tabanları

37

Page 38: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Ağ Veri Tabanları • Hiyerarşik veritabanları yetersiz kalınca 1960’ ların

sonunda verilerin ağaçların daha gelişmiş hali olan graflar şeklinde saklandığı yapı ortaya çıkmıştır.

38

Page 39: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

İlişkisel Veri Tabanları

• 1970’li yıllarda IBM tarafından geliştirilmeye başlanmıştır. Edgar Frank Codd tarafından önerilmiştir.

• Veriler tablo şeklinde saklanır, birçok tablo kullanılır ve tablolar arasında ilişkiler oluşturulur.

• Bir ilişki, bir tabloya, başka bir tablodaki kaydı bağlamamızı sağlar. Bu şekilde veriler daha az yer kaplar ve işlemlerimizi kolaylaştırır.

• Günümüzdeki hemen hemen tüm veri tabanı programları bu yapıdadır.

39

Page 40: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

İlişkisel Veri Tabanları

40

Page 41: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Nesneye Yönelik Veri Tabanları

• 1990’lar – Veriler nesne olarak modellenir ve oluşturulur.

• Nesneye yönelik veritabanı C++ gibi nesneye yönelik bir dille oluşturulan ve yine bu tarz bir dille kullanılan veri tabanı anlamına gelir.

• Günümüzde hem ilişkisel hem de nesneye-yönelik yaklaşımı birlikte kullanan VTYS‘ nin yaygınlaştığı görülmektedir (ORDBMS).

41

Page 42: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Veri Tabanı Tasarlama

1. Nesneler tanımlanır:

Kütüphane sistemi: kitap, üyeler, türler, ödünç alma işlemleri

2. Her nesne için bir tablo oluşturulur:

kitap

uyeler

turler

odunc_islemleri

42

Page 43: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Veri Tabanı Tasarlama 3. Her tablo için bir anahtar alan seçilir:

Kitap tablosu: kitapno

Üyeler tablosu: uyeno

Türler tablosu: turno

Ödünç İşlemleri tablosu: oduncno

43

Page 44: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Veri Tabanı Tasarlama

4. Nesnelerin her bir özelliği için tabloya sütun eklenir:

Kitap tablosu: kitapno, ad, yil, yazar, ad, tur

Üyeler tablosu: uyeno, adsoyad, dogumtarihi, eposta,tel

Türler tablosu: turno, turadi

Ödünç İşlemleri tablosu: oduncno, uyeno, kitapno, odunctarih, teslimtarih

44

kitapno ad yil yazar tur

Kitap tablosu

Page 45: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Veri Tabanı Tasarlama

5. Tablolar arasındaki ilişkiler tanımlanmalıdır.

Örneğin;

Üyeler tablosundaki uyeno - Ödünç İşlemleri tablosundaki uyeno

Kitap tablosu: kitapno - Ödünç İşlemleri tablosundaki kitapno

Türler tablosu turno ile Kitap tablosundaki tur

45

Page 46: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

Structured Query Language - SQL (Yapısal Sorgu Dili)

• IBM, bir ilişkisel veritabanı yönetim sistemi geliştirmek amacıyla System/R adlı bir proje başlatır.

• Bu sistem için SEQUEL (Structured English Query Language) adında bir sorgu dili geliştirilmeye başlanmıştır.

• 1979’ da tamamlanan bu proje sırasında geliştirilen dilin adı SQL (Structured Query Language) olarak değiştirilmiştir.

46

Page 47: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

SQL Örnek

• SQL dilinde oluşturulmuş bir sorgu örneği;

• SELECT ADI, SOYADI, ADRES

FROM PERSONEL

WHERE BOLUMNO = 17 AND GOREV = 'Sekreter’

*** “17 numaralı bölümde çalışan sekreterlerin ad, soyad ve adres” bilgilerinin istendiği sorgu

47

Page 48: 7. Hafta VERİ TABANI YÖNETİSTEMLERİ · SQL Server . 26 • Oracle ... kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir. 28 . MsSQL – Veri

SQL Örnek

• SQL dilinde veri tabanındaki bir tabloya kayıt ekleme ve silme için oluşturulmuş sorgu örnekleri;

• INSERT INTO PERSONEL (ADI, SOYADI, ADRES, GOREV, BOLUMNO)

VALUES (‘Mustafa’, ‘KARA’, ‘Manisa’, ‘Müdür’,18)

DELETE PERSONEL WHERE ADI=‘Sare’

48