Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

V ERI B ÜTÜNLÜĞÜ Sibel SOMYÜREK. V ERI B ÜTÜNLÜĞÜ Veri bütünlüğü nedir?

Benzer bir sunumlar


... konulu sunumlar: "V ERI B ÜTÜNLÜĞÜ Sibel SOMYÜREK. V ERI B ÜTÜNLÜĞÜ Veri bütünlüğü nedir?"— Sunum transkripti:

1 V ERI B ÜTÜNLÜĞÜ Sibel SOMYÜREK

2 V ERI B ÜTÜNLÜĞÜ Veri bütünlüğü nedir?

3 V ERI B ÜTÜNLÜĞÜ İlişkisel veri tabanı modellerinde yanlış ya da ilişkisiz verilerin çeşitli yollarla veri tabanına kaydedilmesi önlenip, farklı tablolara dağıtılan verilerin kendi içerisinde tutarlılık göstermesine veri bütünlüğü denir.

4 V ERI B ÜTÜNLÜĞÜ Veri bütünlüğü, verinin doğruluğunu ve tutarlılığını anlatmaktadır.

5 V ERI B ÜTÜNLÜĞÜ Uygulamalarda önceden bir takım kurallar tanımlanarak, bozuk, tutarsız verilerin girişi önlenerek ya da mevcut bilgilerin üzerinde değişiklik yaparken bozulması engellenerek veri bütünlüğü sağlanır.

6 V ERI B ÜTÜNLÜĞÜ Veri bütünlüğü, verinin Doğru olmasını Tam olmasını ve tutarlılığını anlatmaktadır.

7 V ERI B ÜTÜNLÜĞÜ Örneğin öğrenci bilgilerinin tutulduğu bir tabloda: öğrenci numarası alanının tek olması, öğrenci numarası alanında 12 karakterden oluşan bir değer olması, bölüm kodu alanının bölümler tablosunda muhakkak bir karşılığının olması vb.

8 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Veri tabanı yönetim sistemlerinde veri bütünlüğü hangi yollarla sağlanabilir?

9 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI VTYS’de veri bütünlüğünü iki yöntemle sağlanabilir 1. Tanımlanabilir veri bütünlüğü 2. Prosedürel (Programsal) veri bütünlüğü

10 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Tanımlanabilir veri bütünlüğü Tanımlanan nesnelerin kendi özellikleri sayesinde sağlanabilen veri bütünlüğüdür. Prosedürel (Programsal) veri bütünlüğü Bir programlama mantığıyla bütünlüğün tasarlanması gerekir.

11 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Tanımlanabilir veri bütünlüğü 1. Constraint’ler (kısıtlayıcılar), 2. Rule’lar (kurallar) ve 3. Default’lar (varsayılanlar)

12 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Prosedürel veri bütünlüğü 1. Trigger (tetikleyici) 2. Stored Procedure (saklı yordam)

13 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Prosedürel veri bütünlüğü 1. Trigger (tetikleyici) 2. Stored Procedure (saklı yordam)

14 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Constraint’ler (kısıtlayıcılar) 1. Primary Key Constraint 2. Unique Constraint 3. Check Constraint 4. Default Constraint 5. Foreign Key Constraint

15 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Primary Key Constraint Veri tabanı tablosundaki bir satır için benzersiz bir tanımlayıcıdır Primary key boş deger alamaz Her satırda farklı bir değer almak zorundadır Her tabloda en fazla bir tane primary key kısıtı olabilir. Yapısında primary key olmayan bir tablo hiçbir tabloyla ilişkilendirilemez.

16 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Primary Key Constraint Örnek: Öğrenci bilgileri tablosu için öğrencino sütunu birincil anahtar zorlayıcısı olarak tanımlanabilir. Bu durumda öğrenci numarası olmayan hiçbir öğrenci tabloya eklenemez Girilmiş bir öğrenci numarası tekrar girilemez.

17 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Primary Key Constraint Örnek: CREATE TABLE ogrenci( ogrno INT (11) PRIMARY KEY, ad CHAR(25), soyad CHAR(25));

18 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Primary Key Constraint Örnek: CREATE TABLE ogrenci( ogrno INT (11), ad CHAR(25), soyad CHAR(25), CONSTRAINT PK_ogrenci PRIMARY KEY (ogrno));

19 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Primary Key Constraint Örnek: CREATE TABLE ogrenci( ogrno INT (11), ad CHAR(25), soyad CHAR(25), CONSTRAINT PK_ogrenci PRIMARY KEY (ogrno, ad));

20 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Unique Key Constraint Bir tabloda birçok sütunda tanımlanabilir Primary key’e benzer ancak küçük bir fark vardır Her satırda farklı bir değer almak zorundadır Boş deger alabilir

