Kategoriler


SON YORUMLAR
Barış Meral
Merhaba ben Barış M. Java SE ve EE geliştiricisiyim. Her türlü seviyeye uygun bitmiş halde olarak, C, C++, C# ve java ile ilgili projeler/ödevler yapılır. bunun yanında Veritabı olarak, MySQL,MSSQLServer, Access ve SQLite etkili kullanıyorum.Web Bölümü için HTML5,CSS3,JavaScript yapılarına hakimim, BackEnd Olarak JSP kullanıyorum her türlü soru için posta adresim: barismeral.net@hotmail.com
Kanaatkar
Yeter Allah bin bereket vesin
Mehmet çalışakn
Amını yirin 5 milyar bana yetmez.
Tamer
Bilgisayar muhendisi aklımda her zaman yer edinmistir ancak gerek ailem gerek cevremdeki insanlar olsun bilgisayar muhendisi cok var okuyup da tamirci olan var gibi bissürü seyler duyuyorum. Hevesim tamamiyle kaciyor
Kaan
Saü bilgisayar mühendisliğinde okuyorum birkaç dersten mezuna kaldım. Java, Android, C++, Web programlama ödevlerinizde yardımcı olabilirim. Geçmişte yaptığım projelerden birkaç tanesini https://github.com/kaan8792 adresinden inceleyebilirsiniz.Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. İletişim için; Mail: kaan8792@gmail.com | Whatsapp: 05428339141
ömer Faruk
bende sayenizde bilgisayar mühendisin olacak kwrarlaştım saynizde teşekkürler
Nesimi
Çok samimi ve gerçekçi.
Can
bende yazı yazıyorum ama gec okunuyor acaba neden kaynaklanıyor. http://www.seslidunyasohbet.com
yazilimci
Java, C/C++, python, perl vs ve bilgisayar müh. derslerinizin ödevleri garantili yapılır, geçen sene olduğu gibi yazilimcialper@gmail.com , yazilimcialper@gmail.com
ihsan bulut
ANDROİD - JAVA - PYTHON - C - C++ GİBİ YAZILIM ALANLARINDA RASPBERRY Pİ - ARDİUNO GİB DONANIM ALANLARINDA HER TÜRLÜ ÖDEV VE PROJE HAZIRLANIR. İLETİŞİM :latifihsanbulut95@gmail.com MAİLLERE EN KISA ZAMANDA DÖNÜŞ YAPILIR.
Ezgi
merhaba, bilgisayar mühendisliği ile ilgilenen insanların zaman aşımına uğramış bilgilerle yanıltılmaması için yazının güncellenmesini öneriyorum. Günümüzde bilgisayar mühendisliği mezunu sayısını oldukça fazla ve popülerliği devam eden, yeni başlayan,çoktan tarihe karışmış teknolojiler var o günden bu güne.
Semih Bey
O kadar ağır bi aşağılık kompleksine kapılmışsın ki, yok "en iyi üniversite öğrencileri nerede,niye başvurmamış" yok "başka okullardaki öğrencileri küçümsersiniz ya" . Ya Allah aşkına Boğaziçi.den mezun olan İtü.den mezun olan adamların senin gibi böyle basit internet sitelerinde ilan vermesini mi bekliyon? Adamlar girip amazon.da, microsoft.ta projede çalışıyorlar, sen gelmiş böyle ucuz bi sitede aklınca onlara laf atmaya çalışıyon. İyi bi üniversite kazanamamışsan bu senin sorunun olum..Kurtul şu kompleksinden.
ömer
bende bilgisayar mühendisi olacam.
Kaan
Saü bilgisayar mühendisliğinde okuyorum birkaç dersten mezuna kaldım. Java, Android, C++, Web programlama ödevlerinizde yardımcı olabilirim. Geçmişte yaptığım projelerden birkaç tanesini https://github.com/kaan8792 adresinden inceleyebilirsiniz.Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. İletişim için; Mail: kaan8792@gmail.com | Whatsapp: 05428339141

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
Oracle - Data Integrity (Veri Bütünlüğü)
2016 ekonomik krizi
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Para ile ödev yapmak üzerine
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Neden yazılım uzmanı olamayacağınızın 10 kanıtı?
DataGrid ve GridView Kontrollerinde Görünmez Kolonlar
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisi olmanın 10 iyi yönü.
Yazılım Mühendisliği ve Bilgisayar Mühendisliği arasındaki farklar
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?

