Bölüm 7: Microsoft Transact - SQL

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Bölüm 7: Microsoft Transact - SQL"

Transkript

1 Bölüm 7: Microsoft Transact - SQL -113-

2 Dr. Serkan DİŞLİTAŞ 7.1. Transact SQL (T-SQL) Microsoft Transact-SQL ya da kısaca T-SQL, Microsoft Server için özel yetenekleri olan SQL dilidir. T-SQL ile SQL cümleleri yazılırken değişkenler, karar ve çevrim kontrolleri, tetikleyiciler, saklı yordamlar gibi yapılar da kullanılmaktadır Operatörler Operatörler bir veya daha çok veri üzerinde işlem yapılmasını sağlayan yapılardır Aritmetiksel Operatörler Operatör Açıklama + Toplama - Çıkarma * Çarpma / Bölme % Modüler Bölme + İşaret Pozitif - İşaret Negatif Karşılaştırma Operatörleri Operatör Açıklama = Eşit > Büyük >= Büyük Eşit < Küçük <= Küçük Eşit <> Farklı Mantıksal Operatörler Operatör Not And Or Açıklama Değil Ve Veya -114-

3 Bölüm 7: Microsoft Transact - SQL Bitsel (Bitwise) Operatörler Operatör Açıklama ~ Bitsel Not & Bitsel And Bitsel Or ^ Bitsel Ex-Or Diğer Operatörler Operatör Açıklama = Atama + Birleştirme -- Açıklama /*.. Grup Açıklama.. */ Operatör Önceliği Genellikle diğer programlama dillerinde olduğu gibi Transact-SQL de de operatörlerin işletilmesinde belirli bir öncelik sırası vardır. Bu durum genellikle karmaşık ifadelerde ön plana çıkmaktadır. Aynı önceliğe sahip operatörlerde, işletim soldan sağa gidilerek yapılmaktadır. Öncelik Operatör Açıklama 1 +, -, ~ İşaret, Bit Yapısında Değil 2 *, /, % Çarpma, Bölme, Mod Bölme 3 +, - Toplama, Çıkarma 4 =, >, >=, <, <=, <> Karşılaştırma 5 ^, &, Bit Yapısında Ex-Or, And, Or 6 Not Mantıksal Değil 7 And Mantıksal Ve 8 Or Mantıksal Veya 9 = Atama Operatörü -115-

4 Dr. Serkan DİŞLİTAŞ 7.3. Veri Tipleri Veritabanındaki tablo ve değişkenlerde tutulan verilerin ne tipte ve ne büyüklükte olacağını belirlemek amacıyla veri tipleri kullanılmaktadır. Veri tipleri üç ana sınıf altında toplanabilmektedir : Sayısal Veri Tipleri, Karakter Veri Tipleri Zaman Veri Tipleri Sayısal Veri Tipleri Veri Tipi Açıklaması Sınır Aralıkları Int Tamsayı 4Byte (İşaretli-İşaretsiz) TinyInt Tamsayı 1Byte (İşaretli-İşaretsiz) SmallInt Tamsayı 2Byte (İşaretli-İşaretsiz) MediumInt Tamsayı 3Byte (İşaretli-İşaretsiz) BigInt Tamsayı 8Byte (İşaretli-İşaretsiz) Float Tek hassasiyetli Floating Point x10-38 den x10 38 Double/Real Cift hassasiyetli Floating Point x den x Decimal Float, ASCII Karakter olarak x den x Karakter Veri Tipleri Veri Tipleri Açıklama Sınır Aralıkları Char Sabit Uzunluklu Karekter String VarChar Değişken Karekter Uzunluklu String Blob BLOB : Binary Binary veri byte uzunlukta geniş nesne TinyBlob BLOB Binary veri byte uzunlukta MediumBlob BLOB Binary veri byte LongBlob BLOB Binary veri byte Text Text byte TinyText Text byte MediumText Text byte LongText Text byte Enum Siralamak Sütun değerleri listeden alınan bir değer olmalı. Set Deger Ayarı Sütun değerleri sıfır veya listeden bir değer ol

5 Bölüm 7: Microsoft Transact - SQL Zaman Veri Tipleri Veri Tipi Açıklaması Formatı Date Tarih YYYY-AA-GG DateTime Tarih +Zaman YYYY-AA-GG ss:dd:ss TimeStamp Zaman Parçası YYYYAAGGssddss Time Saat ss:dd:ss Year Yıl Yyyy Bir alan Char ile tanımlandığında boyuta bağlı olarak girilen verilerin sağ tarafları boşluk ile doldurulur. VarChar ile tanımlandığında ise girilen verinin 1 karakter fazlası yer ayrılacaktır. Bu 1 byte da string bitişi için kullanılmaktadır. Tanımlanan boyutun tamamı veri ile dolduğunda ise fazladan 1 byte daha ekleneceğinden diskten yer kazancı da zararla sonuçlanacaktır. Veri Tipi Tanımı Sonuç Ad Char (10) Z E Y N E P E L İ F K E M A L E T T İ N Her zaman 10 karakter dolu Z E Y N E P Null Toplam 7 karakter Ad VarChar(10) E L İ F Null Toplam 5 karakter K E M A L E T T İ N Null Toplam 11 karakter VarChar kullanımı diskten kazanç sağlamaktadır ancak performans açısından düşüş yapacaktır. Char tipi verilerle çalışmak performansı artıracaktır ancak daha fazla yer tutacaktır. T.C. Kimlik No, Öğrenci No gibi sabit büyüklükteki verilerin girileceği alanların Char ile oluşturulması daha uygun olur

6 Dr. Serkan DİŞLİTAŞ 7.4. Değişkenler Değişkenler, içeriği değişebilen bellek hücrelerini adresleyen yapılardır. Değişkenler sadece bir bellek gözünü adresler. Bununla birlikte, veriler bellekte birden fazla byte yer kaplayabilir. Bu nedenle verilerin, değişkenlerin tanımladığı adresten itibaren kaç byte hücreyi daha içerdiği veri tipleri sayesinde belirlenir. Bu durumda değişken, verinin bellekte yer aldığı başlangıç adresini tutarken; değişkenin veri tipi ile başlangıç adresinden itibaren kaç byte hücrenin bu veriye ait olduğu belirlenir. T-SQL de değişkenler Yerel (Local) ve Genel (Global) olmak üzere iki türlü tanımlanır Yerel Değişkenler Kullanıcı tarafından Declare ifadesi kullanılarak tanımlanırlar ve her özel karakteriyle başlar. Yerel değişkenler başlangıçta Null değere sahiptirler. Declare (Yerel_Değişken_Adı) (Veri_Türü) Yerel_Değişken_Adı özel karakteriyle başlayan oluşturulacak değişkenin adı. Veri_Türü : Değişken veri tipi (char, varchar, int, date ) Örnek 1 : Int Burada 9 karakterli Char adında ve Int adında iki yerel değişken tanımlanmaktadır. Bu değişkenlerin ilk değerleri Null dur. Örnek 2 : Char(9) = değişkenine değeri atanmaktadır. Örnek 3 : -- 9 karakterli Char adında yerel değişken tanımı Char (9) -- Kimlik tablosundaki en küçük değişkene atanır. = Min(OgrNo) From Kimlik değeri sonuç (Result Set) olarak elde edilir. as [İlk Ogrenci Numarası] değeri ekrana mesaj olarak yazdır

7 Bölüm 7: Microsoft Transact - SQL Örnek 4 : Exec ve Declare uygulaması - I Not : String ifadelerde karakter sayıları eşit olduğunda, sayısal büyüklük veya küçüklük geçerlidir. Örnek 5 : Exec ve Declare uygulaması - II -119-

8 Dr. Serkan DİŞLİTAŞ Genel Değişkenler (çift) özel karakteriyle başlayan değişkenlerdir. SQL tarafından oluşturulmuşlardır ve kullanıcı tarafından yaratılamazlar. Değişken Adı İçeriği Bazı Genel (Global) Değişkenler Versiyon bilgileri Kullanılan Dil Yerel Sunucu adı Bağlantı/Bağlantı Girişimi sayısı (Sunucunun başlatılmasında sonra) Disk Okuma Sayısı (Sunucunun başlatılmasında sonra) Disk Yazma Sayısı (Sunucunun başlatılmasında sonra) Disk Okuma/Yazma Hatası Sayısı (Sunucunun başlatılmasından sonra) Örnek 1 : Bu komut satırı işletilince aşağıdakine benzer versiyon bilgileri elde edilmektedir. Microsoft SQL Server (Intel X86) Aug :57:48 Copyright (c) Microsoft Corporation Örnek 2 : print 'Server Name : ' + ' - Language :' Sonuç; Server Name :DISLITAS - Language :British Yerel Tablo Türü Değişkenler Tablolar geçici olacak şekilde değişken olarak tanımlanabilmektedir. Declare (Yerel_Değişken_Adı) Table (Tablo_Tanımı) Yerel_Değişken_Adı özel karakteriyle başlayan yaratılacak değişkenin adı. Tablo_Tanımı : Normal Tablo Tanımı -120-

