ÇOKLU TABLOLAR.

Slides:



Advertisements
Benzer bir sunumlar
Hazırlayan : Öğr. Gör. Fahri YILMAZ
Advertisements

III.Oturum: SQL ile Verileri İşlemek
Verileri gruplayarak analiz
KARMAŞIK SORGULAR.
SQL (Structured Query Language)
KARMAŞIK SORGULAR.
SQL (Structured Query Language)
SQL FONKSİYONLARI.
SQL Structured Query Language (Yapısal sorgulama dili)
En ucuzundan en pahalısına doğru sıralanmış olarak “Cep Telefonları” kategorisindeki tüm ürünlerin isimleri “Spor” kategorisinde ürünleri listelenen “İstanbul”
Karmaşık (İç içe) SELECT Sorguları
SQL’e Giriş.
Normalizasyon Kuralları & SQL
SQL Komutlar 2 Sibel SOMYÜREK.
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
SQL de Değişken Tanımlama
VERİTABANI ve YÖNETİMİ
SQL Komutlar 4 Fahri YILMAZ.
Veritabanı Yönetim Sistemleri-I
Alt Sorgular Veritabanı 2.
İlişkisel Veri Modeli.
The Relational Algebra and Relational Calculus
5 Sorgulama İşlemleri Veritabanı 1.
Veri Tabanı Yönetim Sistemleri
Tek Tablo İçinde Sorgulamalar
Transaction.
BÖLÜM 6 SQL SERVER KOMUTLARI.
SQL (STRUCTURED QUERY LANGUAGE)
VTYS Öğr. Gör. Engin DUTAR
VERİTABANI TEMEL KAVRAMLARI
VERİ TABANI VE YÖNETİM SİSTEMLERİ  Birincil Anahtar Türleri  Access Veri Tabanında Bulunan İlişkiler  İlişkileri Tanımlama Bir – Çok İlişkisi Çok –
VIEW lerle çalışmak 11.BÖLÜM.
VTYS Öğr. Gör. Engin DUTAR
VERİTABANI ve YÖNETİMİ
SQL’e Giriş ve SELECT Komutu
SQL de Değişken Tanımlama
MySQL Operatörleri ve Fonksiyonları
SQL SERVER 2008 Yücel YILDIRIM.
VeriTabanı Uygulama.
Veri Tabanı Yönetim Sistemleri 1 Ders 6 Çok Tablolu Sorgular
Varlık-İlişki Modeli (E-R Modeli)
SQL Sibel SOMYÜREK.
Veritabanı Yönetim Sistemleri-I
SQL Komutları (2) Uzm. Murat YAZICI.
Okul Yönetiminde Bilgisayar Uygulamaları
VTYS Öğr. Gör. Engin DUTAR
İlişkisel Cebir İlişkisel Hesaplama
SQL.
SQL’ e Giriş Uzm. Murat YAZICI.
VERİTABANI YÖNETİM SİSTEMLERİ 1
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ı.
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Yapısal Sorgulama Dili SQL Hafta 7. TEKRARLI SATIRLARI ÖNLEMEK  DISTINCT komutu ile sorgu sonucunda birden fazla kayıt aynı verileri içeriyorsa tekrarlı.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
 Bazı Veri tabanları sadece 1 tablodan oluşmaz.  Bunun sebebi genellikle veri tekrarını önlemektir.  Bu şekilde oluşturulmuş veri tabanlarında, tablolardaki.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
VIEW lerle çalışmak 11.BÖLÜM.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
İNDEKS.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
DML ile veri ekleme, silme ve değiştirme
Sorgu / dml / ddl komutları
SQL (STRUCTURED QUERY LANGUAGE)
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
Intersect Tablo1 Sno Ad Soyad 1 Ali Ak 2 Veli Kara 3 Can Mor Tablo2
Sunum transkripti:

ÇOKLU TABLOLAR

Çoklu tabloların kullanımı Bazı uygulamalarda veri birden fazla tablo üzerinde yer alabilir. Bu tablo verileri birleştirilerek sonuçlar elde edilir. PERSONEL_NO ADI BÖLÜM_NO BÖLÜM_NO BÖLÜM_ADI KONUM PERSONEL_NO BÖLÜM_NO KONUM

Tabloların birleştirilmesi Birden fazla tabloyu ele alarak, birleştirilmesi ve tek bir sonucun üretilmesi durumunda birleştirme (join) işlemi uygulanır. SELECT tablo1.sütun1, tablo2.sütun2 FROM tablo1,tablo2 WHERE tablo1.sütun1=tablo2.sütun2 İki tabloyu birleştirmek için bir birleştirme koşulunun düzenlenmesi gerekir. Bu koşul, her iki tablonun hangi sütunları kullanılarak birleştirileceğini belirler. Sadece iki tablo değil n sayıda tablo birleştirilebilir. Ancak bu durumda en az (n-1) birleştirme koşulu tanımlanmalıdır.

