© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Slides:



Advertisements
Benzer bir sunumlar
Stored Procedure Öğr.Gör.Metin Akbulut.
Advertisements

T sql-diğer komutlar Metin Akbulut.
4 SQL- Yapısal Sorgulama Dili
SQL (Structured Query Language)
SQL de Değişken Tanımlama
SQL Komutlar 5 Sibel SOMYÜREK.
İndeksler Sibel SOMYÜREK.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
VERİ TABANI ve YÖNETİMİ
Alt Sorgular Veritabanı 2.
Veri Tabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
T-SQL-2.Konu Akış Kontrolleri.
Veri Tabanı Yönetim Sistemleri
Veri Tabanı Yönetim Sistemleri
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
BÖLÜM 6 SQL SERVER KOMUTLARI.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
4 Veri Bütünlüğü ve Constraint’ler
SQL (STRUCTURED QUERY LANGUAGE)
MYSQL 4. HAFTA. mySQL veri türleri INTTamsayı: 'den kadar değişen diziye "signed" (işaretli), 0'dan 'e kadar değişenine.
VIEW (BAKIŞ) OLUŞTURMA
ÖRNEKLER. musteri Id adi soyadi mus_satis Id barkod adet Urunlar barkod urun_adi kodu fiyati Stok_hareket tarih barkod gelen giden.
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
SQL de Değişken Tanımlama
SQL SERVER 2008 Yücel YILDIRIM.
VeriTabanı Uygulama.
SQL Komutları (2) Uzm. Murat YAZICI.
Bilgisayar Mühendisliği Bölümü
SELECT CONVERT(CHAR(8), GETDATE(), 112)
SQL’ e Giriş Uzm. Murat YAZICI.
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
Altıncı hafta. Müfredat programı Ödev teslim edenler Mantıksal tasarım ödevini teslim edenler: Belediye Projesi Valilik Projesi Mekan Projesi Konaklama.
 Stored Procedure kısaca SQL sorgularını isteğimize göre hazırlayıp kullanıma hazır veri tabanı nesnesine çeviren bir araçtır.  Stored Procedure, Türkçeye.
BÖLÜM 9 VERİ TABANI NESNELERİ.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Bilgisayar Mühendisliği Bölümü
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
VIEW lerle çalışmak 11.BÖLÜM.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
SAKLI YORDAMLAR (STORED PROCEDURE)
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
TETİKLEYİCİ ( Trigger)
Veri Tabanı Yönetim Sistemleri 1 Ders 10 Veri Sözlüğü ve DDL
İNDEKS.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
TETİKLEYİCİLER ve HATA KONTROLÜ
14.DERS Örnekler, Sorular BUKET DOĞAN.
SQL SERVER STORED PROCEDURE
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
Sorgu / dml / ddl komutları
SQL (STRUCTURED QUERY LANGUAGE)
Stored Procedure Öğr.Gör.Metin Akbulut.
SQL Server - Triggers.
SQL Server - Stored Procedures
SQL Server - Views.
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-4-DML
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
Sunum transkripti:

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi HAFTA 5 © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

GEÇEN DERSLERDE NELER ÖĞRENDİK? UNION ,EXISTS,SOME, ALL, JOIN © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi ÖRNEK Ürünler tablosunda BirimdekiMiktar alanında İçinde bottle kelimesi geçen kaç tane ürün bulunmaktadır (kategorisine göre ) SELECT KategoriID, count(*) FROM [Urunler] WHERE [BirimdekiMiktar] LIKE '%bottle%' group by KategoriID © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Inner Join ve Count Ürünler tablosunda BirimdekiMiktar alanında İçinde bottle kelimesi geçen kaç tane ürün bulunmaktadır (kategorisine adı ile birlikte) SELECT u.KategoriID,[KategoriAdi], count(*) FROM [Urunler] u INNER JOIN [Kategoriler] k ON k.[KategoriID]= u.[KategoriID] WHERE [BirimdekiMiktar] LIKE '%bottle%' group by u.KategoriID,[KategoriAdi] © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