9 Bölüm 7: Microsoft Transact - SQL Örnek 1 : -- Tablo Değişkeni Tanımla Table ( OgrNo Char(9), Vize Int, Final Int, Ortalama Float ) -- Tablo değişkenine başka tablodan değer atama Insert (OgrNo) Select Ogrno From Kimlik -- Tablo Değişkenini Sorgula Select * tablo değişkeninin Vize, Final ve Ortalama alanları Null değer alır. Örnek 2: Exec (' --Tablo Degişkeni Tanımla Table ( OgrNo Char(9), Derskodu Char(7), Durum Char(8) ) ') --Tablo değişkenine başka tablodan değer atama Insert (OgrNo, Derskodu, Durum) Select Numara, DersKodu, Durum From Notlar -- Tablo Değişkenini Sorgula Select * Not : Burada Exec komutu ile SQL cümlesinin işletilmesi sağlanmıştır Fonksiyonlar Transact-SQL de fonksiyonlar tanımlanmalarına, ürettikleri değerlere ve türlerine göre çeşitli sınıflara ayrılmaktadırlar. Tanımlamasına göre fonksiyonlar : - Yerleşik (Sistem Tanımlı) Fonksiyonlar - Kullanıcı Tanımlı Fonksiyonlar Ürettikleri değerlere göre fonksiyonlar : - Kararlı Fonksiyonlar : Her zaman aynı değeri verirler ( Abs (-12) ). - Kararsız Fonksiyonlar : Farklı değerler verir ( Rand ( ) ). Türlerine göre fonksiyonlar: - Gruplama (Toplama - Aggregate) Fonksiyonları - Matematiksel Fonksiyonlar - Tarih ve Zaman Fonksiyonlar - Metin Fonksiyonları - Meta Veri Fonksiyonları - Güvenlik Fonksiyonları -121-

