Veri Tabanı Dersi 4. Laboratuvarı

Slides:



Advertisements
Benzer bir sunumlar
SQL - Structured Query Language
Advertisements

Veri Tabanı Tasarlama İlk kuralımız, olabildiğince bilgileri parçalamaktır.
COME 339 JAVA-SQL BAĞLANTISI
4 SQL- Yapısal Sorgulama Dili
Tablo oluşturma İlk olarak tabloları oluşturmamız gerekli..
SQL Structured Query Language
ERD to ER Relations Fundemantals of Database systems Elmasri, Navate kitabından alıntılar içerir Veri Tabanı Sistemleri Dersi Teoriden pratiğe , Çağıltay,
VERİ TABANI YÖNETİMİ Ders 10: Oracle Nesneleri
İndeksler Sibel SOMYÜREK.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
Iletisim Icin : Blog : E - Mail :
Veri Tabanı Yönetim Sistemleri
Kavramlar İlişki (Relation)
Veri Tabanı Yönetim Sistemleri
Veri Tabanı Yönetim Sistemleri
BÖLÜM 6 SQL SERVER KOMUTLARI.
EVRE 1 BLOK 1 Uygulamalı Bilgisayar Eğitimi Öğr. Gör. A. Murat ERGİN E.Ü.T.F. Biyoistatistik ve Tıbbi Bilişim A.D.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
4 Veri Bütünlüğü ve Constraint’ler
Veri Bütünlüğü Sibel SOMYÜREK.
Veritabanı Yönetim Sistemleri-I
MYSQL 4. HAFTA. mySQL veri türleri INTTamsayı: 'den kadar değişen diziye "signed" (işaretli), 0'dan 'e kadar değişenine.
ER Şemaları Kullanılarak İlişkisel Veritabanının Tasarlanması
VERİTABANI ve YÖNETİMİ
Sibel SOMYÜREK SQL Görev. SQL – 14a Egitselyazilim veri tabanındaki içerik tablosuna yeni bir kayıt ekleyin,
SQL (Structured Query Language). MySQL de Temel Komutlar : CREATE DATABASE isim; verilen isimde bir veri tabanı oluşturur. SHOW DATABASES; Tüm yaratılan.
Veritabanı Kavramları
Veri Tabanı Yönetim Sistemleri 1 Ders 10 VTYS Yaşam Döngüsü ve DDL
Veri Tabanı Yönetim Sistemleri 2 Ders 4 Oracle'da VT Nesneleri Yaratma
SQL Komutları (2) Uzm. Murat YAZICI.
FONKSİYONLAR İbrahim Onur Sığırcı.
RAISE RECORD/CURSOR TRIGGER
Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Kivi Bilişim Teknolojileri -
SQL’ e Giriş Uzm. Murat YAZICI.
Bölüm 4: İleri SQL.
Veritabanı Kavramları
Database for APED Büşra Bilgili | Emirhan Aydoğan | Meryem Şentürk | M. Arda Aydın COMPE 341.
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
K ıSıT -V ıEW -S EQUENCE U NıON -I NTERSECTıON -E XCEPT E XıSTS -I N İbrahim Onur Sığırcı.
C OMPANY DB / Ö RNEKLER İbrahim Onur Sığırcı. İ LIŞKI T ABLOLARı idfnamelnamebdate AhmetDemir MehmetBakır AyşeTunç1994.
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı Arş. Gör. Pınar CİHAN.
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Veri Tabanı Yönetimi Dersi 2. Laboratuvarı Arş. Gör. Pınar CİHAN.
Turizm Acentesi (Uçak Seyehat Acentesi). Genel Bakış Uçak ile seyehat etmek isteyen bir yolcu olsun. Kişi uçak bileti alabilmek için önünde iki seçenek.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
5. Temel SQL (Basic SQL) 5.1. SQL Veri Tanımlama ve Veri Tipleri (SQL Data Definition and Data Types) SQL de Şema ve Katalog Kavramı (Schema and.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Arş. Gör. Pınar CİHAN.
Altıncı hafta. Müfredat programı Ödev teslim edenler Mantıksal tasarım ödevini teslim edenler: Belediye Projesi Valilik Projesi Mekan Projesi Konaklama.
Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Teknoloji Destek Merkezi --
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Constraint-View-Sequence Union-Intersection-Except Exısts-In Arş. Gör. Pınar CİHAN.
BÖLÜM 9 VERİ TABANI NESNELERİ.
Veri Tabanı Yönetimi Dersi 5
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Yapısal Sorgulama Dili SQL Hafta 6 Ders Notu
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı
VERİ TABANI DERS NOTLARI
Veri Tabanı Yönetim Sistemleri 2 Ders 4 Oracle'da VT Nesneleri Yaratma
Veri Tabanı Yönetim Sistemleri 1 Ders 10 Veri Sözlüğü ve DDL
SQL Veri Tipleri.
Company DB / Örnekler İbrahim Onur Sığırcı.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
DML ile veri ekleme, silme ve değiştirme
FONKSİYONLAR İbrahim Onur Sığırcı.
Sorgu / dml / ddl komutları
RAISE RECORD/CURSOR TRIGGER
SQL Server - Views.
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
Sunum transkripti:

Veri Tabanı Dersi 4. Laboratuvarı Arş. Gör. Pınar CİHAN

TEAM Tablosunun Oluşturulması Tablo yarattıktan sonra içini göster. Şirkette çalışan işçiler kendi aralarında basketbol takımı kurmuştur. Her bir işçi belli hafta boyunca bu takımda oynayabilir. İşçilerin tek bir takımda oynama zorunluluğu yoktur. Takım tablosu yandaki gibidir. Kolon Adı Özelliği Tipi TNUMBER (PK) NOT NULL NUMERIC(2) TNAME VARCHAR(15) CREATE TABLE TEAM ( TNUMBER NUMERIC(2) NOT NULL, TNAME VARCHAR(15) NOT NULL, PRIMARY KEY(TNUMBER) );

«TEAM_EMPLOYEE» Tablosunun Oluşturulması Tablo yarattıktan sonra içini göster. «TEAM» tablosu ve «EMPLOYEE» tablolarının ilişki tablosu olan «TEAM_EMPLOYEE» tablosu aşağıdaki özellikleri olacak şekilde oluşturulacaktır. Tablo nitelikleri: TNO (numeric(2)), ESSN (char(9)), PLAY_TIME (numeric(2)) «TNO» ve «ESSN» birlikte belirleyici nitelik olmalıdır. «TNO», TEAM tablosundaki «TNUMBER»’ı referans almalıdır ve «TEAM» tablosundan bir satır silindiğinde bu satıra ait «TNO»’lu satırlar da silinmelidir. «ESSN», «EMPLOYEE» tablosundaki «SSN»’i referans almalıdır ve «EMPLOYEE» tablosundan bir satır silindiğinde bu satıra ait «SSN»’li satırlar da silinmelidir. «PLAY_TIME» alanının 12’den çok olması engellenmelidir. (Bir çalışan, bir takımda 12 haftadan daha uzun süre oynayamaz.) CREATE TABLE TEAM_EMPLOYEE ( TNO NUMERIC(2), ESSN CHAR(9), PLAY_TIME NUMERIC(2), CONSTRAINT PK_TEAM_EMP 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) ); Kolon Adı Tipi TNO NUMERIC(2) ESSN CHAR(9) PLAY_TIME

