3 Mart 2015 Salı

MİCROSOFT SQL TEMEL BİLGİLER

1.      kısım ....................................................................................................................................2

SQL Nedir?
Tablolar
Veriyi seçme – SELECT cümlesi
Tablo yaratma – CREATE cümlesi
Tabloya ekleme – INSERT cümlesi
Kayıtları güncelleme – UPDATE cümlesi
Kayıt silme – DELETE cümlesi
Tabloyu silme – DROP cümlesi


2. kısım - SQL İleri Konular ...................................................................................................8 

SELECT cümlesi – ALL ve DISTINCT sözcükleri
Aggregate functions: AVG, MIN, MAX, SUM, COUNT
GROUP BY clause
HAVING clause
ORDER BY clause
Koşulların birleştirilmesi: AND, OR, operatörleri
IN ve BETWEEN koşul operatörleri
Matematiksel operatörler ve fonksiyonlar

Tablo birleştirme –   JOIN işlemi




1.KISIM



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. SQL cümleleri, bir veri tabanındaki verileri güncellemek, veri tabanından veri çıkarmak, veri silmek vb için kullanılır.   Çok bilinen bazı ilişkilsel veri tabanı yönetim sistemleri şunlardır: Oracle, Sybase, MS SQL Server, Access, Ingres... Her ne kadar çoğu veri tabanı yönetim sistemi SQL’i kullansa da çoğunun kendilerine özgü ek özellikleri vardır.

Standart SQL cümleleri, SELECT, INSERT, UPDATE, DELETE, CREATE ve DROP’tur.

TABLO KAVRAMI  

Bir ilişkisel veri tabanı sistemi (relational data base management system) bir veya daha fazla TABLO adı verilen nesnelerden meydana gelir. Veriler bu tablolarda saklanır. Tablolar, satır (“row”) ve sütunlar (“column”) dan meydana gelirler ve her tablonun benzersiz (“unique”) bir ismi vardır. Aşağıda örnek bir tablo görüyorsunuz.

DERSLER tablosu
Adı
Ogr. Uyesi
Sınıf
Kredi
Eğitimde Bilgi tekn.
Filiz Eyüboğlu
1
4
Programlama Dilleri
Filiz Eyüboğlu
2
4
Ogretim Tasarımı
Feza Orhan
3
2
Yazarlık Dilleri
Betül Yılmaz
3
4

Tabloda 4 satır, 4 kolon var.

VERİNİN SEÇİLMESİ

SELECT cümlesi bir veri tabanından verileri seçmek ve çıkarmak (“retrieve”) için kullanılır. SELECT cümlesinin formatı:

        SELECT “kolon1” [,kolon2”, vb]

    FROM “tablo adı”

    WHERE “koşul”];

[  ] : seçimlik anlamına gelir.


WHERE clause’da kullanılabilecek operatörler şunlardır:

=          eşittir
>          büyüktür
<          küçüktür
>=       büyük veya eşittir
<=       küçük veya eşittir
<>       eşit değildir
LIKE   --------------à LIKE çok güçlü bir operatördür. Belirttiğiniz şeye benzeyenleri seçer.
Örneğin

SELECT isim, soyadı
   FROM calisan
   WHERE soyadi LIKE ‘Er%’

Bu sorgu, soyadı ‘Er’ ile başlayan kayıtları seçer ve getirir.

Diğer bir örnek:

SELECT isim, soyadı
   FROM calisan
   WHERE soyadi LIKE ‘%s’;             Soyadı ‘s’   ile bitenleri seçer ve getirir.
SELECT cümlesiyle ilgili sorgular:

Sorguları yazıp SQL Yorumlayıcıya girip çalıştırınız. Sonuçları tabloya bakarak kontrol ediniz.

1.      Tablodaki herkesin ilk ismini ve yaşını görüntüleyiniz.
2.      Payson’dan olmayan kişilerin ilk adını, soyadını ve şehrini görüntüleyiniz.
3.      40 yaşın üzerinde olan kişilerin tüm bilgilerini (tüm kolonlar) görüntüleyiniz.
4.      Soyadı ‘ay’ ile bitenlerin adını ve soyadını görüntüleyiniz.
5.      Adı ‘Mary’ olanları tüm bilgilerini görüntüleyiniz. 
6.      Adında ‘Mary’ geçenlerin tüm bilgilerinin görüntüleyiniz.

Yanıtlar: İngilizce notlar, s. 3-4.


TABLO YARATMA

CREATE TABLE cümlesi yeni bir tablo yaratmak için kullanılır. Formatı şöyledir:

CREATE TABLE “tablo adı”
   (“kolon1” “veri türü”[constraint],
    “kolon2”, “veri türü”[constraint],
  ........... );

Örnek:

CREATE TABLE calisan
    (adi varchar(15),
    soyadi varchar(20),
    yas number(3),
    adres varchar(30),
    sehir varchar(20) );

Tablo ve kolon isimleri bir harf ile başlamalıdır. Devamında ise harfler, rakamlar ve underscore karakteri “ _ “   bulunabilir. Uzunluk 30 karakteri geçmemelidir. SQL özel sözcükleri (SELECT, INSERT, CREATE vb gibi)  tablo ve kolon adı olarak kullanılamaz.

Bir kolona girilecek verilerle ilgili kurallar’a  “constraint” denir. Örneğin “unique” constraint’, tablodaki kayıtlarda bu kolona girilecek değerlerin benzersiz (“unique”) olması gerektiğini yani her hangi iki kolonda aynı değerin olamayacağı kuralını koyar. “primary key” constraint’i bulunduğu kolon değerinin tablodaki kayıtlara erişilirken birincil anahtar olarak kullanılmasını söyler. Birincil anahtar bildirimi yapıldıysa kayıtlara – sistem sıralı okuma yapmadan - doğrudan erişir. Birincil anahtar değerleri benzersiz olmalıdır. 

Tablo Yaratma Uygulaması

Bir şirkette çalışanların bilgilerini tutmak için bir tablo yaratılacak. Tablodaki bilgiler şunlar olacak:  adi, soyadi, unvan, yas, maas.

ÖNEMLİ: Tablonuza isim seçerken herkesin kullanmayacağı bir isim seçiniz. CALISAN_ogrenci numaranız gibi. Çünkü bu tablolara aynı veri tabanında yer alacaktır ve bir veri tabanındaki tablo isimleri benzersiz olmalıdır.
      Yanıt: İng. Notlar, s.6

     CREATE TABLE CALISAN_FILIZ
   (ADI VARCHAR(15),
    SOYADI VARCHAR(20),
    UNVAN VARCHAR(15),
    YAS NUMBER(2),
    MAAS NUMBER(8) );



TABLOYA EKLEME YAPMA (“INSERT”)

INSERT cümlesi tabloya veri eklemek için kullanılır.

INSERT INTO “tablo adı”

    (birinci kolon, ........, sonuncu kolon)
    VALUES(ilk değer,..........son değer);

Örnek:

INSERT INTO calisan
   (ad, soyad, yas, adres, sehir)
  VALUES (‘Ayşe’, ‘Yılmaz’, 30, ‘Papatya sokak. 25/2 Kızılay’, ‘Ankara’);

INSERT uygulamaları:

Yaratmış olduğunuz  tabloya aşağıdaki şu 3 çalışanı ekleyiniz. 

Ege Erdem, Programcı, 24, 5000
İpek Özgür, Analist, 26, 6000
Berrak Yılmaz, Sekreter, 25, 2000

Bunları ekledikten sonra kendiniz 5 çalışan daha ekleyiniz (yukardaki ünvanları kullanarak ve ayrıca birkaç başka ünvan daha ekleyerek).

Bu eklemelerden sonra şu işleri yapacak SELECT cümleleri giriniz:

1-     Tablodaki her çalışana ait tüm kolonları seçiniz.
2-     Maaşı 5000 ve üzeri olan çalışanlara ait tüm kolonları seçiniz.
3-     Yaşı 25’in üzerinde olanların ad ve soyadlarını seçiniz.
4-     Ünvanı programcı olanların ad, soyad ve maaşlarını seçiniz.
5-     Soyadı “r” ile bitenlerin tüm kolonlarını seçiniz.
6-     Adı “İpek” olanların soyadını seçiniz.
7-     Yaşı 80’in üzerinde olanların tüm kolonlarını seçiniz.
8-     Adında “e” harfi geçenlerin ad ve soyadlarını seçiniz.

Yanıtlar İng. Notlar s. 7’de


KAYITLARI GÜNCELLEME (“UPDATE”)

