VERİ TABANI YÖNETİM SİSTEMİ 2
|
|
- Serkan Kunt
- 7 yıl önce
- İzleme sayısı:
Transkript
1 VERİ TABANI YÖNETİM SİSTEMİ 2 Transaction: Birden fazla sql komutunun kullanımıdır. Transaction, özet olarak daha küçük parçalara ayrılamayan işlem demektir. Özellike bir grup işlemin arka arkaya gerçekleşiyor olmasına rağmen, seri işlemler halinde ele alınması gerktiğinde kullanılır. Transaction bloğu içerisindeki işlemlerin tamamı gerçekleşinceye kadar hepsi gerçekleşmemiş varsayılır. Update hesaplar set bakiye=bakiye-1500 where hesap_no= Update hesaplar set bakiye=bakiye+1500 where hesap_no= Commit: Kalıcı kayıt etme işlemi. Ancak kodda bir hata varsa başa döndürüyor kaydetmiyor. Rollbackten tek farkı komut derleme işlemini de yapmasıdır. Roolback: Yapılan işlemi geri almak. (iptal etmek) Eğer ki hesap numarasını yanlış yazmışsak rollback sayesinde işlemler iptal olur. En başa döndürüyor. En baştan itibaren iptal ediyor (doğru işlemi de) Yani işlemindeki hesap nosu doğru olsa da onu da iptal ediyor. Transaction log: Sql de yaptığımız tüm işlemler sırasıyla burada kaydediliyor. Bu bizim dosyamız. Start transaction: ISBN K_Adi Y_Tarih S_Sayisi Alritma VTYS Create table kitaplar (ISBN int, K_Adi varchar(45),y_tarih Date, S_Sayisi int); Start Transaction Update kitaplar Set S_Sayisi=0 Update kitaplar Set K_Adi= deneme Select*from kitaplar Rollback Bu kod sayesinde güncelleme işlemi yapacak ve select sayesinde görüntüleyecek. En son rollbackle bütün yaptığı işlemleri geri alacak. Burada yazdığımız Start Transaction kodu transaction işlemini başlatıyor. Bu sayede Roolback komutunu gerçekleştirebiliyoruz. Transaction Genel Yapısının Akış Diyagramı
2 Transaction başla SQL ifadeleri Hata varsa Rollback Commit Hata yoksa Savepoint: En başa değil de istediğimiz yere döner. Kayıt yaptığımız yerlere döner. Sistem geri yükleme mantığındaki gibi çalışır. Commit/Rollback to savepoint_ismi Transaction Ve Savepoint in birlikte Çalışma Alritması
3 Transaction başla Savepoint A SQL ifadeleri Hata varsa Rollback A Hata yoksa Savepoint B SQL ifadeleri Hata varsa Rollback B Hata yoksa Commit Start Transaction Savepoint deneme Update kitaplar Set S_Sayisi=0 where ISBN= Select*from kitaplar Rollback to deneme Select* from kitaplar Update kitaplar set K_Adi= Deneme Select* from kitaplar Rollback Select * from kitaplar Savepoint kayıt noktasıdır. Yukarıdaki kodlarda deneme adında bir kayıt noktası oluşturulmuştur. Bu işlemden sonra oluşturulan kayıt noktasına rollbackle dönüşler yapılmıştır. Bu kodlarda stransaction başlatılmış deneme adında bir kayıt noktası oluşturulmuştur. Sonrasında update işlemiyle sayfa sayısı sıfırlanmıştır. Sonrasında yapılan rollback işlemiyle kayıt noktasına dönülmüştür. Yani sayfa sayısı ilk Normalde kodda bu kadar Select ifadesi yoktur. Buradaki selectlerin anlamı yapılan her işlemden sonra kontrol ettir. Yani işlemi yapıp son hali görüntüler.
4 haline dönmüştür. Devamındaki update işlemleriyle de aynıları yapılmıştır. Ancak sondaki rollbacke to deneme demediğimiz için en başa dönecektir. Bir dönüş noktası yoktur. Tüm işlemleri geri alır. Kısacası Savepoint sayesinde bir kayıt noktası oluşturulur ve bu kayıt noktasına istediğimiz gibi dönüş yapılır. Transact SQL(T-SQL) Değişken Tanımlama: Sayi int, İsim varchar(20) Veritipi() int varchar(20) Örnek-1: int Set Bu örnekte üç adet sayısal türde değişken tanımlanmıştır. Daha sonra değişkenlere SET ifadesiyle değer ataması yapılmıştır. Son satırda da görüldüğü gibi değişkenlere atanacak değerler sabit olabileceği gibi diğer değişkenlerden de elde edilebilir. MONEY from personel ***Örnek1 de sanal tablo üzerinden sayılar üretilip işlemler yapılmıştır. Ancak örnek 2 de hazır tablo üzerinden en yüksek maaşı kisi bulmuştur. TABLE( nu int identity(1,1), ad varchar(50)); output alinacak_sutunlar into aktarilacak_sutun output kullanımının içinde inserted ve deleted kavramları var. İnserted ile ekleme işlemlerini deleted ile silme işlemlerini yönetiyoruz. tablo değişkenini tanımlayalım table( ad varchar(20), soyad varchar(30), maas int) yeni eklenen kaydı output işlemiyle eklenenler değişkenine ekleyip göstereceğiz. insert into personel output inserted.ad, inserted.soyad, inserted.maas values(10,"egemen","tekkanat",2300) (11, erdem, tekkanat,3000)
5 sonunda eklenenleri bu şekilde görüntüleyelim. Personel tablosundan silme işlemi için; table( ad varchar(20), soyad varchar(30), maas int) insert into personel output deleted.ad, deleted.soyad, deleted.maas values(10,"egemen","tekkanat",2300) KOŞUL İFADELERİ if koşul1 koşula bağlı kod else if koşul koşula bağlı kod else kod bloğu Örnek: if (select min(maas) from personel)>1500 print "maaşı 1000 den büyük olan personel yok" else select ad,soyad,maas from personel where maas<1500 if exists(select*from personel where maas>2000) print maaşı 200den büyük personel var sorgu sonucunda bir sonuç çıkıyorsa true çıkmıyorsa false değerini alır!!! ***Use ifadesi sayesinde kullanılacak veritabanı seçimi yapılmaktadır.
6 Use veritabani_adi use egemen varchar(25) from kitaplar begin print kitap sayisi print yetersiz kitap sayisi else if <=10) begin print kitap sayisi print Yeni kitaplar gerekli else begin print kitap sayisi print yeterli kitap sayisi Case ifadesi case kontrol edilecek değer when aldığı değer then değer1 when aldığı değer2 then değer2... else deger_n use egemen select ad,soyad,notu case when notu>84 then 5 when notu>69 then 4 when notu>54 then 3 when notu>44 then 2 when notu>24 then 1 else 0 use egemen select ad,soyad,cinsiyet =
7 case cinsiyet when "1" then "erkek" when "2" then "bayan" from personel ***Buradaki eşittir işareti ve caseden sonra gelen cinsiyet ifadesi case neye göre yapacağım sorusunun cevabıdır. use egemen select ad,soyad,rev,maas from personel order by case rev when "teknisyen" then maas desc case when rev "mühis then maas Burada iki farklı sütuna göre sıralama söz konusudur. İlkinde teknisyenlerin maaşlarını azalan sıralamada. Sonrasında mühislerin maaşını artan sıralamada sıralayacakır. Bu sıralamada önce ilk koşul göz önünde bulundurulacak sonra diğeri önemsenecektir. Update işlemi use egemen update personel set maas=( case when maas<1000 then maas +((maas*20)/100) when maas>=1000 and maas <2000 then maas +((maas*15)/100) else maas + ()maas*10)/100) ) begin tekrarlanması gereken işlemler için kullanılır. Fakat tek bir komut satır var ise begin e gerek yok. Tekrarlanmasını yani sürekli dönmesini istediğimiz komutları buna yazıyoruz. int begin print cast(@sayac as varchar(20))+"karesi"+ cast(@sayac*@sayac as varchar(20))
8 ***Buradaki cast tür değiştirme işlemi yapar. (varchar ataması) smallint yenile print "sayac as varchar(10)) set to yenile ***Burada sayaç 4 olana kadar yenile işlemine geri dönecektir. RETURN İFADESİ int int is NULL begin print "deger degiskeni NULL" Return else begin is not null WAITFOR Delay: Parametre olarak verilen zaman kadar sonra çalıştırır. Bekleme demektir. TIME: Parametre olarak verilen zamanda çalıştırır. Belli bir saattir. Waitfor time 16:20:00 //Bu saate kadar kodlarımı çalıştır. Waitfor delay 01:30:00 //Kodlarımı bu kadar saat sonra çalıştır. select *from sys.messages Bu komut sistem mesajlarını sıralar. Hangi kod ne işe yarıyor onu söyler. Buradaki return ifadesi programı sonlandırmayı sağlıyor. Yani burada null değer içeriyorsa program sonlandırılıyor. Try Catch Yapısı begin try sql ifadeleri try begin catch hata oluştuğunda yapılacak işlemler catch ERROR_NUMBER () Oluşan hatanın kodu ERROR_SEVERİTY () Hatanın önem derecesi ERROR_LİNE () hatanın meydana geldiği satır ERROR_MESSAGE () oluşan hatanın tanımı create database deneme şeklinde kod ile database oluşturabildiğimiz gibi şu şekilde de oluşturabiliriz.
9 Tablo oluşturmak içinse aşağıdaki kodları kullanabiliriz. create table ogrenci (id int,ad varchar(20),soyad varchar(20)) Ya da şu şekilde yaratabiliriz. Bu tabloya veri eklemek içinse insert into ogrenci(id,ad,soyad) values('1','egemen','tekkanat') insert into deneme.dbo.personel(id,ad) values('1','egemen') kodlarını kullanabiliriz. Yada;
10 Buradan ekleyebiliriz. Try catch yapısını şu şekilde kullanabiliriz. Örnek: begin try select 1/0 try begin catch select ERROR_NUMBER() as hata_no, ERROR_SEVERITY() as hata_önceliği, ERROR_LINE() as hata_satiri, ERROR_MESSAGE() as hata_mesajı catch bu kodları çalıştırdığımız da şu ekran çıktısını alacağız. Yukarıdaki örnekte sütun isimlerini kimiz belirliyoruz. begin try select * from ersonel try begin catch print 'hata mesajı:'+ Error_message() catch Bu örnekte ise sistem ki atıyor. create table urunler1 (urun_no int not null primary key, ad varchar(20)) create table fiyat1 (urun_no int null, fiyat money null) alter table fiyat with check add constraint FK_fiyat_urunler1 foreign key(urun_no)
11 references urunler1(urun_no) bu kodları yazıp çalıştırdığımızda tablolarımızı yaratmış oluruz. insert into urunler (urun_no,ad) values('1','bilgisayar'), ('2','Televizyon'), ('3','Tablet') insert into fiyat1(urun_no,fiyat) values('1','2000'),('2','1500'),('3','1800') Bu kodlarımızla da tablomuza verilerimizi ekliyoruz. delete from urunler1 where urun_no='3' bu kodlarla silmeye çalışıyoruz. Ancak foreign keyle diğer tabloyla ilişkisi olduğu için önce onu silmemizi söyleyen bir hata veriyor. Ancak kodları şu şekilde yazdığımızda hatayı açıkça belirtecektir. begin try varchar(20) delete from urunler where try begin catch if error_number()=547 print nolu ürünün fiyat bilgisini siliniz' else print error_number() catch Bu hatayı kaldırmak içinse güncelleme işlemi yapacağız. Bunu da şu şekilde yaparız; begin transaction save transaction basla update urunler set ad='deneme' rollback transaction basla commit update urunler set urun_no='10' rollback commit Burada update işlemi doğruysa aşağıdaki update işlemine geçer. Ama yanlışsa rollback sayesinde basla işlemine geri döner. begin try begin transaction begin try begin transaction save transaction basla update fiyat set ad='bilgisayar'
12 commit try begin catch rollback transaction basla print 'hata 1. güncellemede'+ error_message() catch update fiyat set fiyat='10554' commit try begin catch rollback print 'hata 2. güncellemede'+error_message() catch İki update işlemini iki try catch ile yaptık. Tek try catch ile yapılamadı Değişkenlerden ve diğer sql ifadelerinden elde edilen değerlere göre değerlenen komutlara dinamik sql ifadeleri diyoruz. Declare bildirmeye yarıyor. Birincisi tek bildirmelerde işe yaramaktadır ancak ikincisi birden fazla sorgu yaratmada işe yarar vce daha kullanışlıdır. varchar(20) //varolan dersler parametresiyle birleştirildi. execute ('select * from ' //çalışcak kodu yazdık veya select*from dersler varchar(20) varchar(20) 'select * from' +@tablo execute(@sorgu) //çalışacak parametreyi yazdık ('select * from ' ve select*from dersler aynı işlemi yapmaktadır. PROSEDÜRLER (YORDAM) Bir tane prosedür oluşturuyoruz. Değerlikten sonra çalışmaya başlıyor. Tek tek yapmaya gerek yoktur. Her defasında prosedürleri yaratmaya gerek yoktur. Bir defa yaratmak yeterlidir.
13 Buradaki klasörün içinde sistemin ki atadığı bir sürü prosedür vardır. (sp=system Prosedures) sp_addtype sayisal1, int create table btbs(id sayisal1) Bu bir tip atamadır. burada sayisal1'e integer vermiş oluyoruz. Sonrasında int yerine sayisal1 kullanabiliyoruz. Sp_addtype veri tipi atamak için kullanılır. sp_addmessage 50001,16, 'otomatik artan sütun için değer girişi yapılmış' Burada hata mesajlarını verdirtiyoruz. Artık nolu hata için bu mesajı verecektir. sp_detach_db deneme eklemeyi kaldır demektir. Sql kullandığımız sunucudan bunu kaldırır. Yani artık böyle bir veri tabanı yoktur. Eklemek 'C:\deneme_log.ldf' Varolan bir veri tabanını servera ekler. Database konfigüre ediyor yani ayarlıyor. sp_configure 'user options',5 sp_configure 'remote access',0 uzaktan prosedürlerime erişim için 0 yaparsam engellerim 1 yaparsam izin veririm. sp_addlogin 'egemen',12345 sp_adduser 'egemen1' burada egemen adında bir kullanıcı oluştururuz Kullanıcı oluşturduktan sonra şu adımları izleriz.
14 Burada kullanıcılarımız gözükmektedir. Üzerine tıklayıp Roller kısmından rollerini belirliyoruz.
15
16 User Mapping alanındansa kullanacağımız veri tabanlarını seçeriz. Bizim bir de genişletilmiş prosedürlerimiz var. Farklı diller için kullanılan dll lerdir.
17 sp_configure 'show advanced options',1 reconfigure sp_configure 'xp_cmdshell',1 reconfigure cmdshell:veritabanıyla birlikte komut ekranının kullanımının açılmasıdır. Burada sql serverın içinde msdos komutlarının kullanılmasına izin veriyoruz. xp_cmdshell 'dir C:' //C deki bütün dosyalarımı alt tarafta listeler. cp_cmdshell 'mkdir C:\deneme2' alt dizin oluşturur. xp_fileexist 'C:\deneme.mdf' deneme adında veritabanının olup olmadığını kontrol eder. xp_create_subdir 'C:\deneme2' deneme2 adında bir klasör oluşturur. C'nin içine Ki prosödürümüzü oluşturmak için bu adımları izleriz. CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> AS BEGIN //Buraya oluşturacağımız prosedür komutlarını yazıyoruz. END GO Karşımıza gelen ekranı uygun şekilde dolduruyoruz. Bu karşımızdaki kod ekranına sağ tuş yapıp şu işlemi yapıyoruz.
18 Burada oluşturduğumuz tablolarımız çıkıyor. Bunların arasında ilişkileri kurarak otomatik olarak prosedürleri oluşturuyoruz. Yukarıdaki alanları kisi otomatik olarak dolduruyor. remove database egemen database ekledik sp_dbremove egemen database kaldırdık. (öğrenci tablosuna ders ıd diye bir kolon ekledik ) Alter table öğrenci Add ders_id int Select *from öğrenci PROSEDÜR YARATMA EL İLE: Create procedure ogr_ders (@ogr_ad varchar(30)) with encryption,recompile (şifreleme yapar sadece şifreyi yazan üzerinde değişiklik yapma hakkı verir diğerlerinde modifine seçeneği çıkmaz)(recompile:her çalıştığında derleme yapmasını sağlar) As Begin SELECT dersler.ders_id, dersler.ders_adi, ogrenci.soyad, öğrenci.ad, drsler.ders_hoca FROM dersler INNER JOİN öğrenci ON dersler.ders_id= öğrenci.ders_id Where (öğrenci.ad=@ ogr_ad) and(öğrenci.soyad=@ogr_soyad)
19 End Go (dizayna gelip tabloları seçtik ders ıd ler ile 2 tabloyu(dersler,öğrenci) birleştirdik.) PROSEDÜR SİLME Drop procedure dbp.dersler_student1 (prosedür silme) VAROLAN PROSEDÜRE ŞİFRE EKLEME Alter procedure Ders_Student1 With encryption As Begin End Go create procedure kitap_ekle (@kütüphane varchar(30)=null,@isbn varchar(30)=null) //3tane parametre tanımladık int from kutuphane where kutuphane_ismi=@kutuphane //kütüphane ismi parametresini birbirine eşitledik is null is null //ikiside bos degılse 0 döndürecek return 0 else is null or not exists //doluysa isbn parametresine eşitleyecek (select * from kitaplar where isbn=@isbn) begin print 'belirtilen kitap veya kütüphane bulunmadı' return 0 else if exists(select * from kitap_kütüphane where kutuphane_no=@kutuphane_no and isbn=@isbn else insert into kitap_kütüphane values(@kutuphane_no,@isbn,1) Aşağıdaki iki programda aynı işi yapmaktadır. Biri outputlu biri returnlu halidir. output=ortalamayı ekranda göstermek içindir. create procedure ortalama2 (@a int=0,@b decimal(10,2) output) as decimal(10,2) exec ortalama3 40,27,@sonuc output print ('Ortalama: '+cast(@sonuc as varchar(50)))
20 Output kullanarak sonucu çıkış parametresi yaptık. create procedure orta int=0) as decimal(10,2) 411,24 print('ortalama: ' as varchar(50))) exec derleme işlemi yapar. create procedure kitap_bul varchar(30)=null smalldatetime int output) as is not @s_sayisi=sayfa_sayisi from kitaplar where else print 'isbn degeri bos' //sadece ekranda output olanları gösterecek. Yanında output olanları gösterecek ama olmayanları göstermeyecek. İsbn yi göstermeyecek çünkü outputu yok.
21 Bu şekilde kimiz yeni bir fonksiyon yaratabiliyoruz. Şimdi biz upper (parametrelere girilen değerşeri büyük harfe çevirme) fonksiyonunu kimiz yazacağız. create function varchar(max)) returns varchar(max) as begin return Şimdi bu fonksiyonu kullanmayı gösterelim. select dbo.buyukharf(adi) from kitap //bizim yazdığımız fonksiyon select upper(adi) from kitaplar //sistemde varolan fonksiyon İkisi de aynı işlemi yapacaktır. create function isbn varchar(max)) returns int //fonksiyon sonucunda hangi tipte veri döndüreceğini gösterir. Yani int as begin int sayısını miktarın toplamı olarak aldık. from kitap_kütüphane where create function varchar(30)) returns table
22 as //kitap sütunu gelecek ve select ile gelenler burada listelenecek. return (select kitaplar.k_adi from kitaplar where isbn=kitap_yazar.isbn) as "kitap" from kitap_yazar where yazar_no in //yazarın no sunu girdiğimizde yazarın yazdığı tüm kitapları gösterecek. Yazar no da isbn ye göre gelecektir. ( select yazar_no from kitap_yazar where isbn=(select isbn from kitaplar where kitap_adi@k_adi Bu tablo sonuçlu fonksiyondur. Bu yüzden returns'den sonra table ifadesini kullandık. Bunda select ifadesi olacak ve bunun sonucunu döndürecek. create function varchar(30) /*geri dönecek olan tabloyu oluşturuyoruz*/ table( u_no int, uye_adisoyadi varchar(30), k_adi varchar(30) e_tarih smalldatetime, t_tarih smalldatetime, telefon varchar(40)) as begin /*gelen bilgilere göre emanet bilgilerini tablo değişkenine ekleyecek*/ emanet insert select uye_no select kitap_adi from kitaplar where kitaplar.isbn=emanet.isbn), emanet_tarihi,teslim_tarihi from where isbn=@isbn set uye_adisoyadi=(select uye_adi + ' '=+uye_soyadi from üyeler where üyeler.uye_no=u_no), telefon=(select telefon from üyeler where üyeler.uye_no)=u_no) return İMLEÇ (CURSOR) NEDİR? Transact SQL'de, SELECT sorguları bizlere sonuç kümeleri, yani tablolar geriye döndürürler. Bu çoğunlukla bizim işimizi görecek niteliktedir. Ancak kimi zaman elde ettiğimiz sonuç kümesi içinden bazı satırları alarak işlem yapmak mecburiyetinde kalabiliriz. Örneğin şu senaryoyu düşünelim:
23 Düzgün (alfabetik veya sayısal) bir şekilde sıralanmamış bir tablomuz olduğunu varsayalım.bu tablonun 17.satırındaki bir bilgiye ihtiyacımız olduğunda bu bilgiyi nasıl çekebiliriz? SELECT sorguları, bizlere belirlenen mantıksal kriterlere göre bilgiyi daraltma şansı verirler. Ancak bu daraltma işlemi sonucunda oluşan sonuç kümeleri, sorgu için bir bütün(birim) teşkil eder ve bu şekilde değerlirilir. Bize; oluşan sonuç kümelerinde gezintiler yapma ve sonuç kümesindeki her bir satıra ayrı ayrıerişebilme olanağını, imleç (cursor) denilen nesneler verir. İmleçleri kullanmanın iki yöntemi bulunmaktadır: Transact - SQL Veritabanı bağlantı arayüzleri (ADO, OLE DB, ODBC, DB-Library) Bu iki yöntemden herhangi birini tercih ederek imleçleri kullanmak olanaklıyken, bu yöntemlerin birlikte kullanımına izin verilmemektedir. (Makalede, T-SQL imleçleri temel alınmıştır.) İmleçlerin en önemli özelliklerinden biri de; (farklı türlere destek vererek) veri ekleme, güncelleme ve silme işlemlerine sınırlar ve farklı anlayışlar getirmesidir. Bu konu ve imleç türleri, imleçlerle ilgili bir sonraki makalemde işlenecektir. İmleçler, bize çok esnek programcılık olanağı sunmaktadır. Ancak bu olanağı sağlarken çok yüksek boyutlarda sistem kaynağını tüketmekte ve özellikle tempdb veritabanını yoğun olarak kullanmaktadır. Bu nedenle imleçler, yalnızca gerekli durumlarda kullanılmalıdır. İMLEÇLERİN KULLANIMI İmleçlerin yaşam süreci, aşağıdaki aşamalardan oluşmaktadır. Bir sonuç kümesine dayanarak (ve tabii ki türünü de düşünerek) imleci oluşturmak Oluşturulan imleci açarak, imlecin temelinde bulunan T-SQL sorgusunun canlanmasını sağlamak Açılan imleci kullanarak kayıtlar arasında dolaşmak Açılan imleci kullanarak belirli kayıtlarda düzenleme (güncelleme ve silme) işlemleri gerçeklemek İmleci kapatmak İmleci yok ederek, kullandığı kaynakları geri vermek İmleç tanımlaması yapmak için gereken Transact SQL kodu aşağıdaki şekildedir. DECLARE CalisanImleci CURSOR FOR SELECT FirstName, LastName FROM Employees Burada imleç bir değişken gibi tanımlanmakta ve imlecin temel aldığı T-SQL sorgusu FOR sözcüğünden sonra verilmektedir. Oluşturulan imleci kullanabilmek için, imleci açma gerekmektedir. Bunun için OPEN sözcüğü kullanılmaktadır. OPEN CalisanImleci
24 İmleç açıldıktan sonra, imleçteki kayıtlar arasındaki gezinmek için FETCH sözcüğünü kullanırız. FETCH NEXT FROM CalisanImleci Bu komut ile CalisanImleci adlı imleçte bir sonraki kayıda geçiş yapılır. Ayrıca kayıtlar arasında dolaşmak için FETCH komutunun farklı şekilleri kullanılabilir. FETCH PRIOR : İmlecin bir önceki kayda geçiş yapmasını sağlar. FETCH FIRST : İmlecin ilk kayda geçiş yapmasını sağlar. FETCH LAST : İmlecin son kayda geçiş yapmasını sağlar. FETCH ABSOLUTE n : İmlecin belirtilen sıradaki kayda geçiş yapmasını sağlar. FETCH RELATIVE n : İmlecin bulunan kayıttan belirtilen sıra ötesindeki kayda geçiş yapmasını sağlar. İmleç (Cursor): Satır satır işlem yapmaya yarar. declare imleç_ismi cursor [forward_only, scroll] [static, keyset, dynamic, fast_forward] [read_only, scroll_locks, optimistic] for select ifadesi veri kümesi üzerinde gezinmek için open ifadesi (açmak için) veri kümesinde son satıra gelene kadar satır satır gezmek için ise fetch ifadesi kullanılır. fetch next: bir sonraki satıra geçer fetch prior: bir önceki satıra geçer fetch last: son satıra gider fetch first: ilk satıra gider fetch absolute: n değeri pozitif ise n. satıra gider. n negatif ise sondan n. satıra geçer ve n 0 ise hiç bir işlem yapmaz fetch relative: n pozitif ise en son gidilen satırdan n satır sonrasına gider n negatif ise en son gidilen satırdan n satır öncesine gider. n 0 ise işlem yapmaz. Veri kümesinde gezinmeyi kapatmak için close ifadesi kullanılır. Deallocate: imleci hafızadan silmek için kullanılır. Aşağıdaki örnek Kitaplar tablosundaki kitapların adlarını ve sayfa sayılarını satır satır yazdırır. varchar(max) //parametre tanımladık int //parametre tanımladık cursor //imleç tanımladık for select kitap_adi, s_sayisi from kitaplar //imlecin neyleri saydıracağını yazdık open kitap_imleci fetch next from //bir sonraki satıra geç = 0 //eğer while başarılıysa. begin +' '+CAST(@sayfa as varchar(10)) //tür değiştirdi yazdırdı fetch next from kitap_imleci into //bir sonraki satıra geçerek yazdırıyor. close kitap_imleci deallocate kitap_imleci
25 Ürün_adi Fiyat A 15 B 80 C 40 Şimdi bu tablomuzu yaratalım. Create table urunler1 (urun_adi varchar(50), fiyat money) Bu tablomuza verilerimizi ekleyelim insert into urunler1 (urun_adi, fiyat) values ('A', 15),('B',80),('C',40) Şimdi bu ürünlerimizi güncelleyelim. Eğer 50 den küçükse %30 50 den büyükse %20 arttırıyor. update urunler1 set fiyat=fiyat+(fiyat*0.3) where fiyat < 50 update urunler1 sey fiyat=fiyat+(fiyat*0.2) where fiyat > 50 Select * from urunler1 dediğimiz de yeni ekran görüntüsü şu şekilde olacaktır. Bu işlemleri cursor yardımıyla yapmak istersek. Şu şekilde yapacağız. money declare fiyat_artis cursor for select fiyat from urunler1 open fiyat_artis fetch next from fiyat_artis begin update urunler1 set fiyat=fiyat+(fiyat*0.3) while current of fiyat_artis else update urunler1 set fiyat=fiyat+(fiyat*0.2) where current of fiyat_artis sağlıyor //update in sadece o satıra etki etmesini fetch next from fiyat_artis close fiyat_artis scroll imleç: Hem ileri hem geri hareket eder.
26 varchar(max) declare kitap_imleci cursor scroll for select kitap_adi from kitaplar open kitap_imleci fetch last from kitap_imleci while begin print k_adi fetch prior from kitap_imleci close kitap_imleci deallocate kitap_imleci Bu örnekte sondan başa doğru ilerleyerek işlemleri yapacaktır. Scroll olmazsa hata verir. Çünkü neye göre geri gideceğini bilemez. Static: Değişiklikler direk olarak veri kümesini etkilemez. Commit yaparak en sonunda kayıt yapılabilir. Dynamic: Veriyi doğrudan kaynağından kullanır. Keyset: Her değiştirilen satır için bir key oluşturur. Sonra o anahtara göre kodun değiştirilip değiştirilmediğini kontrol eder. Forward_only: Sadece fetch nextte izin verir.( Sadece satırı ileri almaya izin verir.) Read_only: Sadece okunur değişiklik yapılamaz. Scroll_locks: O anda satıra gelen update işlemini imleci kilitleyerek garanti altına alıyor. Aynı anda iki kullanıcı işlem yaparken kilitlenen satıra sadece o satırı kilitleyen kullanıcı değişiklik yapabiliyor. Optimistic: scroll_locks un tam tersidir. Eğer scroll_locks yapılmazsa sen o satırda işlem yaparken optimistic olur ve başkası o satırda işlem yapar senin yaptığın işlem kabul edilmez. Fast_forward: Hızlı bir şekilde yapar. Forward_only ve read_only özellikleri kullanılır. İşlemlerin hızlı yapılmasını sağlar. declare kitap_imleci cursor forward_only read_only for select kitap_adi from kitaplar declare kitap_imleci fast_forward for select kitap_adi from kitaplar Yukarıdakilerin ikisi de aynı işlemi yapacaktır. declare kitap_imleci cursor scroll scroll_locks for select kitap_adi from kitaplar Buradaki scroll sayesinde imleci hem ileri hem geri hareket ettirmeyi sağlar. Scroll_locks ise işlemlerdeki değişiklikler için imleci kilitliyor.
VERİ TABANI YÖNETİM SİSTEMİ 2
VERİ TABANI YÖNETİM SİSTEMİ 2 Transaction: Birden fazla sql komutunun kullanımıdır. Transaction, özet olarak daha küçük parçalara ayrılamayan işlem demektir. Özellike bir grup işlemin arka arkaya gerçekleşiyor
Detaylı//bu ifadelerin ikisi de gerçekleşiyorsa havale işlemi gerçekleşmiştir fakat 1 tanesini çalışmazsa havale olmamıştır.
transaction ifadeleri update hesaplar set bakiye=bakiye-1500 where hesapno=12 update hesaplar set bakiye=bakiye+1500 where hesapno=22 //bu ifadelerin ikisi de gerçekleşiyorsa havale işlemi gerçekleşmiştir
Detaylı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ı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ıÖğ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ı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 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ı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ı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ı-- 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ı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ı«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ı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ı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ı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ı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ı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ı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ıÜ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ı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ıVeri Tabanı SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299
Veri Tabanı 1 1. SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299 2. SQL Management Studio açılış ekranı: Server Type: reporting, analysis
Detaylı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ı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ı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ı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ı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ıSORGULAR. Öğr.Gör.Volkan Altıntaş
SORGULAR Öğr.Gör.Volkan Altıntaş SORGULAR VE ÇEŞİTLERİ Seçme Sorguları: En sık kullanılan sorgu türüdür. Seçme sorguları, bilgileri veri sayfası görünümü nde gösteren veri tabanı nesnesi türüdür. Sorgu,
Detaylı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ı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ı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ı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ıSORGULAR VE ÇEŞİTLERİ II
Ünite 8 SORGULAR VE ÇEŞİTLERİ II Öğr. Gör. Kemal ÖZCAN Bu ünitede, Sorgular ve Çeşitleri konusu ele alınacaktır. Yapılacaklar Burada yazılan SQL ifadeleri MS SQL SERVER, ORACLE ve MySQL veritabanı sistemlerinin
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 Değişken Tanımlama Değişken isimlerinin başında @ sembolü bulunur. @ad, @soyad, @tarih değişken isimlerine birer örnektir.
Detaylı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ı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ı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ıVeritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)
Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language) Konular Yapısal SQL Komutları Gruplama İşlemi SQL Fonksiyonları Kaynaklar 2 SQL (Structured Query Language) SQL Carlos
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.
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ı 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ı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ı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ı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ı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ı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ıData Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı
Data Programming SQL Language Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 15 Mar 2016 1 SQL deyimleri veritabanları üzerinde çeşitli işlemleri yerine getirirler. Veritabanından
Detaylı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ı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ı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ı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ı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ıTEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.
TEMEL SQL SORGU ÖRNEKLERİ Sorgu İle Veritabanı Oluşturma create database veritabanı_adı Örnek : create database db_okul Yukarıdaki sorguyu çalıştırdığımızda db_okul adında bir veritabanı oluşturulur. Örnek:
Detaylı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ıBÖLÜM -6: VERİLERİ DEĞİŞTİRMEK
BÖLÜM -6: VERİLERİ DEĞİŞTİRMEK Her bir veri değiştirme komutunu kullanabilmek. (Data Manipulation Language, DML) Bir tabloya kayıt eklemek (INSERT) Bir tablodaki kayıtları güncellemek (UPDATE) Bir tablodan
DetaylıSayfa 1 / 8. Tabo yapıları
Tabo yapıları KullanTur KullanTurNo INT Birincil anahtar(kullanıcının türü 0 : Öğrenci, 1: Öğretim elemanı KullanTurAd VARCHAR(20 NOT NULL GecikmeCeza MONEY NOT NULL DEFAULT(0 Kullanıcı türü için uygulanacak
DetaylıT.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR
T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR YÜKSEK LİSANS PROJESİ Mehmet Emin AKKAYA Danışman: Yrd. Doç.
Detaylı«BM364» Veritabanı Uygulamaları
HAFTA 3 Veritabanı Tasarımı" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı Veritabanı Tasarımı Kuramlar Veritabanı Nesnesini Yapılandırmak
Detaylı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ı Tasarımı. Kullanıcı Erişimini Kontrol Etme
Veritabanı Tasarımı Kullanıcı Erişimini Kontrol Etme Konular Nesne ayrıcalıkları ve sistem ayrıcalıkları arasındaki farkı karşılaştırma Bir kullanıcının bir veritabanınaerişimini etkinleştirmek için gerekli
DetaylıDAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.
DAO İLE SQL KOMUTLARI Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. SQL-1 SELECT En basit SQL cümleciği oluşturmak için SELECT sözcüğü
Detaylı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ıVeri Tabanı II Alt Sorgular
Veri Tabanı II Alt Sorgular Alt Sorgular Alt sorgular bir SQL sorgusunun içerisinde başka bir SQL sorgusu kullanılarak oluşturulan SQL ifadeleridir. Çoğunlukla SQL sorgusunun WHERE ve HAVING kısımlarında
Detaylı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ı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ıVeri Tabanı Programlamaya Giriş
Veri Tabanı Programlamaya Giriş Kitap özeti Veri Tabanı Programlamaya Giriş SQL insanların veritabanı sistemleri ile konuşmasını sağlayan popüler bir dildir. Bu dil sayesinde, bir veritabanından kayıtları
Detaylı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ı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ı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ı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ı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ıSQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com
SQL Deyimleri Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com SQL NEDİR? SQL bir veri tabanıyla iletişim kurmak için kullanılır. ANSI standardına göre ilişkisel veri tabanı yönetim sistemlerinin standart dilidir.
Detaylı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ıSQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.
SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. Bu dersimizde biz Microsoft SQL Server veritabanı sistemini kullanmayı öğreneceğiz. SQL Nedir? SQL Structured Query Language
Detaylı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ıVeritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme
Veritabanı Tasarımı Sütun Değerlerini Güncelleme ve Satırları Silme Konular UPDATE komutunu oluşturmak ve çalıştırmak DELETE komutunu oluşturmak ve çalıştırmak Tabloda güncelleme yapmak ya da veri silmek
Detaylı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ıAndroid Ders Notları
Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje
DetaylıCOMMIT: Oluşturulan transaction işlemi başarılı bir şekilde gerçekleştiğinde yapılan değişikliklerin veritabanına kalıcı olarak aktarılmasıdır.
TRANSACTION Bir transaction bir veya daha fazla SQL ifadesinden meydana gelen tek bir işlemdir. SQL ifadelerinin tamamı bir bütün olarak düşünülür ve daha küçük iş parçalarına ayrılamaz. Özellikle ardı
DetaylıACCESS PLATFORMUNDA SQL
ACCESS PLATFORMUNDA SQL (STRUCTURED QUERY LANGUAGE) KODLAMA ÖRNEKLERİ DISTINCT : Bir alanda birbirinin aynı kayıtlar bulunabilir. Öğrenciler tablosundaki aynı isimde öğrencilerin bulunması durumunda aynı
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.
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ı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 2008 veritabanlarının grafiksel arayüzden yönetimi ve
Detaylı2008 09 Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları
2008 09 Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları Hayali bir şirket için BizimŞirket isimli bir veritabanı oluşturulmuş ve aşağıdaki tablolar yapılmıştır. Lütfen tabloları dikkatlice
Detaylı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ıASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ
ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu
Detaylı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ıTavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.
Ms SQL Veritabanı Nesneleri Bölüm Veritabanı Yönetimi Yazar Öznur KARAKUŞOĞLU Yayın Tarihi 15.04.2004 Okunma Sayısı 1110 Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek. Hedefler Veritabanı
DetaylıSUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL
SUNGURLU MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ/BİLGİSAYAR PROGRAMCILIĞI 2017-2018 GÜZ DÖNEMİ VERİ TABANI YÖNETİM SİSTEMLERİ-II 5. T-SQL Öğr. Gör. Saliha Kevser KAVUNCU 1. TRANSACT SQL KAVRAMI Microsoft'un
DetaylıEBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)
EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model) Dr. Dilek Küçük İlişkisel Model [1] Günümüzde en yaygın kullanılan veri tabanı modelidir. Bir ilişkisel veri tabanı bir veya
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 T-SQL KOMUTLARI Veritabanları ANSI SQL dediğimiz standart dil kullanılmaktadır. Bu dil
DetaylıDĐNAMĐK ve STATĐK SQL KULLANMANIN PERFORMANSA ETKĐSĐ
DĐNAMĐK ve STATĐK SQL KULLANMANIN PERFORMANSA ETKĐSĐ 1 İçindekiler 1. SQL Yazımında Dikkat Edilecekler... 3 2. TAMAMEN DİNAMİK SQL ÖRNEĞİ... 4 3. DİNAMİK SQL İÇİN CURSOR_SHARING I FORCE ETMEK... 5 4. DİNAMİK
Detaylı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ı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ıBİLİŞİM TEKNOLOJİLERİ
T.C. MİLLÎ EĞİTİM BAKANLIĞI BİLİŞİM TEKNOLOJİLERİ VERİ TABANI YÖNETİMSEL FONKSİYONLARI Ankara, 2013 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan
DetaylıTavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak. Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek
Ms SQL Server Veritabanı Düzeyinde Güvenlik Bölüm Veritabanı Yönetimi Yazar Mustafa ÖZEN Yayın Tarihi 08.07.2004 Okunma Sayısı 810 Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi
Detaylı1.adım : Sql serverda Stored procedure oluşturmamız gerekiyor. Şu adımları izliyoruz.
Merhaba arkadaşlar ben YbsSoftware ekibi adına Güven AYDOĞDU : ) Vize haftası olması dolayısıyla bu dersimizi yazarak anlatacağız. Dersimizin konusu Stored Procedure ile Kayıt ekleme, Kayıt Silme ve Kayıt
DetaylıGenel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler
Genel Kavramlar Veri Nedir? Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar Veri Tabanı Nedir? Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Veritabanı Yönetim Sistemi (DBMS)Nedir?
Detaylı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ıVERİ TABANI NEDİR A. TABLO OLUŞTURMA
VERİ TABANI NEDİR Belli bir amaca dayalı ortak alanlara (ad soyad, ürün adı, fiyatı gibi) sahip kişilerin ve nesnelerin bilgilerinin tutulduğu, istendiğinde bu bilgiler için arama, düzeltme, silme, kayıt
DetaylıCybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat
Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat 1. Kısım Çoktan Seçmeli (48 puan) 1) Aşağıdaki JAVA kod parçası çalıştırıldığında
DetaylıİLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN
1 AHMET YESEVİ ÜNİVERSİTESİ İLERİ VERİTABANI SİSTEMLERİ ORACLE VERİTABANI KURULUMU VE PL/SQL DEYİMLERİ SUAT ÜSTKAN 102173019 BİLGİSAYAR MÜHENDİSLİĞİ YÜKSEK LİSANS ARALIK 2010 2 İçindekiler 1. Oracle Database
Detaylı