21 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Unique Key Constraint Örnek: Örneğin öğrenci bilgileri tablosu için hem öğrenci no sürunu hem de tckimlikno sütunu tekildir. Öğrenci no birincil anahtar olarak tanımlanmışsa tckimlikno da unique key olarak tanımlanabilir.

22 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI UNIQUE Key Constraint Örnek: CREATE TABLE ogrenci( ogrno INT (11) PRIMARY KEY, Tckimlikno INT(11) UNIQUE, ad CHAR(25), soyad CHAR(25) );

23 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI UNIQUE Key Constraint Örnek: CREATE TABLE ogrenci( ogrno INT (11) PRIMARY KEY, Tckimlikno INT(11), ad CHAR(25), soyad CHAR(25), CONSTRAINT UN_ogr UNIQUE (Tckimlikno) );

24 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Check Constraint Bir sütuna ait değerin belirli formata uygun şekilde girilmesi için oluşturulan bir kısıtlayıcıdır Bir sütundaki değerin geçerliliğini başka bir sütunla karşılaştırarak elde edebilmemize olanak sağlar.

25 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Check Constraint Örnek: Bir sütuna bir metin ifadesi girmek istiyoruz ama metnin uzunluğunun 20 karakterden fazla olmamasını istiyoruz. Ya da bir sütuna bayan ya da erkek değer, girilmesi gerekiyor Bu durumda check constraint kullanılır.

26 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI CHECK Constraint Örnek: CREATE TABLE ogrenci( ogrno INT (11) PRIMARY KEY, Tckimlikno INT(11) UNIQUE, plakano INT(3), ad CHAR(25), soyad CHAR(25), CONSTRAINT ilplakano CHECK (plakano BETWEEN 1 and 81) );

27 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI CHECK Constraint Örnek: CREATE TABLE ogrenci4( ogrno INT (11) PRIMARY KEY, Tckimlikno INT(11) UNIQUE, ogrtur CHAR (12), ad CHAR(25), soyad CHAR(25), CONSTRAINT tur CHECK (ogrtur in ('Lisans', 'Yüksek Lisans', 'Doktora')) )

28 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Default Constraint Bir sutüna varsayılan bir değer atama işlemi yapar. Bir satırın bir sütununa değer girilmediği bir durumda daha önceden belirlenen bir default değerin, o satıra otomatik olarak aktarılmasını yağar.

29 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Default Constraint Örnek: E ticaret sistemine üye olan müşterilerin üyelik tarihlerini sistemden otomatik olarak alıp ilgili sütuna aktarmak için Ya da 2 farklı gruptaki öğrencilerden grup girilmediğinde otomatik bir değer girilmesi için kullanılır.

30 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI DEFAULT Constraint Örnek: CREATE TABLE ogrenci5( ogrno INT (11) PRIMARY KEY, Tckimlikno INT(11) UNIQUE, ogrtur CHAR (12) DEFAULT 'Lisans', ad CHAR(25), soyad CHAR(25) );

31 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Not Null Constraint Bir tablodaki bir sütuna girilecek her kaydın mutlaka bir değer alması gerektiğini gsterir.ö

32 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Not Null Constraint Örnek: Farklı illerden yarışmacıların kayıt yaptıkları bir uygulamada il adı alanı boş bırakılmasın istendiğinde bu kısıt kullanılabilir.

33 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Not Null Constraint Örnek CREATE TABLE yarismacilar( no INT(4) PRIMARY KEY, ad VARCHAR(30), soyad VARCHAR(30), iladi CHAR (20) NOT NULL );

34 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Foreign Key Constraint Örnek: Anket cevaplarının girildiği tablodaki soru no sütunun anket sorularının bulunduğu tablodaki soruno sütunundan aktarılması için kullanılır.

35 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI FOREIGN KEY Örnek: CREATE TABLE anketcevaplar( cevapno INT (11) PRIMARY KEY, soruno INT(11), cevap VARCHAR(100), CONSTRAINT anketsoru FOREIGN KEY (soruno) REFERENCES anketsorular(no) );

36 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Update/Delete İşlem Kısıtları Yabancıl anahtar kısıtı ile referans alınan tablodaki değer üzerinde değişiklik ya da silme işlemi yapılacağında ne tür işlemlerin yapılabileceği ile ilgili kısıttır. Bu işlemler: No Action Set Null Cascade Set Default

37 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Update/Delete İşlem Kısıtları No Action: Yabancıl anahtar tarafından referans verilen değer silinmeye ya da değiştirilmeye çalışıldığında işlem gerçekleşmez.

38 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI No Action Örnek CREATE TABLE yarismacilar( no INT(4) PRIMARY KEY, ad VARCHAR(30), soyad VARCHAR(30), iladi CHAR (20) NOT NULL, CONSTRAINT FK_iladi FOREIGN KEY (iladi) REFERENCES iller(adi) ON DELETE NO ACTION );

39 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Update/Delete İşlem Kısıtları Set Null: Yabancıl anahtar tarafından referans verilen değer silinmeye ya da değiştirilmeye çalışıldığında, yabancıl anahtarın bulunduğu tablodaki ilgili alana boş değer atanır.

40 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Set Null Örnek CREATE TABLE yarismacilar( no INT(4) PRIMARY KEY, ad VARCHAR(30), soyad VARCHAR(30), iladi CHAR (20) NOT NULL, CONSTRAINT FK_iladi FOREIGN KEY (iladi) REFERENCES iller(adi) ON DELETE SET NULL );

41 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Update/Delete İşlem Kısıtları Cascade: Yabancıl anahtar tarafından referans verilen değer silinmeye ya da değiştirilmeye çalışıldığında, yabancıl anahtarın bulunduğu tablodaki ilgili alana değişiklik yansıtılır.

42 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Cascade Örnek CREATE TABLE yarismacilar( no INT(4) PRIMARY KEY, ad VARCHAR(30), soyad VARCHAR(30), iladi CHAR (20) NOT NULL, CONSTRAINT FK_iladi FOREIGN KEY (iladi) REFERENCES iller(adi) ON DELETE CASCADE );

43 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Update/Delete İşlem Kısıtları Set Default: Yabancıl anahtar tarafından referans verilen değer silinmeye ya da değiştirilmeye çalışıldığında, yabancıl anahtarın bulunduğu tablodaki ilgili alana daha önceden tanımlanmış olan varsayılan değer atanır.

44 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Set Default: Örnek CREATE TABLE yarismacilar5( no INT(4) PRIMARY KEY, ad VARCHAR(30), soyad VARCHAR(30), iladi CHAR (20) NOT NULL, CONSTRAINT FK_iladi FOREIGN KEY (iladi) REFERENCES iller(adi) ON DELETE SET DEFAULT )

45 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Tanımlamalı veri bütünlüğünün üç türü vardır: 1. Alan Bütünlüğü(Domain) 2. Varlık Bütünlüğü (Entity) 3. Referans Bütünlüğü (Referential)

46 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Tanımlamalı veri bütünlüğünün üç türü vardır: 1. Alan Bütünlüğü(Domain) Alan kısıtları bir veya birkaç sütun ile ilişkilidir. Temel amaç sütunun ya da birkaç sütunun tanımlanan kritere uygun olmasıdır. Tabloya yeni satır eklendiğinde ya da var olan satırlardan birisi update edildiğinde kısıt gerekli kontrolü yapar.

47 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Tanımlamalı veri bütünlüğünün üç türü vardır: 2. Varlık Bütünlüğü (Entity) Varlık kısıtları satırlarla ilgilidir. Bu tarz kısıtlar tüm sütunu dikkate almak yerine özellikle tek bir satır ile ilişkilidir. Bir satırın bir kolonundaki bilginin diğer hiç bir satırda bulunmaması garanti altına alır.

48 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Tanımlamalı veri bütünlüğünün üç türü vardır: 3. Referans Bütünlüğü (Referential) Bir sütundaki bilginin diğer bir sütun ile eşleşmesi zorunluluğunu sağlayarak bütünlüğü korur. Eşleşen sütunlar farklı iki tablonun sütunları olabileceği gibi aynı tablonun sütunları da olabilir.

49 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Tanımsal Bütünlük TürleriYöntemler Alan Bütünlüğü(Domain)Check Constraint Default Constraint Primary ve Foreign Key Constraint çifti Varlık Bütünlüğü (Entity)Primary Key Constraint Unique Key Constraint Referans Bütünlüğü (Referential) Check Constraint Foreign Key Constraint

50 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Rule Check constraint ile aynı işi yapan kurallar oluşturulabilir. Constraint’ten farkı tablodan ayrı bir nesne olarak oluşturulmasıdır Bu nedenle oluşturulduktan sonra hangi tablonun hangi sütunu ile ilişkili olduğu belirtilmek üzere bağ kurulmalıdır.

51 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Default Default nesnesi default constraint ile aynı işleve sahiptir. Constraint’ten farkı ayrı bir nesne gibi derlenmesidir. Default nesnesine destek verilmesinin nedeni geriye dönük uyumluluğu sağlamak içindir.

52 V ERI B ÜTÜNLÜĞÜNÜ SAĞLAMA YÖNTEMLERI Veri bütünlüğü ne kadar alt katmanda çözülürse o kadar iyi olur Veri Bütünlüğü sağlama yöntemleri Kısıtlar (constraint) Default ve rule Trigger Stored procedure veSQL server dışından performansfonksiyonellik


"V ERI B ÜTÜNLÜĞÜ Sibel SOMYÜREK. V ERI B ÜTÜNLÜĞÜ Veri bütünlüğü nedir?" indir ppt

Benzer bir sunumlar


Google Reklamları