T-SQL Değişken tanımlama, döngü kurma, koşul tanımlamayı sağlayan basit bir programlama ortamıdır. SQL Serverde global ve local diye 2 tür değişken vardır. Local değişkenler “@” ön eki alır, kullanıcı tarafından oluşturulur. Global değişkenler “@@” ön eki alır, SQL Server tarafından tanımlanmıştır, kullanıcı tarafından oluşturulmazlar. Değişken tanımlamak için: DECLARE @degisken_adi veritipi(boyut) DECLARE @enpahali_Urun VARCHAR(100)

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Değişken Tanımlama Sql server’da değişken isimlerinin başında @ sembolü bulunur. @ad, @soyad, @tarih değişken isimlerine birer örnektir. DECLARE deyimi ile değişken tanımlanır. DECLARE @degisken_ismi veritipi, ….. DECLARE @ad varchar(20), @sayi int, @tarih datetime   © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Değişkenlere değer atama İki şekilde yapılır. select deyimini kullanarak set deyimini kullanarak Select deyimi ile atama  declare @sayi int,@ad varchar(10) SELECT @ad= ‘Buket’, @sayi=25 -- geçerli bir atama print @ad print @sayi Set deyimi ile atama   SET @ad=‘Buket’ SET @sayi=25 - doğru atama SET @ad=’buket’, @sayi=25 -- Yanlış bir atama © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Print deyimi ile yazı yazdırılabilir. declare @sayı int print 'deger ' set @sayı=233 print @sayı -------------------------------------- print 'deger = '+ convert(varchar(5), @sayı)

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Go deyimi GO tam olarak bir komut değil batch ayırma operatörüdür Go ile ayrılan komutlar client tarafından servera gönderilir ve sonucu beklenir. Bir batch, bir arada bulunan bir dizi sql deyimidir. Batch ayıracı GO deyimidir.   SELECT …. …… UPDATE … ….. GO …. "GO" veritabanına sorgu göndermek için kullanılan bir istemci uygulamasında bir toplu ayırıcıdır. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi GO Özellikleri 1- Bir batch içinde bir deyimin yazım hatası olduğunda, batch’in tamamı işlemez duruma gelir 2- Aynı batch içinde biR tablonun yapısı değiştirilip kullanılamaz. ALTER TABLE urun…. INSERT urun ….. Go   Yukarıdaki kod hata verir go Yukarıdaki kod hata vermeden çalışır © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

GO Go komut SQL komut yığınlarını birbirinden ayırmak için kullanılır. ALTER TABLE Urunler ADD Kdvli MONEY GO UPDATE Urunler set Kdvli=(Birimfiyati*1.2)

Server değişkeni örnekleri select @@SERVERNAME, @@version, @@language

use Northwind DECLARE @enyüksek_fiyat MONEY SELECT @enyüksek_fiyat= max(BirimFiyati) from Urunler SELECT @enyüksek_fiyat