Kartezyen çarpım İki tablo arasında birleştirme koşulu tanımlanmamış ise sonuç olarak bir kartezyen çarpım elde edilir. Örnek: PERSONEL ve BÖLÜM tablolarını birleştirmek için: SELECT PERSONEL_NO, ADI, BÖLÜM_ADI FROM PERSONEL, BÖLÜM; Bir birleştirme koşulu tanımlanmadığı için, her iki tablodaki satırların sayısının birbirleriyle çarpımı kadar satırdan oluşan bir sonuç elde edilir.

Birleştirme türleri Tabloları farklı şekillerde birleştirme olanağı bulunmaktadır. Eşiti olan birleştirme Eşiti olmayan birleştirme Dış birleştirme Kendine birleştirme

EŞİTİ OLAN BİRLEŞTİRME PERSONEL_NO ADI BÖLÜM_NO Bir personelin çalıştığı bölümün adını elde etmek için , PERSONEL tablosunun BÖLÜM tablosunun BÖLÜM_NO isimli sütununun içeriği ile karşılaştırılır. SELECT PERSONEL.PERSONEL_NO, PERSONEL.ADI, PERSONEL.BÖLÜM_NO, BÖLÜM.BÖLÜM_ADI, BÖLÜM.KONUM FROM PERSONEL, BÖLÜM WHERE PERSONEL.BÖLÜM_NO=BÖLÜM.BÖLÜM_NO; BÖLÜM_NO BÖLÜM_ADI KONUM Dış anahtar Birincil anahtar

EŞİTİ OLAN BİRLEŞTİRME Farklı tablolardan alınan sütun isimlerinde benzerlik olduğunda SQL bunu ayırd edemeyeceğinden,muhakkak başında tablo ismiyle çağrılmalıdır. Bazen sorgu cümlelerinin kısaltılması maksadıyla tablo isimleri daha kısa isimlerle yeniden adlandırılır. SELECT P.PERSONEL_NO, P.ADI, P.BÖLÜM_NO, B.BÖLÜM_ADI, B.KONUM FROM PERSONEL P, BÖLÜM B WHERE P.BÖLÜM_NO=B.BÖLÜM_NO;

EŞİTİ OLMAYAN BİRLEŞTİRME Eğer birinci tablonun bir sütununa, ikinci tabloda doğrudan uyan bir sütun yoksa, eşit olmayan birleştirmeden söz edilir. PERSONEL(Personel_No, Adı, Yöneticisi, Ücret, Bölüm_No) ÜCRET_DÜZEY(Derece, EnAz, EnÇok) Yukarıdaki iki tabloyu birleştirebilecek bir ortak sütun yoktur.Ancak; SELECT ADI, ÜCRET, DERECE FROM PERSONEL,ÜST_DÜZEY WHERE ÜCRET BETWEEN ENAZ AND ENÇOK;

Dış birleştirme Eşiti olan birleştirmede eşleşen sütunlarda eşleşemeyen kayıtlar yazılmıyordu, bunları da yazdırmak için Dış Birleştirme kullanılır. Örnek: BÖLÜM tablosunda yer alan ancak PERSONEL tablosunda yer almayan ve REKLAM bilgisini içeren bir satır bulunmaktadır. Bu iki tabloyu karşılaşmayan kayıtları da görüntüleyecek biçimde birleştirmek ve sonucu listelemek için: SELECT P.ADI, P.BÖLÜM_NO, B.BÖLÜM_ADI FROM PERSONEL P RIGHT JOIN BÖLÜM B ON P.BÖLÜM_NO=B.BÖLÜM_NO;

Kendine birleştirme Bazı uygulamalarda birleştirme işlemi tek bir tablonun kendi sütunları içerisinde yapılmaktadır. PERSONEL tablosunu iki farklı tablo biçiminde düşünebiliriz. PERSONEL_NO ADI YÖNETİCİSİ 101 BURAK 250 ERSİN 160 AHMET 150 AYBİKE PERSONEL_NO ADI 101 BURAK 250 ERSİN 160 AHMET 150 AYBİKE

Kendine birleştirme Örnek: PERSONEL tablosunun YÖNETİCİSİ başlıklı sütunu, her bir personelin yöneticisinin personel numarasını içermektedir. Hangi yöneticinin hangi personelle çalıştığını belirlemek için: SELECT P.PERSONEL_NO AS NO, P.ADI AS PERSONEL, Y.ADI AS YÖNETİCİSİ FROM PERSONEL P, PERSONEL Y WHERE Y.PERSONEL_NO= P.YÖNETİCİSİ;

KÜME OPERATÖRLERİNİ KULLANARAK BİRLEŞTİRME UNION ve UNION ALL işleçleri Union, verilen koşul ifadesine uygun olarak, çift kayıtların göz ardı edilerek her iki kümedeki tüm kayıtları seçer. Union All, çift kayıtları da dahil eden birleştirme işlemidir. Örnek: PERSONEL tablosunda, adı “A” ile başlayanları veya görevi “M” ile başlayanları topluca listelemek için: SELECT Adı,Görevi FROM PERSONEL WHERE Adı LIKE “A*” UNION SELECT Adı, Görevi FROM PERSONEL WHERE Görevi LIKE “M*”;