Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

VERİTABANI ve YÖNETİMİ

Benzer bir sunumlar


... konulu sunumlar: "VERİTABANI ve YÖNETİMİ"— Sunum transkripti:

1 VERİTABANI ve YÖNETİMİ
Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü

2 BİL 301 - Veri Tabanı ve Yönetimi
BÖLÜM -8- T-SQL ve View

3 Genel Bakış… T-SQL Değişken Türleri, Değişken Tanımlama Kuralları,
3 BİL Veri Tabanı ve Yönetimi Genel Bakış… T-SQL Değişken Türleri, Değişken Tanımlama Kuralları, Değişken Tanımlama, Değişkenlere Değer Atama, T-SQL ile Yığın İşlemleri, T-SQL’de Kontrol Deyimleri, If-Else Deyimi, Case Deyimi, While Döngüsü, Break Deyimi, Continue Deyimi. 3

4 Genel Bakış… (devam…) View (Görünüm) Nesnesi View oluşturmak,
4 BİL Veri Tabanı ve Yönetimi Genel Bakış… (devam…) View (Görünüm) Nesnesi View oluşturmak, View sütunlarına isim vermek, Birden fazla tablo kullanmak, View’larda değişiklik yapmak, View’ları silmek, View’ları şifrelemek. 4

5 5 BİL Veri Tabanı ve Yönetimi 8.1. T-SQL Kavramı T-SQL ifadelerinde döngü ve benzeri işlemleri yapmak için herhangi bir derleyiciye ihtiyaç yoktur. Herhangi bir dil öğrenilmeden bile T-SQL kullanarak amaca uygun projeler geliştirmek mümkündür. T-SQL ile geçmiş haftalarda öğrendiğiniz bütün SQL komutlarını kullanabilirsiniz. Bunların yanında SQL Server içerisinde bulunmayan döngü v.b. işlemlerde T-SQL aracılığı ile yapılabilmektedir. 5

6 6 BİL Veri Tabanı ve Yönetimi Değişken Türleri Bilindiği gibi değişkenler, verilerin bellekte geçici olarak tutulmalarını ve gerektiğinde kullanılmasını sağlayan yapılardır. T-SQL, diğer programlama dillerinde olduğu gibi değişken tanımlamaya olanak sağlamaktadır. T-SQL’de tanımlanan değişken diğer programlama dillerinde olduğu gibi herhangi bir veri tipi ile sınırlandırılmıştır ve oluşturulmasının ardından bellekte belli bir yer kaplamaktadır. Ayrıca üzerine veri yazılmasına izin vermekte ve daha sonrada program içerisinden çağrılabilmektedir. Değişken en basit tanımı ile bir verinin saklanmasında kullanılan hafıza alanıdır. Değişkene atanan her yeni değer eskini siler. 6

7 8.1.1. Değişken Türleri (devam…)
7 BİL Veri Tabanı ve Yönetimi Değişken Türleri (devam…) SQL server’da değişkenler ikiye ayrılmaktadır: Yerel değişkenler Global değişkenler Yerel değişkenler, işareti alarak tanımlanırlar. Global değişkenler ise önlerine işareti alırlar. Fakat bu değişkenler SQL Server tarafından tanımlanmıştır ve kullanıcılar tarafından tanımlanamazlar. Örneğin; Global değişkenler SQL Server üzerinde birçok işlem hakkında bilgi veren ifadeleri kapsamaktadırlar. 7

8 8.1.2. Değişken Tanımlama Kuralları
BİL Veri Tabanı ve Yönetimi Değişken Tanımlama Kuralları Değişken tanımlamaları yapılırken her dilde olduğu gibi T- SQL’de de uyulması gereken kurallar vardır. Bu kurallar şunlardır: Değişkenler _ (altçizgi) ve harf ile başlamalıdır. Boşluk karakteri veya Türkçe karakterler kullanılmamalıdır. Değişkenler SQL Server için özel anlamı olan ifadeler ile başlamamalıdır. #, $ gibi) SQL komutları değişkenlere isim olarak verilmemelidir. Örneğin INSERT, UPDATE v.b. SQL ifadeleri genellikle büyük harfle yazılır fakat küçük harfle de yazılabilir. 8

9 8.1.2. Değişken Tanımlama Kuralları (devam…)
9 BİL Veri Tabanı ve Yönetimi Değişken Tanımlama Kuralları (devam…) Nesne isimleri kısa ve anlaşılır olmalıdır. Tablolara isim verilirken daha kısa ve anlamlı isimler tercih edilmelidir. Örneğin TabloUrun yerine tblUrun tercih edilebilir. Tablolardaki NULL ifadesi hiçbir şey girilmemiş anlamına gelmektedir. Klavyeden SPACE tuşuna basılarak bırakılan boşluk ifadesi ile aynı anlamda değildir. NULL ifadesi daha önceden değeri bilinmeyen ve bu nedenle boş bırakılan ifadeler için tercih edilmelidir. 9

10 10 BİL Veri Tabanı ve Yönetimi Değişken Tanımlama T-SQL’de bir değişken tanımlamak için DECLARE komutu kullanılmaktadır. DECLARE komutunun genel biçimi aşağıdaki gibidir. Veri_Tipi Örnekler: varchar (20) int smalldatetime 10

11 11 BİL Veri Tabanı ve Yönetimi Değişken Tanımlama T-SQL de araya virgül koyarak birden fazla değişken tanımlamak mümkündür. Böyle bir durumda sadece tek bir DECLARE komutu kullanılmış olmaktadır. Örnek: varchar smalldatetime 11

12 8.1.4. Değişkenlere Değer Atama
12 BİL Veri Tabanı ve Yönetimi Değişkenlere Değer Atama T-SQL’de değişkenlere değer atamanın 2 yolu vardır: SET komutu ile değer atama, SELECT komutu ile değer atama. Bu iki kullanıma ait örnekler ve genel kullanımları sonraki slaytlarda verilmiştir. 12

13 8.1.4. Değişkenlere Değer Atama (devam...)
13 BİL Veri Tabanı ve Yönetimi Değişkenlere Değer Atama (devam...) SET komut kullanılarak değer atamanın genel ifadesi aşağıdaki gibidir: = atanan_deger Örnekler: = 'Murat' = = ' ' 13

14 8.1.4. Değişkenlere Değer Atama (devam...)
14 BİL Veri Tabanı ve Yönetimi Değişkenlere Değer Atama (devam...) SELECT komutu ile de değişkenlere değer atanabilmektedir. Eğer tek başına değişken ile kullanılırsa değişkenin içerisindeki değerin ekrana görüntülenmesini de sağlamaktadır. Örnek: varchar (20) = 'Mehmet' Böyle bir kullanımda değişkene değer atanabilir fakat ekranda gösterilmemektedir. 14

15 8.1.4. Değişkenlere Değer Atama (devam...)
15 BİL Veri Tabanı ve Yönetimi Değişkenlere Değer Atama (devam...) SELECT komutu ile ekranda değişkenlerin değerleri gösterilmek istenirse; Örnek: 15

16 8.1.4. Değişkenlere Değer Atama (devam...)
16 BİL Veri Tabanı ve Yönetimi Değişkenlere Değer Atama (devam...) SELECT dışında ekrana bilgileri yazmaya yarayan bir diğer T- SQL komutu da PRINT komutudur. PRINT komutu, değişkenlerin değerlerini, ortaya çıkan hataları vb. durumları ekrana yazdırmak için kullanılmaktadır. Örnek: 16

17 8.1.5. T-SQL ile Yığın İşlemleri
17 BİL Veri Tabanı ve Yönetimi T-SQL ile Yığın İşlemleri Yığın, belli sorguların arka arkaya yapılması anlamına gelmektedir. SQL Server, arka arkaya gelen sorguları yığın olarak ele almaktadır. Herhangi bir yığının sonunu belirlemek için GO komutu kullanılmaktadır. SQL Server’da bir yığın çalışmaya başlamadan önce ayrıştırılır (parse edilir). Daha sonra ayrıştırılan bu sorgular derlenerek çalıştırılır. 17

18 8.1.5. T-SQL ile Yığın İşlemleri (devam…)
18 BİL Veri Tabanı ve Yönetimi T-SQL ile Yığın İşlemleri (devam…) Genel kullanım biçimi şöyledir: Komutlar GO …. 18

19 8.1.6. T-SQL’ de Kontrol Deyimleri
19 BİL Veri Tabanı ve Yönetimi T-SQL’ de Kontrol Deyimleri Diğer programlama dillerinde olan ve T-SQL’de yer alan bu kontrol deyimleri şunlardır: IF… ELSE Yapısı CASE Yapısı WHILE Döngüsü Bu üç yapı yapılan SQL sorgusunun herhangi bir noktasında bazı değerlerin kontrol edilerek çalıştırılmasını sağlamaktadırlar. 19

20 20 BİL Veri Tabanı ve Yönetimi IF-ELSE Deyimi IF – ELSE karar yapısı diğer programlama dillerinden de hatırlanacağı gibi gelen değer yada değerlere göre bir kararın verilmesini sağlayan bir yapıdır. Bu yapının T-SQL deki genel kullanım biçimi şöyledir. IF (şartlar) BEGIN Komutlar1 END ELSE Komutlar2 Yani bir yada daha fazla şartın doğru olması halinde farklı bir işlem yada yanlış olması halinde başka işlemin yapılmasını sağlamaktadırlar. 20

21 21 BİL Veri Tabanı ve Yönetimi IF-ELSE Deyimi Örnek: Öğrencilerin vize not ortalamaları 50 den büyük ise “sınıfın durumu iyi”, düşük ise “sınıfın durumu kötü” olarak uyarı veren bir T-SQL programı yazalım. 21

22 22 BİL Veri Tabanı ve Yönetimi CASE Deyimi CASE yapısı herhangi bir değişkenin birden fazla durumla karşılaştırmak için kullanılmaktadır. Genel yapısı şöyledir. CASE WHEN Şart_ifadesi1 THEN Değer1 WHEN Şart_ifadesi2 THEN Değer2 ELSE Değer3 END 22

23 23 BİL Veri Tabanı ve Yönetimi CASE Deyimi (devam….) Örnek: bir sınıftaki öğrencilerin not ortalamalarına bakarak “Geçti” yada “Kaldı” şeklinde ekrana listeleyen T-SQL cümleciği şöyle olacaktır. 23

24 24 BİL Veri Tabanı ve Yönetimi WHILE Döngüsü Döngüler bir işlemde tekrar gerektiren durumlarda kullanılmaktadır. Döngüler belirlenen şart sağlanıncaya kadar işlemin yapılmasını sağlamaktadır. Diğer dillerde olduğu gibi T-SQL içerisinde de tekrarlı işlemler için bir döngü mevcuttur. Bu döngünün genel yapısı aşağıdaki gibidir. WHILE Şart BEGIN Tekrar gerektiren kodlar ……… END 24

25 WHILE Döngüsü (devam…)
25 BİL Veri Tabanı ve Yönetimi WHILE Döngüsü (devam…) Örnek1: Basit bir döngü yazarak 10’a kadar sayı saydıralım. 25

26 WHILE Döngüsü (devam…)
26 BİL Veri Tabanı ve Yönetimi WHILE Döngüsü (devam…) Örnek2: Bazı durumlarda belli bir SQL cümleciğinin birden fazla çalıştırılması istenebilir. Bu durumda döngü kullanılması tercih edilebilir. Bir SQL ifadesini 5 defa çalıştıralım. 26

27 27 BİL Veri Tabanı ve Yönetimi BREAK Deyimi BREAK komutu, bir döngü içerisinde belirlenen amaca ulaşıldığında döngünün kırılarak sonlandırılmasını sağlamaktadır. Döngüden çıkıldığında WHILE’ın END’ini takip eden kodlardan program çalışmaya devam eder. 27

28 28 BİL Veri Tabanı ve Yönetimi BREAK Deyimi Örnek: 1’den 10’a kadar çalışan bir döngüde 8’e gelindiğinde döngüden çıkmasını sağlayalım. int WHILE BEGIN IF PRINT 'Döngüden çikildi' BREAK END SELECT 28

29 29 BİL Veri Tabanı ve Yönetimi CONTINUE Deyimi Bu komut BREAK komutunun tam tersi durumunu gerçekleştirir. BREAK komutunun aksine bu komut WHILE yapısının başına gitmeyi sağlar. Bir defaya mahsus CONTINUE komutundan sonraki kısımlar çalıştırılmaz. 29