«View» Tanımı ve Oluşturulması Yaratmadan önce boş olduğunu yarattıkan sonra dolu halini göster. View, sorgu sonucunda oluşan sanal tablolardır. VT’de fiziksel olarak bulunmazlar, sorgu olarak saklanırlar. View’lerin sorgularında adı geçen tabloların içeriği değiştirildiğinde View’lerin ürettiği sonuç da otomatik olarak değişir. Syntax’ı aşağıdaki gibidir: VIEW ÖRNEKLERİ Maaşı 20000 ile 40000 arasında olan çalışanların ad, soyad ve maaşlarını gösteren bir view yazın. (Employee Tablosu) «Sales» isimli departmanda çalışanların ad, soyad ve cinsiyetlerini gösteren bir view yazın. (Employee ve Department Tablosu) CREATE VIEW maas_kriteri AS SELECT fname, lname, salary FROM employee WHERE salary >= 20000 and salary <= 40000; CREATE VIEW sales_calisanlari AS SELECT fname, lname, sex FROM employee e, department d WHERE dname = 'Sales' AND d.dnumber = e.dno; CREATE VIEW viewname AS SELECT select-list FROM table-list [WHERE search-condition]

«Sequence» Tanımı ve Oluşturulması Seq. Oluşturmadan önce ve sonra göster. Team’e eklemeden önce ve sonra tabloyu göster. «Sequence» Tanımı ve Oluşturulması Sequence, belli bir sırada numeric değer üretilmesini sağlatan VT nesnesidir. Genelde primary key’ler gibi eşsiz (unique) olan alanların değerlerinin otomatik arttırılması için kullanılır. Syntax’ı aşağıdaki gibidir: «SELECT * FROM sequence_name;» //bilgi alma SEQUENCE ÖRNEĞİ 9’dan başlayıp 99’a kadar birer birer artan bir «sequence» oluşturun. Bu sequence’i «TEAM» tablosunun ‘tnumber’ larının numaralandırılması için kullanın. CREATE SEQUENCE seq_tnumber MINVALUE 9 MAXVALUE 99 INCREMENT BY 1; INSERT INTO team VALUES(nextval('seq_tnumber'), 'Yiğitler'); INSERT INTO team VALUES(nextval('seq_tnumber'), ‘Kediler'); CREATE SEQUENCE sequence_name [INCREMENT BY #] [START WITH #] [MAXVALUE # | NOMAXVALUE] [MINVALUE # | NOMINVALUE] [CYCLE | NO CYCLE] // Son değerden sonra başa dönme durumu [CACHE #] // Hız için bellek kullanımı