10 - Sistem Fonksiyonları Dr. Serkan DİŞLİTAŞ Gruplama (Aggregate) Fonksiyonları Fonksiyon Min(Sütun) Max(Sütun) Sum(Sütun) Avg(Sütun) Count(Sütun) Count(*) StdDev(Sütun) StdDevP(Sütun) Var(Sütun) VarP(Sütun) Görev / İşleyiş Sütun içerisinde en küçük değer bulunur. Sütun içerisinde en büyük değer bulunur. Sütun toplamı bulunur. (Null değerler hariç) Sütun aritmetik ortalaması bulunur. (Null değerler hariç) Sütuna göre kayıt sayısı bulunur. (Sütundaki Null değerler hariç) Tablodaki kayıt sayısı bulunur. Sütuna göre standart sapma bulunur. Sütuna göre istatistiksel standart sapma bulunur. Sütuna göre Varyans bulunur. Sütuna göre istatistiksel Varyans bulunur Matematiksel Fonksiyonlar Fonksiyon Açıklama Abs(x) X sayısının Mutlak Değeri Cos(x) Radyan cinsinden x sayısının, Cos değerini verir. Sin(x) Radyan cinsinden x sayısının, Sin değerini verir. Degrees(x) Radyan >>> Derece Ceiling(x) X Kesirli sayıyı üst sayıya yuvarlar. Exp(x) e x Exponent üs değerini verir Floor(x) X Kesirli sayıyı alt sayıya yuvarlar. Log(x) X sayısının Doğal Logaritmasını alır. Log10(x) X sayısının 10 tabanına göre logaritmasını alır. PI() Pi sayını verir. Power(x,y) X sayısının y. Kuvvetini verir. (x y ) Radians(x) Derece >>> Radyan Real olarak parametre ister. Örn:Radians(30.0) Rand( ) 0 ile 1 arası rastgele değer üretir. Round(x,y) X sayısını y kesir hanesine yuvarlar. Sign(x) X sayısının işareti öğrenilir. (x sayısı negatif ise (-1), 0 ise (0) ve pozitif ise (+1) Square(x) X sayısının karesini verir. Sqrt(x) X sayısının karekökünü verir

11 Bölüm 7: Microsoft Transact - SQL Örnek 1: Tarih ve Zaman Fonksiyonları Fonksiyon Day() Month() Year() GetDate() DateAdd DateDiff DatePart Açıklama Sistem GÜN değerini verir. Sistem AY değerini verir. Sistem YIL değerini verir. Sistem tarihini verir (Saat dahil) Tarihe ekleme İki tarih arası fark Tarihin belirli kısmının alınması Tarih Format Analizi Tarih Parçası Kısaltılmış İfade Tarih Parçası Kısaltılmış İfade Year yy, yyyy WeekDay dw Quarter qq, q Hour hh Month mm, m Minute mi, n DayofYear dy, y Second ss, s Day dd, d MilliSecond ms Week wk, ww -123-

12 Örnek 1: Dr. Serkan DİŞLİTAŞ Örnek 2: Select Ad, Soyad, Year( GetDate() ) Year(DogTar) as Yaş From Kimlik Burada Kimlik tablosundan Ad, Soyad ve DogTar alanları getirilmekte ve sistem tarihine ait yıl (fonksiyon değer üretimi) ile DogTar arasındaki yıl farkının elde edilmesi ile her kayıt için yaş gösterilmektedir. İlave Örnek: Select DATEDIFF (Year, '2002/07/27', GETDATE()) as Yas Metinsel Fonksiyonlar Fonksiyon Ascii(x) Char(x) CharIndex(x, y) CharIndex(x, y, i) Left(x, y) Len(x) Lower(x) LTrim(x) NChar(x) Replace(x, y, z) Right(x, y) RTrim(x) Space(x) SubString(x, y, z) Unicode(x) Upper(x) Açıklama X String ifadesinin sol karakterinin Ascii kod değerini verir. X Ascii kod değerine karşılık karakteri verir. X string ifade Y içerisinde aranır. X string ifade Y içerisinde, i. konumundan itibaren aranır. X string ifadesinin soldan y karakteri alınır. X string ifadesinin karakter sayısını verir. X string ifadesi küçük harflerle elde edilir. X string ifadesinin soldan boşlukları atılarak elde edilir. X Unicode değerinin karşılı olan karakteri verir. X string ifadesi içindeki tüm y ifadeleri z ifadeleri ile değiştirilir. X string ifadesinin sağdan Y karakteri alınır. X string ifadesinin sağdan boşlukları atılarak elde edilir. X adet boşluktan oluşan string oluşturur. X string ifadesinin y sütunundan itibaren z adetini verir. X Unicode karakterinin karşılığı olan sayısal değeri verir. X string ifadesi büyük harflerle elde edilir

13 Bölüm 7: Microsoft Transact - SQL Örnek 1: Select Upper(Ad), Soyad From Kimlik Yukarıdaki kullanımda Kimlik adlı tabloda Ad alanındaki veriler büyük harflerle, Soyad alanındaki veriler ise aynen tablodaki gibi elde edilir. Örnek 2: Select * From Kimlik Where Lower ( Ad ) = zeynep Yukarıdaki kullanımda Kimlik adlı tabloda Ad alanındaki değeri küçük harflerle zeynep olan kayıtlar elde edilir. Örnek 3: -125-

14 Dr. Serkan DİŞLİTAŞ Örnek 4: -126-

15 Bölüm 7: Microsoft Transact - SQL 7.6. Karar ve Çevrim Kontrol İşlemleri T-SQL ile yazılan komut satırları yukarıdan aşağıya doğru sıralı olacak şekilde işletilir. Karar ve Çevrim kontrol komutları kullanılarak komut satırlarının işletilmesi düzenlenebilmektedir Karar Kontrol Karar kontrol komutları, komut satır/satırlarının belirlenen bir şarta bağlı olarak işletilip işletilmemesini ya da işletilme sırasının değiştirilmesini sağlar. IF.. ELSE Komutu Belirtilen şarta bağlı olarak komut ya da komut satırlarının işletilmesini sağlar. If (Şart 1) ( İfade 1) Else If (Şart 2) ( İfade 2) Else ( İfade 3) Örnek 1 : EKSTRA ÖRNEK If 45%2=0 Print 'ÇİFT' ELSE Print 'TEK' değişkeni Int tipli olduğundan (eğer 2 değil de 2.0 yazılsaydı ya değişkeni Real olarak tanımlansaydı sonuç kesirli olarak elde edilirdi) yapılan bölme kalansız bölme şeklindedir

16 Dr. Serkan DİŞLİTAŞ Örnek 2 : Char(9) tipli bir değişken olarak tanımlanmıştır. 11 değerine eşitse mesaj olarak Zeynep verilir. Eğer 11 değilse 12 olarak yeni bir şart kontrol 12 ise Hatice, eğer bu da değilse Bilinmiyor olarak mesaj verilir. CASE.. END Komutu Program akışının çok değerli kontrolünün yapılmasını sağlayan bir işlevdir. Select veya Update komutlarıyla birlikte kullanılır. İki şekilde kullanımı vardır. 1. Kullanım : Case (Şart Değeri) When (Değer 1) Then (İfade 1) When (Değer 2) Then (İfade 2). Else (Diğer İfade) End 2. Kullanım : Case When (Şart 1) Then (İfade 1) When (Şart 2) Then (İfade 2). Else (Diğer İfade) End Not : Burada sadece ilk şartı sağlayan When satırındaki ifade çalıştırılır

17 Bölüm 7: Microsoft Transact - SQL Örnek 1: Yukarıdaki her iki kullanımda; Kimlik tablosundan Ogrno, Ad, Soyad bilgileri doğrudan alınırken, Cins alanına ait bilgiler 0 ve 1 değerlerinden Case..End işlevi ile ERKEK ve KADIN verilerine dönüştürülerek alınmaktadır. Cins Alan değeri burada 0 veya 1 den farklı ise sonuç Null olarak elde edilir. Bu nedenle şarta uymayan durumlar için Else kullanılarak Null yerine istenen değer aktarımı yapılabilmektedir. Aşağıda Else kullanılarak yapılan kontrolde şarta uymayan durumlar için Cins alan içeriği doğrudan aktarılmaktadır. Select Ogrno, Ad, Soyad, Case When Cins = '0' Then 'ERKEK' When Cins = '1' Then 'KADIN' Else Cins End as Cinsiyet From Kimlik -129-

18 Dr. Serkan DİŞLİTAŞ GOTO Komutu Program akışının koşulsuz olarak değiştirilmesini sağlar. İleri Adresleme; Goto (Etiket) (Etiket) : Geri Adresleme; (Etiket) : Goto (Etiket) Örnek 1: Burada Basla etiketi ile geri adresleme yapılarak bir çevrim oluşturulmuştur. Cik etiketi ile de ileri adresleme yapılarak program sonlandırılır

19 Bölüm 7: Microsoft Transact - SQL Çevrim Kontrol Çevrim kontrol komutları, komut satır/satırlarının belirlenen şart sağlandığı sürece işletilmesini sağlar. WHILE Komutu Bir ifade bloğu belirlenen şart sağlandığı sürece işletilir. Şartın durumuna göre, blok hiç işletilmeyeceği gibi sonsuz çevrime de girebilir. While (Şart) Begin ( İfade Bloğu) End Not : Break ve Continue komutları kullanılarak While çevriminin işlevi değiştirilebilir. Continue : İfade Bloğu tamamlanmadan çevrimin bir sonraki turuna geçilir. Break : İfade Bloğu tamamlanmadan çevrim sona erdirilir. Örnek 1: -131-

20 Dr. Serkan DİŞLİTAŞ 7.7. Geçici Tablo Oluşturma MSSQL Server ortamında T-SQL dili yardımıyla geçici tabloların oluşturularak kullanılması mümkündür. Geçici tabloların, sistem çalışması esnasında oluşturulmasıyla birtakım işlemlerin daha kolay ve güvenli bir şekilde yapılması sağlanabilmektedir. Geçici tablo oluşturma işlemi birkaç yöntemle yapılabilmektedir. Ayrıca oluşturulan geçici tablolar üzerinde Drop, Insert Into, Update vb. SQL komutlarının işletilmesi de mümkündür Gecici Tabloların tempdb Veritabanında Oluşturulması tempdb, geçici tabloların tutulduğu sistem veritabanıdır. Bu veritabanı içerisinde oluşturulan tablolar da geçici olmaktadır. Server kapatılıp açıldığında bu tabloların silindiği görülebilmektedir. Aşağıda tempdb veritabanında, Kimlik_Gecici adlı bir tablo oluşturulmaktadır

21 Bölüm 7: Microsoft Transact - SQL Yukarıdaki gibi tablo oluşturulduğunda MSSQL Server tempdb veritabanında Kimlik_Gecici adlı tablo aşağıdaki gibi görülmelidir

22 Oturum Boyunca Geçerli Geçici Tablo Oluşturulması Dr. Serkan DİŞLİTAŞ Özellikle oturum kapandığında silinen tablolardır. Bu tablolar aynı zamanda MSSQL Server kapatılıp açılarak ya da Drop komutu kullanılarak da silinebilmektedirler. Aşağıda Kimlik_Gecici_2 adlı bir geçici tablo oluşturulmaktadır. Bu yöntemde geçici tablo isimlerinin başında # karakteri kullanılmaktadır Transactions (İşler) Bir işi oluşturan birden fazla işlemin hepsinin de başarılı bir şekilde yerine getirilmesinin gerekli olduğu durumlar için Transaction yapıları kullanılır. Bu sayede işlemlerden herhangi biri ya da daha fazlası sonuçlanamazsa tüm işlemlerin iptal edilerek işe başlama noktasına ya da belirlenen bir noktaya yeniden dönülmesi sağlanır. Bu sayede işin bütünlüğü korunur. Örnek 1: A listesinden B listesine bir öğrenciyi transfer etmek isteyelim. Yapılması istenen iş, öğrencinin A listesinden silinmesi işlemi ile sonrasında B listesine bu öğrencinin kayıt edilmesi işleminden oluşmaktadır. İşi Başlat 1. İşlem : Öğrenciyi A listesinden Sil 2. İşlem : Öğrenciyi B listesine Ekle İşi Bitir -134-

23 Bölüm 7: Microsoft Transact - SQL Burada işlemlerden birinin yapılamaması durumunda ya öğrenci hiçbir listede yer almayacak ya da her iki listede yer alacaktır. Bu durumu engellemek için, her iki işlemin de başarılı olması durumunda işin gerçekleştirilmesini onaylamaktır. Diğer durumlarda işi oluşturan diğer işlemler de iptal edilerek iş başlangıcına dönülmektedir. Örnek 2: Banka hesabından para çekme işi tanımlayalım. Yapılması istenen iş, hesap kontrolü, hesaptan parayı düşme ve para ödeme olmak üzere 3 temel işlemden oluşsun. İşi Başlat 1. İşlem : Hesap Kontrolü Yap 2. İşlem : Hesaptan Parayı Düş 3. İşlem : Para Ödemesi Yap İşi Bitir Buradaki işlemlerden herhangi birinin sistem arızası, elektrik kesintisi gibi çeşitli nedenlerden dolayı gerçekleşmemesi durumunda diğer işlemlerin de iptal edilerek iş başlangıcına dönülmesi gerekmektedir Transaction Komutları Transaction yapısı aşağıdaki gibidir. Insert, Update ve Delete komutları Transaction için geçerli birer işlemdir. Begin Tran Commit Tran İşlemler -- Tran yerine Transaction da kullanılabilir

24 Begin Tran Commit Tran RollBack Tran Save Tran (İşlem Yeri Adı) : Transaction Başlangıcı : Transaction Sonu : Transaction Geri Al, İptal Et : Transaction Ara İşlem Yeri Belirle RollBack Tran [İşlem Yeri Adı] : Ara İşlem Yerine Geri Al Dr. Serkan DİŞLİTAŞ Save Tran ifadesi ile Transaction sınırları içerisinde ara yerler adlandırılabilmektedir. RollBack Tran ifadesinde de bu adlar parametre olarak verilerek ara noktalara geri dönüş sağlanmaktadır. Parametre verilmezse Transaction başına dönülür. Örnek 1: Begin Tran -- Öğrenci B Listesine ilave edilir. Insert Into Liste_B Select * From Liste_A Where Ogrno =' ' -- Öğrenci A Listesinden silinir. Delete From Liste_A Where Ogrno =' ' Commit Tran Burada Begin Tran ve Commit Tran ifadesi arasında kalan işlemlerin her ikisi de (Ekleme ve Silme) gerçekleşmeden iş onayı verilmez ve tablolarda fiziksel işlemler gerçekleştirilmez Saklı Prosedürler (Stored Procedures) Saklı Prosedürler, sunucu veritabanında saklanan derlenmiş Transact-SQL deyimlerinden oluşan altyordamlardır. Saklı Prosedürler sadece ilk çalıştırılmalarında derlenirler, sonraki çalışmalarda mevcut derlenmiş kodlar kullanılır. Bir Saklı Prosedür başka bir saklı Prosedürü çağırabilir. (32 defa iç içe) Saklı Prosedürlerin Avantajları Sunucu üzerinde önceden derlenmiş olduklarından ağ trafiğini azaltırlar ve dolayısıyla da performansı artırmaktadırlar. Veritabanı ile birlikte kopyalama ile çoğaltılabilirler.(veritabanında tutulur) Saklı prosedürlerde parametre ile veri göndermek ve almak mümkündür

25 Bölüm 7: Microsoft Transact - SQL Genel Saklı Prosedür Türleri Saklı prosedürler sistem ve kullanıcının yarattığı olmak üzere iki yapıdadır Sistem Kaynaklı Hazır Saklı Prosedürler Master veritabanında depolanan ve sp_ ile başlayan saklı prosedürleridir. Bazı sistem saklı prosedürleri ve işlevleri aşağıda listelenmiştir. Saklı Prosedür Adı Sp_Help Sp_Helpdb Sp_Who Sp_AddLogin Sp_Add_JobSchedule Sp_Rename Sp_Renamedb Sp_AddType Sp_DbOption İşlevi Veritabanı nesneleri, veri tipleri hakkında yardım Veritabanı hakkında bilgiler Geçerli MSSQL kullanıcıları ve işlevleri Verilen parametresi ile veritabanı için kullanıcı ekler. İşler için zamanlama yapma Kullanıcı veritabanı nesnelerini yeniden adlandırma Veritabanı adı değiştirme Yeni veri tipi oluşturma Veritabanı hakkında bilgiler Saklı Prosedür Çağırma Execute (Saklı Prosedür Adı) [parame1, parametre 2 ] Örnek 1: Execute Sp_Who Burada geçerli MSSQL kullanıcıları ve işlevleri elde edilir. Örnek 2: Execute Sp_AddLogin Misafir, 1234, myo myo veritabanında geçerli olmak üzere Misafir adında, şifresi 1234 olan bir kullanıcı oluşturulur. Örnek 3 : Sp_AddType tisim, varchar(20), Not Null Aşağıda Sp_AddType saklı prosedürü kullanılarak yeni bir veri tipi oluşturulmuş ve tablo oluşturulurken bu yeni veri tipi kullanılmıştır

26 Dr. Serkan DİŞLİTAŞ Kullanıcı Tanımlı Saklı Prosedürler Create Procedure [Parametre_Listesi] As Procedure_Bloğu Procedure_Adi Not 1 : Prosedürlerin çağrılmasında Master veritabanında, sp_ ile başlayanların önceliği vardır. Bu durum göz önüne alınarak isim verilmesi gerekmektedir. Not 2 : # [Procedure_Adi] >>> Geçici Yerel Procedure tanımlanabilir. ## [Procedure_Adi] >>> Geçici Genel Procedure tanımlanabilir Örnek 1 : Saklı prosedür oluşturma ve kullanma

27 Bölüm 7: Microsoft Transact - SQL Not : Aşağıda sysobjects tablosunda nesneler ve tipleri verilmektedir. Nesneler ve Type Değerleri Name Stored Procedure Table View Trigger ( sysobjects tablosu) Type P U V Tr -139-

28 Örnek 2 : Parametreli Saklı Prosedür oluşturma ve kullanma. Dr. Serkan DİŞLİTAŞ Burada 03 saklı prosedüre parametre (OgrNo alanı için Where satırında kullanım için) olarak verilmiştir

29 Bölüm 7: Microsoft Transact - SQL Örnek 3 : Default Parametreli Saklı Prosedür Oluşturma ve kullanma

30 Örnek 4 : Dr. Serkan DİŞLİTAŞ Çıkış Parametreli (Output) Saklı Prosedür Oluşturma ve Kullanma -142-

31 Bölüm 7: Microsoft Transact - SQL Örnek 5 : Faktöriyel Hesaplayan Saklı Prosedür Oluşturma ve Kullanma -143-

32 Örnek 6 : Dr. Serkan DİŞLİTAŞ Return Geri Dönüşlü Saklı Prosedür Oluşturma ve Kullanma -144-

33 Bölüm 7: Microsoft Transact - SQL Tetikleyiciler (Trigger) Insert, Update ve Delete komutlarıyla yapılan kayıt işlemlerinde otomatik olarak çalışan dışarıdan parametre almayan özel Saklı Prosedürlerdir. İş bütünlüğü korunarak ilişkisiz verilerin tutulması engellenmiş olur. Örneğin öğrenci Kimlik tablosundan bir öğrencinin silinmesi durumunda, Notlar tablosundan da o öğrencinin notlarının silinmesi işlemi tetikleyiciler ile yapılabilir. Ayrıca, Fatura giriş-çıkışı durumuna göre otomatik olarak Stok giriş-çıkışının yapılması işlemi de tetikleyiciler için örnek gösterilebilir. MS SQL server iki ayrı tetikleyici destekler. Bunlar : After Tetikleyicileri (After ve For olarak kullanılır.) Instead Of Tetikleyicileri After Tetikleyicileri After tetikleyicileri, onu çağıran komuttan sonra çalıştırılırlar. Insert, Update, Delete komutları için kullanılabilir. Sadece tablolar için oluşturulabilirler (View- Görünümler için oluşturulamaz). Alt düzey kısıtlamalar işletildikten sonra çağrılırlar. Kısıtlama ile herhangi bir sorunlu durum ortaya çıkarsa tetikleyici çağrılmaz. Bir tetikleyici birden çok komuta uygulanamaz. Ancak her komut için ayrı bir tetikleyici oluşturulabilir Instead Of Tetikleyicileri Instead Of tetikleyicileri, onu çağıran komutların yerini alırlar. Insert, Update, Delete komutları için kullanılabilir. Bir tetikleyici birden çok komuta uygulanabilir. Tablo ve görünümler (View) için Instead Of tetikleyicileri oluşturulabilir, ancak Tablo/View e ait bir eylem için tek bir tetikleyici kullanılabilmektedir. Instead Of tetikleyicileri ile bir tabloya eksik veri girildiğinde engelleme yapılabilir. Numara, Ad ve Soyad girilmesi gerekirken bazılarının eksik girilmesi gibi durumlarda değeri girilmeyen alanlar istenmeyen bir şekilde Not Null olur Tetikleyici Etkilenmeleri Tablolarda yapılan işlemlere bağlı olarak Tetikleyici etkilenmelerine ait tablo aşağıda verilmiştir. INSERT Tetikleyicisi DELETE Tetikleyicisi UPDATE Tetikleyicisi INSERTED Eklenen Kayıtlar - Güncelleme Sonrası DELETED - Silinen Kayıtlar Güncelleme Öncesi -145-

34 Dr. Serkan DİŞLİTAŞ Tetikleyici (Trigger) Oluşturma Tetikleyicileri oluşturmak için gerekli yapı aşağıdaki gibidir. Create Trigger Trigger_Adi On (Tablo_Adı/View_Adı) Tetikleyici_Turu Komut As (Tetikleyici_Tarafından_Yürütülecek_SQL_Cümleleri) Örnek 1: After Tetikleyicisi Oluşturma ve Kullanma -146-

35 Bölüm 7: Microsoft Transact - SQL Örnek 2: After Tetikleyicisi Oluşturma ve Kullanma -147-

36 Dr. Serkan DİŞLİTAŞ Örnek 3: Instead Of Tetikleyicisi Oluşturma ve Kullanma Burada S_InsteadOf_Tr adlı trigger tanımlandığından dolayı, Kimlik tablosunda herhangi bir değişiklik yapılmak istendiğinde (burada sadece Update için geçerli) Trigger devreye girecek ve istenen işlemi iptal ederek onun yerine çalışacaktır. Admin yetkili kişi bu Trigger ifadesini devreye alıp çıkararak diğer kullanıcıların çalışmalarını sınırlayabilmektedir. Bu sayede istenilmeyen durumlarda (güncelleme, bakım vb.) veritabanında ilgili tablolar için istenen Ekleme-Güncelleme-Silme gibi işlemler devre dışı bırakılmış olacaktır

37 Bölüm 7: Microsoft Transact - SQL Tartışma : Kimlik tablosunun güncelleştirilmesine yönelik hem After hem de Instead Of tetikleyicisi mevcut iken (önceki iki örneğe ait tetikleyiciler), Kimlik tablosunda bir değişiklik yapılmak istenirse ne olur? Açıklama : Öncelikle Instead Of tetikleyicisi devreye girecektir. Bu tetikleyici de Update işlemini engelleyip kendisi çalışacağından diğer After tetikleyicisi de çalışmayacaktır İmleçler (Cursors) İmleçler, SQL sorgusu ile elde edilen ResultSet içerisinde belli bir kaydı işaret edebilen yapılardır. İmleçler yardımıyla ResultSet kayıtlarına birer birer sırayla ulaşmak ve üzerlerinde güncelleme, silme gibi değişik işlemler yapmak mümkün olmaktadır. İmleç Komutu Declare cr_staj Cursor For Select OgrNo, SYapGun From Staj27 Open cr_staj Fetch From Fetch First From Fetch Last From Fetch Prior From Fetch Next From Fetch Absolute n From Fetch Relative n From Close cr_staj DeAllocate cr_staj Set RowCount 0 Set RowCount n Açıklama İmleç Oluşturma İmleç Açma İmleç Değerini Al İlk İmleç Değerini Al Son İmleç Değerini Al Önceki İmleç Değerini Al Sonraki İmleç Değerini Al +n : Baştan n. İmleç Değerini Al -n : Sondan n. İmleç Değerini Al +n : İleri n. İmleç Değerini Al -n : Geri n. İmleç Değerini Al İmleç Kapatma İmleci Bellekten Çıkartma Tüm ResultSet alınır. ResultSet in n adedi Fonksiyonu Geri Dönüş Değerleri ve Anlamları Geri Dönüş Değeri 0 Fetch işlemi başarılı -1 Fetch işlemi başarısız -2 ResultSet sonu (Satır yok ) Anlamı -149-

38 Dr. Serkan DİŞLİTAŞ Örnek 1 : Aşağıda cr_staj adlı basit bir imleç oluşturulmuş ve bu imleç ile kayıtlar teker teker getirilerek ekrana raporlanmıştır

39 Bölüm 7: Microsoft Transact - SQL Transact-SQL Uygulamaları Uygulama 1: BAHAR dönemine ait kodlu dersin öğretim elemanı elde edilir. Uygulama 2: Numarası olan öğrencinin geçtiği dersler elde edilir

40 Dr. Serkan DİŞLİTAŞ Uygulama 3: Tablodan 1. döneme ait dersler Derskodu sırasına göre elde edilir. Uygulama 4: Tablodan BAHAR dönemine ait kodlu dersi alan öğrenciler numara sırasına göre elde edilir

41 Bölüm 7: Microsoft Transact - SQL Uygulama 5: Tablodan numarası 04 ile başlayan mezun olmuş öğrencilerin istenen özelliklerde kayıt bilgileri elde edilmektedir. Uygulama 6: Bu uygulamada Alt Sorgular yardımıyla; sicil numaralı öğretim elemanının, BAHAR döneminde girdiği derslere ilişkin ayrıntılı bilgi elde edilir

42 Uygulama 7: Öğrencilerin geçtikleri derslerin kredileri toplamı elde edilir. Dr. Serkan DİŞLİTAŞ Uygulama 8: Öğrencinin devam zorunluluğu olmayan dersleri elde edilir

43 Bölüm 7: Microsoft Transact - SQL Uygulama 9: BAHAR dönemine ait derslerin öğrenci mevcutları elde edilir. Uygulama 10: sicil numaralı kullanıcının şifresi değiştirilmektedir

44 Dr. Serkan DİŞLİTAŞ Uygulama 11: numaralı öğrencinin GÜZ dönemi kodlu dersinin not bilgileri güncellenmektedir. Sonrasında bu not yeniden elde edilmektedir. Uygulama 12: numaralı öğrenci için, BAHAR dönemindeki kodlu derse kaydı(ekleme) yapılmaktadır

45 Bölüm 7: Microsoft Transact - SQL Uygulama 13: kodlu dersten BAHAR döneminde başarılı olan öğrencilerin mevcudu elde edilir. Uygulama 14: kodlu dersten BAHAR döneminde sınava giren öğrencilerin mevcudu elde edilir. Uygulama 15: BAHAR dönemi harç miktarı toplamı elde edilir

46 Dr. Serkan DİŞLİTAŞ Uygulama 16: Öğrencilerin yaptıkları toplam staj gün sayıları elde edilir. Uygulama 17: Öğretim elemanlarının BAHAR döneminde girdikleri Normal Öğretim ders saatleri elde edilir

47 Bölüm 7: Microsoft Transact - SQL Uygulama 18: BAHAR döneminde kodlu dersi alan öğrencilerin aritmetik ortalaması elde edilir. Uygulama 19: BAHAR döneminde kodlu dersi alan öğrencilerin Standart Sapması elde edilir

48 Dr. Serkan DİŞLİTAŞ Uygulama 20: Öğrencilerin BAHAR dönemindeki Kredi ve Ders Saati toplam miktarları elde edilmektedir. Uygulama 21: Program derslerinin yer aldığı tablo oluşturulur. DersKodu alanı Birincil İndeks olarak tanımlanmıştır

49 Bölüm 7: Microsoft Transact - SQL Uygulama 22: Program harç bilgilerinin yer aldığı tablo oluşturulur. OgrNo, HDonem ve HarcFisNo alanları Birincil İndeks olarak tanımlanmıştır. Uygulama 23: Program staj bilgilerinin yer aldığı tablo oluşturulur. OgrNo, SDonem ve SBasTar alanları Birincil İndeks olarak tanımlanmıştır

50 Dr. Serkan DİŞLİTAŞ Uygulama 24: Program öğrenci ders ve not bilgilerinin yer aldığı tablo oluşturulur. OgrNo, DersKodu ve DYilDonem alanları Birincil İndeks olarak tanımlanmıştır. Uygulama 25: OgrKimlik10 adlı tablo mevcut ise fiziksel olarak veritabanından silinmektedir. Not : Veritabanına ait nesne bilgileri SysObjects adlı sistem tablosunda tutulmaktadır

51 Bölüm 7: Microsoft Transact - SQL Uygulama 26: Öğrencilerin kodlu dersi kaçıncı kez aldığı belirlenmektedir. Eğer ders alam sayısı 1 ise İlk, 2 ve daha fazla sayıda ise Tekrar sonucu elde edilmektedir. Uygulama 27: numaralı öğrenci için, BAHAR dönemindeki DC olan dersleri dönem ortalaması 2.0 ve yukarısı ise DC+ (GEÇER), değilse DC- (TEKRAR) olarak güncellenecektir

52 Dr. Serkan DİŞLİTAŞ Uygulama 28: Öğrencilerin her biri için BAHAR döneminde aldıkları dersler için ağırlıklı not ortalamaları hesaplanmaktadır

53 Bölüm 7: Microsoft Transact - SQL Uygulama 29: öğretim yılında (% nedeniyle GÜZ, BAHAR ve YAZ OKULU dahil) numarası 05 ile başlayan öğrencilerin her biri için ağırlıklı not ortalaması hesaplanmakta ve %10 a girenlerin listesi elde edilmektedir. Burada Top 10 ile en üstten %10 luk dilime girenlerin elde edilmesi sağlanmaktadır

54 Dr. Serkan DİŞLİTAŞ Uygulama 30: Öğrencilerin geçtikleri dersler baz alınarak, Transkript için Toplam Kredi Miktarı ve Ağırlıklı Not Ortalaması elde edilmektedir

55 Bölüm 7: Microsoft Transact - SQL Uygulama 31: Kullanıcı giriş kontrolü yapılmaktadır. Bu amaçla S_Kullanici_Sp adlı Saklı Prosedür kullanılmıştır. Saklı prosedüre kullanıcı adı ve şifresi gönderilmektedir. Saklı prosedür parametrik olarak aldığı bu iki değeri veritabanında tarayarak geçerli olup olmadığını kontrol etmekte ve sonuç olarak geriye kullanıcı açık kimliği ve görev yetkisi döndürülmektedir. Eğer böyle bir kullanıcı yok ise geriye Null değeri dönmektedir. S_Kullanıcı_Sp adlı saklı prosedür içeriği aşağıda verilmiştir

56 -168- Dr. Serkan DİŞLİTAŞ

Bölüm 4: DDL Veri Tanımlama Dili

Bölüm 4: DDL Veri Tanımlama Dili Bölüm 4: DDL Veri Tanımlama Dili -43- Dr. Serkan DİŞLİTAŞ DDL (Data Definition Language Veri Tanımlama Dili : Bu kategorideki SQL komutları ile veritabanları, tablo, görünüm ve indekslerin yaratılması,

Detaylı

STORED PROCEDURE LER (Saklı Yordamlar)

STORED PROCEDURE LER (Saklı Yordamlar) STORED PROCEDURE LER (Saklı Yordamlar) Eskiden yazılımlar, sadece prosedür denilen kod parçalarından oluşurdu. Her prosedür belli bir işlevi yerine getirmek için yazılmış kod parçalarıdır. Mesela, 2 sayı

Detaylı

SQL TRIGGERS (Tetikleyiciler)

SQL TRIGGERS (Tetikleyiciler) Trigger kelime anlamı olarak tetikleyici demektir. Trigger, SQL de bir sorgu çalıştırdığımızda, başka bir sorgunun çalışmasını sağlamak için yazılan koddur. Mesela bir tablodan kayıt sildiğimizde, başka

Detaylı

Bölüm 10: PHP ile Veritabanı Uygulamaları

Bölüm 10: PHP ile Veritabanı Uygulamaları Bölüm 10: PHP ile Veritabanı Uygulamaları -231- Öğr.Gör. Serkan DİŞLİTAŞ 10.1. PHP PHP, platformdan bağımsız sunucu taraflı çalışan betik bir web programlama dilidir. PHP programlama dili ile MySQL, MSSQL,

Detaylı

Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç

Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç I. SQL FONKSİYONLARI SQL Server'da Fonksiyonlar, hesaplamalarda ve özellikle sistem hakkında bilgi almada yaygın olarak kullanılan araçlardır. Transact-SQL (T-SQL) programlama dilinde değişik kategorilerle

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 6 T-SQL ile Programlar Yazmak" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı Programlama dili olarak T-SQL Fonksiyonlar Programlamak

Detaylı

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir. T-SQL KODLARİ İÇERİSİNE AÇIKLAMA EKLEME Bir veya daha fazla satırın çalıştırılmasını Önlemek için veya /*... */" ifadeleri kullanılır. -- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak

Detaylı

Veri Tabanı-I 9.Hafta

Veri Tabanı-I 9.Hafta Veri Tabanı-I 9.Hafta SELECT komutu 1 SELECT YAPISI SELECT FROM [WHERE ] , veritabanından değerleri alınacak olan kolonların listesidir. kolon_listesi

Detaylı

EXISTS VE NOT EXISTS fonksiyonları

EXISTS VE NOT EXISTS fonksiyonları EXISTS VE NOT EXISTS fonksiyonları Kullanımı EXISTS (sorgu) : eğer sorgudan bir yada daha fazla kayıt dönerse değeri true (doğru), hiç kayıt dönmez ise değeri false (yanlış) tır. NOT EXISTS : exists fonksiyonunun

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -12- TETİKLEYİCİ (TRIGGER) 3 Giriş Trigger lar Trigger lar Ne Zaman Kullanılmalıdır? Klasik Trigger ların Özellikleri

Detaylı

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

SAKLI YORDAM (Stored Procedure) Sibel Somyürek SAKLI YORDAM (Stored Procedure) Sibel Somyürek Saklı Yordam Saklı yordamlar veritabanı kataloğunda saklanan SQL kod bloklarının tanımlanmasıdır. Mesela, iki sayı alıp bunların toplamlarını hesaplayan bir

Detaylı

Bir çeşit prosedür. Ancak bu prosedür kendiliğinden çalışır. Çalışması için tabloya veri eklemek, veri silmek, veri değiştirmek yeterlidir.

Bir çeşit prosedür. Ancak bu prosedür kendiliğinden çalışır. Çalışması için tabloya veri eklemek, veri silmek, veri değiştirmek yeterlidir. TRIGGER Bir çeşit prosedür. Ancak bu prosedür kendiliğinden çalışır. Çalışması için tabloya veri eklemek, veri silmek, veri değiştirmek yeterlidir. Herhangi bir tablo üzerinde yapılan, insert, update veya

Detaylı

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir. SQL PROGRAMLAMA BATCH Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı deyimidir. SELECT. UPDATE...... DELETE.. BATCH BATCH Özellikleri 1- Bir batch içinde bir deyimde yazım hatası olduğunda

Detaylı

Oracle da kullanılan veri tipleri:

Oracle da kullanılan veri tipleri: ORACLE A GİRİŞ Oracle ile SQL Server ı karşılaştıralım, 1 Oracle da veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, yapısını değiştirme, silme kodları

Detaylı

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon ORACLE GİRİŞ Oracle ile SQL Server ın karşılaştıralım. 1 Oracleda veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, değiştirme ve silme kodları aynı. 3

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ II. 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER)

VERİ TABANI YÖNETİM SİSTEMLERİ II. 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER) BÖLÜM 5 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER) 5.1 CURSOR (İMLEÇ) VE ÖZELLİKLERİ. Birden fazla kaydın hafızaya getirilme işlemlerine imleç(cursor) açma denir. İmleç açma, özellikle

