Kategoriler


SON YORUMLAR
dinozorunsesi
ne yapsam bilemiyorum galiba mühendis olacağım
kelmamut
tatar ramazan karı ve iş bulamayan ezik bi orosbu çocuğusun az ötede ağla derdin zengin olmaksa mühendislk değil tıp okucaktın yanlış okumuşşun karı kızsa derdin gidip pezevenklik yapacaksin mühendislikle alakası yok senin hayatın kaymış olm benim dayım bilgisayar müh kocaeli mezunu amerikada paraları götürüyo 10k dolar maaşla sen anca ağla ezik orospu çocuğu
disko_anksiyete
dalga gectigin kamyon soforleri asgari ucretin cok ustunu aliyorlar ve is bulma sorunlari yok :D aynisini yazilim sektoru ve bilgisayar muhendisligi icin soyleyebilir misin? 4 sene okuyup lisans diplomani aldiktan sonra yurtdisindaki sirketlerde calisabilecek nitelikte olmayacaksin, yurticindekiler de asgari ucretten ya da hatta staj ucretinden baslatip amina koyacaklar, haftasonunu bile sikip atacaklar :D aptal pic seni.
Eray
Java, C ve C++ dillerindeki programlama sorularının çözümlerinde ve projelerinde hızlı ve nitelikli bir şekilde yardımcı olabilirim. Projenin başarılı bir şekilde çalışacağını garanti ederim.
Eray
AA ile geçtiğim ve sizin de yüksek notlar alacağınızı garanti ettiğim programlama dersleri için JAVA, C ve C++ programlama dillerinde özel ders verebilirim. Aynı zamanda lablarınıza, ödevlerinize hazırlanmanız için örnekler çözüp online eğitim sürecinde size destek olabilirim. Whatsapp: 05424280350
Çınar Kılınç
Ufhgry
kamyoncu bilgisayar mühendisi
@disko_anksiyete ben bu yorumdan sonra kamyon şoförlüğüne başladım arkadaşlar hakkınızı helal edin...:(
siber
hocam şu yorum sistemine bi authentication ekleyin ya da onay sürecinden geçsin bali, nokta diye mesaj atan var, 100 kere reklam veren var.
someone
Kısa ve öz bir yazı olmuş.Bunun avantajı ise az çok kafasında soru işareti bulunan birisi uzun uzadıya giden yazılarla vakit kaybetmeden hızlı bir şekilde sorularına yanıt bulabilir.Teşekkürler.
disko_anksiyete
Tatar Ramazan her açıdan haklı, sizi çıldırtan da bu sanırım. Ülkede 1 yılda bu sektörde kaç tane önlisans ve lisans mezunu çıktığını hesaplayın. Piyasadaki iş ilanlarına göz atın, 30 tane teknoloji bilen insan üstü programcı arayan gerçekçilikten uzak ilanlara bile 5.000 üzeri insan başvuruyor çaresizlikten, işsizlikten ve yeteneklerini, bilgisini değerlendirebilme ümidi ile. Ve çalıştıkları maaşlar hakkındaki bilgiyi de zaten devletin belirlediği minimum mühendis maaşına göz atarak aşağı yukarı anlayabilirsiniz, iddialı ya da hayat idame ettirecek sayılarda maaşlar kesinlikle verilmiyor. "Ben girişimci olurum, hayalimdeki uygulamayı yapacğaım ve milyonlar kazanacağım görürsünüz ulan!" fikrine de sıkı sıkıya bağlanmış olabilrsiniz ancak, görmüş olduğunuz o popüler uygulamalar ve getirileri absürt derecede nadir ihtimallere dayalı Yemeksepeti.ni, getir.i görüp gaza gelip kendi milyon dolarlık uygulamanızı yapabileceğiniz olası gelebilir ancak, peki yıllar boyu üstünde çalışılıp kimsenin kullanmadığı uygulamalar, biten kariyerler, batan start-up.lar, edilen intiharlar? Yurtdışına gitmeyi de unutun. Yurtdışındaki eğitim standartları ve mühendis standartları ülkemizdeki ile kıyaslanamaz bile. Bize 4 yılda öğretilmeyen, hatta adı bile sunulmayan teknolojileri adamlar 1 sömestırda uygulamalı öğreniyor. Yani hiçbir Avrupa firmasının, 3. dünya ülkesindeki bilmemne üniversitesinden mezun bir mühendise ihtiyacı yok, ki ihtiyaçlarını karşılayamacağınızdan da eminim. Burada gelip yazılımcı maaşını savunanlar ya tuzu kuru, torpilli orospu evlatlarıdır, hani var ya o görmüş olduğunuz kullanmış olduğunuz bozuk sikten uygulamaları ve siteleri geliştiren eğitimsiz şempanzeler ordusu, heh onlar. Ya da, daha üniversite öğrencisi olup beyni yıkanmış, hayatında bu meslekten 5 kuruş kazanmamış ama bir anda milyonlar kazanacağı ıslak rüyasını aklından bir anlığına ayırmayan embesil Türk üniversite öğrencileridir. Sektör zor, yeteri kadar ödüllendirici değil hatta iş bile bulunamıyor şu an bulunduğumuz noktada. "Kendini geliştir" diyen sakatlar için de, ileri düzey İngilizce bilen ve nesne tabanlı programlama dillerinde (Java, C#) çeşitli alanlarda çalışmış birisi olarak (game development, desktop app development) bunları yaşadım, bunları savunuyorum. Aksini savunuyorsan bırak bakalım Linkedin profilini de başarılı bilişimci görüp feyz alalım değil mi? İşkembeden herkes sallar, herkesin kafasında bir kariyer planı vardır. Önemli olan gerçekleri hayallerden ayırt edebilmek. Ne kadar para kazanmaya istekli olduğunuz inanın, hiç sikimde değil. Aldığını sanmış olduğunuz eğitim de sizi zorluyor olabilir ama kafanızı kumdan çıkartıp globalde yapılan işlere, global kalitede programcılara göz atın. Sonra da siktirin gidin.
ramazansavar
ya ramazan ne 10 programı biliyon da kim seni takmıyor, detaylı açıkla bakalım.
Tatar Ramazan
Zavallı mühendisler en zavallıları da sizsiniz. Eniştem muhasebecikilten sigortacılıktan bi ton para kazanıyor siz 8-10 bin tl.ye talim ediyorusunuz. O da canınızı çıkartıyorlar. Müdürler bağırıp çağırıyor size. Millet tatil yerlerinde bahşişlerle iyi para kazanıyor karılarla alem yapıyor. Adam ev aldı karı aldı antalyada. Siz de firmalara eşeklik yapın. Stres sıkıntı çekin. Bi bok yok bu meslekte mezun olunca görürsünüz. 12 yıl deneyimliyim. 10 teknoloji biliyorum 10 bin tl bile vermiyorlar. Lanetli bilişim sektörü. Adaletsizlik saçmalık sıkıntı had safhada. Yazacam madde madde hepsini bekleyin.
Tatar Ramazan
Zavallı mühendisler en zavallıları da sizsiniz. Eniştem muhasebecikilten sigortacılıktan bi ton para kazanıyor siz 8-10 bin tl.ye talim ediyorusunuz. O da canınızı çıkartıyorlar. Müdürler bağırıp çağırıyor size. Millet tatil yerlerinde bahşişlerle iyi para kazanıyor karılarla alem yapıyor. Adam ev aldı karı aldı antalyada. Siz de firmalara eşeklik yapın. Stres sıkıntı çekin. Bi bok yok bu meslekte mezun olunca görürsünüz. 12 yıl deneyimliyim. 10 teknoloji biliyorum 10 bin tl bile vermiyorlar. Lanetli bilişim sektörü. Adaletsizlik saçmalık sıkıntı had safhada. Yazacam madde madde hepsini bekleyin.
EsMer
Bence çok mantikli.

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üğü)
Java'nın kurucusu Google'a transfer oldu
Bilgisayar Mühendisleri Kaç Para Alır?
Transact-SQL - T-SQL - SQL NEDİR?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Şehir dışında okumak
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Sizden gelen sorulara kısa kısa cevaplar
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisleri Kaç Para Alır?
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Para ile ödev yapmak üzerine

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-2020. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.