Bilgisayar Mühendisleri Portalı

Oracle - Data Integrity (Veri Bütünlüğü)

 

Uygulamalarımızda veri bütünlüğümüzü sağlamak, bozuk tutarsız verilerin girişini ya da mevcut bilgilerin üzerinde değişiklik yaparken bozulmasını engellemek isteriz.Bunu sağlamak için önceden bir takım kurallar tanımlamak durumundayız.Bunu aşağıdaki gibi bir örnekle kısaca açıklayalım :

integrity

“emp” tablosunda çalışan bilgileri , “dept” tablosunda da çalışılan bölüm bilgileri tutulmaktadır.EMP tablosunda empno alanının tek olması, ename alanının boş olmaması, sal alanını 10.000 den küçük olması, deptno alanının dept tablosunda muhakkak bir karşılığının olması, dept tablosunda da dname alanının dolu olması şartlarını sağlamak isteyebiliriz.Tüm bunlar verimizin bütünlüğünü ve tutarlılığını garanti altına almak için konulan kurallardır.
Veri tutarlılığını, bütünlüğünü sağlamak için kullanılan kuralları aşağıdaki gibi özetlemek mümkün :

NULL Kuralı(NULL Rule) : Bir kolon üzerinde update ya da insert işlemi olduğunda bu kolonun NULL olabilir ya da NULL olamaz kontrolüdür.

Tek değerli Kolon Kuralı (Unique Column Rule) : Bu kural ile bir kolonun (ya da kolon grubunun) tek bir deger alması sağlanabilir. Anahtar Değer Kuralı(Primary Key Rule) : Bir tabloda anahtar değer olarak tek değer içermesi istenen kolon ya da kolonlar grubudur.

Referential Integrity Rules : Kısaca , bir kolonun karşılığının diğer bir tabloda bulunması zorunluluğudur.Kendi içinde çeşitleri vardır.Referans olan verinin silinmesi ya da değişirilmesini engelleyebilir, update edildiğinde ya da silindiğinde NULL a set edilmesini sağlayabilir , bu verinin silinmesi ya da değiştirlmesi durumunda cascade olarak bağlı tüm verinin silinmesini ya da değiştirilmesini sağlayabilirsiniz.Özellikle “Referential Integrity” en cok kullanılan kurallardandır.

Oracle ın desteklediği kurallar aşağıdaki şekilde özetlenebilir :
         NOT NULL kısıtı (constraint)
         UNIQUE kısıtı (constraint)
         PRIMARY KEY kısıtı (constraint)
         CHECK kısıtı (constraint) à Karmaşık kurallar içeren kısıtlarda kullanılır.
         FOREIGN KEY kısıtı (constraint).Bu kısıt aynı zamanda Referential Integrity kapsamındadır.Bunun içersinde update,delete no action – delete cascade ve delete set null özellikleri bulunur.

Şimdi bunları daha detaylı olarak inceleyelim :
 

NOT NULL integrity constraint : Bu kısıt ile bir kolonun muhakkak bir deger almasını sağlayabiliriniz.Bunu tablo olustururken ya da tablo oluşturduktan sonra ALTER TABLE ile sağlayabilirsiniz :
Create table t (id number,
  str varchar2 not null);
Alter table t modify str null;
 

UNIQUE key integrity constraint : Bu kısıt ile bir ya da daha fazla kolonu içine alacak şekilde aynı tabloda bu kolon ya da kolonların birlikte aynı değeri alan 2. bir kayıt olması engellenmiş olur.
Ektradan NOT NULL kısıtı olmadıgı sürece uniqueu key kısıtında null değer girilebilir. Bunu tablo olustururken ya da tablo oluşturduktan sonra ALTER TABLE ile sağlayabilirsiniz ya da kaldırabilirsiniz.(Birden fazla kolon üzerinde oluşturulursa “composite unique key” denir.)

Create table t (id number,
  str varchar2
  unique str);

Alter table t drop constraint sys_c001463;

Alter table t add  constraint t_str_uni;

