 Bazı Veri tabanları sadece 1 tablodan oluşmaz.  Bunun sebebi genellikle veri tekrarını önlemektir.  Bu şekilde oluşturulmuş veri tabanlarında, tablolardaki.

Slides:



Advertisements
Benzer bir sunumlar
ÖRNEK BİR VERİTABANI TASARIMI VE NORMALİZASYONU
Advertisements

Veri Tabanı Tasarlama İlk kuralımız, olabildiğince bilgileri parçalamaktır.
VTYS Öğr. Gör. Engin DUTAR
Hazırlayan : Öğr. Gör. Fahri YILMAZ
III.Oturum: SQL ile Verileri İşlemek
SQL Structured Query Language
Verileri gruplayarak analiz
KARMAŞIK SORGULAR.
KARMAŞIK SORGULAR.
SQL (Structured Query Language)
SQL Structured Query Language (Yapısal sorgulama dili)
dataReader- DataAdapter
Karmaşık (İç içe) SELECT Sorguları
Normalizasyon Kuralları & SQL
Veri tabanı bileşenleri
SQL Komutlar 2 Sibel SOMYÜREK.
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
Veri Tabanı I.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
SQL Komutlar 4 Fahri YILMAZ.
Veritabanı Yönetim Sistemleri-I
Alt Sorgular Veritabanı 2.
The Relational Algebra and Relational Calculus
5 Sorgulama İşlemleri Veritabanı 1.
Veri Tabanı Yönetim Sistemleri
Tek Tablo İçinde Sorgulamalar
Fonksiyonlar Hafta 4.
BÖLÜM 6 SQL SERVER KOMUTLARI.
SQL (STRUCTURED QUERY LANGUAGE)
VTYS Öğr. Gör. Engin DUTAR
VIEW (BAKIŞ) OLUŞTURMA
VIEW lerle çalışmak 11.BÖLÜM.
SQL Komutlar 3 Sibel SOMYÜREK.
VTYS Öğr. Gör. Engin DUTAR
ÇOKLU TABLOLAR.
MySQL Operatörleri ve Fonksiyonları
SQL SERVER 2008 Yücel YILDIRIM.
Veri Tabanı Yönetim Sistemleri 1 Ders 6 Çok Tablolu Sorgular
SQL (Structured Query Language). MySQL de Temel Komutlar : CREATE DATABASE isim; verilen isimde bir veri tabanı oluşturur. SHOW DATABASES; Tüm yaratılan.
SQL Sibel SOMYÜREK.
SQL SERVER STORED PROCEDURE
Veritabanı Yönetim Sistemleri-I
SQL Komutları (2) Uzm. Murat YAZICI.
VTYS Öğr. Gör. Engin DUTAR
İlişkisel Cebir İlişkisel Hesaplama
SQL’ e Giriş Uzm. Murat YAZICI.
VERİTABANI YÖNETİM SİSTEMLERİ 1
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
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.
 Stored Procedure kısaca SQL sorgularını isteğimize göre hazırlayıp kullanıma hazır veri tabanı nesnesine çeviren bir araçtır.  Stored Procedure, Türkçeye.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
ÖRNEK BİR VERİTABANI TASARIMI VE NORMALİZASYONU
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
Basit Sorgulamalar Yapmak
SQL SERVER STORED PROCEDURE
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
TOPLU POSTALAMA İŞLEMİ İÇİN ETİKET OLUŞTURMA VE YAZDIRMA
DML ile veri ekleme, silme ve değiştirme
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
Veri Tabanı Yönetim Sistemleri I
Sunum transkripti:

 Bazı Veri tabanları sadece 1 tablodan oluşmaz.  Bunun sebebi genellikle veri tekrarını önlemektir.  Bu şekilde oluşturulmuş veri tabanlarında, tablolardaki değerleri birbirleriyle ilişkili bir şekilde kullanabilmek için “Tablo Birleştirme” işlemi yapılır.  Bu birleştirme işlemi 2 farklı tablo için de söz konusu olabilir, ikiden fazla sayıda tablo için de söz konusu olabilir.  Dikkat edilmesi gereken nokta, tabloların Primary Key ve Foreign Key‘ler ile birbirlerine bağlanmış olması gerektiğidir.

 İki veya daha fazla tablodan veri getirme işlemi için kullanılır.  Veritabanımız da ki her bir tabloyu matematik dersinde gördüğümüz kümelere benzetmek yanlış olmaz. Kümeler üzerinde kesişim, birleşim, fark gibi işlemleri hatırlıyoruzdur.  Join işlemlerini de matematikteki bu ifadelerle anlatmak daha anlaşılır olacaktır.

 Birleştirilen iki tablodan hangisinin baskın olacağı veya hangisinden hangi alanların okunacağı tercih edilen JOIN türüne göre değişkenlik arz eder.  Bu amaçla SQL Server aşağıdaki üç temel JOIN türlerini destekler. 1. Inner Join (iç birleştirici) 2. Outer Join (dış birleştirici) 3. Cross Join (çapraz birleştirici)

 SQL Server ’ da varsayılan seçenek olup iki tabloyu JOIN ifadesinde belirtilmiş olan kolon veya kolonların eşitliğine göre birleştirir.  Bu seçenekte tablolar her iki tarafta ortak olan kolonlar üzerinden birleştirilir.  Tablo arasındaki eşitlik için genellikle = veya <> operatörleri kullanılır. Örneğin hem Ogrenci hem de OgrenciDanisman tablosunda olan öğrenci kayıtlarını çekmek için INNER JOIN türü kullanılır.  Yani bire bir ilişki için tercih edilir.  Yazım biçimi olarak INNER JOIN yazılabileceği gibi sadece JOIN sözcüğü de yazılabilir.

 Inner Join kümelerin kesişimini verir. Küme sayısı ikiden büyük olabilir. SELECT * FROM Tablo1 t1 INNER JOİN Tablo2 t2 on t1.kol1 = t2.kol1 İNNER JOİN Tablo 1 Tablo 2

SELECT F.Ad AS Film_Adı, T.Ad AS Tur_Adı FROM Filmler F // Filmler tablosuna F dedik INNER JOIN Turler T // Türler tablosuna T dedik ON F.Tur_ID = T.Tur_ID // Primary key ile foreign key arasında ki ilişkiyi kullanıyoruz.

 3 Tabloyu birleştirmek SELECT O.OgrenciId,O.AdSoyad,D.DanismanId,D.AdSoyad FROM Ogrenci O INNER JOIN OgrenciDanisman OD ON O.OgrenciId=OD.OgrenciId INNER JOIN Danisman D ON OD.DanismanId=D.DanismanId

OUTER JOIN  Outer join iki tablodaki ilişkili olmayan kayıtları da döndürmemizi sağlar.  Outer join işleminin 3 farklı çeşidi vardır. I. Left Outer Join II. Right Outer Join III. Full Outer Join

Left Outer Join Birinci tablodaki tüm kayıtlar getirilir, buna karşın ikinci tabloda bu kayıtlarla uyuşan kayıtlarda gelir. select * from Tablo1 t1 left outer Tablo2 t2 on t1.kolon1 = t2.kolon1 t1t2

Right Outer Join İkinci tablodaki tüm kayıtlar getirilir, buna karşın birinci tabloda bu kayıtlarla uyuşan kayıtlarda gelir. select * from Tablo1 t1 Right outer Tablo2 t2 on t1.kolon1 = t2.kolon1 t1t2

Önceki örneğe benzer olarak öğrencisi olmayan danışmanları listeleyebiliriz. Bunun için ilgili tabloları yazdıktan sonra LEFT JOIN yerine RIGHT JOIN ifadesini kullanıp WHERE bölümünü aşağıdaki gibi düzeltmemiz yeterli olacaktır.

Full Outer Join Full outer joinde iki tablodaki tüm kayıtlar uyuşsun yada uyuşmasın getirilir. select * from Tablo1 t1 Full outer Tablo2 t2 on t1.kolon1 = t2.kolon1 t1

CROSS JOIN (Çapraz Birleştirici) Kartezyen çarpım (cartesian product) olarak ta bilinen bu seçenekte ortak bir alan belirtilmesine gerek kalmadan iki tablo arasında tüm eşleştirmeleri listeler. Bunu da soldaki tablodaki herbir satıra karşılık sağdaki tablonun tüm satırlarını döndürerek gerçekleştirir. Ogrenci ve Danisman tabloları arasında CROSS JOIN kuralım. Bu durumda her öğrenciye karşılık tüm danışmanlar listelenecektir. SELECT * FROM Ogrenci O CROSS JOIN Danisman D ORDER BY OgrenciId

Turgut Özseven-Veri tabanı yönetim sistemleri kitabı ORACLE veri tabanı eğitimi notları Prof. Dr. Ümit Kocabıçak Sakarya üniversitesi Veri tabanı ders notları.