Company DB / Örnekler İbrahim Onur Sığırcı
İlişki Tabloları id fname lname bdate code name code id student course 12501105 Ahmet Demir 1994 15011607 Mehmet Bakır 1997 12011031 Ayşe Tunç 12011067 Fatma Gümüş 13011705 Ali Taş 1995 code name BLM1551 Bilgisayar Bilimleri - 1 BLM1541 Olasılık ve İstatistik BLM2501 Assembly Dili BLM3561 İşletim Sistemleri BLM4581 Veri İletişimi student course code id BLM1551 12501105 15011607 12011031 BLM1541 12011067 BLM2501 BLM3561 BLM4581 13011705 take
Örnek *BLM1551 dersini alan öğrencilerin listesini bulan sorguyu yazınız. id 12501105 15011607 12011031 SELECT id FROM take WHERE code=‘BLM1551’
Örnek *BLM1551 dersini alan öğrencilerin isimlerini bulan sorguyu yazınız. fname Ahmet Mehmet Ayşe
SELECT * FROM take, student code id id fname lname bdate student.id BLM1551 12501105 15011607 12011031 BLM1541 12011067 BLM2501 BLM3561 BLM4581 13011705 id fname lname bdate 12501105 Ahmet Demir 1994 15011607 Mehmet Bakır 1997 12011031 Ayşe Tunç 12011067 Fatma Gümüş 13011705 Ali Taş 1995 student take student.id fname lname bdate code take.id 12501105 Ahmet Demir 1994 BLM1551 15011607 12011031 … Mehmet Bakır 1997 13011705 Ali Taş 1995 BLM4581
SELECT fname FROM take, student WHERE course=‘BLM1551’ student.id fname lname bdate code take.id 12501105 Ahmet Demir 1994 BLM1551 15011607 12011031 … Mehmet Bakır 1997 13011705 Ali Taş 1995 BLM4581 SELECT fname FROM take, student WHERE course=‘BLM1551’ AND take.id = student.id SELECT fname FROM take t, student s WHERE course=‘BLM1551’ AND t.id = s.id
Bilgisayar Bilimleri - 1 Örnek * «Ahmet» isimli öğrencinin aldığı derslerin isimlerini bulan sorguyu yazınız. name Bilgisayar Bilimleri - 1 Assembly Dili SELECT name FROM student, take, course
FROM student, take, course code id BLM1551 12501105 15011607 12011031 BLM1541 12011067 BLM2501 BLM3561 BLM4581 13011705 id fname lname bdate 12501105 Ahmet Demir 1994 15011607 Mehmet Bakır 1997 12011031 Ayşe Tunç 12011067 Fatma Gümüş 13011705 Ali Taş 1995 code name BLM1551 Bilgisayar Bilimleri - 1 BLM1541 Olasılık ve İstatistik BLM2501 Assembly Dili BLM3561 İşletim Sistemleri BLM4581 Veri İletişimi student course take SELECT name FROM student, take, course WHERE fname=‘Ahmet’ AND student.id = take.id AND take.code = course.code
Company Db (Şirket VeriTabanı) Bir şirkete ait, basit, örnek bir veritabanıdır. DDL (Tablo yapıları ile ilgili işlemler), webdeki dosyada «company-schema» dosyasında yer almaktadır. DML (Veri girme ile ilgili işlemler), webdeki dosyada «company-data» dosyasında yer almaktadır. Sonraki slaytlarda bu veritabanındaki tablolar incelenecektir:
«Department» Tablosu Şirketin bünyesindeki departmanların bilgilerini tutan tablodur. DNAME* DNUMBER* MGRSSN* MGRSTARTDATE Headquarters 1 888665555 1971-06-19 Administration 4 987654321 1985-01-01 Research 5 333445555 1978-05-22 Software 6 111111100 1999-05-15 Hardware 7 444444400 1998-05-15 Sales 8 555555500 1997-01-01 VARCHAR(25) NUMERIC CHAR(9) DATE
«Project» Tablosu Şirketin bünyesinde yürütülen projelerin bilgilerini tutan tablodur. PNAME* PNUMBER* PLOCATION DNUM* ProductX 1 Bellaire 5 ProductY 2 Sugarland ProductZ 3 Houston Computerization 10 Stafford 4 Reorganization 20 Newbenefits 30 OperatingSystems 61 Jacksonville 6 DatabaseSystems 62 Birmingham Middleware 63 Jackson InkjetPrinters 91 Phoenix 7 LaserPrinters 92 LasVegas VARCHAR(25) NUMERIC VARCHAR(15)
«Dept_Locatıons» Tablosu Şirket departmanlarının yerini tutan tablodur. DNUMBER* DLOCATION* 1 Houston 4 Stafford 5 Bellaire Sugarland 6 Atlanta Sacramento 7 Milwaukee 8 Chicago Dallas Miami Philadephia Seattle NUMERIC VARCHAR(15)
«Employee» Tablosu Şirket çalışanlarının bilgilerini tutan tablodur. FNAME* VARCHAR(15) MINIT VARCHAR(1) LNAME* VARCAHR(15) SSN* CHAR(9) BDATE DATE ADDRESS VARCHAR(50) SEX CHAR(1) SALARY NUMERIC SUPERSSN DNO
«Works_On» Tablosu Şirket çalışanlarının hangi projede kaç saat çalıştığını tutan tablodur. ESSN* PNO* HOURS 111111100 61 40 111111101 111111102 111111103 … CHAR(9) NUMERIC
«Dependent» Tablosu Şirket çalışanlarının aile bilgilerini tutan tablodur. ESSN* DEPENDENT_NAME* SEX BDATE RELATIONSHIP 123456789 Alice F 1978-12-31 Daughter Elizabeth 2057-05-05 Spouse Michael M 1978-01-01 Son 222222205 Chris 1969-04-19 … CHAR(9) VARCHAR(15) CHAR(1) DATE VARCHAR(8)
Örnek - 1 *5 numaralı departmanda çalışan işçilerin ad, soyad bilgilerini listeleyen sorguyu yazınız. FNAME LNAME Franklin Wong John Smith Ramesh Narayan Joyce English SELECT fname, lname FROM employee WHERE dno=5
Örnek - 2 * «Jared James» isimli çalışanın departman ismini bulan sorguyu yazınız. DNAME Software SELECT dname FROM employee, department WHERE fname=‘Jared’ AND lname=‘James’ AND dno = dnumber
Örnek - 3 *Satış (Sales) departmanının hangi şehirlerde ofisi olduğunu bulan sorguyu yazınız. DLOCATION Chicago Dallas Miami Philadephia Seattle SELECT dlocation FROM department d, dept_locations dl WHERE dname=‘Sales’ AND d.dnumber=dl.dnumber
Örnek - 4 *Houston şehrinde yaşayan çalışanların ad, soyad ve çalıştığı departmanların isimlerini bulan sorguyu yazınız. FNAME LNAME DNAME Franklin Wong Research James Borg Headquarters John Smith Joyce English Ahmad Jabbar Administration SELECT fname, lname, dname FROM employee, department WHERE address LIKE ‘%Houston%’ AND dnumber = dno
Örnek - 5 * «ProductX» projesinde çalışanların akraba isimlerini listeleyen sorguyu yazınız. SELECT dependent_name FROM project, works_on, dependent WHERE pnumber = pno AND work_on.essn = dependent.essn AND pname = ‘ProductX’