SQL SERVER 2012
TABLOLAR
TABLO ÖZELLIKLERI
 Veri sıkıştırma özelliği ile tabloların,
indexlerin boyutları daha az bir yer kaplar.
 Tablolar; SQL Server' da nesne olarak
tanımlanır.
 Tablolar verileri depolayan satırlar, bunları
kategori gibi birbirinden ayıran sütunlardan
oluşur.
TABLO TIPLERI
 Standart Table: Bu zamana kadar
oluşturduğumuz kullanıcı tabanlı tablo tipidir.
 PartitionTable: Tüm Standart Tablo
özelliklerini içinde barındırır, verileri birden
fazla dosya grupları içinde dağıtır.
 TemporaryTable(Geçici Tablo): Tablo adı, #
ile başlarsa geçici tablo oluşturmuş
olursunuz. Bunu, SQL Server servisi
duruncaya kadar kullanabilirsiniz.
 SystemTable: SQL Server 2012 ile ilgili
sistem bilgilerinin tutulduğu tablo şeklidir. Bu
tabloların içeriğine direkt olarak müdahale
edilemez.
TABLO OLUŞTURULURKEN VERILECEK ÖZELLIKLER
 Tabloları oluştururken isimlerini en fazla 128
karakter olarak verebilirsiniz.
 Her tablonun ilk karakteri harf olmak
zorundadır.
 Değineceğimiz özellikleri görmek için
herhangi bir tablo üzerinde sağ tuşa basarak
Design seçeneğini seçmeniz yeterli olacaktır.
SEÇILEN SÜTUNUN VERI TIPINE GÖRE BAZI ÖZELLIKLER
 Descriptlon: Sütunun açıklaması.
 Default Value: Veri girilirken sütun değeri boş
geçildiğinde yazılması istenilen ifade veya hazır bir
değerin bağlanması.
 Precision: Sütuna eklenecek olan sayısal değerler
için, toplam basamak sayısı.
 Scale: Sütuna eklenecek olan sayısal değerlerin,
ondalık kısmındaki gösterilecek basamak sayısı.(Bu
son iki değeri ondalık desteği olan veri tipleri için
Condensed Data Type kısmından da ayarlanabilir.)
 Identity: Tablo içerisinde kayıt girişi yapılırken,
otomatik olarak artması istenilen sütunlar için seçilir.
 Identity Seed: Tablo içerisinde kayıt girişi yapılırken,
otomatik olarak artması istenilen sütunun başlangıç
değeri
TABLO OLUŞTURMAK
 Tablo oluşturmak için CREATE TABLE
komutu kullanılır.
 CREATE TABLE tablo_adı
 (sütun adı veri tipi [collate dil seçimi]
[NULL[NOT NULL]] )
karakaya3;
CREATE TABLE dbo.ankara
(
egitimno int IDENTITY (1,1) NOT NULL,
Egitimad nvarchar (15) not null, dersler ntext
NULL, fiyat int NULL
)
TABLO SILMEK
 Tablo silmek için ise DROP TABLE komutu
kullanılır.
 DROP TABLE tablo_adı
Oluşturulmuş bir tablo üzerinde işlem
yapmak için ALTER TABLE komutu kullanılır.
Use karakaya3;
ALTER TABLE ankara ADD sure int
komutu kullanılır.
Çalıştırdıktan sonra tablonun tasarım
kısmına girerek yeni bir sütunun eklendiğini
görebiliriz.
VERİ BÜTÜNLÜĞÜ (DATA INTEGRITY)
 Veri bütünlüğü sayesinde, bir veri tabanı
içinde tutulan verilerin doğruluğunu ve
uyumunu sağlayabiliriz.
 Veri bütünlüğünün farklı tipleri;
 Domain (Column) integrity:Sütun tabanlı
ayarlar için geçerlidir. Bir sütunun boş kalıp -
kalmayacağı bu ayarlardan
biridir.
Entity (Rovv) integrity:
 Tablodaki benzersiz tanımlamalar(Primary Key) ile
