«BM364» Veritabanı Uygulamaları

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

Download "«BM364» Veritabanı Uygulamaları"

Transkript

1 HAFTA 7 Transaction Izolasyon- Trigger Kavramları" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com «BM364» Veritabanı Uygulamaları

2 Konu Akışı Transaction Kavramı İzolasyon Seviyeleri ve Concurrency Triggerlar 2

3 Transaction Simitçi ile bozuk para hikayesi... 3

4 Neden Transaction Ortak zamanlı çalışmada verilerin değiştirilmesinde tutarlılık gerekir Veri Değiştirmede ACID Kuralı Bölünemezlik (Atomicity) Transaction bloğu yarım kalamaz. Ya hep ya hiç Tutarlılık (Consistency) Transaction veritabanının yapısını bozmadan terketmelidir(constraint-trigger vs ile sağlanan iş kuralları) İzolasyon (Isolation) Farklı transaction'lar birbirinden ayrık ele alınmalıdır. Her transaction için veritabanının yapısı ayrı korunmalıdır. Bir transaction bitmeden diğer transaction lar yaptıkları değişikliklerinden haberdar olmamalıdır, bitince hepsinden aynı anda olmalıdır. Dayanıklılık (Durability) Tamamlanmış Transaction'ın hatalara karşı esnek olması gerekir. Elektrik kesilmesi, CPU yanması, O.S. Göçmesi bu kuralları uygulamaya engel olmamalı

5 Yazılımcı Açısından Transaction faturakod Ürün Bilgileri Fatura Bilgileri

6 SQL Server açısından Transaction 6

7 SQL Server'de Transaction Türleri Transaction Başlatma Bitme Harici(Expicit) BEGIN TRAN ile Kullanıcı tarafından COMMIT TRAN, ROLLBACK denilerek kullanıcı veya başka bir sorun olması halinde SQL Server tarafından Dahili (Implicit) Otomatik sabitleme (Autocommit) CREATE, INSERT, UPDATE DELETE gibi bazı ifadeler çalıştıktan sonra SQL Server tarafından otomatik Her bir batch'ten önce SQL Server tarafından otomatik COMMIT TRAN, ROLLBACK denilerek kullanıcı veya başka bir sorun olması halinde SQL Server tarafından Her bir batch'den sonra veya Batch içerisinde bir hata oluşması halinde SQL Server tarafından otomatik

8 SQL Server'de Transaction Modları Dahili (Implicit) Transaction SET IMPLICIT_TRANSACTIONS ON İle mod aktif hale getirilir. Transaction, şu ifadelerden sonra başlatılır: ALTER TABLE, CREATE, DELETE, DROP, FETCH, GRANT, INSERT, OPEN, REVOKE, SELECT, TRUNCATE TABLE ve UPDATE. Bu ifadelerden biri geçtiğinde, kullanıcının rollback veya commit yapması gerekir. IMPLICIT_TRANSACTIONS OFF ile kapatılır Autocommit SQL Server, IMPLICIT veya EXPLICIT mod'da çalışmıyorsa, autocommit'de çalışır Her bir ifadeden önce bir transaction başlatır. İfadede hata oluştu ise, o ifadenin tamamını kendisi geri alır, olmadı ise sabitler. Harici(Explicit) Transaction Herhangi bir dize ifade ACID'den birine gereksinim duyduğunda programcı başlatır.

