Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanBelgin Özen Değiştirilmiş 9 yıl önce
1
K ıSıT -V ıEW -S EQUENCE U NıON -I NTERSECTıON -E XCEPT E XıSTS -I N İbrahim Onur Sığırcı
2
İ LIŞKI T ABLOLARı idfnamelnamebdate 12501105AhmetDemir1994 15011607MehmetBakır1997 12011031AyşeTunç1994 12011067FatmaGümüş1994 13011705AliTaş1995 codename BLM1551Bilgisayar Bilimleri - 1 BLM1541Olasılık ve İstatistik BLM2501Assembly Dili BLM3561İşletim Sistemleri BLM4581Veri İletişimi student course codeid BLM155112501105 BLM155115011607 BLM155112011031 BLM154112011031 BLM154112011067 BLM250112501105 BLM356115011607 BLM458112011067 BLM458113011705 take
3
CREATE TABLE team ( tnumber numeric(2), tname varchar(15) ); Ö RNEK İ LIŞKI T ABLOSU employee team team_employee FNAME* VARCHAR(15) MINIT VARCHAR(1) LNAME* VARCHAR(15) SSN* CHAR(9) BDATE DATE ADDRESS VARCHAR(50) SEX CHAR(1) SALARY NUMERIC SUPERSSN CHAR(9) DNO NUMERIC TNUMBER* NUMERIC(2) TNAME VARCHAR(15) TNO NUMERIC(2) ESSN CHAR(9) PLAY_TIME NUMERIC(2) CREATE TABLE team_employee ( tno numeric(2), essn char(9) play_time numeric(2) );
4
CREATE TABLE team ( tnumber numeric(2), tname varchar(15) CONSTRAINT pk_team PRIMARY KEY (tnumber) ); C ONSTRAıNT (S ıNıRLAMA ) team team_employee TNUMBER* NUMERIC(2) TNAME VARCHAR(15) TNO NUMERIC(2) ESSN CHAR(9) PLAY_TIME NUMERIC(2) CREATE TABLE team_employee ( tno numeric(2), essn char(9), play_time numeric(2), CONSTRAINT pk_team_employee PRIMARY KEY (tno, essn), CONSTRAINT fk_team FOREIGN KEY (tno) REFERENCES team (tnumber) ON DELETE CASCADE, CONSTRAINT fk_emp FOREIGN KEY (essn) REFERENCES employee (ssn) ON DELETE CASCADE, CONSTRAINT play_time_ck CHECK (play_time>13) );
5
C ONSTRAıNT (S ıNıRLAMA ) CONSTRAINT isim PRIMARY KEY (sütunlar) CONSTRAINT isim FOREIGN KEY (sütun) REFERENCES tablo (sütunun bu tablodaki adı) CONSTRAINT isim FOREIGN KEY (sütun) REFERENCES tablo (sütunun bu tablodaki adı) ON DELETE CASCADE CONSTRAINT isim CHECK (şart) ALTER TABLE tablo DROP CONSTRAINT isim
6
V ıEW Sorgu sonucunda oluşan sanal tabloların belli bir isimle saklanmasını ifade eder. SELECT sütunlar FROM tablolar WHERE şart CREATE VIEW view_ismi AS
7
Ö RNEK SELECT fname, salary FROM employee WHERE salary BETWEEN 20000 AND 40000 * Maaşı 20000 ile 40000 arasında olan çalışanların isimlerini ve maaşlarını gösteren bir view yazınız. CREATE VIEW maas_araligi AS NOT: employee tablosundan bu view’ı etkileyen bir bilgi sildiğimizde view otomatik olarak güncellenir.
8
Ö RNEK SELECT fname, lname, sex FROM employee e, department d WHERE e.dno = d.dnumber AND d.dname=‘Sales’ * «Sales» departmanında çalışanların ad, soyad ve cinsiyetlerini gösteren bir view yazınız. CREATE VIEW sales_calisanlari AS NOT: View aşağıdaki gibi gösterilir. SELECT * FROM sales_calisanlari
9
S EQUENCE Belirli şartlarda nümerik diziler oluşturmaya yarar. CREATE SEQUENCE isim [ INCREMENT BY #] [ START WITH #] [ MAXVALUE # | NOMAXVALUE ] [ MINVALUE # | NOMINVALUE ] [ CYCLE | NO CYCLE ] [ CACHE #] CREATE SEQUENCE seq INCREMENT BY 2 START WITH 5 MAXVALUE 21 NO CYCLE 5, 7, 9, 11, 13, 15, 17, 19, 21
10
S EQUENCE Sequence hakkında bilgi almak için; SELECT * FROM sequence_ismi INSERT INTO team VALUES ( nextval(‘seq’), ‘Bizim Takım’)
11
I NTERSECT / U NıON / E XCEPT 1. Sorgu ( INTERSECT / UNION / EXCEPT ) 2. Sorgu * «OperatingSystems» isimli projede çalışanların ve «Software» departmanında çalışanların ad, soyad bilgilerini bulunuz. SELECT fname, lname FROM employee e, project p, works_on w WHERE e.ssn = w.essn AND p.pnumber=w.pno AND p.pname = ‘OperatingSystems’ SELECT fname, lname FROM employee e, department d WHERE e.dno = d.dnumber AND d.dname = ‘Software’ INTERSECT
12
Ö RNEK * «OperatingSystems» isimli projede çalışanların veya «Software» departmanında çalışanların ad, soyad bilgilerini bulunuz. SELECT fname, lname FROM employee e, project p, works_on w WHERE e.ssn = w.essn AND p.pnumber=w.pno AND p.pname = ‘OperatingSystems’ SELECT fname, lname FROM employee e, department d WHERE e.dno = d.dnumber AND d.dname = ‘Software’ UNION
13
Ö RNEK * «OperatingSystems» isimli projede çalışanların ama «Software» departmanında çalışmayanların ad, soyad bilgilerini bulunuz. SELECT fname, lname FROM employee e, project p, works_on w WHERE e.ssn = w.essn AND p.pnumber=w.pno AND p.pname = ‘OperatingSystems’ SELECT fname, lname FROM employee e, department d WHERE e.dno = d.dnumber AND d.dname = ‘Software’ EXCEPT
14
Ö RNEK – E XıSTS / N OT E XıSTS * Herhangi bir departmanın yöneticisi olmayan ve herhangi bir kişinin amiri olmayan (hiyerarşinin en altındaki) çalışanların ad, soyadlarını bulunuz. SELECT fname, lname FROM employee e WHERE NOT EXISTS ( SELECT null FROM deparment d WHERE d.mgrssn = e.ssn ) AND NOT EXISTS ( SELECT null FROM employee e2 WHERE e2.superssn = e.ssn )
15
Ö RNEK – I N * İsmi «John» olan çalışanların çalıştıkları departmanların isimlerini IN kullanarak bulunuz. SELECT dname FROM department WHERE dnumber IN ( SELECT dno FROM employee WHERE fname = ‘John’ )
16
Ö RNEK – F ONKSIYONLAR * «Sales» departmanında kaç kişinin çalıştığını, toplam maaşlarını, en yüksek maaşı, en düşük maaşı ve ortalama maaşı bulunuz. SELECT count(*), sum(salary), max(salary), min(salary), avg(salary) FROM department d, employee e WHERE d.dnumber = e.dno AND d.dname = ‘Sales’
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.