ilgili yapılandırmalarla ilgilenir.
 Kendisi ile ilişkili olan diğer tablolarda Primary Key
değerinin değişip- değişmediğiveya silinip-
silinmediği ile ilgili mekanizmalarla ilgilenir.
Referential integrity:
 Bir tablodaki Primary Key'ler ile, diğer bir tablodaki
Foreign Key'ler arasındaki devamlılığı kontrol eder.
Bu yapı ile verilerin silinmesi veya değiştirilmesi
engellenebilir
CONSTRAİNT (ZORUNLU) TANIMLAMALAR:
İntegrity Tipi Constraint Tipi Açıklama
DEFAULT Bir sütuna değer girilmediği zamanlardaki
durumu belirler.
CHECK Değerlerin sütuna uygun olup-olmadığını kontrol
eder.
Domain REFERENTİAL Veri değişikliklerinin diğer bir tablo ile uyumlu
olarak yapılıp-yapılamayacağını kontrol eder.
Entity PRIMARY KEY
UNIQUE
Veri değişikliklerinin diğer bir tablo ile uyumlu
olarak yapılıp-yapılamayacağını kontrol eder.
Referential FOREIGN KEY
CHECK
Bir sütuna ait değerin aynı veya diğer
bir tabloda aynı olup- olmadığını kontrol
eder.
Aynı tablo içindeki bir sütun değeri ile
diğer bir sütun değerini kontrol eder.
DEFAULT CONSTRAİNT:
 Default Constraint ile bir sütuna değer
girilmediği zaman, alacağı varsayılan değeri
beliriliyoruz.
 Uygulanan temel özellikleri.
 Tablo içinde var olan veriyi kontrol eder.
 Sadece INSERT ifadesi ile uygulanabilir.
 Her bir sütun için, yalnızca bir adet Default
Constraint tanımlanabilir.
 Bir sütuna İdentity uygulanmış ise, bu özellik
kullanılamaz.
 Bir sütunun veri tipi Rowversion ise, yine bu
özellik uygulanamaz.
PRİMARY KEY CONSTRAİNT
 Bir tablo için Primary Key(birincil anahtar)
tanımlaması yapar ve bu benzersiz bir kayıt
girişi sağlar.
ÖZELLİKLERİ;
 Her bir tablo için sadece bir Primary Key
Constraint olabilir. Bu birden fazla sütunu
kapsayabilir.
 Buraya girilen değerler, benzersiz olmak
zorundadır. Yani, iki aynı değer bu
sütuna girilemez.
 Boş geçişe izin vermez. Mutlaka değer girilmesi
gerekir.
 Belirtilen sütun üzerinde benzersiz lndex
oluşturur.
 Bir Primary Key Constraint'in oluşturduğu
lndex, direkt olarak silinemez, Constraint
silindiği zaman silinir.
UNİOUE CONSTRAİNT
 Unique Constraint kazandırılmış bir
sütunun ait olduğu satıra aynı değeri iki kez
giremeyiz.
 Özellikle Primary Key kazandırdığımız sütun
dışında başka bir sütunda da mükerrer kayıt
girilmesi istenmiyorsa, bu özellik
kazandırılabilir.
UNİOUE CONSTRAİNT ÖZELLİKLERİ
 Sadece bir kez boş bırakılmaya izin verir,
ikincisine izin vermez.
 Bir tablo üzerinde birden fazla Unique
constraint olabilir.
 Bir veya daha fazla sütun üzerine Unique
constraint uygulanması; tablonun Primary
Key'i olması anlamına gelmez.
 Benzersiz index oluşturmayı sağlar.
KULLANILAN METHODLARIN KARŞILAŞTIRILMASI
Veri Bütünlüğü
Bileşenleri
Fonksiyonelliği Performans
Maliyeti
Yapılandırmadan
Önce veya Sonra
Constaint Orta Düşük Önce
Default Düşük Düşük Önce
Trigger Yüksek Orta-Yüksek Sonra (INSTEAD
OF) hariç
Veri Tipi, Null/Not
Null
Düşük Düşük Önce

