Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Türkçe anlamı:Yapılandırılmış Sorgu Dili Teknogezgin.com.

Benzer bir sunumlar


... konulu sunumlar: "Türkçe anlamı:Yapılandırılmış Sorgu Dili Teknogezgin.com."— Sunum transkripti:

1 Türkçe anlamı:Yapılandırılmış Sorgu Dili Teknogezgin.com

2  Verileri yönetmek ve tasarlamak için kullanılan bir veritabanı yönetim sistemidir. Verileriveritabanı yönetim sistemidir  Ayrıca Bir veritabanından bilgi çekmeye, sorgulamaya yarayan bir program dilidir.  Belirli komutlar yoluyla veritabanına veri gönderilmesi, verinin işlenmesi, düzenlenmesi, silinmesi gibi işlemler yapılır.

3  Sql IBM tarafından 1975 yılında yaratılmıştır. Sql  SQL temelde, nesne-ilişkili (object-relational) veritabanı yönetim sistemlerini desteklemek için tasarlanmıştır.  Fakat bu amacın ötesinde, ANSI ve ISO standartları tarafından belirlenmiş, birçok özelliğe sahiptir.  SQL ile yalnızca veri tabanı üzerinde işlem yapılabilir.veri tabanı

4  SQL'e özgü cümleler kullanarak veri tabanına kayıt eklenebilir, olan kayıtlar değiştirilebilir, silinebilir ve bu kayıtlardan listeler oluşturulabilir.  Kısa tarihçesi: SQL dili ilişkisel alanda büyük ilgi görmüş ve İlişkisel Veri Tabanı Yönetim Sistemlerinin (VTYS) tümünde yer alan standart dil görünümü kazanmıştır. Bu nedenle Veri Tabanı konusunda çalışan tüm bilişim teknik personeli tarafından bilinmesi gereken bir dil konumundadır.

5  SQL dilini kullanan ve en çok bilinen veri tabanları ise şunlardır:  1- Sybase, 2- Mysql, 3- Mssql, 4- PostgreSQL, 5- Microsoft SQL Server, 6- Oracle, 7- Firebird  Ana Sql komutları nelerdir?  1- SELECT: Veritabanından bilgi almak-çekmek- kopyalamak için kullanılır.  2- UPDATE: Veritabanını güncellemek için kullanılır.  3- DELETE: Veritabanından bir veya birden fazla satırı silmek için kullanılır.  4- INSERT INTO: Veritabanına yeni bir satır eklemek için kullanılır.

6 Çok bilinen bazı ilişkisel veri tabanı yönetim sistemleri şunlardır: Oracle, Sybase, MS SQL Server, Access, Ingres... Her ne kadar çoğu veri tabanı yönetim sistemi SQL’i kullansa da çoğunun kendilerine özgü ek özellikleri vardır.

7  Neden veri tabanlarına ihtiyaç duyarız?  Veritabanı, adı üstünde verilerin saklı olduğu yerdir. Bilgiyi hızlı bir şekilde kullanıcılara ulaştırırken, sıralarken, sınıflandırırken ve benzeri işlemlerle dinamik sayfalar oluştururken bize lazım olacak temel şeydir.  Mssql nedir?  Mssql Server bir veritabanı sunucu yazılımıdır. Veritabanlarının oluşturulmasını ve yönetilmesini sağlar. Verilerin organizasyonunu merkezi olarak yapan Sql Server client uygulamaların server üzerindeki verilere erişmesinide sağlar.  Mysql nedir?  MySQL, altı milyondan fazla sistemde yüklü bulunan çoklu iş parçacıklı (multi-threaded), çok kullanıcılı (multi-user), hızlı ve sağlam (robust) bir veritabanı yönetim sistemidir.

8  SQL veri tanımlama deyimlerinden başlıcaları şunlardır:  CREATE TABLE tablo_adı  Yeni bir tablo oluşturmak için kullanılır.  ALTER TABLE tablo_adı  Yeni bir sütun eklemek, sütunun tipini veya uzunluğunu değiştirmek vb. yapısal değişiklikler yapılması için kullanılır.  DROP TABLE tablo_adı  Tabloyu fiziksel olarak siler.  TRUNCATE TABLE tablo_adı  Tablodaki tüm verileri siler (tablo yapısı kalır)

9  DDL (Açılımı:Data Definition Language, Türkçe anlamı: Veri Tanımlama)  DDL deyimleri veritabanı üzerinde nesne yaratmak için kullanılırlar. En yaygın kullanılan DDL deyimleri şunlardır: CREATE, ALTER, DROP. CREATE Deyimi: Tablo ve view gibi bir veritabanı nesnesi yaratmayı sağlayan deyimdir. Yapısı: CREATE

