ORACLE SQL DEVELOPER DATABASE – 2

Temmuz 8, 2020 0 Yazar: alikperislam

/* İLİŞKİSEL OPERATÖRLER – RELATİONAL OPERATORS ” = < > <= >= ” / / WHERE ANAHTARINI KULLANICAZ.*/

CREATE TABLE iliskisel(
isim varchar2(25),
maas number(4)
);
INSERT INTO iliskisel VALUES(‘UZAY’,5698);
INSERT INTO iliskisel VALUES(‘MEHMET’,2000);
INSERT INTO iliskisel VALUES(‘EMRAH’,800);

SELECT * FROM iliskisel WHERE maas>1000; /* MAAŞI 1000 DEN BÜYÜK OLANLAR GÖRÜNECEK SADECE.*/
SELECT * FROM iliskisel WHERE isim=’UZAY’; /* ismi uzay’a eşit olan. */

/* ilişkisel operatörlere örnek uygulama */

CREATE TABLE İLİSKİSEL2(
İSİM VARCHAR2(25),
SOYİSİM VARCHAR2(25),
NUMARA CHAR(11));

INSERT INTO İLİSKİSEL2 VALUES(‘LONDON’,’DONAVAN’,05387896450);
INSERT INTO İLİSKİSEL2 VALUES(‘JOHN’,’WİCK’,321544986);
INSERT INTO İLİSKİSEL2 VALUES(‘CENGİZ’,’AYTMATOV’,51);

SELECT İSİM,SOYİSİM,NUMARA FROM İLİSKİSEL2 WHERE İSİM = ‘CENGİZ’ AND NUMARA<52; /* AND DEDİĞİMİZ İÇİN HER İKİSİDE OLMALI EĞER SADECE OR DESEYDİK İKİSİNDEN BİRİ BİLE OLSA KABUL EDERDİ.*/

/* SPECİAL OPERATOR – (BETWEEN) ARALIK OPERATÖRÜ, WHERE ANAHTAR KELİMESİ İLE KULLANILAMKTADIR. */

CREATE TABLE FARE(
İSİM VARCHAR2(25),
MAAS NUMBER(5)
);

INSERT INTO FARE VALUES(‘UZAY’,5367);
INSERT INTO FARE VALUES(‘TAHA’,7000);

SELECT * FROM FARE WHERE MAAS BETWEEN 6000 AND 7500; /* MAAS TAN SONRA BETWEEN DİYİP ARALIK VERİYORUZ AND OPERATÖRÜ İLE. */

/* ANLIK TARİHLERLE İLGİLİ BİR ARALIK UYGULAMASI */
CREATE TABLE ODEVV(
TARİH DATE
);

INSERT INTO ODEVV VALUES(’27-NİS-1964′);
INSERT INTO ODEVV VALUES(’27-MAY-1964′);

SELECT * FROM ODEVV WHERE TARİH BETWEEN ’26-MAY-1964′ AND ’30-HAZ-1964′;
SELECT * FROM ODEVV WHERE TARİH BETWEEN ’26-NİS-1964′ AND SYSDATE; /* GÜNÜMÜZDEKİ ANLIK TARİH. */

/* IN OPERATÖRÜ KULLANIMI. */

/* DROP TABLE personel; daha önceden kullanılmış bir tabloyu silme komutu.*/

CREATE TABLE DENEME0(
ADİ VARCHAR2(30),
MAAS NUMBER(5)
);

INSERT INTO DENEME0 VALUES(‘DENEME İSMİ’,5678);
INSERT INTO DENEME0 VALUES(‘DENEME İSİM222’,2457);

SELECT * FROM DENEME0 WHERE MAAS IN (5678,6000); /* MAAŞI 5678 OLAN VEYA 6000 OLANLARI GÖSTER DİYOR BU BİR ARALIK DEĞİL ASLINDA. */

/* IS NULL OPERATÖRÜ – BOŞ OLANLARI LİSTELER */

CREATE TABLE deneme001(
isim varchar2(30),
maas NUMBER(4)
);

INSERT INTO deneme001 (maas) VALUES (5000);

SELECT* FROM deneme001;

INSERT INTO deneme001 (isim,maas) VALUES(‘HÜSEYİN’,2547);

SELECT* FROM deneme001 WHERE isim IS NULL; /* İSME BOŞ DEĞER GİRİLENLERİ GÖSTERİYOR TABLODA SADECE BU SAYEDE. */

/* LİKE OPERATÖRÜ VE REGEX KULLANIMI / / VERİLERİMİZİ BELİRLİ KOŞULLARA GÖRE SEÇEBİLİYORUZ BU SAYEDE. */
CREATE TABLE deneme2(
isim NVARCHAR2(25),
maas NUMBER(4)

);
/*
% HERHANGİ BİR KARAKTER (X HARFİYLE BAŞLAYAN VERİLERİ ALIYOR.)
_ BİR ADET KARAKTER.
/ /
%A SONU A İLE BİTEN.
A% A İLE BAŞLAYAN ANLAMINDADIRLAR.
*/
INSERT INTO deneme2 VALUES(‘TAHA’,5000);
INSERT INTO deneme2 VALUES(‘FATİH SULTAN MEHMET’,1453);

SELECT * FROM deneme2 WHERE isim LIKE ‘F%’; /* FATİH SULTAN’I GÖSTERECEK */

SELECT * FROM deneme2 WHERE isim LIKE ‘%A’; /* SONU A İLE BİTENİ GÖRÜNTÜLEDİ BU SEFER. */

SELECT * FROM deneme2 WHERE isim LIKE’TAHA’; /* BİR KELİMEYİ KOMPLEDE YAZABİLİRİZ LIKE İLE. */

/* DATA INTEGRITY CONSTRAINTS – VERİ BÜTÜNLÜK KISITLAYICILARI. */

/* PRIMARY KEY, UNIQUE / / AYNI VERİLER BAZI SUTUNLARDA BULUNAMAZ YANİ HERKESİN TC NUMARASI FARKLIDIR… / / TC KİMLİĞE BOŞ DEĞER GİRİLMESİNE VE 11 DEN AZ RAKAMIN GİRİLMESİNİN ÖNÜNE GEÇİLMEK İÇİN MESELA… */

/*
CONSTRAINTS TYPE :
1- KEY :
SADECE BİREYSEL VERİLERİ KONTROL ETMEKTEDİR. (UNIQUE, NOT NULL, PRIMARY KEY)
2- DOMAIN :
(FOREIGN KEY-YABANCI ANAHTAR)
3- PREFERANTIONAL INTEGRITY :
*/

/* UNIQUE – BENZERSİZDİR AMA BOŞ DEĞER ALABİLİR.
PRIMARY KEY – HEM BENZERSİZDİR HEM DE BOŞ DEĞER ALAMAZ./ DROP TABLE ornek1; CREATE TABLE ornek1( calısanlar_id NVARCHAR2(100) PRIMARY KEY , isim NVARCHAR2(25) NOT NULL, / NOT NULL – BOŞ OLAMAZ ANLAMINDADIR İÇERİSİNE BİR VERİ GİRİLMESİ GEREKİYOR!!! / soyisim NVARCHAR2(25) NOT NULL, telefon CHAR(11) UNIQUE , / NUMBER OLARAKTA KULLANABİLİRDİK AMA GEREKMİYOR CHAR YETERLİ. / tc_numarasi CHAR(11) UNIQUE / HEM BOŞ OLAMAZ HEM DE BENZERSİZ. */

);
/* NOT —————- 1 TABLODA SADECE 1 TANE PRIMARY KEY KULLANILABİLİYOR.*/

INSERT INTO ornek1 VALUES(‘Ç1KŞ478İ9′,’UZAY’,’ILICA’,05374569812,12365478901);
/* INSERT INTO ornek1 VALUES(‘Ç1KŞ478İ9′,’ALİKPER’,”,1236478945,1364862); HATA VERECEK ÇÜNKÜ ÇALIŞAN_İD’Sİ AYNI OLAMAZ DEMİŞTİK PRIMARY KEY İLE */

/* CHECK – BİR SÜTUNA YERLEŞTİRİLECEKDEĞER ARALIĞINI KISITLAMAK İÇİN KULLANILMAKTADIR. */
DROP TABLE kontrol0;
CREATE TABLE tablo0(

id VARCHAR2(100) PRIMARY KEY,
isim NVARCHAR2(25) NOT NULL,
soyisim NVARCHAR2(25) NOT NULL,
numara CHAR(11) UNIQUE,
tc CHAR(11) UNIQUE ,
yas NUMBER(3) CHECK (yas>20) /* GİRİLECEK YAS 20 DEN BÜYÜK OLMALIDIR DİYORUZ YANİ BİR KOŞULLU DURUM VAR CHECK’TE. */

);

/* INSERT INTO kontrol VALUES (‘Ç1TK-79′,’ALİKPER’,’İSLAM’,11111111111,00000000000,19);HATA VERECEK ÇÜNKÜ 20 DEN BÜYÜK OLMALI YAŞ DEMİŞTİK CHECK İLE…
*/

CREATE TABLE denemeee(
yas NUMBER(2) CHECK(yas>20) /* GİRİLECEK DEĞER 20 DEN BÜYÜK OLMALI EĞER 20 DEN KÜÇÜK VEYA 20 YE EŞİT OLURSA HATA VERECEK… */
);

INSERT INTO denemeee VALUES(22); /* 22 OLARAK YAŞ DEĞERİNİ GİRECEK EĞER 20’DEN DAHA KÜÇÜK DEĞER GİRSEYDİK KABUL ETMEYECEKTİ… */

/* TABLOYA SONRADAN VERİ GİRİŞİ EKLEME VEYA TABLOYU DÜZENLEME İŞLEMİ : / ALTER TABLE tablo0 ADD CHECK (isim=’UZAY’); / İSİM EĞER UZAYSA EKLE KOMUTU… / ALTER TABLE tablo0 ADD CHECK(LENGTH(tc)=11); / TC NO 11 HANELİ OLMAK ZORUNDA DİYE KISITLAMA YAPMIŞ OLDUK VE TABLOMUZU TEKRARDAN DÜZENLEMİŞ OLDUK BU SAYEDE… */

INSERT INTO tablo0 VALUES (‘AS78LŞ3İ’,’UZAY’,’ILICA’,1111,0000,21); /* İSİM UZAY VE YAŞTA 20 DEN BÜYÜK OLDUĞU İÇİN EKLEDİ*/

/* INSERT INTO tablo0 VALUES (‘AS788LŞ3İ’,’ALİKPER’,’İSLAM’,11411,00050,21); HATA ALDIK ÇÜNKÜ İSİM UZAY OLARAK GİRİLMEDİĞİ İÇİN. */