Veri Tabanı Yönetimi Dersi 2. Laboratuvarı Arş. Gör. Pınar CİHAN
Kullanılacak Veritabanı Lab kapsamında bir şirket için geliştirilen veritabanı sistemi kullanılacaktır. Bu sistem için gereken DDL (tablo yaratmalar ve yapısal işlemler) komutları: “ company-schema ” dosyasında; DML (veri girme işlemleri) komutları ise “ company-data ” dosyasında mevcuttur.
DEPARTMENT DNAMENOT NULLVARCHAR(25) DNUMBERNOT NULLNUMERIC MGRSSNNOT NULLCHAR(9) MGRSTARTDATE DATE Şirkette bulunan departmanların bilgisini tutar. DNAME : Departman ismi DNUMBER : Departman numarası MGRSSN : Yöneticisinin sosyal güvenlik numarası MGRSTARTDATE : Yöneticinin yöneticiliğe başlama tarihi
PROJECT PNAMENOT NULLVARCHAR(25) PNUMBERNOT NULLNUMERIC PLOCATION VARCHAR(15) DNUMNOT NULLNUMERIC Şirkette geliştirilen projelerin bilgisini tutar. PNAME : Proje ismi PNUMBER : Proje numarası PLOCATION : Projenin nerde yapıldığı DNUM: Projenin hangi departmanın projesi olduğu
DEPT_LOCATIONS DNUMBERNOT NULLNUMERIC DLOCATIONNOT NULLVARCHAR(15) Şirketteki departmanların lokasyon bilgisini tutar DNUMBER : Departman numarası DLOCATION : Departman lokasyon bilgileri
EMPLOYEE FNAMENOT NULLVARCHAR(15) MINIT VARCHAR(1) LNAMENOT NULLVARCHAR(15) SSNNOT NULLCHAR(9) BDATE DATE ADDRESS VARCHAR(50) SEX CHAR(1) SALARY NUMERIC SUPERSSN CHAR(9) DNO NUMERIC Şirkette çalışan işçilerin bilgilerini tutar. SUPERSSN : yöneticisinin sosyal güvenlik numarası
WORKS_ON ESSNNOT NULLCHAR(9) PNONOT NULLNUMERIC HOURS NUMERIC Hangi çalışanın, hangi projede kaç saat çalıştığını tutar. ESS : İşçinin sosyal güvenlik numarası PNO : Proje numarası HOURS : İşçinin projede kaç saat çalıştığı
DEPENDENT ESSNNOT NULLCHAR(9) DEPENDENT_NAMENOT NULLVARCHAR(15) SEX CHAR(1) BDATE DATE RELATIONSHIP VARCHAR(8) Çalışanların aile üyelerine dair bilgileri tutar. DEPENDENT_NAME: Aile üyesinin ismi RELATIONSHIP: İ lişkinin tipi (kızı, annesi, vs.)
Soru 1 5 no’lu departmanda çalışan işçilerin ad, soyad bilgilerini listeleyen sql sorgusunu yazınız. Kullanılacak Tablo : Employee Sonuç: fnamelname FranklinWong JohnSmith RameshNarayan JoyceEnglish FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO
Cevap 1 SELECT fname, lname FROM employee WHERE dno=5;
Soru 2 “Jared James” isimli işçinin çalıştığı departmanın ismini bulan sorguyu yazınız. Kullanılacak Tablo : Department ve Employee FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO DNAME DNUMBER MGRSSN MGRSTARTDATE Department DNAME Software Sonuç: Employee
Cevap 2 SELECT dname FROM employee e, department d WHERE fname = 'Jared' AND lname=‘James’ AND e.dno = d.dnumber;
Soru 3 Şirketin satış departmanının (“Sales”) hangi şehir(ler)de ofisi olduğunu bulan sorguyu yazınız. Kullanılacak Tablo : department ve dept_locations DLOCATION Chicago Dallas Miami Philadephia Seattle Sonuç: DNAME DNUMBER MGRSSN MGRSTARTDATE Department DNUMBER DLOCATION Dept_locations
Cevap 3 SELECT dlocation FROM department d, dept_locations dl WHERE d.dname = 'Sales' AND d.dnumber=dl.dnumber;
Soru 4 Houston şehrinde yaşayan işçi/işçilerin ad, soyad bilgileri ve çalıştığı departman/departmanların ismini bulan sorguyu yazınız. FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO DNAME DNUMBER MGRSSN MGRSTARTDATE Department Employee
SONUÇ FNAMELNAMEDNAME FranklinWongResearch JamesBorgHeadquarters JohnSmithResearch JoyceEnglishResearch AhmadJabbarAdministration
Cevap 4 SELECT fname, lname, dname FROM department d, employee e WHERE e.address like '%Houston%' AND d.dnumber=e.dno;