10 Örnek: CREATE TABLE Musteri ( mus_id char(4) NOT NULL mus_ad varchar(40) NULL, ili varchar(20) NULL, ulke char(2) NULL, adres varchar(30) NULL ) Not: Char, varchar, integer, numeric gibi sözcükler tablo alanlarındaki temsil edilecek verinin türünü belirtir.

11 ALTER Deyimi: Daha önce oluşturulmuş nesnenin değiştirilmesini sağlar. Örneğin bir tablonun tasarımını değiştirmek gibi. Örnek: Müşteir tablosunun alanlarına «tel» adlı bir alan daha ekleyin. ALTER TABLE Musteri ADD tel varchar(20)NOT NULL DROP Deyimi: Bir nesnenin silinmesini sağlar. Örnek: Müşteri tablosunun verilerini ve tabloyu silin. DROP TABLE Musteri

12 DML (Açılımı: Data Manipulation Language Türkçe anlamı:Veri Düzenleme Dili). Veritabanı içindeki verileri elde etmek ve değiştirmekle ilgili SQL deyimleridir.  SELECT: Verileri istediğimiz şekilde seçebilmemizi sağlar.  Örnek: SELECT ilçe, postakodu FROM tabloIlceler WHERE plakaKodu = '13' bitlis'in ilçeleri ile posta kodlarını gösterir.  INSERT: Tablo içine yeni kayıt eklememizi sağlar.  Örnek: UPDATE tabloIlceler SET postakodu = '06720' WHERE ilce = 'Bala' Bala'nın posta kodunu değiştirir.

13  UPDATE: Tablodaki bilgileri değiştirmemizi sağlar.  Örnek: INSERT INTO tabloIlceler VALUES (, 'Yenişehir',,, '53') Yeni veriler ekler  DELETE: Kayıt yada kayıtları silmemizi sağlar.  Örnek: DELETE FROM tabloIlceler WHERE plakaKodu = '53' plakaKodu 53 olan bütün verileri siler SQL’in en önemli ve en çok kullanılan deyimi SELECT deyimidir.

14

15  Triggerın türkçe anlamı tetikleyicidir.  Klasik manada triggerlar veri degisiminin hemen ardından devreye giren ozel bir storeprocedure gibi yapılardır.  Trigger mantıgında karsımıza iki adet sözde tablolar gelmekdedir ve biz bu sözde tablolar uzerinde bazı işlemlerimizi yaparız  Buradan anlaşılacağı gibi bir tablodaki değişikliği başka bir tabloda istediğimiz şekilde otomatik olarak değiştirmek istediğimizde trigger kullanırız.  Tetiklenecek işlem tamamen bizim belirlediğimiz çerçevede başka bir kayıt eklemek,rapor almak ve genelde kontrol mekanizmaları oluşturmak için kullanılır  Bir kaydın eklenmesi(insert),silinmesi(delete)veya değiştirilmesi(update)durumlarında otomotik olarak devreye girecektir 

16  SQL server 2005 DDL tetikleyici adında yeni bir kavramı destekler  Tetikliyiciler,görünümler ve tablolar üzerinde tanımlanabilir

17  3 çeşit trigger vardır. Bunlar:  1. Insert tetikleyici (ilgili tabloda ekleme islemi oldugu anda)  2. Delete tetikleyici (ilgili tabloda silme islemi oldugu anda)  3. Update tetikleyici (ilgili tabloda güncelleme islemi oldugu anda)

18  1.İNSERT Tetikleyici:Bir tablo üzerinde yeni kayıtlar girildikten sonra devreye giren tetikleyicidir  İnsert tetikleyici devreye girdikten sonra inserted tablosunda yeni eklenen kayıtların bir kopyası tutulur  İnserted tablosu asıl tablonun yapısal bir kopyası olup tetikleyici sonlanana kadar saklanır  Eğer bir tabloya birden fazla kayıt girildiyse tetikleyici her kayıt için ayrı ayrı devreye girmez,Çünkü SQL server satır bazında tetikleyici desteği sağlamamakta

19  DELETE TETİKLEYİCİSİ:  Tablodan bir kayıt silindiğinde otomatik olarak yapılması istenen işlemler için DELETE tetikleyicisi kullanılır  DELETE tetikleyicisi çalıştıktan sonra silinen kayıt deleted sahte tablosuna kaydedilir  Deleted tablosunun inserted tablosundan farkı asıl tablodan silinen kayıt artık deleted tablosunda yer almaktadır

20  UPDATE TETİKLEYİCİSİ:  Tablo üzerinde kayıt yada kayıtlarda güncelleme olduğunda devreye girecek olan tetikleyicidir

21  Trigger Ne Zaman Kullanılır?  Değişiklikleri takip etmek,  Birincil anahtar üretmek,  Karmaşık iş kurallarını gerçekleştirmek,  E-posta atmak gibi olayları otomatik olarak yapmak,  Standart hata mesajlarının dışında bir hata mesajı elde etmek,  Veritabanı erişimlerini takip edebilmek,  Nesnede meydana gelebilecek değişiklikleri takip ve engellemektir.