Detaylı

Mysql Veritabanı Komutları

Mysql Veritabanı Komutları Mysql Veritabanı Komutları Mysql Veri Tabanı Komutları Hazırlayan : M. Başar ACAROĞLU Kaynaklar: http://www.hrzafer.com/sql-dersleri http://www.w3schools.com/sql/default.asp Veri Tabanı Nedir? Mysql Veritabanı

Detaylı

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir. VERİ BÜTÜNLÜĞÜ VTYS lerde veri bütünlüğünü sağlamanın iki temel yolu vardır; Tanımlanabilir veri bütünlüğü ve prosedürel veri bütünlüğü. Tanımlanabilir veri bütünlüğü, tanımlanan nesnelerin kendi özellikleri

Detaylı

SQL Komutları (2) Uzm. Murat YAZICI

SQL Komutları (2) Uzm. Murat YAZICI SQL Komutları (2) Uzm. Murat YAZICI Sıralama Sıralama işlemi için SELECT ifadesinde ORDER BY kullanılır. Bu ifadede ASC kelimesi kullanılırsa sıralama küçükten büyüğe doğru (A-Z), DESC kullanılırsa büyükten

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -10- FONKSİYONLAR 3 Giriş Geçen haftaki derslerimizde Görünümleri (View) ve Stored Procedure (SP) leri öğrendik. Bu hafta