30 30 BİL Veri Tabanı ve Yönetimi CONTINUE Deyimi Örnek: Döngü değeri 8 olduğunda, 8 değeri dışında kalan tüm değerleri ekrana yazdıralım. 30

31 8.2. VIEW (Görünüm) Nesnesi
31 BİL Veri Tabanı ve Yönetimi 8.2. VIEW (Görünüm) Nesnesi Görünümler, veritabanı içerisinde önceden tanımlanmış tabloları kullanarak elde edilen geçici sanal tablolardır. Bu tablolar veritabanında fiziksel herhangi bir yer kaplamazlar. Görünümler, herhangi bir tablodaki belli alanların listelenmesini sağlarlar. Bir veritabanı üzerinde eğer sık sorgulanan veriler var ise, bu verilerin hızlı ve basit bir şekilde sorgulanmalarını sağlamaktadırlar. Tablolar olduğundan farklı gösterilmek istenildiğinde çeşitli filtreler kullanılır. Bu filtrelerden biri de görünümlerdir. Görünümler kaydedilmiş sorgulardan oluşmaktadır. BİRİNCİ MADDEDEN SONRA SÖYLE: Başka bir deyişle sorguları basitleştirmek bunların erişimlerini ve izinlerini düzenlemek, birbirinden farklı sunuculardaki benzer verileri karşılaştırmak ve bazı durumlarda da sorgu sürelerini kısaltmak için kullanılan gerçekte var olmayan sanal tablolardır. DÖRDÜNCÜ MADDEDEN SONRA SÖYLE: Bu şekilde veritabanı üzerinde yer alan tablo yada tablolara daha kolay ve güvenli bir şekilde erişim yapılabilmektedir. 31

32 8.2. VIEW (Görünüm) Nesnesi (devam…)
32 BİL Veri Tabanı ve Yönetimi 8.2. VIEW (Görünüm) Nesnesi (devam…) Bir görünüm ile birden fazla tablo üzerinde sorgulama yapılabilir. Bu haliyle karmaşık SQL ifadelerini daha da basitleştirmiş olur. Oluşturulan bir görünüm ile veriler üzerinde herhangi bir güncelleme işlemi yapılamaz. Bu yapılar sadece MS SQL Server, Oracle gibi ileri seviye veritabanı yönetim sistemlerinde bulunmaktadır. MS Access’ te bu yapılar yoktur. 32

33 8.2. VIEW (Görünüm) Nesnesi (devam…)
33 BİL Veri Tabanı ve Yönetimi 8.2. VIEW (Görünüm) Nesnesi (devam…) Bir görünümün genel yapısı şekildeki gibidir. 33

34 8.2. VIEW (Görünüm) Nesnesi (devam…)
34 BİL Veri Tabanı ve Yönetimi 8.2. VIEW (Görünüm) Nesnesi (devam…) Genel olarak görünümler aşağıdaki amaçlar için de kullanılmaktadırlar: Kullanıcıların, bir tabloda yer alan sütun veya satırlarındaki önemli verilerini görmek. Tablolarda bulunan verileri başka bir tablo formatında göstermek. Karmaşık sorguları basitleştirmek. 34

35 35 BİL Veri Tabanı ve Yönetimi VIEW Oluşturmak Görünümler tablolarla aynı özelliklere sahip olup en fazla tane sütundan oluşabilmektedir. Görünüm oluşturmak için CREATE VIEW komutu kullanılmaktadır. Görünümün genel yapısı şöyledir: CREATE VIEW view_adı AS SELECT sütunlar FROM tablo_adı 35

36 8.2.1. VIEW Oluşturmak (devam…)
36 BİL Veri Tabanı ve Yönetimi VIEW Oluşturmak (devam…) Örnek: tblUrun tablosunda urunKod, urunAd ve listeFiyat bilgilerini gösteren bir View oluşturalım. 36

37 8.2.1. VIEW Oluşturmak (devam…)
37 BİL Veri Tabanı ve Yönetimi VIEW Oluşturmak (devam…) MS SQL Server üzerinde yeni bir Query açarak oluşturacağımız «bilgi» adlı View’a ait T-SQL kodlarını yazarak çalıştıralım. 37