22  Trigger’ın avantajları nelerdir?  Modifikasyonuna ne neden olursa olsun çalışırlar  update olayında çalısabilecegi gibi, hem update hem de insert durumlarında da çalıstırılabilir

23  Her trigger bir veya daha fazla veri degistirme isleminde harekete geçecek sekilde tanımlanır  Nispi olarak triggerlar daha az zaman kaybına neden olurlar  Triggerların getirdigi en büyük avantaj otomatik olarak devreye girmeleridir

24  SQL Server'da bir çok constraint (kısıt) kullanılabilir. "Check Constraint" verinin doğruluğunu ve bütünlüğünü korumak üzere kullanılan bir kısıttır. Check constraint eklenmiş bir kolona yeni bilgi eklenirken veya bilgi güncellenirken, veri yazılmış olan kurallara göre kontrol edilir ve kurala uymuyorsa bir hata verilir ve veri kaydedilmez.

25  Check constraint ifadesi, true veya false döndüren bir kural setidir. Check constraint sadece false değer döndüğünde hata verir. Eğer ifade null döndürürse, bunu true gibi değerlendirir ve herhangi bir hata vermeden veriyi günceller. Örneğin bir kolonda sınavlardan alınacak notları tutacak olalım. Notlar da arasında değişiyor olmalı. Grade alanına bu kısıtı ekleyelim ve 100 ün üzerinde data girilmesini engelleyelim. ALTER TABLE myTable ADD CONSTRAINT CK_Grade CHECK(Grade = 0)

26  Eğer tablomuzda veriler varsa ve daha önceden girilmiş verilerin kontrol edilmesini istemiyorsak with nocheck ifadesiyle bunu yapabiliriz. Aksi takdirde, veriler eklenen kurala uygun hale getirilene kadar check constraint eklenemez. ALTER TABLE myTable WITH NOCHECK ADD CONSTRAINT CK_Grade CHECK(Grade = 0)

27  Constraints(kısıtlar) kolonlarda yer almasına izin vereceğimiz değerleri belirleyen kuralları tanımlamamızı ve veri bütünlüğünü koruyan standart mekanizmayı sağlar. Veri bütünlüğünü sağlayan mekanizmalar arasında kısıtlar(constraints), trigger(tetikleyici), stored procedure(saklanmış yordamlar) ve default(varsayılan)lara göre daha çok tercih edilir. Check(kontrol) kısıtları bir kolondaki değerin geçerliliğini başka bir kolonla karşılaştırarak elde edebilmemize olanak sağlar.

28  Stored Procedures SQL’de vazgeçilmez veri tabanı objelerindendir. Türkçemizde karşılığı saklı yordam olarak kabul edilmektedir. Bir takım SQL deyimlerinden oluşmaktadır ve özellikle C#, VB, ASP.NET tabanlı projelerimizde veri tabanı ile işlem yaparken sık sık başvurduğumuz yöntemlerdendir. Çeşitli parametreler alır ve geriye değer döndürürler.

29  Örneğin şöyle bir işlem hayal edelim. Bir veritabanımız var ve bu veri tabanımızda bölümler ve çalışanlar olmak üzere birbiri ile ilişkili olan tablolarımız var. İlişki de şu şekilde, çalışanlar tablomda BolumID diye bir alanım ve bu alan Bolumler tablosu ile ilişkili. Bunu resmedelim :

30  Genel amaçlı Stored Procedure’lerin 4 çeşidi bulunmaktadır.  Sistem Stored Procedure : Master veritabanında tutulan kullanımında sp_ prefixi kullanılan stored procedure lardır. Veritabanı üzerinde sistemle alakalı yönetimsel işlerde kullanılırlar.  Kullanıcı Tabanlı Stored Procedure : Uygulamalarımız için kullandığımız sp lerdir.Bu sp leri çok rahat oluşturup silebilir ve değiştirebiliriz.

31  Extended Stored Procedure : Genelde.dll şeklinde derlenmiş olup Database Server ın işlevselliğini artıran bir çeşit stored procedure lerdir. Yalnız Master veritabanına eklenirler.  CLR Stored Procedure : CLR ortamında herhangi bir dili kullanarak da stored procedure ler geliştirilen bir tür Stored procedure çeşididir.

32  Stored Procedure ler, Database server da tutulduğu için çok hızlı çalışırlar bununda sebebi 1 defa yalnız derledikten sonra 1 daha derlenmeye ihtiyaç duymamalarıdır. Halbuki Uygulama katmanında yazmış olduğunuz SQL kodu her çağırmada tekrar tekrar derlenmek zorundadır. Buda büyük çaplı projelerde ve 1 den çok client a hizmet eden serverlar için büyük bir zaman kaybı demektir.  Network trafiği açısından mükemmel bir tasarruf sağlar.

