Veri Bütünlüğü Sibel SOMYÜREK.

Slides:



Advertisements
Benzer bir sunumlar
ÖRNEK BİR VERİTABANI TASARIMI VE NORMALİZASYONU
Advertisements

VERİ TABANI VE YÖNETİM SİSTEMLERİ
Veri Tabanı Tasarlama İlk kuralımız, olabildiğince bilgileri parçalamaktır.
4 SQL- Yapısal Sorgulama Dili
Tablo oluşturma İlk olarak tabloları oluşturmamız gerekli..
SQL Structured Query Language
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
SQL (Structured Query Language)
Normalizasyon Kuralları & SQL
VERİ TABANI YÖNETİMİ Ders 10: Oracle Nesneleri
İLİŞKİSEL VERİ MODELİ Tablolar ile Gösterim
Veri tabanı bileşenleri
SQL de Değişken Tanımlama
SQL Komutlar 5 Sibel SOMYÜREK.
Varlık-İlişki Modeli Örneği
İndeksler Sibel SOMYÜREK.
Iletisim Icin : Blog : E - Mail :
İlişkisel Veri Modeli.
Veri Tabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
VERİ TABANI ve YÖNETİMİ
Veri Tabanı Yönetim Sistemleri
Veri Tabanı Yönetim Sistemleri
BÖLÜM 6 SQL SERVER KOMUTLARI.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
4 Veri Bütünlüğü ve Constraint’ler
VERİTABANI TEMEL KAVRAMLARI
VERİ TABANI VE YÖNETİM SİSTEMLERİ  Birincil Anahtar Türleri  Access Veri Tabanında Bulunan İlişkiler  İlişkileri Tanımlama Bir – Çok İlişkisi Çok –
Veritabanı Yönetim Sistemleri-I
MYSQL 4. HAFTA. mySQL veri türleri INTTamsayı: 'den kadar değişen diziye "signed" (işaretli), 0'dan 'e kadar değişenine.
VIEW (BAKIŞ) OLUŞTURMA
SQL Dili ve MySQL Komutları
SQL de Değişken Tanımlama
Temel Bilgi Teknolojileri 2
VERİTABANI ve YÖNETİMİ
Veritabanı Tasarımı ve Yönetimi
Veritabanı Kavramları
Veri Tabanı Yönetim Sistemleri 1 Ders 10 VTYS Yaşam Döngüsü ve DDL
SQL Sibel SOMYÜREK.
Veri Tabanı Yönetim Sistemleri 2 Ders 4 Oracle'da VT Nesneleri Yaratma
SQL Komutları (2) Uzm. Murat YAZICI.
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
Veri Tabanı Dersi 4. Laboratuvarı
SQL’ e Giriş Uzm. Murat YAZICI.
İLİŞKİSEL VERİ MODELİ Tablolar ile Gösterim
Bölüm 4: İleri SQL.
Veritabanı Kavramları
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
K ıSıT -V ıEW -S EQUENCE U NıON -I NTERSECTıON -E XCEPT E XıSTS -I N İbrahim Onur Sığırcı.
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Arş. Gör. Pınar CİHAN.
Altıncı hafta. Müfredat programı Ödev teslim edenler Mantıksal tasarım ödevini teslim edenler: Belediye Projesi Valilik Projesi Mekan Projesi Konaklama.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
 Stored Procedure kısaca SQL sorgularını isteğimize göre hazırlayıp kullanıma hazır veri tabanı nesnesine çeviren bir araçtır.  Stored Procedure, Türkçeye.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Constraint-View-Sequence Union-Intersection-Except Exısts-In Arş. Gör. Pınar CİHAN.
BÖLÜM 9 VERİ TABANI NESNELERİ.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
TETİKLEYİCİ ( Trigger)
İNDEKS.
SQL Veri Tipleri.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
DML ile veri ekleme, silme ve değiştirme
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
SQL Server - Triggers.
SQL Server - Stored Procedures
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
Sunum transkripti:

Veri Bütünlüğü Sibel SOMYÜREK

Veri Bütünlüğü Veri bütünlüğü nedir?

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

Veri Bütünlüğü Veri bütünlüğü, verinin doğruluğunu ve tutarlılığını anlatmaktadır.

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

Veri Bütünlüğü Veri bütünlüğü, verinin Doğru olmasını Tam olmasını ve tutarlılığını anlatmaktadır.

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

Veri Bütünlüğünü sağlama yöntemleri Veri tabanı yönetim sistemlerinde veri bütünlüğü hangi yollarla sağlanabilir?

Veri Bütünlüğünü sağlama yöntemleri VTYS’de veri bütünlüğünü iki yöntemle sağlanabilir Tanımlanabilir veri bütünlüğü Prosedürel (Programsal) veri bütünlüğü

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

Veri Bütünlüğünü sağlama yöntemleri Tanımlanabilir veri bütünlüğü Constraint’ler (kısıtlayıcılar), Rule’lar (kurallar) ve Default’lar (varsayılanlar)

Veri Bütünlüğünü sağlama yöntemleri Prosedürel veri bütünlüğü Trigger (tetikleyici) Stored Procedure (saklı yordam)

Veri Bütünlüğünü sağlama yöntemleri Prosedürel veri bütünlüğü Trigger (tetikleyici) Stored Procedure (saklı yordam)

Veri Bütünlüğünü sağlama yöntemleri Constraint’ler (kısıtlayıcılar) Primary Key Constraint Unique Constraint Check Constraint Default Constraint Foreign Key Constraint

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

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

Veri 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));

Veri 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));

Veri 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));

Veri 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

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

Veri 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) );

Veri 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) );

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

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

Veri 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) );

Veri 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')) )

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

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

Veri 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) );

Veri 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.ö

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

Veri 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 );

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

Veri 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) );

Veri 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

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

Veri 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 );

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

Veri 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 );

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

Veri 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 );

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

Veri 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 )

Veri Bütünlüğünü sağlama yöntemleri Tanımlamalı veri bütünlüğünün üç türü vardır: Alan Bütünlüğü(Domain) Varlık Bütünlüğü (Entity) Referans Bütünlüğü (Referential)

Veri Bütünlüğünü sağlama yöntemleri Tanımlamalı veri bütünlüğünün üç türü vardır: 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.

Veri Bütünlüğünü sağlama yöntemleri Tanımlamalı veri bütünlüğünün üç türü vardır: 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.

Veri Bütünlüğünü sağlama yöntemleri Tanımlamalı veri bütünlüğünün üç türü vardır: 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.

Veri Bütünlüğünü sağlama yöntemleri Tanımsal Bütünlük Türleri Yö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) Foreign Key Constraint

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

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

Veri 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 performans fonksiyonellik