Detaylı

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır. KULLANICI TANIMLI FONKSİYONLAR Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır. Fonksiyonları veritabanı programlamada

Detaylı

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi 1. 2. 3. 4. 5. 6. Görünüm (view) için özellikle aşağıdakilerden hangisi söylenebilir?? a) Veritabanındaki kayıtlı verileri düzenlemek, yönetmek ve elde etmek için kullanılan bir dildir b) Bir ilişkinin

Detaylı

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir. TRIGGER Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir. DML ve DDL trigger lar olarak ikiye ayırmak mümkündür. DML (Data Manipulation

Detaylı

Veri Tabanı ve Yönetimi

Veri Tabanı ve Yönetimi Veri Tabanı ve Yönetimi Transaction Trigger 1Muhammer İLKUÇAR, MAKÜ-2011 BURDUR TRANSACTİON TRANSACTİON: İşlem bütünlüğü sağlar. Tranasction bloğu içindeki komutlar bir bütün olarak işlenir. Komutların

Detaylı

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri ORACLE DA KÜRSÖRLER Gerekli sistem değişkenleri SQL%ISOPEN : kürsör açıksa değeri true, kapalı ise değeri false SQL%ROWCOUNT : sql ile işlem gören kayıt sayısı bulunur. SQL%FOUND : sql işlemi sonucu, en

Detaylı

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints)

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints) Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri 1.1. Tablo Oluşturma 1.2. Tablo Oluşturmada Kısıtlamalar Constraints 1.3. Tablo Silme a. NULL, NOT NULL b. PRIMARY KEY c. UNIQUE d. FOREIGN KEY e. CHECK f.

Detaylı

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU Ders Tanıtım Sunumu Database Managegement II Elbistan Meslek Yüksek Okulu 2016 2017 Güz Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 08 Eyl. 2016 SQL SERVER MANAGEMENT STUDİO SQL SERVER MANAGEMENT STUDİO SQL SERVER

Detaylı

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir? 1) I. Tablo Oluşturma II. Veri Güncelleme III. Veri Silme IV. Veri Ekleme V. Tablo Silme Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir? a) I, IV ve V b) II, III ve IV

Detaylı

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu 2015 2016 GÜZ Yarıyılı. 20-23 Eki. 2015. Öğr. Gör. Murat KEÇECĠOĞLU

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu 2015 2016 GÜZ Yarıyılı. 20-23 Eki. 2015. Öğr. Gör. Murat KEÇECĠOĞLU 08221 Veri Tabanı II Elbistan Meslek Yüksek Okulu 2015 2016 GÜZ Yarıyılı 20-23 Eki. 2015 Öğr. Gör. Murat KEÇECĠOĞLU T-SQL KOMUTLARI Veritabanları ANSI SQL dediğimiz standart dil kullanılmaktadır. Bu dil

Detaylı

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Basit Sorgulamalar a. Tablodan tüm alanları sorgulama b. Tablodan alanları belirterek sorgulama c. Tekrarlı satırları önleme d. Belirli sayıda veya oranda sorgulama yapma

Detaylı

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu SQL'DE VERİ İŞLEME KOMUTLARI SQL'de verileri işlemek için kullanılan komutlara DML (Data Manipulation Language Veri İşleme Dili) denilmektedir. Bu komutlar ile oluşturulan ifadeler tablolara kayıt eklemek,

Detaylı

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir?

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir? 1- ' select cast ('500' as nvarchar) + cast ('250' as nvarchar) sorgusunun sonucu olarak aşağıdakilerden hangisi döner? a) 750 b) 250 c) 500250 d) 500 e)250500 2- Total de 8000 byte yer tutup 4000 karakter

Detaylı

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II Değişken Tanımlama Ve Akış Kontrol Deyimleri Değişken Nedir? Değişkenler, programın veya kodların icra süresince belirli bir değer tutan ve istenilirse bu değer