use Northwind DECLARE @enyüksek_fiyat MONEY,@urünkod INT,@urunad VARCHAR(100) set @enyüksek_fiyat= (select max(BirimFiyati) from Urunler) SELECT @urunad=UrunAdi,@urünkod=UrunID from Urunler where BirimFiyati =@enyüksek_fiyat SELECT @urünkod,@urunad

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi uniqueidentifier 128 Bitlik (16- Bytelık) veriler olarak oluşturulup saklanır; genellikle 32 basamaklı olarak, 16’lık sayı sistemine göre (hexadecimal) ve belirli dijitler (sayı grupları) halinde görüntülenir.  Örneğin :  21EC2020-3AEA-1069-A2DD-08002B30309D dünyanın neresinde, kim, ne zaman oluşturursa oluştursun” benzersizdir. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi uniqueidentifier Web tabanlı projelerde uniqueidentifier kullanımı daha fazla yer bulabiliyor, bu kullanım bazı yerler için neredeyse zorunlu bazı yerler içinse tercihinize bağlıdır. Bir kaç örnek vermem gerekirse: Örnek 1: Web sitenizde üyeler resim yüklüyor varsayalım. Resimler belirli bir dizinde saklanıyor ve veritabanında URL yolu (Path) tutuluyor. X kişisi abc.jpg adlı resim dosyasını sisteme yükledi, ardından Y kişisi de aynı ada ve uzantıya sahip abc.jpg resim dosyasını yükledi. Ortaya çıkacak engellemek için kullanıcıların yüklediği resimlerin adlarına otomatik olarak bir uniqueidentifier   değeri atarsak bu sorundan kurtuluruz. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi DECLARE @myid uniqueidentifier = NEWID(); SELECT CONVERT(char(255), @myid) AS ‘Üretilen Deger’'; © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Örnek CREATE TABLE dbo.TEST (ID INT IDENTITY (1,1), ROWID uniqueidentifier) GO --yukarıdaki go satırını silersen ne olur?? INSERT INTO dbo.TEST (ROWID) VALUES (NEWID()) GO 1000 © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi SİSTEM VERİTABANLARI Master Veritabanı Versiyon ya da özel değişiklikleri dikkate almaksızın her SQL Server, master veritabanına sahiptir. Bu veritabanı, sistemin bütününü izlemeyi sağlayan, özel tablolar (sistem tabloları) kümesini içine alır. Örneğin, server üzerinde yeni bir veritabanı oluşturduğunuzda, girdiğiniz kayıt master veritabanındaki sysdatabases’da yer alır.  Tüm extended ve system stored procedure’ler (kullanılacağı veritabana dikkate alınmaksızın) , master veritabanında saklanır. Açıkcası, server’ı tanımlayan herşey master veritabanında saklandığından dolayı, sistem için bu veritabanı önemlidir ve silinemez © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Model Veritabanı Model veritabanı, kopyalama için referans alınabilecek model anlamında, uygun şekilde isimlendirilmiştir. Oluşturacağınız herhangi bir yeni veritabanı için, model veritabanı bir şablon oluşturur. Model veritabanı diğer veritabanları için şablon olduğundan gerekli bir veritabanıdır ve sistemde kalmalıdır yani bu veritabanıda silinemez. Bunun anlamı, isterseniz yeni oluşturulacak veritabanlarının nasıl olacağını, model veritabanında değişiklik yaparak belirleyebilmenizdir. Örneğin, oluşturduğunuz her veritabanının içeriğinde yer almasını istediğiniz bir denetim tabloları kümesi ekleyebilirsiniz. Ayrıca, sistem üzerinde oluşturulan her yeni veritabanına kopyalanan birkaç kullanıcı grubu oluşturabilirsiniz. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

sysobjects Kısıtlama, varsayılan, günlük, kural ve saklı yordam gibi bir veritabanı içinde oluşturduğunuz her nesne için bir satır içerir. XTYPE alanı nesnenin türünü belirtir SELECT * FROM sysobjects where xtype='u'

C: Check constraint D: Default constraint F: Foreign Key constraint L: Log P: Stored procedure PK: Primary Key constraint RF: Replication Filter stored procedure S: System table TR: Trigger U: User table UQ: Unique constraint V: View X: Extended stored procedure

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Tablo veya view gibi nesneler içerisinde yer alan sütunlara ait bilgileri döndürür. SELECT * FROM Syscolumns SELECT * FROM Syscolumns WHERE syscolumns.name like '%satis%' © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

SELECT sysobjects.name, syscolumns.name, syscolumns.length FROM sysobjects JOIN syscolumns ON sysobjects.id = syscolumns.id WHERE sysobjects.xtype='U' ORDER BY sysobjects.name

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 1996 Aralık ayında her gün yapılan satışların toplam değerini müşterilere göre listeleyen sorguyu yazınız SELECT s.SatisID, s.MusteriId, SUM (BirimFiyati*Miktar) as Tutar,SatisTarihi FROM SatisDetaylari AS sd INNER JOIN Satislar as s ON sd.SatisID=s.SatisID WHERE s.SatisTarihi BETWEEN '12/01/1996' AND '12/31/1996' GROUP BY s.SatisID ,s.MusteriID,SatisTarihi © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Haftaya Sql server’ın akış kontrol deyimleri aşağıdadır   CASE IF… ELSE… WHILE…. BREAK CONTINUE TRY …CATCH…. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi