Data etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Data etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

29 Mayıs 2012 Salı

37. SUBQUERIES-İlişkili Alt Sorgular

  • Aslında iç sorgular ve dış sorgular belirli bir alan yani sütun üzerinden ilişkili ve birbirlerine bağlıdır. 
  • Bunu genelde WHERE koşulu üzerinden sağlarız.
Örnek: Aşağıdaki örneğimizde her bir ürün için verilmiş en yüksek sipariş miktarını listelemekteyiz.

Sorgu: 
SELECT DISTINCT ProductId,Quantity
FROM [order details] AS ord1
WHERE Quantity=( SELECT MAX(Quantity)FROM [order details] AS ord2
                  WHERE ord1.productid=ord2.productid )
ORDER BY ProductId

Ders 38'e geçebilirsiniz.

20 Mayıs 2012 Pazar

31. İkiden Fazla Tablonun Birleştirilmesi

  • Büyük sorguların yazıldığı durumlarda ikiden fazla tablonun belirli kısıtlamalarla birleştirilmesi gerekebilir. 
  • JOIN işlemiyle birleştirilen tablolar bir başka tabloya aradaki ortak sütunlar üzerinden bağlanabilir.
Örnek: Aşağıdaki örnekte Sipariş Detayları(Order Details) tablosunu ara tablo şeklinde kullanarak, Siparişler (Orders) ve Ürünler(Products) tablosundan gerekli bilgileri görüntülenmiştir. Bir sipariş birden fazla ürünü içerebilir ve bir ürün birden fazla siparişte yer alabilir. Sonuç kümemizde Sipariş Detayları (Order Details) tablosundan hiçbir alan görüntülemesekte sorguda kullanmalıyız.

Sorgu:
SELECT OrderDate,ProductName FROM Orders AS O
INNER JOIN [Order Details] AS OD ON O.Orderid=OD.Orderid
INNER JOIN Products AS P ON OD.Productid=P.Productid
WHERE OrderDate BETWEEN '7/8/96' AND '7/9/96'
ORDER BY OrderDate

Ders 32'ye geçebilirsiniz.

3 Mart 2012 Cumartesi

3. Transact-SQL

  • SQL, düzeltilmesi veya değiştirilmesi istenen bilgileri açıkça belirtmeye izin veren ve yerine getirilebilecek başlıca işlemleri tanımlamamızı sağlayan bir komut takımıdır. 
  • Bu komutların oluşturduğu yapıya Transact-SQL dili denir.                                                    
  • T-SQL ile döngü veya mantıksal işlemler yapmak için bir derleyiciye gerek yoktur.
  • T-SQL ifadelerini çalıştırabilmek için bir Management Studio ile SQL Server’a
    erişmeniz gerekir.
  • 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-SQL ile veri ve sorgulara erişebilir, güncelleyebilir ve ilişkisel veritabanı sistemini yönetebilirsiniz.  
  • Transact –SQL komutları kullanım amaçlarına göre üç genel kategoriye ayrılır.


SQL Veri İşleme Dili (Data Manipulation Language-DML)

            SQL Veri İşleme Dili veri girmek, değiştirmek, silmek ve verileri almak için kullanılan DML komutlarının tümüdür. En sık kullanılan DML komutları ve kullanım amaçları aşağıdaki gibidir.

SELECT       : Veri seçmek
  •  SELECT adi,soyadi FROM ogrenci WHERE ogrencino='231455'
(ogrenci tablosundaki ogrencino'su 231455 olan öğrencinin adi ve soyadi'ni gösterir.)

DELETE       : Veri silmek
  •  DELETE FROM ilce WHERE il='izmir'
(ilce tablosundaki il değeri izmir olan bütün veriler silinir.)

UPDATE      : Veri güncellemek

  • UPDATE  ogrenci SET not='65' WHERE ogrencino='346212'
(ogrenci tablosundaki '346212' nolu öğrencinin not'unu '65 ' olarak günceller.)

INSERT       : Veri girmek
  • INSERT INTO ogrenci VALUES ('ali','atasoy','55')
(ogrenci tablomuza yeni veriler ekler.)    

SQL Veri Tanımlama Dili (Data Definition Language-DDL)

SQL Veri Tanımlama Dili verilerin tutulduğu nesneler olan tabloların yaratılmasını, silinmesini ve bazı temel özelliklerinin düzenlenmesini sağlar. En sık kullanılan bazı DDL komutları ve kullanım amaçları aşağıdaki gibidir.

CREATE TABLE        : Yeni bir tablo yaratmak.

ALTER TABLE           : Tabloda değişiklik yapma,Yeni bir sütun eklemek, sütunun tipini veya uzunluğunu değiştirmek vb. yapısal değişiklikler yapılması için kullanılır.

DROP TABLE             : Tabloyu fiziksel olarak siler.

TRUNCATE TABLE   : Tablodaki verileri siler fakat tablo yapısı kalır.

CREATE VIEW           :Görüntü oluşturmak için kullanılır.

DROP VIEW               :Görüntüyü siler.

CREATE INDEX        : Tabloda dizin oluşturmak.Tablonun (en azından bir) sütun adı üzerinde indeks oluşturmak için kullanılır.


SQL Veri Kontrol Dili (Data Control Language-DCL)

SQL Veri Kontrol Dili bir veritabanı kullanıcısı veya rolü ile ilgili izinlerin düzenlenmesini sağlar. Aşağıdaki tablo DCL komutlarını ve fonksiyonlarını göstermektedir.
DCL komutlarını kullanabilmek için SQL Server'da varsayılan değer (default) olarak yetki sahibi olan gruplar: sysadmin , dbcreator , db_owner , db_securityadmin 'dir.

GRANT          :Kullanıcıya yetki vererek verileri kullanmasını ve T-SQL komutlarını çalıştırmasına izin verir.

DENY             :Kullanıcı, grup veya rolü herhangi bir eylem için engeller.

REVOKE        :Daha atanmış olan yetki veya engeli kaldırır.

NOT:Sunucuya dışarıdan bir erişim sağlamak için bir giriş (login) oluşturulmalıdır.

CREATE LOGIN Ali WITH PASSWORD =’123456’
Bu rol ile veri tabanına bir kullanıcı olarak erişim için aşağıdaki satırlar yazılmalıdır:
CREATE USER Ali
FOR LOGIN Ali
Eğer User adı ile Login adı aynı ise FOR LOGIN satırına gerek kalmaz.
Veri tabanında uygulama rolü oluşturulması için de aşağıdaki satırlar kullanılabilir:
CREATE APPLICATION ROLE Lab1
WITH PASSWORD = ‘sifre’
, DEFAULT_SCHEMA=Lab1;
 

Not: Komutları büyük harflerle yazmanız sizin için hem daha kolay anlaşılır hemde daha kolay yönetilebilirlik sağlayacak.

Ders-4 'e geçebilirsiniz.