Tablolarda UNION, INTERSECT, EXCEPT İşlemleri «OperatingSystems» isimli projede çalışanların ve «Software» departmanında çalışanların ad, soyad bilgilerini bulunuz. (UNION / INTERSECT / EXCEPT) SELECT fname, lname FROM employee e, project p, works_on wo WHERE pname = 'OperatingSystems' AND p.pnumber = wo.pno AND wo.essn = e.ssn INTERSECT SELECT fname, lname FROM employee e, department d WHERE dname = 'Software' AND e.dno = d.dnumber; «OperatingSystems» isimli projede çalışanların veya «Software» departmanında çalışanların ad, soyad bilgilerini bulunuz. (UNION / INTERSECT / EXCEPT) SELECT fname, lname FROM employee e, project p, works_on wo WHERE pname = 'OperatingSystems' AND p.pnumber = wo.pno AND wo.essn = e.ssn UNION SELECT fname, lname FROM employee e, department d WHERE dname = 'Software' AND e.dno = d.dnumber;

Tablolarda UNION, INTERSECT, EXCEPT İşlemleri VT 20141 Lab 4 «OperatingSystems» isimli projede çalışan ama «Software» departmanında çalışmayanların ad, soyad bilgilerini bulunuz. (UNION / INTERSECT / EXCEPT) SELECT fname, lname FROM employee e, project p, works_on wo WHERE pname = 'OperatingSystems' AND p.pnumber = wo.pno AND wo.essn = e.ssn EXCEPT SELECT fname, lname FROM employee e, department d WHERE dname = 'Software' AND e.dno = d.dnumber; Hiçbir departmanın veya hiçbir çalışanın yöneticisi olmayan çalışanların isimlerini bulunuz. (EXISTS / NOT EXISTS) SELECT fname, lname FROM employee e WHERE NOT EXISTS (SELECT null FROM department d WHERE d.mgrssn = e.ssn) AND NOT EXISTS (SELECT null FROM employee s WHERE s.superssn = e.ssn);

Tablolarda UNION, INTERSECT, EXCEPT İşlemleri VT 20141 Lab 4 İsmi «John» olan işçilerin çalıştıkları departmanların isimlerini «IN» kullanarak bulunuz. SELECT dname FROM department d WHERE dnumber IN (SELECT dno FROM employee WHERE fname = 'John'); ‘Research’ departmanında çalışan işçilerin maaşlarını 50000 yapınız. UPDATE employee SET salary = 50000 WHERE dno IN (SELECT dnumber FROM department WHERE dname = 'Research'); «Sales» departmanında kaç kişinin çalıştığını, en düşük, en yüksek, ortalama ve toplam maaşı bulunuz. SELECT COUNT(*), min(salary), max(salary), avg(salary), sum(salary) FROM department, employee WHERE dname = 'Sales' AND dnumber = dno;