38 8.2.1. VIEW Oluşturmak (devam…)
38 BİL Veri Tabanı ve Yönetimi VIEW Oluşturmak (devam…) Oluşturulan View’ lar ilgili veritabanının «views» sekmesinde yer almaktadır ve dbo.bilgi şeklinde görüntülenmektedir. 38

39 8.2.1. VIEW Oluşturmak (devam…)
39 BİL Veri Tabanı ve Yönetimi VIEW Oluşturmak (devam…) Oluşturduğumuz View’lar standart SQL komutlarına benzer şekilde çalıştırılmaktadır. Örneğimizin çalıştırılma ve sorgu sonucu aşağıdaki gibi olacaktır. 39

40 8.2.1. VIEW Oluşturmak (devam…)
40 BİL Veri Tabanı ve Yönetimi VIEW Oluşturmak (devam…) View oluşturma işlemini dilerseniz MS SQL Server’ da ilgili veritabanındaki «views» seçeneğini farenin sağ tuşuna basarak açılan menüden «New View…» diyerek te oluşturabilirsiniz. 40

41 8.2.1. VIEW Oluşturmak (devam…)
41 BİL Veri Tabanı ve Yönetimi VIEW Oluşturmak (devam…) «New View» seçeneğini tıkladığınızda karşınıza View’ı hangi tablo yada tablolardan oluşturacağınızı soran bir ekran gelecektir. Örneğimizi tblUrun tablosunu kullanarak yeniden yapalım. 41

42 8.2.1. VIEW Oluşturmak (devam…)
42 BİL Veri Tabanı ve Yönetimi VIEW Oluşturmak (devam…) tblUrun tablosu seçildiğinde View’da sorgulanması gereken alanların tek tek seçilmesi istenecektir. Seçilen bu alanlar View sorgulandığında ekranda gösterilecektir. 42

43 8.2.1. VIEW Oluşturmak (devam…)
43 BİL Veri Tabanı ve Yönetimi VIEW Oluşturmak (devam…) Her seçilen alan bir SELECT ifadesi içerisine eklenir. Eğer bir filtreleme yapılacaksa Filter seçeneği içerisinde belirtilir. 43

44 8.2.2. VIEW Sütunlarına İsim Vermek
44 BİL Veri Tabanı ve Yönetimi VIEW Sütunlarına İsim Vermek View’lar da sütun adları isteğe göre değiştirilebilir. Eğer değiştirilmek istenmiyorsa filtrelenen ana tablodaki sütun adları ile aynı olacaktır. Sütun adları ihtiyaca göre değiştirilebilir. View’larda sütun adları verilirken herhangi bir veri tipi belirtilmez. Bunun nedeni sorgulanan tablo baz alındığı için veri tipleri yine asıl tablodaki veri tipleri ile aynı olacaktır. 44

45 8.2.2. VIEW Sütunlarına İsim Vermek
45 BİL Veri Tabanı ve Yönetimi VIEW Sütunlarına İsim Vermek Aynı örneğimizi sütunlara isim vererek tekrar yapalım. 45

46 8.2.3. Birden Fazla Tablo Kullanmak
46 BİL Veri Tabanı ve Yönetimi Birden Fazla Tablo Kullanmak Bir JOIN komutu kullanılarak birden fazla tablodaki veriler bir VIEW oluşturularak defalarca sorgulanabilir. Genel olarak bu işlem için şöyle bir yapı kullanılır: CREATE VIEW view_adı AS SELECT sütun_adları FROM tablo_1 JOIN tablo_2 ON birleştirme_şartı 46

47 8.2.3. Birden Fazla Tablo Kullanmak (devam…)
47 BİL Veri Tabanı ve Yönetimi Birden Fazla Tablo Kullanmak (devam…) Örnek: tblUrun ve tblMarka tablolarını kullanarak marka kodları aynı olan ürünleri listeleyen bir view yazalım. Kullanılacak olan tablolar aşağıdaki gibidir. tblUrun tblMarka 47

48 8.2.3. Birden Fazla Tablo Kullanmak (devam…)
48 BİL Veri Tabanı ve Yönetimi Birden Fazla Tablo Kullanmak (devam…) Dikkat edilecek olursa her iki tabloda ortak olan değerler markaKod bilgisidir. Bu değerleri kullanarak her iki tablodan bilgileri elde edecek olan VIEW aşağıdaki gibi olacaktır: 48