Kayıt güncelleme için UPDATE cümlesi kullanılır. Formatı şu şekildedir:

UPDATE “tablo adı”
SET “kolon adı” = “yeni değer” [, bir sonraki “kolon adı” = yeni 
                                değer”......]
WHERE “kolon adı” OPERATOR “değer”
       [AND | OR “kolon” değer” OPERATOR “değer”];

Örnekler:

UPDATE calisan
SET yas = yas + 1
WHERE isim = ‘Ayşe’ AND soyadi = ‘Yılmaz’;

UPDATE telefon_defteri
SET alan_kodu = 212
WHERE posta_kodu = 34340;

UPDATE calisan
SET maas = 7000, unvan = ‘veri tabani yöneticisi’
WHERE adi = ‘ege’ AND soyadi = ‘Erdem’;

UPDATE uygulamaları:

Her UPDATE’den sonra güncellemenizi teyit edecek bir SELECT cümlesi yazıp çalıştırınız.
(daha önce yarattığınız CALISAN_....tablosu kullanılacak)

1-     İpek Özgür, Ali Yıldırım ile evlendi; soyadını güncelleyiniz.
2-     Ege Erdem’in doğum günü oldu, yaşını 1 artırınız.
3-     Tüm sekretelerin ünvanı “Yönetici Asistanı” oldu; güncelleyiniz.
4-     4000 ve altında maaş alanlara 500 zam yapıldı; güncelleyiniz.

**  üç update cümlesi de siz yazıp çalıştırınız.

Yanıtlar İng. Notlar, s.8’de

KAYIT SİLME (“DELETE”)

DELETE “tablo adı”
    WHERE “kolon adı” OPERATOR “değer”
     [ AND | OR “kolon adı” OPERATOR “değer” ];

Örnekler:

DELETE FROM calisan;  ==è böyle yazıldığında tablodaki tüm satırlar silinir.

DELETE FROM calisan
   WHERE soyadi = ‘Yılmaz’;
DELETE FROM calisan
    WHERE adi = ‘İpek’ OR adi = ‘Canan’;


Delete uygulamaları

DELETE cümlelerinizin doğru çalıştığını görmek için SELECT cümlesi kullanınız.

1-     Ege Erdem firmadan ayrıldı, kaydını siliniz.
2-     7000’in üzerinde maaş alanlar bütçe kısıtlaması nedeniyle işten çıkarıldı. Bu kişileri tablodan çıkarınız.


** Kendiniz de iki DELETE cümlesi yazıp çalıştırınız.


TABLO SİLME

DROP cümlesi tabloyu ve tüm kayıtları silmek için kullanılır.

DROP TABLE “tablo adı”;


Drop uygulaması:

Yaratmış olduğunuz calisan_... tablonuzu siliniz. Silindiğinden emin olmak için bir SELECT kullanmaya çalışıp gelen mesajı inceleyiniz.


İlişkisel Veritabanı ne demektir?
Verileri tablolara bölerek saklayan ve tablolar arasında ilişkiler tanımlamaya olanak sağlayan veritabanı sistemine İlişkisel Veritabanı denir.
SQL nedir?
İlişkisel veritabanlarında veri sorgulama amaçlı kullanılan genel dile SQL denir.
Primary Key(Birincil Anahtar) ve Forgein Key(Yabancı Anahtar) kavramları ne demektir?
Primary Key: Bir tablodaki varlıkları ayırt edici olarak bulunan ve tekrar etmeyen satıra verilen addır.
Forgein Key: Bir varlığa ait ek bilgilerin bulunduğu başka tablo(lar)da, varlığı temsil etmek üzere bulunan birincil anahtar değerlerini içeren sütuna yabancı anahtar denir.
Veri tabanı nesneleri nelerdir?
# Veritabanı(Database)
# Tablo(Table)
# Satır(Row)
# Sütun(Column)
# Alan(Field)
# Veri Tipi
# View
# Store Procedure
# Function

SQL Server Bileşenleri nelerdir?
# Analysis Services
# SQL Server Integration Services
# Notification Services
# Reporting Services
# Service Broker
# Native HTTP Support
# SQL Server Agent
# Full-text Search
CLR: SQL Server içerisinde C# ile yazılmış bir kod yer alabilir. Bu kodun çalışmasından CLR birimi sorumludur.

Hiç yorum yok:

Yorum Gönder