Bu kısıt oluşturuldugunda oracle unique index oluşturur.
 

Primary key integrity constraint :  Unique key kısıtına benzese de farklıdır.Primary key null deger alamaz ve tablo da en fazla bir tane primary key kısıtı olabilir.Ortak ozelliği tanımlı kolon ya da kolonlar için aynı degerde satırlar olamaz.

Create table t(id number primary key,Str varchar2)

Primary key oluşturma durumunda T tablosunda id kolonu için hem unique index oluşturulur hem de id kolonu için not null kısıtı oluşturulur.
 

Referential Integrity Constraints : Öncelikle aşağıda geçen terimleri iyi anlamak gerekiyor.
Foreign key : Kolon ya da kolonlar grubu olabilir.Referans verilen anahtarı(refrenced key) gösterir.
Referenced key : Foreign key tarafında referans verilen aynı ya da farklı tablodaki primary key ya da unique keylerdir.
(Depended = child ) table : foreign key barındıran tablodur.
(Referenced = parent) table : foreign key in gösterdiği alanın bulundugu tablodur.

Foregin key parent tabloda bir parent key ile eşleşmelidir.Ama not null kısıtı yok ise NULL değer içerebilir.Parent tablo ile child tablonun aynı da olabilir.(Self Integrity Constraints) Referenced parent key değeri üzerinde bir değişiklik ya da silinme durumu olduğunda otomatik olarak bazı işlemlerin yapılması sağlanabilir.Referenced parent key silinme teşebbüsünde varsayılan olarak buna izin verilmez.Ama delete cascade opsiyonu ile parent tabloda bulunan değer silinince child tabloda bulunan bu değerdeki tüm kayıların silinmesi sağlanabilir ya da NULL değer verilebilir.

Parent key hiç bir zaman update ya da delete görmüyorsa index konulmaz, diğer durumlarda foreign key üzerinde index oluşturmalıdır.Index olmadıgı durumda parent tablo uzerinde yapılan bir update işleminde tüm child tabloya lock konulması soz konusu olacaktır.Bu da child tablo üzerinde yapılacak DML işlemlerinin bekletilmesi anlamına gelecektir.
 

Check integrity constraints : Kolon ya da kolonlar üzerinde belli bir durumu sağlayıp sağlamaması durumuna göre konulan kısıtlardır.Bazı koşulları sağlaması gerekir.Şöyleki check kısıt view lar üzerinde tanımlanamaz, boolean bir değer üretmelidir, subquery ve sequence içeremez, sysdate gibi SQL fonksiyonları kullanılamaz, level – rownum gibi pseudocolumn lar içeremez.Örnekler :

CREATE TABLE suppliers (
supplier_id numeric(4),
supplier_name varchar2(50),
CONSTRAINT check_supplier_id CHECK (supplier_id BETWEEN 100 and 9999)
);

CREATE TABLE dept(
   deptno NUMBER(2) CONSTRAINT pk_dept PRIMARY KEY,
   CONSTRAINT ck_deptno CHECK (deptno BETWEEN 10 and 99),
   dname VARCHAR2(9),
   CONSTRAINT ck_dname CHECK (dname=UPPER(dname)),
   loc VARCHAR2(10) CONSTRAINT ck_loc CHECK (loc IN(’DALLAS’,’BOSTON’,’CHICAGO’))
)

CREATE TABLE emp (
   empno NUMBER(4) CONSTRAINT pk_emp PRIMARY KEY,
   ename VARCHAR2(10),
   job VARCHAR2(9),
   hiredate DATE,
   sal NUMBER(7,2),
   comm NUMBER(7,2),
   deptno NUMBER(2),
   CONSTRAINT fk_deptno FOREIGN KEY (deptno) REFERENCES dept(deptno),
   CONSTRAINT ck_total CHECK (sal + comm <=5000)
)

NOT :
1) Tüm bu kısıtlar Oralce SQL i çalıştırdıktan sonra kontrol edilir.

2) Kolonların varsayılan değerleri bir insert gibi işlem görür ve tüm kısıtlara tabidirler.

 Hakkı Oktay
http://hakkioktay.wordpress.com

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın




Copyright© 2001-2019. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.