Detaylı

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1 5 SQL- Yapısal Sorgulama Dili Veritabanı 1 SQL- Yapısal Sorgulama Dili SQL ifadeleri yapısal olarak üç gruba ayrılır. Veri Tanımlama Dili (DDL - Data Definition Language) Veri İşleme Dili (DML - Data Manipulation

Detaylı

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II Değişken Tanımlama Ve Akış Kontrol Deyimleri Değişken Tanımlama Değişken isimlerinin başında @ sembolü bulunur. @ad, @soyad, @tarih değişken isimlerine birer örnektir.

Detaylı

YAPISAL SORGULAMA DİLİ (SQL)

YAPISAL SORGULAMA DİLİ (SQL) YAPISAL SORGULAMA DİLİ (SQL) OGRENCI Tablosu 1234 Zeynep Makina K 23.06.1984 1. Cad 3.4 CREATE TABLE VERİ TANIMLAMA DİLİ (VTD) Veritabanında yeni bir tablonun oluşturulmasını sağlar. Yukarıda tanımlanan

Detaylı

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir. Oracle (Devam) SELECT INTO Deyimi Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir. Genel ifade: SELECT kolonisimler INTO

Detaylı

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

VERĐTABANI YÖNETĐM SĐSTEMLERĐ VERĐTABANI YÖNETĐM SĐSTEMLERĐ Öğr.Gör.Sedat Telçeken ANADOLU ÜNĐVERSĐTESĐ FEN FAKÜLTESĐ MATEMATĐK BÖLÜMÜ 2005 2006 Bahar Dönemi D M L Bilindiği üzere SQL tablolar üzerinde sorgulama yapar. Bu sorgular

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarım ve geliştiricisi @ : adnandursun.at.asrinbilisim.com.tr : +AdnanDURSUN Sunum Akışı PL/pgSQL nedir PL/pgSQL neden kullanmalıyız PL/pgSQL in yapısı Saklı

Detaylı

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim' Bu Derste Öğrenecekleriniz: 1- Veri Tabanı Adı Değiştirme 2- Nesnelerin Adını Değiştirme a. Tablo Adı Değiştirme b. Alan Adı Değiştirme c. Constraint (Kısıtlama) Adı Değiştirme 3- Tablo Düzenleme Komutları

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler C Programlama Dr. Serkan DİŞLİTAŞ 3.1. Sabitler Sabitler, tanımlanmasıyla birlikte program içerisinde

Detaylı

SQL Stored Procedure

SQL Stored Procedure SQL Server'daki Stored procedure'lar aynı diğer programlama dillerindeki procedure'lara benzer. SQL deyimlerini içeren komut doayaları hazırlanır ve sunucu üzerinde saklanır. Stored procedure aracılığıyla

Detaylı

SQL e Giriş. Uzm. Murat YAZICI

SQL e Giriş. Uzm. Murat YAZICI SQL e Giriş Uzm. Murat YAZICI SQL (Structured Query Language) - SQL Türkçe de Yapısal Sorgulama Dili anlamına gelmektedir ve ilişkisel veritabanlarında çok geniş bir kullanım alanına sahiptir. - SQL ile

Detaylı

Cursor. Bir veri tipi olarak da ele alınabilen Transact-SQL Sunucu Cursor şu aşamalardan geçirilerek kullanılır.

Cursor. Bir veri tipi olarak da ele alınabilen Transact-SQL Sunucu Cursor şu aşamalardan geçirilerek kullanılır. Cursor VTYS'deki cursor'ler, metin editörlerindeki cursorler ile aynı işi yapar. Metin editörlerinde O an için cursor nerede ise, oradaki verileri baz alan işlemler yapabilirsiniz. Veritabanı sistemlerinde

Detaylı

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER VERİTABANI SORGULARI İÇİNDEKİLER Select İfadesi Insert İfadesi Update İfadesi Delete İfadesi Verileri Sıralamak Verileri Gruplandırmak Veriler Üzerinde Arama Yapmak NESNE TABANLI PROGRAMLAMA I Uzm. Orhan

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Bölüm 3: DML Veri İşleme Dili

Bölüm 3: DML Veri İşleme Dili Bölüm 3: DML Veri İşleme Dili -15- Dr. Serkan DİŞLİTAŞ DML (Data Manipulation Language Veri İşleme Dili) : Bu kategorideki SQL komutları veriler üzerinde işlemler yapmaya yönelik ifadeleri içermektedir.

Detaylı

Microsoft SQL Server Sorgulama

Microsoft SQL Server Sorgulama Microsoft SQL Server Sorgulama Eğitim Takvimi Tarih Eğitim Süresi Lokasyon 26 Kasım 2018 3 Gün Bilginç IT Academy Eğitim Detayları Eğitim Süresi : 3 Gün Kontenjan : 12 Ön Koşullar : Herhangi bir ön koşul

Detaylı

KULLANICI TANIMLI FONKSİYONLAR (Devam)

KULLANICI TANIMLI FONKSİYONLAR (Devam) KULLANICI TANIMLI FONKSİYONLAR (Devam) Skaler değerli fonksiyon örneği: Parametre müşteri grubu olacak, eğer grubu parametresi değeri NULL olursa, tüm müşteri sayısını, NULL değilse girilen gruptaki müşteri

Detaylı

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş -1- Dr. Serkan DİŞLİTAŞ 1.1. Veri ve Bilgi (Data & Information) Hesaplama, saklama gibi çeşitli işlemler amacıyla bilgisayara verilen sayı, yazı, resim, ses,

Detaylı

VERİTABANI Veritabanı Yönetimi

VERİTABANI Veritabanı Yönetimi VERİTABANI Veritabanı Yönetimi YAPILANDIRILMIŞ SORGULAMA DİLİ (SQL) Veritabanı yönetimi, veritabanının yapısal özelliklerini belirtmek ve değiştirmek, veritabanına kullanıcı erişimlerini ve yetkilerini

Detaylı

T-SQL NEDİR? Microsoft T-SQL Transact-SQL

T-SQL NEDİR? Microsoft T-SQL Transact-SQL T-SQL T-SQL NEDİR? SQL dilinin yeteneklerinin sınırlı olması sebebiyle, SQL üzerine çeşitli iyileştirmeler ve eklemeler yapılmıştır. Örneğin Oracle firması SQL üzerine yaptığı iyileştirmeleri standartlaştırmış

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarımcı ve geliştirici adnandursun@asrinbilisim.com.tr 30.04.2011 İstanbul 1. PostgreSQL Türkiye Konferansı 1 Akış PL/pgSQL nedir PL/pgSQL neden kullanmalıyız

Detaylı

SQL Kod ile Tablo Oluşturma

SQL Kod ile Tablo Oluşturma SQL Kod ile Tablo Oluşturma Aşağıdaki SQL kodları Veri tabanı hazırlama programında yazılıp çalıştırıldığı zaman PERSONEL adında bir tablo oluşturulur ve bu tablonun sütunları Personel_no, Adı, Soyadı

Detaylı

Charindex() CHARINDEX

Charindex() CHARINDEX Charindex() CHARINDEX fonksiyonu 2 parametre almaktadır. 1.parametredeki değerin 2.parametre olarak verilmiş değerde olup olmadığını belirtir. Varsa karakter numarasını yoksa 0 değerini döndürür. SELECT

Detaylı

Veritabanına Uygulanması

Veritabanına Uygulanması Add, Alter Drop, Alter Change, Alter Sql komutları ve açıklamaları CREATE CREATE TABLE Üzerinde çalışma yapılan veritabanı içerisinde yeni bir tablonun oluşturulmasını sağlar. CREATE TABLE tablo_adı (alan_adı1

Detaylı

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU Elbistan Meslek Yüksek Okulu 2015 2016 GÜZ Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU Tetikleyici : Tetikleyici (trigger), SQL Server üzerinde herhangi bir işlem gerçekleştiğinde başka bir işlemin tetiklenmesi

Detaylı

Laboratuvar 2 Tek Kayıt Fonksiyonları

Laboratuvar 2 Tek Kayıt Fonksiyonları Laboratuvar 2 Tek Kayıt Fonksiyonları Fonksiyonlar sıfır veya daha fazla bağımsız değişken alan ve sonuçta sadece bir değer döndüren programlardır. Oracle ile birlikte birkaç hazır fonksiyon gelmektedir.

Detaylı

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri 1.1. Tablo Oluşturma 1.2. Tablo Oluşturmada Kısıtlamalar Constraints 1.3. Tablo Silme a. NULL, NOT NULL b. PRIMARY KEY c. UNIQUE d. FOREIGN KEY e. CHECK f.

Detaylı

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır. 18 SQL SORGU DİLİ SQL (Structured Query Language) yapısal sorgu dili, veritabanı yönetim sistemlerinin standart programlama dili olarak bilinmektedir. SQL dilinin Access içinde sorgu pencerelerinde veya

Detaylı

TETİKLEYİCİ. Tetikleyici Ne Zaman Kullanılır? Çeşitli amaçlara uygun olarak tetikleyiciler kullanılabilir.

TETİKLEYİCİ. Tetikleyici Ne Zaman Kullanılır? Çeşitli amaçlara uygun olarak tetikleyiciler kullanılabilir. TETİKLEYİCİ Tetikleyici(trigger), SQL Server üzerinde herhangi bir işlem gerçekleştiğinde başka bir işlemin tetiklenmesi için kullanılır. Tetiklenecek işlem tamamen bizim belirlediğimiz çerçevede başka

Detaylı

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler SQL'e Giriş SQL komutları kullanılarak aşağıdaki işlemler yapılabilir: Veritabanı nesnelerinin oluşturulması ve bu nesnelerle ilgili işlemlerin yapılması Bilgilerin istenilen koşullara göre görüntülenmesi

Detaylı

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi 20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi 1) Aşağıdaki SQL Server sürümlerinden hangisi ana sürümlerden bir tanesidir? a) Parallel Data Warehouse b) Express c) Standart d) Developer

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9 BTP 207 İNTERNET PROGRAMCILIĞI I Ders 9 Dizi Değişkenler (Array) 2 Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1, eleman2,, elemann)

Detaylı

VERİTABANI. SQL (Structured Query Language)

VERİTABANI. SQL (Structured Query Language) VERİTABANI SQL (Structured Query Language) SQL'de Gruplama Bir tablonun satırları gruplara ayrılarak fonksiyonların bunlara uygulanması mümkündür. Gruplara ayırmak için SELECT deyimi içerisinde GROUP BY

Detaylı

KULLANICI TANIMLI FONKSİYONLAR (Devam)