Sunu

  • 1.
  • 2.
    TABLO ÖZELLIKLERI  Verisıkıştırma özelliği ile tabloların, indexlerin boyutları daha az bir yer kaplar.  Tablolar; SQL Server' da nesne olarak tanımlanır.  Tablolar verileri depolayan satırlar, bunları kategori gibi birbirinden ayıran sütunlardan oluşur.
  • 3.
    TABLO TIPLERI  StandartTable: Bu zamana kadar oluşturduğumuz kullanıcı tabanlı tablo tipidir.  PartitionTable: Tüm Standart Tablo özelliklerini içinde barındırır, verileri birden fazla dosya grupları içinde dağıtır.
  • 4.
     TemporaryTable(Geçici Tablo):Tablo adı, # ile başlarsa geçici tablo oluşturmuş olursunuz. Bunu, SQL Server servisi duruncaya kadar kullanabilirsiniz.  SystemTable: SQL Server 2012 ile ilgili sistem bilgilerinin tutulduğu tablo şeklidir. Bu tabloların içeriğine direkt olarak müdahale edilemez.
  • 5.
    TABLO OLUŞTURULURKEN VERILECEKÖZELLIKLER  Tabloları oluştururken isimlerini en fazla 128 karakter olarak verebilirsiniz.  Her tablonun ilk karakteri harf olmak zorundadır.
  • 6.
     Değineceğimiz özelliklerigörmek için herhangi bir tablo üzerinde sağ tuşa basarak Design seçeneğini seçmeniz yeterli olacaktır.
  • 7.
    SEÇILEN SÜTUNUN VERITIPINE GÖRE BAZI ÖZELLIKLER  Descriptlon: Sütunun açıklaması.  Default Value: Veri girilirken sütun değeri boş geçildiğinde yazılması istenilen ifade veya hazır bir değerin bağlanması.  Precision: Sütuna eklenecek olan sayısal değerler için, toplam basamak sayısı.
  • 8.
     Scale: Sütunaeklenecek olan sayısal değerlerin, ondalık kısmındaki gösterilecek basamak sayısı.(Bu son iki değeri ondalık desteği olan veri tipleri için Condensed Data Type kısmından da ayarlanabilir.)  Identity: Tablo içerisinde kayıt girişi yapılırken, otomatik olarak artması istenilen sütunlar için seçilir.  Identity Seed: Tablo içerisinde kayıt girişi yapılırken, otomatik olarak artması istenilen sütunun başlangıç değeri
  • 9.
    TABLO OLUŞTURMAK  Tablooluşturmak için CREATE TABLE komutu kullanılır.  CREATE TABLE tablo_adı  (sütun adı veri tipi [collate dil seçimi] [NULL[NOT NULL]] )
  • 10.
    karakaya3; CREATE TABLE dbo.ankara ( egitimnoint IDENTITY (1,1) NOT NULL, Egitimad nvarchar (15) not null, dersler ntext NULL, fiyat int NULL )
  • 11.
    TABLO SILMEK  Tablosilmek için ise DROP TABLE komutu kullanılır.  DROP TABLE tablo_adı
  • 12.
    Oluşturulmuş bir tabloüzerinde işlem yapmak için ALTER TABLE komutu kullanılır. Use karakaya3; ALTER TABLE ankara ADD sure int komutu kullanılır. Çalıştırdıktan sonra tablonun tasarım kısmına girerek yeni bir sütunun eklendiğini görebiliriz.
  • 13.
    VERİ BÜTÜNLÜĞÜ (DATAINTEGRITY)  Veri bütünlüğü sayesinde, bir veri tabanı içinde tutulan verilerin doğruluğunu ve uyumunu sağlayabiliriz.  Veri bütünlüğünün farklı tipleri;  Domain (Column) integrity:Sütun tabanlı ayarlar için geçerlidir. Bir sütunun boş kalıp - kalmayacağı bu ayarlardan biridir.
  • 14.
    Entity (Rovv) integrity: Tablodaki benzersiz tanımlamalar(Primary Key) ile ilgili yapılandırmalarla ilgilenir.  Kendisi ile ilişkili olan diğer tablolarda Primary Key değerinin değişip- değişmediğiveya silinip- silinmediği ile ilgili mekanizmalarla ilgilenir. Referential integrity:  Bir tablodaki Primary Key'ler ile, diğer bir tablodaki Foreign Key'ler arasındaki devamlılığı kontrol eder. Bu yapı ile verilerin silinmesi veya değiştirilmesi engellenebilir
  • 15.
    CONSTRAİNT (ZORUNLU) TANIMLAMALAR: İntegrityTipi Constraint Tipi Açıklama DEFAULT Bir sütuna değer girilmediği zamanlardaki durumu belirler. CHECK Değerlerin sütuna uygun olup-olmadığını kontrol eder. Domain REFERENTİAL Veri değişikliklerinin diğer bir tablo ile uyumlu olarak yapılıp-yapılamayacağını kontrol eder. Entity PRIMARY KEY UNIQUE Veri değişikliklerinin diğer bir tablo ile uyumlu olarak yapılıp-yapılamayacağını kontrol eder. Referential FOREIGN KEY CHECK Bir sütuna ait değerin aynı veya diğer bir tabloda aynı olup- olmadığını kontrol eder. Aynı tablo içindeki bir sütun değeri ile diğer bir sütun değerini kontrol eder.
  • 16.
    DEFAULT CONSTRAİNT:  DefaultConstraint ile bir sütuna değer girilmediği zaman, alacağı varsayılan değeri beliriliyoruz.  Uygulanan temel özellikleri.  Tablo içinde var olan veriyi kontrol eder.  Sadece INSERT ifadesi ile uygulanabilir.
  • 17.
     Her birsütun için, yalnızca bir adet Default Constraint tanımlanabilir.  Bir sütuna İdentity uygulanmış ise, bu özellik kullanılamaz.  Bir sütunun veri tipi Rowversion ise, yine bu özellik uygulanamaz.
  • 18.
    PRİMARY KEY CONSTRAİNT Bir tablo için Primary Key(birincil anahtar) tanımlaması yapar ve bu benzersiz bir kayıt girişi sağlar. ÖZELLİKLERİ;  Her bir tablo için sadece bir Primary Key Constraint olabilir. Bu birden fazla sütunu kapsayabilir.
  • 19.
     Buraya girilendeğerler, benzersiz olmak zorundadır. Yani, iki aynı değer bu sütuna girilemez.  Boş geçişe izin vermez. Mutlaka değer girilmesi gerekir.  Belirtilen sütun üzerinde benzersiz lndex oluşturur.  Bir Primary Key Constraint'in oluşturduğu lndex, direkt olarak silinemez, Constraint silindiği zaman silinir.
  • 20.
    UNİOUE CONSTRAİNT  UniqueConstraint kazandırılmış bir sütunun ait olduğu satıra aynı değeri iki kez giremeyiz.  Özellikle Primary Key kazandırdığımız sütun dışında başka bir sütunda da mükerrer kayıt girilmesi istenmiyorsa, bu özellik kazandırılabilir.
  • 21.
    UNİOUE CONSTRAİNT ÖZELLİKLERİ Sadece bir kez boş bırakılmaya izin verir, ikincisine izin vermez.  Bir tablo üzerinde birden fazla Unique constraint olabilir.  Bir veya daha fazla sütun üzerine Unique constraint uygulanması; tablonun Primary Key'i olması anlamına gelmez.  Benzersiz index oluşturmayı sağlar.
  • 22.
    KULLANILAN METHODLARIN KARŞILAŞTIRILMASI VeriBütünlüğü Bileşenleri Fonksiyonelliği Performans Maliyeti Yapılandırmadan Önce veya Sonra Constaint Orta Düşük Önce Default Düşük Düşük Önce Trigger Yüksek Orta-Yüksek Sonra (INSTEAD OF) hariç Veri Tipi, Null/Not Null Düşük Düşük Önce