9 Harici Transaction Yönetimi BEGIN TRAN <transaction_ismi> İfadeler COMMIT ROLLBACK Örnek: Bir banka havalesi yapabilecek bir SP yazılmasın 1. Havale yapanın hesabından havale miktarını düşecek 2. Havala yapılanın hesabına havale miktarını ekleyecek 3. Aralarda hata oluştu ise geri alacak (TRY-CATCH veya IF 4. Oluşmadı ise sabitleyip çıkacak CREATE TABLE tblhesap( HesapNo CHAR(10) PRIMARY KEY NOT NULL, isim VARCHAR(55), soyad VARCHAR(55), sube INTEGER, bakiye MONEY ) INSERT tblhesap VALUES(' ','Ali','Eryatan',749, ) INSERT tblhesap VALUES(' ','Ahmet','Eryatan',749, )

10 Konu Akışı Transaction Kavramı İzolasyon Seviyeleri ve Concurrency Triggerlar 10

11 Ders:Ortak Zamanlılık Denetimi Amaç: Verilerde bozulmaları önlemek ve tutarlılığı korumak Aynı anda iki transaction alamazsak: Seri Transaction Ortak zamanlılık yok Aynı anda iki transaction varsa Bazı problemler ortaya çıkabilir 4 temel problem İyi bir planlama(scheduling) gerekir İki farklı transaction aynı bilgiye erişecekse, aralarından birinde Write varken, çakışma olacaktır. T1 r(a) w(a) r(b) W(B) T1 read(a) write(a) read(b) write(b) commit T2 r(a) A B C T1 r(a) W(A) R(B) T2 r(a) w(a) T2 read(a) write(a) read(c) write(c) commit T1 r(a) W(A) T2 r(a) w(a) w(a) r(c) R(B) r(c) w(c) W(B) w(c) W(B) r(c) w(c)

12 Ortak Zamanlılık Problemleri DIRTY READ İki transaction'dan birinin değiştirdiği COMMIT edilmeden okunursa bu problem olur. Transaction ROLLBACK olursa??? Aslında okunan veri gerçek olmayabilir. NONREPEATABLE READ Bir transaction ilk açıldıktan sonra okuduğu veri grubu tekrar okuyamaz. Çünkü bu verilerden bir kısmı aynı anda erişebilen başka bir transaction tarafından değiştiriliyordur. Önlemek için başkalarının update etmesini engellemek gerekir FANTOM READ Bir transaction ilk okuyabildiği verileri daha sonra tekrardan okuyabiliyordur ama bunların dışında yeni verilerin eklenmesine engel olamıyordur. LOST UPDATE Açık iki transaction'dan birincisinin değiştirdiği verileri kaydetmesinden sonra ikincisi de üstünde kaydederse, ilkinin yaptığı güncelleme kaybedilir.(snapshot-timestamp)

13 SQL Transaction İzolasyon Seviyeleri ANSI-92'de belirtilmiştir. Serialisible Mod: En Sıkı mod Hiçbir anomali(ortak zaman erişim sorunu) riski yok Bazen daha az izolasyon gerekebilir. Read Uncommited Read Commited (Default) Repeatable Read İzolasyon yapmadan da Zaman damgası gibi metodlarla ortak zamanlılık sorunları aşılabilir Özellikle lost-update için timestamp türü bir sütun çok kullanışlıdır. Optimistik Yaklaşım, kaynakların çakışmayacağını, çakışmaların programcı tarafından engelleneceğini varsayar SQL Server 2005 de Izolated Transaction desteği

14 İzolasyon-Problemler İzolasyon Seviyesi Açıklama DIRTY READ NONREPEAT ABLEREAD PHANTOM READ Read Uncommitted Read Committed Repeatable Read Serializable Herkes Herşeyi Yapabilir Sadece commit edilmiş verileri okuyabilir. Ama yeni veri girilmesine ve erişilen verinin değişimine kilit koymaz Birinci transaction okuduğu bölgeleri değişikliğe karşı kilitler Ama yeni kayıt eklenmesine engel olmaz Ortak kaynağa aynı zamanda sadece bir transaction erişebilir

15 Read Uncommited İzolasyon Seviyesi 0'dır. En kötü izolasyon! Transaction açıkken başka transaction da açık olarak veri değiştirebilir Bütün Fenomenler görünür SELECT ifadesindeki bütün tablolarda NOLOCK varsa = READUNCOMMITED T1 UPDATE tblhesap SET bakiye=bakiye 1000 WHERE hesapno='43' T2 SELECT AVG(bakiye) FROM tblhesap ROLLBACK

16 Read Commited T1 Veri okunurken, kirli okumayı önler Ama Transaction bitmeden veri değiştirilebilir. Default Seçenek budur. Non-repeatable Read veya Phantom Read olabilir T2 SELECT AVG(bakiye) FROM tblhesap UPDATE tblhesap SET bakiye=bakiye 1000 WHERE hesapno='43' COMMIT SELECT AVG(bakiye) FROM tblhesap COMMIT

17 Repeatable Read Transaction içerisindeki sorguda geçen bütün veriler kilitlemeye alınır Default'dan daha az bir ortak zamanlılığa müsaade eder. Dirty Read sorununa çözüm Kirli hafızanın okunmasına müsaade etmez NonRepeatable Read sorununa çözüm Değiştiren varsa, okumaya kilitler fantom read sorununa çözüm sağlayamaz. Sonradan eklenen veriler, etki alanı dışındadır. Bir select ifadesindeki bütün tablo adlarından sonra HOLDLOCK geliyorsa=serializable T1 T2 SELECT AVG(bakiye) FROM tblhesap INSERT tblhesap VALUES('33', 'Ali', 'Eryatan', 749, 300) COMMIT SELECT AVG(bakiye) FROM tblhesap COMMIT

18 Transaction için Seviye Tayini Yapmak SET TRANSACTION <ISOLATION LEVEL UNCOMMITED> BEGIN TRAN <isim>. İşlemler COMMIT ROLLBACK

19 Örnek Soru İki tane Q.A pencersi açınız. Birinci pencerede: İkinci Pencere: SELECT urunad,listefiyat FROM tblurun Sonuç Geldi mi? SELECT urunad,listefiyat FROM tblurun Başka Nasıl Yapılabilir? USE dukkan GO BEGIN TRAN UPDATE tblurun SET listefiyat = listefiyat * 1.05 SELECT urunad,listefiyat FROM tblurun WITH (NOLOCK)

20 Kilitlenmeleri Yönetmek sp_who sp_lock ile hangi kullanıcının beklemede kaldığını hangi kullanıcının kilitlenmeye neden olduğunu görebiliriz Hangi kaynaklar kilitli Hangi kullanıcılar kilitliyor SELECT * FROM syslockinfo Management Studio Management Studio / Management/ActivityMonitor kullanarak, kilitlenen process'leri kill edebiliriz. Process Info Hangi process'ler var ve ne aşamada Locks\Process ID Kilitlemede bulunan process'lerin kilitlemelere dağılımı Locks\Object Kilitlenen objelerin gözlemlenmesi

21 Kilitlenme Çıkmazı İki farklı transaction İki farklı kaynağı kilitlemiş durumda Her birinin bir sonraki adımı diğerinin kilitlediği kaynak Bu nedenle her iki transaction da sonlanamaz Oturum için, zamanaşımı parametresi ayarlamak, sistem kaynaklarının uzun süre kilitlenmesini önler SET LOCK_TIMEOUT milisaniye_sure Bu durumda, bir süre sonra transaction'lardan biri rastsal olarak kurban edilir, diğeri gerçekleştirilir Deadlock'un hata kodu 1205 dir. ise diye bakılabilir SET DEADLOCK_PRIORITY LOW şeklinde, transaction'lardan istenen birinin kurban seçilmesi sağlanabilir.

22 Kilitlenmeleri Önlemek Dead-Lock'ları önlemek için 1. Kilitlenen kaynaklara (Nesnelere) aynı sırada erişmek 2. Transaction açtıktan sonra kullanıcıdan bilgi girmesi gibi uzun soluklu işlemlere yer verilmemeli 3. Transaction mümkün olduğu kadar kısa ve tek batch halinde tutulmalıdır. 4. Düşük seviyeli oturum izolasyon seçenekleri kullanmak çözüm olabilir.

23 Konu Akışı Transaction Kavramı İzolasyon Seviyeleri ve Concurrency Triggerlar 26

24 Ders:Trigger larla Çalışmak Trigger'ları Kavramak Trigger Oluşturmak INSERT Trigger DELETE Trigger UPDATE Trigger INSTEAD OF Trigger DDL Trigger'lar Trigger Yönetimi 27

25 Ders: Trigger'ları Kavramak Trigger: Bir tablo üstünde tanımlanırlar INSERT UPDATE DELETE Olaylarından biri veya ikisi veya hepsine tepki verecek şekilde kodlanabilirler. Kendiliğinden devreye giren SP'lerdir. Biz çalıştıramayız Geriye değer döndüremezler. Bu nedenle kayıt gösterme maksatlı SELECT kullanılmamalıdır. Trigger çalışmadan önce bir Transaction açılır. Trigger içerisinde ROLLBACK ifadesi çalıştırılırsa son işlem geçersiz olur, ROLLBACK denmezse geçerli olur(otomatik COMMIT çalışır) İki Tip Trigger FOR(BEFORE) INSTEAD OF DİKKAT!: Her iki tip trigger da her bir kayıt için bir defa devreye girmez! Etkilenen bütün kayıtlar için toplu olarak bir defa devreye girer. SQL Server 2005 de dahil Row Based trigger yok(oracle-postgre.. de var!) 28

26 Hangi Durumlarda Trigger Birincil Anahtar Türetme Maksatlı IDENTITY() ve NEWID() sadece belli bir formatta PK türetebilir Constraint'lerin yetersiz olduğu yerlerde veri bütünlüğü öğesi olarak kodlanırlar. Karmaşık iş kuralları. (Örn.işlem gerçekleştiğinde atma vs.) Standart hata tanımlarının dışında bir hata mesajı türetmek için Farklı veritabanları arasında FK-PK çifti(bunu Constraint yapamaz) Veri Değişimlerini Kaydetmek maksatlı Hangi kaydı kim silmiş-değiştirmiş Şu Durumlarda Trigger Kullanılmamalı: Cascade Data Integrity artık Constraint'lerce denetlenebilmekte(ms SQL8.0+- Sybase7.0+) Bir DELETE-INSERT-UPDATE'ten kaç kaydın etkilendiğini bulmak için(select daha etkindir) 29

27 Sözde Tablolar Trigger'lar dışarıdan parametre alamazlar. Bir işlemden hangi satırların etkilendiğini bulmak için sözde tablolar kullanılır İki Sözde Tablo INSERTED DELETED tablosu kullanılır. Sözde tabloların şeması(sütun ve tipleri) son olarak kayıt eklenen-silinen-güncellenen tablo ile aynıdır. TABLO A Eklenen kayıtlar INSERT INTO A INSERTED tablosu INSERTED Tablosu DELETED Tablosu INSERT Trigger DELETE Trigger UPDATE Trigger Yeni Eklenen Kayıtlar - Kayıtların Güncellenen Halleri - Silinen Kayıtlar Kayıtların Değişmeden Önceki Hali 30

28 Basit bir Trigger Yazmak CREATE TRIGGER trigger_adi ON tablo_adi [WITH seçenekler] {FOR AFTER INSTEAD OF} {INSERT UPDATE DELETE [,UPDATE[,DELETE] } AS Otomatik çalışacak SQL İfadeleri GO Örnek: CREATE TRIGGER siparisgeldi ON tblsiparis FOR INSERT AS VARCHAR(255) FROM inserted sipariş alındı: Fatura Kodu:' + CAST(@faturaKod AS VARCHAR(16)) EXEC master..xp_sendmail 'ygozudeli@verivizyon.com',@msg 31

29 DDL Trigger'lar INSTEAD OF türden olamazlar! Sunucu seviyeli ve veritabanı seviyeli olabilir CREATE TRIGGER SunucuDegisiklikKaydedici ON ALL SERVER FOR DDL_LOGIN_EVENTS AS GO CREATE TRIGGER TR$artikKullaniciYok ON DATABASE FOR CREATE_LOGIN AS GO DROP TRIGGER trigger_ismi ON ALL SERVER DROP TRIGGER trigger_ismi ON DATABASE 32

30 Ödev S.453-Veritabanı Atölyesi Sorular S.484-Veritabanı Atölyesi 5-6.Sorular 33

31 Sonuç Veritabanı ortak zamanda erişimleri optimum yönetir. Verileri tutarlı ve kararlı saklar. Eş zamanlı erişimlere karşı verileri tutarlı saklamanın maliyeti vardır:kilitlenmeler 34

Transaction ve Ortak Zamanlılık. Sibel SOMYÜREK

Transaction ve Ortak Zamanlılık. Sibel SOMYÜREK Transaction ve Ortak Zamanlılık Sibel SOMYÜREK Nedir? Daha küçük parçalara ayrılamayan en küçük işlem yığını Hepsi tek bir SQL ifadesiymiş gibi yürütülen SQL komutları kümesidir. Nedir? Transaction ın

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ı

Ortak Zamanlılık ve Veri Hareketi (Data Transaction)

Ortak Zamanlılık ve Veri Hareketi (Data Transaction) Ortak Zamanlılık ve Veri Hareketi (Data Transaction) 1 Transaction (Hareket) nedir? Bazı durumlarda, birden fazla işlem bir bütünün parçasıdır. Bu işlemlerden biri bile gerçekleşmese bütün işlemler anlamsız

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ı

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ı

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ı

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ı

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ı

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ı

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ı

-- 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ı

Veritabanı Tasarımı. Veritabanı Hareketleri

Veritabanı Tasarımı. Veritabanı Hareketleri Veritabanı Tasarımı Veritabanı Hareketleri Konular Veri hareketleri ile ilgili olarak COMMIT, ROLLBACK ve SAVEPOINT terimlerini tanımlamak COMMIT, ROLLBACK ve SAVEPOINT ifadelerinin üç avantajını listelemek

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ı

Veri Bütünlüğü ve Constraint ler. Veritabanı 1

Veri Bütünlüğü ve Constraint ler. Veritabanı 1 Veri Bütünlüğü ve Constraint ler Veritabanı 1 Veri Bütünlüğü Veri bütünlüğü, bir tabloda veri güncelleme, silme veya ekleme gibi işlemler yapılırken diğer tablo ya da tablolardaki verilerin birbirleriyle

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ı

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ı

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ı

«BM364» Veritabanı Uygulamaları

«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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

License. Veri Tabanı Sistemleri. Konular. Hareket Özellikleri. Tanım hareket: bir işin mantıksal bir birimi

License. Veri Tabanı Sistemleri. Konular. Hareket Özellikleri. Tanım hareket: bir işin mantıksal bir birimi License Veri Tabanı Sistemleri Eşzamanlı Çalışma H. Turgut Uyar Şule Öğüdücü 2002-2012 You are free: to Share to copy, distribute and transmit the work to Remix to adapt the work c 2002-2012 T. Uyar, Ş.

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 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ı

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ı

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ı

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ı

VERİ TABANI YÖNETİM SİSTEMLERİ-II

VERİ TABANI YÖNETİM SİSTEMLERİ-II VERİ TABANI YÖNETİM SİSTEMLERİ-II 3. MİCROSOFT SQL SERVER ARAYÜZ HİTİT ÜNİVERSİTESİ SUNGURLU MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI / 2. SINIF-GÜZ DÖNEMİ SQL Server

Detaylı

BÖLÜM -6: VERİLERİ DEĞİŞTİRMEK

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ı

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) 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ı

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ı

Veritabanı. Ders 2 VERİTABANI

Veritabanı. Ders 2 VERİTABANI Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın

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ı

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ı

SORGULAR VE ÇEŞİTLERİ II

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ı

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ı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

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ı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME PELİN YILDIRIM FATMA BOZYİĞİT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Veri Saklama 2 Veri Saklama Veri Saklama her appnin ihtiyaci

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ı

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ı

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

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 7 7. TEMEL SQL KOMUTLARI-I SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri tabanı ortamında

Detaylı

1 Temel Kavramlar. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1 1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel

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ı

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

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU Elbistan Meslek Yüksek Okulu 2015 2016 GÜZ Yarıyılı 28-29 Ara. 2015 Öğr. Gör. Murat KEÇECĠOĞLU Indexler İndeks, tablolardan veri çekmek için gerekli sorgular çalıştırılırken gereken süreyi azaltmak amacıyla

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ı

Veri Tabanı SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299

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ı

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 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ı

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ı

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ı

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ı

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ı

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. 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ı

BMB202. Veritabanı Yönetimi Ders 8. Stored Procedure (Saklı Yordamlar), Trigger (Tetikleyiciler), Transactions, Yetkilendirme (Authorization)

BMB202. Veritabanı Yönetimi Ders 8. Stored Procedure (Saklı Yordamlar), Trigger (Tetikleyiciler), Transactions, Yetkilendirme (Authorization) BMB202. Veritabanı Yönetimi Ders 8. Stored Procedure (Saklı Yordamlar), Trigger (Tetikleyiciler), Transactions, Yetkilendirme (Authorization) Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği

Detaylı

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com YAPISAL SORGULAMA DİLİ BARIŞ ARIBURNU barisariburnu.com barisariburnu.@gmail.com SQL, insanların veritabanı sistemleri ile konuşmasını sağlayan popüler bir dildir. SQL, tüm veritabanı programlarında kullanılabilir.

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ı

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ı

Veri Tabanı Programlamaya Giriş

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ı

1 Temel Kavramlar. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1 1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel

Detaylı

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK BLG4134 Görsel Programlama III Öğr. Grv. Aybike ŞİMŞEK CV_EKLE isimli bir veritabanı oluşturun. CV isimli tabloyu aşağıdaki şekilde oluşturun. Aşağıdaki kod ile bir stored procedure oluşturun. Bunun için

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ı

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ı

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ı

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

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ı

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

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ı

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ı

Örnek: HAFTA12B isimli bir kullanıcı tanımlayalım. Bu kullanıcıya gerekli yetkileri verelim.

Örnek: HAFTA12B isimli bir kullanıcı tanımlayalım. Bu kullanıcıya gerekli yetkileri verelim. NOT: Diyelim ki, bir müşteri tablosu var, bu tablodan vwmusteri isminde bir view oluşturduk. Eğer müşteri tablosuna yeni bir kolon eklenirse veya müşteri tablosundan bir kolon silinirse. vwmusteri viewi

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

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ı

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ı

KISITLAMALAR (CONSTRAINT)

KISITLAMALAR (CONSTRAINT) KISITLAMALAR (CONSTRAINT) Tablo alanlarına veri girişini kontrol etmeyi amaçlayan düzenlemelerdir. Bir alana girilen değerleri sınırlayan bu düzenlemeler kullanıcı hataları açısından önemlidir. Verilerin

Detaylı

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK Sistem yetkileri Nesne yetkileri Tablolar uzerinde verilebilecek yetkiler Roller Roller ve yetkiler aras.ndaki farklar KULLANICI ERİŞİMLERİ Kullanıcılar bir Username

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.

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ı

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

İ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ı

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ı

Veri Tabanı Hafta Dersi

Veri Tabanı Hafta Dersi Veri Tabanı - 1 11. Hafta Dersi Dersin Hedefleri SQL Yapısal Sorgulama Dili Veri Kontrol Dili (DCL) GRANT DENY REVOKE Veri tabanı içerisindeki verilere erişimleri düzenlemek için kullanılır Kullanıcı veya

Detaylı

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1 PHP ile Veritabanı İşlemleri Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı

Detaylı

Entity Freamwork & ADO.Net

Entity Freamwork & ADO.Net Entity Freamwork & ADO.Net Yapılan Çalışma Entity framework 6.0 da TransactionScope vs Ado.Net Transaction Melih Hilmi ULUDAĞ İçindekiler Tablosu 1.Giriş... 3 1.1 Transaction un kullanımı (MS Sql Server

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ı

DĐNAMĐK ve STATĐK SQL KULLANMANIN PERFORMANSA ETKĐSĐ

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ı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı SQL Server ve.net CLR SQL Server içerisinde

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ı

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ı

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ı

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ı

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ı

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

Veritabanı Tasarımı. DML İşlemleri ve Görünümler Veritabanı Tasarımı DML İşlemleri ve Görünümler Konular Basit bir görünümde DML işlemlerini gerçekleştiren bir sorgu yazma ve çalıştırma DML işlemleri kullanarak bir görünümü değiştirme yeteneğini kısıtlayan

Detaylı

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi -- www.tdmsoft.com. devrim@gunduz.org

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi -- www.tdmsoft.com. devrim@gunduz.org Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Teknoloji Destek Merkezi -- www.tdmsoft.com devrim@gunduz.org http://seminer.linux.org.tr http://www.gunduz.org Giriş Bu seminerde, aşağıdaki konular anlatılacaktır:

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ı

İNTERNET PROGRAMCILIĞI 2 11. HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

İNTERNET PROGRAMCILIĞI 2 11. HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme İNTERNET PROGRAMCILIĞI 2 11. HAFTA İçindekiler Veritabanı Oluşturma, Silme MYSQL ile VERİTABANI İŞLEMLERİ - 1 Tablo Oluşturma, Silme Tabloya Bilgi Girme Veritabanı Sorgulamaları Hedefler Mysql komutları

Detaylı

MSSQL. 4. Hafta Uygulama - 1 BPR255 Veritabanı CREATE DATABASE OKUL GO USE OKUL GO

MSSQL. 4. Hafta Uygulama - 1 BPR255 Veritabanı CREATE DATABASE OKUL GO USE OKUL GO MSSQL CREATE DATABASE OKUL USE OKUL CREATE TABLE BÖLÜMLER [BÖLÜM KODU] SMALLINT PRIMARY KEY, [BÖLÜM ADI] VARCHAR100 [ADRES] VARCHAR255 [TELEFON] CHAR16 CHECKTELEFON LIKE '0[0-9][0-9][0-9] [0-9][0-9][0-9]

Detaylı

Veritabanı Tasarımı. Seriler ile Çalışma

Veritabanı Tasarımı. Seriler ile Çalışma Veritabanı Tasarımı Seriler ile Çalışma Konular Bir serinin en az üç kullanışlı özelliğini listelemek Bir seri oluşturan SQL ifadesini yazmak ve çalıştırmak Veri sözlüğünü bir seri tanımını onaylamak için

Detaylı

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

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa

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ı

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 2008 veritabanlarının grafiksel arayüzden yönetimi ve

Detaylı