49 8.2.3. Birden Fazla Tablo Kullanmak (devam…)
49 BİL Veri Tabanı ve Yönetimi Birden Fazla Tablo Kullanmak (devam…) Bu VIEW çalıştırıldığında her iki tabloda yer alan veriler birleştirilerek ekrana gösterilecektir. 49

50 8.2.4. VIEW’ larda Değişiklik Yapmak
50 BİL Veri Tabanı ve Yönetimi VIEW’ larda Değişiklik Yapmak Bir View üzerinde değişiklik yapılmak istenildiğinde ALTER VIEW komutu kullanılır. ALTER VIEW deyiminin genel yapısı aşağıdaki gibidir. ALTER VIEW view_adi AS SELECT ifadesi 50

51 8.2.4. VIEW’ larda Değişiklik Yapmak (devam…)
51 BİL Veri Tabanı ve Yönetimi VIEW’ larda Değişiklik Yapmak (devam…) Oluşturmuş olduğumuz View üzerinde listefiyat bilgisini de ekleyecek bir değişiklik yapalım. Bu durumda değişiklik yapacak SQL ifadesi aşağıdaki gibi olacaktır. Tekrar çalıştırıldığında listefiyat bilgisi de ekranda görülecektir. 51

52 52 BİL Veri Tabanı ve Yönetimi VIEW’ ları Silmek Bir View’ı veritabanından kaldırmak(silmek) için DROP komutu kullanılmaktadır. Bu komut kullanıldığında view sistemden tamamen silinmiş olacaktır. DROP komutunun genel kullanımı aşağıdaki gibidir. DROP VIEW view_adı Örnek: DROP VIEW Urunler 52

53 53 BİL Veri Tabanı ve Yönetimi VIEW’ ları Şifrelemek Bazı durumlarda View’ları oluşturan kaynak kodların başkaları tarafından görülmemesi istenebilir. Böyle bir durumda SQL Server’ın kendi içerisinde yer alan bir şifreleme mekanizması bu yapıları kullanıcı için şifreler. Burada dikkat edilmesi gereken en önemli nokta şifrelenmiş bir View’ın içeriğini biz dahil hiç kimsenin görememesidir. Bu nedenle şifreleme işlemi uygulanmadan önce kaynak kodların bir kopyasının mutlaka saklanması gerekir. 53

54 8.2.6. VIEW’ ları Şifrelemek (devam…)
54 BİL Veri Tabanı ve Yönetimi VIEW’ ları Şifrelemek (devam…) View’ları şifrelemek için ENCRYPTION komutu kullanılmaktadır. ENCRYPTION komutu View oluşturulurken kullanılacağı gibi sonradan da kullanılabilir. Bu komutun genel yapısı şöyledir. CREATE VIEW view_adı WITH ENCRYPTION AS SELECT cümlesi 54

55 8.2.6. VIEW’ ları Şifrelemek (devam…)
55 BİL Veri Tabanı ve Yönetimi VIEW’ ları Şifrelemek (devam…) Örnek: Daha önceden oluşturmuş olduğumuz Urunler View’ını şifreli hale getirelim. 55

56 8.2.6. VIEW’ ları Şifrelemek (devam…)
56 BİL Veri Tabanı ve Yönetimi VIEW’ ları Şifrelemek (devam…) Burada dikkat edilmesi gereken bir diğer noktada, View’ın çalıştırılabileceği fakat kodlarının görülemeyeceğidir. Kaynak kodunu görmek için bir sistem prosedüründen faydalanalım. Query kısmına aşağıdaki komut yazıldığında ilgili View’ın şifrelendiğini belirten bir mesaj görüntülenir. 56

57 8.2.6. VIEW’ ları Şifrelemek (devam…)
57 BİL Veri Tabanı ve Yönetimi VIEW’ ları Şifrelemek (devam…) Şifreyi kaldırmak isterseniz View üzerinde yine bir değişiklik yaparak bunu yapabilirsiniz. Bunun için WITH ENCRYPTION komut satırını kaldırarak View’ı yeniden düzenleyebilirsiniz. 57


"VERİTABANI ve YÖNETİMİ" indir ppt

Benzer bir sunumlar


Google Reklamları