KULLANICI TANIMLI FONKSİYONLAR (Devam) KULLANICI TANIMLI FONKSİYONLAR (Devam) Skaler değerli fonksiyon örneği: Parametre müşteri grubu olacak, eğer grubu parametresi değeri NULL olursa tüm müşteri sayısını, NULL değilse verilen gruptaki müşteri

Detaylı

IN ve NOT IN Tablodaki alan içeriklerine ulaşmak için IN deyimi kullanılır.

IN ve NOT IN Tablodaki alan içeriklerine ulaşmak için IN deyimi kullanılır. Alt Sorgular SQL Serverda sorgu içinde sorgu da oluşturulabilir. Sorgu içinde sorgu, içteki sorgunun dışta olan sorguya değer üretmesidir. Bu, bir değer veya birden fazla değer olabilir. IN ve NOT IN Tablodaki

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1 JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki

Detaylı

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur.

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur. Oracle (Devam) SELECT INTO deyimi Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur. Genel ifade; SELECT koloisimleri INTO değişkenisimleri

Detaylı

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Sorgulama Yaparken Gruplama (GROUP BY) 2- Gruplamada Koşul Kullanımı (HAVING) 3- Sorgulama Yaparken Sıralama (ORDER BY) 4- Sorgulamalarda İşlem Yapma 5- Güncellemelerde İşlem

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz. Fonksiyonlar tamamen işimizi kolaylaştırmak adına sürekli olarak tekrarladığımız sql sorgularına tek bir noktadan erişmemizi sağlar. Buda bize hızlı bir erişim imkanı,hızlı bir hata kontrol mekanizması,

Detaylı

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler SQL'de Veri İşleme Komutları SQL'de verileri işlemek için kullanılan komutlara DML (Data Manipulation Language Veri İşleme Dili) denilmektedir. Bu komutlar ile oluşturulan ifadeler tablolara kayıt eklemek,

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 12 12. SQL de YÖNETİMSEL FONKSİYONLAR 12.1. VIEWS ( Tablo Görünümü) Tablo görünümleri veri tabanında tanımı olan tablolardan sorgulama sonucunda elde edilir. Tabloların tersine fiziksel bir yer tutmazlar.

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

Tetikleyiciler (TRIGGER) Tetikleyiciler ne zaman kullanılırlar. Ardı Sıra Tetikleyiciler (After Triggers) Örnek

Tetikleyiciler (TRIGGER) Tetikleyiciler ne zaman kullanılırlar. Ardı Sıra Tetikleyiciler (After Triggers) Örnek Tetikleyiciler (TRIGGER) Bir tetikleyici bir tabloya bağlı olarak bir takım işlemler yapan özel bir saklı yordamdır. Biz bu derste sadece Ardı Sıra Tetikleyici (After Trigger) ve Yerine Tetikleyici (Instead

Detaylı

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) GENEL DERS BİLGİLERİ Öğretim Elemanı : Öğr. Gör. Erdal GÜVENOĞLU Ofis : MUH 313 Ofis Saatleri : Pazartesi: 10.00-12.00,

Detaylı

Nesneler üzerinde değişiklik yapmak için kullanılır. Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır.

Nesneler üzerinde değişiklik yapmak için kullanılır. Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır. Transact SQL Kavramı Microsoft'un veri tabanı sorgulama dilidir. Transact-SQL, SQL Server ve istemci(client) arasında iletişimi sağlayan SQL sorgulama dilinin gelişmiş bir versiyonudur. Transact Structured

Detaylı

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir. MATRİS TRANSPOZU: Bir matrisin satırlarını sütun, sütunlarınıda satır yaparak elde edilen matrise transpoz matris denilir. Diğer bir değişle, eğer A matrisi aşağıdaki gibi tanımlandıysa bu matrisin transpoz

Detaylı

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim' Bu Derste Öğrenecekleriniz: 1- Veri Tabanı Adı Değiştirme 2- Nesnelerin Adını Değiştirme a. Tablo Adı Değiştirme b. Alan Adı Değiştirme c. Constraint (Kısıtlama) Adı Değiştirme 3- Tablo Düzenleme Komutları

Detaylı

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU Elbistan Meslek Yüksek Okulu 2015 2016 GÜZ Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU GÖRÜNÜM Görünüm (view), Sorguları basitleştirmek, Erişim izinlerini düzenlemek, Farklı sunuculardaki benzer verileri karşılaştırmak

Detaylı

Veri Tabanı-I 5.Hafta

Veri Tabanı-I 5.Hafta Veri Tabanı-I 5.Hafta DataBase Oluşturma 1 DATABASE Kolon,özellik,alanColumn,attributes,fields) Sunucu Tablo numarası adı soyadı 0913109001 Ali Can 0913109002 Nuri Koç Database 0913109003 Fatma Kara Satır,Kayıt

Detaylı

PROGRAMLAMA DİLLERİ I

PROGRAMLAMA DİLLERİ I PROGRAMLAMA DİLLERİ I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Öğr. Gör. M. Mutlu YAPICI Hafta 1. Hafta 2. Hafta 3. Hafta 4. Hafta 5. Hafta 6. Hafta 7. Hafta

Detaylı

Çok tablolu sorgulamalar

Çok tablolu sorgulamalar Çok tablolu sorgulamalar Eğer birden fazla tabloda yer alan verilerin tek bir sorgu ile görüntülenmesi istenirse FROM kısmında ilgili tablolar araya virgül konularak yazılmalı, WHERE kısmında ise o tabloları

Detaylı

KULLANICI TANIMLI FONKSİYONLAR

KULLANICI TANIMLI FONKSİYONLAR KULLANICI TANIMLI FONKSİYONLAR Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır. Fonksiyonları veritabanı programlamada

Detaylı

Veri Tabanı Hafta Dersi

Veri Tabanı Hafta Dersi Veri Tabanı - 1 7. Hafta Dersi Dersin Hedefleri SQL Yapısal Sorgulama Dili Veri Tanımlama Dili (DDL) Create Alert Drop Veri tanımlama dili verinin ne olduğundan çok verinin tipi ile ilgilenir. Veri tabanı

Detaylı

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Tabloya Veri (Yeni Kayıt) Ekleme 2- Kayıt Silme 3- Kayıt Güncelleme Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu

Detaylı

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama Veritabanı Tasarımı NOT NULL ve UNIQUE Kısıtlamaları Tanımlama NOT NULL ve UNIQUE Kısıtlamaları Tanımlama Konular Kısıtlama terimini veri bütünlüğü ile ilişkilendirerek tanımlama Sütun seviyesinde ve tablo

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ II. 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ

VERİ TABANI YÖNETİM SİSTEMLERİ II. 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ BÖLÜM 3 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ 3.1 SQL PROGRAMLAMA BLOKLARININ YAPISI Birbirinden çok az farklarla ayrılan PL/SQL ve T-SQL e ikisini de kapsayacak şekilde SQL programlama demiştik

Detaylı

Algoritma ve Programlamaya Giriş

Algoritma ve Programlamaya Giriş Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Genel SQL SQL çok yüksek seviyeli bir dildir. Biraz ingilizce bilgisi gerektirir. Programlama dillerine göre öğrenilmesi çok daha kolaydır. Çünkü programlama dillerindeki

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

6 Aritmetiksel Operatörler ve Hazır Fonksiyonlar

6 Aritmetiksel Operatörler ve Hazır Fonksiyonlar 6 Aritmetiksel Operatörler ve Hazır Fonksiyonlar Veritabanı 1 1 Aritmetiksel Operatörler SELECT adi,soyadi, maas + maas*10/100 zamlimaas FROM tbl_personel select 3*5 select 5+3 select 3*5,3+5, 3/5 select

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 8 8. TEMEL SQL KOMUTLARI-II 8.1. SELECT (Seç) Komutu Veri tabanındaki tablo veya tablolardan istenilen özellikteki verileri seçip listeleme için kullanılan komuttur. Genel kullanımı aşağıdaki gibidir.

Detaylı

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011 Veritabanına Giriş Oğuzhan Ceylan 19 Eylül 2011 Outline Veritabanı MYSQL Mysql Sorgu Komutları Bir veritabanı yaratmak ve kullanmak Veritabanı Veritabanı Verittabanı hangi alanlarda kullanılıyor. Web sitesi

Detaylı

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir. İlişkisel Veritabanı Yaklaşımı: İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir. İlişkisel veri tabanı yönetim sistemi verilerin tablolarda satır ve sutunlar halinde tutulduğu

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ II. 4. SQL PROGRAMLAMADA PROCEDURE ve FUNCTION

VERİ TABANI YÖNETİM SİSTEMLERİ II. 4. SQL PROGRAMLAMADA PROCEDURE ve FUNCTION BÖLÜM 4 4. SQL PROGRAMLAMADA PROCEDURE ve FUNCTION 4.1 PROCEDURE (PROSEDÜR) VE ÖZELLİKLERİ? Prosedürler belirli işlemleri gerçekleştirmek üzere oluşturulan özel bloklardır. PL/SQL de prosedürler diğer

Detaylı