33  SQL ifadelerine otomatik parametreleme sağlar. SQL ifadelerinin geçtiği yerdeki bütün parametreleri değiştirme yerine sadece SP içindeki parametreleri yada kuralları değiştirip istediğinizi gerçekleştirebilirsiniz.Buda uygulamanızı modüler olmasını sağlar uygulamaların karmaşıklığını giderir.  Stored procedure ler yazılırken programlama ifadelerine ek olarak (İf,while,for vb.) T-SQL komutlarını da kullanabilirsiniz.  Stored procedure ler sadece giriş ve çıkış parametreleri uygulama katmanında göründüğü için daha güvenilirdir. Database server ına erişim genelde kullanıcı ID si ve şifreyle gerçekleştiğini düşünürsek SP kullanmanın kodlarımız açısından bir güven unsuru teşkil etmiş olduğunu açıkça söyleyebiliriz.

34  Bir sütundaki tüm satırlara uygulanırlar, bir hesap yapıp geriye tek bir değer döndürürler.  Aggregation fonksiyonları başlıca şunlardır:  AVG  COUNT  FIRST  LAST  MAX  MIN  SUM

35  AVG ve SUM Fonksiyonları  SUM Fonksiyonu ile seçilen bir satırdaki tüm kayıtların toplamı hesaplanıp geri döndürülür, AVG Fonksiyonu ile ise tüm kayıtların ortalaması döndürülür.  Tüm filmlerin IMDB Puanlarının toplamına ulaşalım ;  SELECT SUM(IMDB_Puan) AS Toplam_Puan FROM Filmler  Tüm filmlerin IMDB Puanlarının ortalamasına ulaşalım ;  SELECT AVG(IMDB_Puan) AS Ortalama_Puan FROM Filmler

36  COUNT Fonksiyonu  COUNT Fonksiyonu ile oluşturduğunuz sorgunun ürettiği satır sayısı bulunur ve geriye döndürülür. Eğer COUNT fonksiyonunu sadece bir sütun için uygularsanız NULL olmayan, yani değeri boş olmayan kayıtların sayısı bulunur.  Tüm filmlerin sayısına COUNT fonksiyonunu kullanarak ulaşabiliriz ;  SELECT COUNT(*) AS Toplam_Film_Sayısı FROM Filmler

37  FIRST ve LAST Fonksiyonları  Seçtiğiniz sütun için ilk satıra FIRST Fonksiyonu ile, son satıra ise LAST Fonksiyonu ile ulaşabilirsiniz.  İlk tarih değerine ve son IMDB_Puan değerine ulaşalım ;  SELECT FIRST(Tarih) AS İlk_Tarih, LAST(IMDB_Puan) AS Son_IMDB_Puan FROM Filmler

38  MAX ve MIN Fonksiyonları  Seçilen sütundaki en büyük değere MAX Fonksiyonu ile, en küçük değere MIN Fonksiyonu ile ulaşabilirsiniz.  IMDB Puanı en yüksek filmin puanına ulaşalım ;  SELECT MAX(IMDB_Puan) AS En_Yüksek_Puan FROM Filmler

39  Bazı durumlarda karmaşık iç içe sorgular yazmak gerekebilir.Bir sorgunun sonucuna göre başka bir sorguyu çalıştırmak isteyebiliriz.Bu durumda sorgularımızı iç içe yazabiliriz.Alt sorgu bir veya birden fazla sonuç üretebilir.Eğer sorgu alt sorgudan gelen tek sonuç ile işlem yapacaksa MAX,MIN,AVG gibi gruplama fonksiyonları veya tek değer döndüren SELECT sorguları yazılabilir.

40  Örneğin;  SELECT * FROM Tablo WHERE Alan>(SELECT AVG(ALan) FROM Tablo) SELECT * FROM Roller WHERE Rol_ID>(SELECT AVG(Rol_ID) FROM Roller)  Sorgu çalıştırıldığında Roller tablosundan Rol_ID değeri ortalamasından büyük olan kayıtlar listelenir.

41  Eğer alt sorgu birden fazla sonuç üretiyorsa WHERE ile birlikte IN kullanılarak bütün sonuç işlemden geçirilir.  SELECT * FROM Roller WHERE Rol_ID IN (SELECT Rol_ID FROM Roller WHERE Rol_Ad LIKE 'Öğ%')  Sorgu çalıştırıldığında Roller tablosundan Rol_Ad değeri ‘Öğ’ ile başlayan kayıtlar listelenicektir.

42    


"Türkçe anlamı:Yapılandırılmış Sorgu Dili Teknogezgin.com." indir ppt

Benzer bir sunumlar


Google Reklamları