İÇİNDEKİLER 1. GİRİŞ 2. YENİ TABLO EKLEME 1. COULOMN NAME 2. DATA TYPE 3. ALLOW NULLS 3. ANAHTAR (IDENTİTY) KOLON 4. İNSERT İNTO 5. SELECT, FROM, WHERE, VALUES, SET, UPDATE, AS, GROUP BY, ORDER BY, TOP, PERCENT, HAVING, BEGIN, RETURN, END 6. DELETE 7. SQL FONKSİYONLARI ( MONTH, REVERSE, SUBSTRİNG, LEFT, RİGHT, CHARİNDEX, UPPER ) 8. SQL JOIN 1.CROSS JOİN 2.ENNER JOİN 3. OUTER JOİN ( LEFT / RİGHT ) 9. TABLOLAR ARASI İLİŞKİLER 1. ANAHTAR 2. YABANCI ANAHTAR (FORİGN KEY) 3. UNİON 10. KÜMELEŞME FONSİYONLARI 1. COUNT 2. MAX 3. SUM 11. CREATE VIEW 12. ALTER VIEW 13. DATEDIFF 14. INDEX 1.DROP 2.ALTER 15. TEMPLATE EXPLORER 16. SAKLI YORDAMLAR (STORED PROCEDURE) 1. SUB 2. STORED PROCEDURE 3. CREATE PROC 4.ALTER PROC 5. IF - ELSE 17. KULLANICI TANIMLI FONKSİYONLAR 1. SKALER DEĞERLİ FONKSİYONLAR 2. TABLO DEĞERLİ FONKSİYONLAR 18. TETİKLEYİCİLER (TRIGGER) 1. ALTER TRIGGER 1. INSERT 2. DELETE 3. UPDATE 2. INSTEAD OF TRIGGER GİRİŞ • Market örneği. • İlişkisel veri tabanı: Şehir – ilçeler bağlantısı örneğini sadece bu sayede yapabiliriz. • SQL 2005 güzel bir program. En son 2008 sürümü çıktı. • SQL Structured Query Language kelimelerinin ilk harflerinden oluşur. • MS SQL Server ücretli, fakat experss sürümü ücretsiz. • ORACLE programıda gelmiş geçmiş en iyi programlardan birtanesi. Program yıllık kiralanıyor ve pahalı. • MySql ve Postgre programları tamamen ücretsiz. • SQL Structured Query Language kelimelerinin ilk harflerinden oluşur. • Bu dersimizde SQL lisanını öğreneceğiz. Örnek: Git bana şu bilgiyi bul, değiştir veya sil. Şu iki tabloyu ilişkilendir ve istediğim bilgileri bana göster. Tablolar Tablo dediğimiz şey 2 boyutlu bir matris. Kolonları ve satırları var. A B C D “tables” ın üzerine sağ tıkla ve “new table…” tıklayarak o dizinde yeni tablo açabilirsin. Yeni tablo ekle’yi tıkladıktan sonra aşağıdaki pencere açılacaktır. Burada; 1. Coulomn name 2. Data type 3. Allow nulls Seçenekleri gelecektir. 1. Coulomn name: Vereceğinizi ismin girişinin yapıldığı yerdir. Türkçe karakterler kullanmamaya çalışın ve isimleri verirken “Sehir”, “IpNo”, “Kolon_Ad” gibi yazım formatlarını kullanmanız yararınıza olacaktır. 2. Data type: Burada, yeni açmış olduğunuz kolona girilecek verilerin tiplerini belirtmelisiniz. Örnek : sütun isimleri x ve y olan iki sutunun bütün satılarına veri olarak “1” i giriniz. Yeni tablo açı tıkla Adı:x Adı:y 2 satır ve 2 sütuna 1 1 gir Kırmızı ünlem işareti çıkıyor Çünkü satırları birbirinden ayıramıyor. Veri tabanında herhangi iki satırı birbirinden ayırt edecek bir kolana gerek vardır. İki tane aynı isim olduğunda tc numarası veya öğrenci numarası birbirinden ayıt etmeye yarıyor. Bu nedenle bu tür bir kimlik gerekiyor. Acsess te bu anahtarı otamatik olarak soruyor. Çünkü bu program daha düşük düzeyde bilgisi olanlar için yazılmıştır. Acsees de bu uyglamayı yap! Ama sql server asla bunu teklif etmez. Bunu yapmanın birçok yolu var. Tc no veya okul numarası bu amaçla kullanılabiliyor. Öğrenci numarasının bir mantığı var : 2006911416 Bu verilen numara isim sırası giriş yılı ve fakülte gibi bilgileri içeriyor. Bunun gibi bir anahtarı biz belirleyebiliyoruz. Ama aynı zamanda sql bunu otomatik olarak da belirleyebilir Identify (kimlik) kolon IDENTİTİY BU KOLONU NUMARLANDIRIR. IDENTİTY ICREMENT: (DELTA DERSEK) NUMARALANDIRMA KAÇAR KAÇAR ARTARAK DEVAM EDECEĞİNİ BELİRTİR IDENTİTİY SEED (KİMLİĞİN ÇEKİRDEĞİ): ( S DERSEK) NUMARALANDIRMA İŞLEMİNİN HANGİ SAYIDAN BAŞLAYACAĞINI GÖSTERİYOR. S, S+DELTA,S+2DELTA… ŞEKLİNDE GİDECEKTİR. 5 İLE BAŞLAYIP 7 ŞER ARTACAKTIR. KİMLİK KOLONUNA YAZI YAZMAYA İZİN VERMİYOR. BİR SATIRI SİLELİM YENİ BİR SATIR EKLEDİĞİMİZDE ACABA 12 NUMARASINI TEKRAR VERECEK Mİ? HAYIR ASLA AYNI NUMARAYI BİR DAHA VERMEZ. YAPILAN NUMARALANDIRMAYI DEĞİŞTİRMEK İSTERSEK NE OLUR ? EN SON KALDIĞI NUMARADAN İTİBAREN YENİ ARTIRIMI DEVAM ETTİRMEYE BAŞLAR. AYNI NUMARAYI TEKRAR VERME OLASILIĞI OLABİLİR. AMA SQL BU KOLONU ANAHTAR OLARAK SEÇMEDİĞİMİZ İÇİN İTİRAZ ETMEYEBİLİR. TABLODA YAZILAN VERİLER SATIR DEĞİŞTİRMEDEN COMİT ETMEZ (AL BU VERİYİ GİT DİSKE YAZ İŞLEMİ). *ESC TUŞU İLE YAZDIĞIMIZI YOK EDEBİLİRİZ. VERİLERİ DİSKE SIRAYLA YAZMIYOR. BİR AĞAÇ VAR ONUN ÜZERİNDE YAPRAKLAR VAR VE VERİLERİ BU YAPRAKLAR ÜZERİNE YAZIYOR. VERİLERİ KİMLİK NUMARALARINA GÖRE SIRALATABİLİRİZ. ID.. NO YAPTIĞIMIZ ZAMAN KİMLİK KOLONUNA VERİ GİRİŞİ YAPABİLİRİZ. KİMLİK KOLONUNU ANAHTAR YAPTIK. ARTIK O KOLONA AYNI VERİ GİRİLDİĞİNDE BİZİ UYARACAK VE ENGELLİYECEK. IDENTİTY KOLONU HER ZAMAN TABLONUZA KOYUN… BU KOLONU İNT YAPARSANIZ 2 MİLYAR VERİ GİREBİLİRSİNİZ. BİR KOLONU IDENTİTİY OLARAK SEÇTİĞİNDE İZİN VERMİYOR ÇÜNKÜ VCHAR(METİN) METİNLER KARAKTERLER OLAMAZ. İNT VEYA… OLMALI. İNSERT İNTO DEYİMİ BU TABLOMA BU KOLONLARINA BU DEĞERLERİ GİR DEMEKTİR. KOLON SAYISIYLA DEĞER SAYISI AYNI OLMALI İKİNCİSİ İ. KOLON İLWE İ. DEĞER AYNI TİPTE OLMALI INSERT INTO TABLO_ADI VALUES (DEĞER1, DEĞER2,....) BU ŞEKİLDE DE YAZILABİLİR BEN ÜŞENGECİN BİRİYİM… İDENTİTY KOLONA VERİ GİRİLEMEZ BU NEDENLE BU YÖNTEM BİRAZ RİSKLİ… INSERT INTO KİMLİKLİTABLO (X, Y) VALUES ('AHMET', 'VELÝ') KİMLİK TABLOSUNA YENİ BİR SATIR EKLİYORUM ADI BİRİNCİ KOLON AHMET, İKİNCİ KOLON VELİ OLSUN HATA VERMİYOR AMA İDENTİTY Yİ KALDIRIRSAK HATA VERECEKTİR. ÇÜNKÜ 4 KOLON VAR AMA 3 VERİ GİRİLİYOR…
Description: