Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
Veri Tabanı Yönetim Sistemleri
Kenan KILIÇASLAN
2
Kenan KILIÇASLAN http://www.kilicaslan.nom.tr kenank@beykent.edu.tr
Tablo oluşturma Kenan KILIÇASLAN
3
CREATE TABLE deyiminin tam biçimi
CREATE TABLE tablo_adı ( <kolon_tanımı>, <kolon_tanımı>,…. | <tablo_ kısıtlaması > ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
4
CREATE TABLE deyimi Kolon tanımlaması
kolon_adı datatip DEFAULT sabit_denklem IDENTITY (başlangıç, artış ) <kolon_kısıtlaması>, <kolon_kısıtlaması>,… B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
5
CREATE TABLE deyimi Kolon kısıtlaması
CONSTRAINT kısıtlama_adı NULL | NOT NULL PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED [FOREIGN KEY] REFERENCES ref_tablo [(ref_kolon)] CHECK (mantıksal_ifade) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
6
CREATE TABLE deyimi Tablo kısıtlaması
[CONSTRAINT kısıtlama_adı] PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED ( kolon[,...n] ) FOREIGN KEY [(kolon[,...n])] REFERENCES ref_tablo [(ref_kolon[,...n])] CHECK (mantıksal_ifade) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
7
PRIMARY KEY kısıtlaması
Bir kolon için verilen bu özellik tablo bazında her satır için ayrı olan bir anahtar değerini içerir. Her tabloda sadece bir PRIMARY KEY yaratılır. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
8
NULL, NOT NULL kısıtlaması
NULL değerinin kolonda kullanılıp kullanılmamasını sağlar. Tanımlamada NOT NULL bulunması durumunda, kolon’un değeri hiçbir zaman null olamaz. Mutlaka bilgi girilmelidir. Tanımlamada belirtilmemesi durumunda NULL işlemi görür. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
9
Bilgisayar Teknolojileri ve Programlama
CHECK kısıtlaması Kolon yada kolonlara girilecek değerleri kısıtmayı sağlayan bir deyimdir. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
10
Bilgisayar Teknolojileri ve Programlama
IDENTITY kısıtlaması Yeni kolonun IDENTITY olup olmadığını belirler. Tabloya yeni satır eklendiğinde, SQL server otomatik olarak artan değer verir. Örnek; IDENTITY (1,2) 1 sayısı ilk değeri, 2 sayısı artışı belirtir. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
11
Bilgisayar Teknolojileri ve Programlama
UNIQUE kısıtlaması Bir kolon için verilen bu özellik tablo bazında tek olan değerlerin kullanılmasını sağlar. Bir tabloda çok sayıda UNIQUE kısıtlaması bulunabilir. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
12
FOREIGN KEY...REFERENCES kısıtlaması
Data bütünlüğüne referans olarak destek olan FOREIGN KEY kısıtlaması, kolon içindeki değerin belirtilen bir tabloda olmasını zorunlu kılar. ref_tablo : FOREIGN KEY kısıtlaması ile belirtilen tablonun adı. ref_kolon : FOREIGN KEY kısıtlaması ile belirtilen kolon yada kolonlar listesi. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
13
INDEX ‘lerin yaratılması açıklama
CREATE TABLE deyiminde kullanılan PRIMARY KEY ile bir unique (tek) indez yaratılır. UNIQUE ile yine bir unique index yaratılır. CLUSTERED ile bir clustered index yaratılır. NONCLUSTERED ile bir nonclustered index yaratılır. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
14
INDEX ‘lerin yaratılması (Tam yazım biçimi)
CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX index_adı ON table (kolon [,...n]) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
15
Bilgisayar Teknolojileri ve Programlama
UNIQUE deyimi Bu tip indexlerde, indexte tek değer olmalıdır. Bir kolon veya bir den çok kolon üzerinde olabilir. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
16
Bilgisayar Teknolojileri ve Programlama
CLUSTERED deyimi CLUSTERED İndexler tabloların sıralamasını etkiler. Bu deyimle oluşturulmuş indexlere göre tablolar dizilir. Bir tabloda sadece 1 adet CLUSTERED index bulunabilir. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
17
Bilgisayar Teknolojileri ve Programlama
NONCLUSTERED deyimi Bu indexler tabloların sıralamasını etkilemez sadece mantıksal sıralama yatırır. Bir tabloda sadece 249 adet NONCLUSTERED index bulunabilir. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
18
Bilgisayar Teknolojileri ve Programlama
B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
19
Bilgisayar Teknolojileri ve Programlama
Müşteri tablosu CREATE TABLE musteri ( MusteriNo int, MusteriAdi varchar(20), MusteriSoyadi varchar(20), Adresi varchar(100), telefonu char(11) ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
20
Bilgisayar Teknolojileri ve Programlama
Ürün Tablosu CREATE TABLE urun ( UrunNo char(10), UrunAdi varchar(20), Fiyati money, Birimi char(5), Miktari decimal(10,2) ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
21
Bilgisayar Teknolojileri ve Programlama
Sipariş Tablosu CREATE TABLE siparis ( SiparisNo int, MusteriNo int, SiparisTarihi datetime, Aciklama varchar(100), TeslimAdresi varchar(100), TeslimTarihi datetime ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
22
Bilgisayar Teknolojileri ve Programlama
Sipariş Detay Tablosu CREATE TABLE SiparisDetay ( SiparisNo int, UrunNo char(10), Miktari Decimal(10,2), SatisFiyati money ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
23
Kısıtlama olan bir tablo oluşturmak- müşeri tablosu
Kolon Adı Data Tipi Kısıtlamalar musterino int Birincil Anahtar not null, otomatik sayı musteriadi Varchar(20) Not null musterisoyadi adresi Varchar(100) telefonu Char(11) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
24
Müşteri tablosu (kısıtlama var)
Bu deyim MusteriNo kolonunu birincil anahtar yapar Müşteri tablosu (kısıtlama var) Bu deyim MusteriNo kolonuna veri girilmesini zorunlu yapar CREATE TABLE musteri ( MusteriNo int PRIMARY KEY NOT NULL IDENTITY(1,1), MusteriAdi varchar(20) NOT NULL, MusteriSoyadi varchar(20) NOT NULL, Adresi varchar(100), telefonu char(11) ) Bu deyim ile her eklenen yeni müşteriye otomatik numara verir. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
25
Bilgisayar Teknolojileri ve Programlama
Ürün Tablosu Kolon Adı Data Tipi Kısıtlamalar UrunNo Char(10) Birincil anahtar not null UrunAdi Varchar(20) Not null Fiyati Money Birimi char(5) Varsayılan değer adet Miktari Decimal(10,2) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
26
Bilgisayar Teknolojileri ve Programlama
Ürün Tablosu CREATE TABLE urun ( UrunNo char(10) PRIMARY KEY NOT NULL, UrunAdi varchar(20) NOT NULL, Fiyati money NOT NULL, Birimi char(5) DEFAULT ‘ADET’, Miktari decimal(10,2) ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
27
Tablolar arasında ilişki kurma
İKİ METOD VARDIR TABLOLAR OLUŞTURULURKEN CREATE TABLE deyimi içinde TABLOLAR OLUŞTURULDUKTAN SONRA ALTER TABLE deyimi içinde OLMAZSA OLMAZLAR Tablonun 1 tarafındaki alan PRIMARY KEY olacak Her iki tarafta ilişkili alanlar NOT NULL olacak B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
28
Bilgisayar Teknolojileri ve Programlama
Sipariş Tablosu Kolon Adı Data Tipi Kısıtlamalar SiparisNo int Otomatik artan sayı, boş olamaz, Birincil Anahtar MusteriNo Bu alan musteri tablosundaki ilgili alanla ilişkili SiparisTarihi datetime Varsayılan değer bugünün tarihi Aciklama Varchar(100) TeslimAdresi TeslimTarihi Datetime NOT NULL B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
29
Bilgisayar Teknolojileri ve Programlama
Sipariş Tablosu CREATE TABLE siparis ( SiparisNo int NOT NULL PRIMARY KEY IDENTITY(1,1), MusteriNo int CONSTRAINT musteriIliski FOREIGN KEY REFERENCES musteri (MusteriNo), SiparisTarihi datetime DEFAULT GETDATE(), Aciklama varchar(100), TeslimAdresi varchar(100), TeslimTarihi datetime ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
30
Bilgisayar Teknolojileri ve Programlama
Kolon Adı Data Tipi Kısıtlamalar SiparisNo int Bu alan sipariş tablosunun ilgili alanı ile ilişkilidir. UrunNo Char(10) Bu alan urun tablosunun ilgili alanı ile ilişkilidir. Miktari Decimal(10,2) SatisFiyati Money B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
31
Bilgisayar Teknolojileri ve Programlama
Sipariş Detay Tablosu CREATE TABLE SiparisDetay ( SiparisNo int CONSTRAINT SiparisIliski FOREIGN KEY REFERENCES Siparis (SiparisNo) , UrunNo char(10) CONSTRAINT UrunIliski FOREIGN KEY REFERENCES Urun (UrunNo), Miktari Decimal(10,2), SatisFiyati money ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
32
Tabloya yeni kolon ekleme
Sipariş tablosuna AlisMi adında tinyint tipinde ve varsayılan değer 0 olan bir kolon ekleyiniz. ALTER TABLE Siparis ADD AlisMi tinyint DEFAULT 0 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
33
Tablolar arasında ilişki kurma
RELATION deyimi Birçok-İlişkisinde ÇOK Tarafında kullanılmalıdır. B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
34
Bilgisayar Teknolojileri ve Programlama
1.yol Tabloların oluşturulma sırası Abone-paket Müşteri Görüşme B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
35
Bilgisayar Teknolojileri ve Programlama
Tablo örneği CREATE TABLE abone_paket ( paket_no SMALLINT NOT NULL PRIMARY KEY IDENTITY(1,1), paket_adi VARCHAR(50), telekom SMALLINT, gsm_ici SMALLINT, diger_operator SMALLINT ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
36
Bilgisayar Teknolojileri ve Programlama
Tablo örneği CREATE TABLE musteri ( telefon_no CHAR(10) PRIMARY KEY NOT NULL, adı VARCHAR(30), soyadı VARCHAR(30), Adresi VARCHAR(100), abonelik_paket_no SMALLINT DEFAULT 1 CONSTRAINT abone_paket_ilişki REFERENCES abone_paket (paket_no), faturalımı BIT DEFAULT 0 ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
37
Bilgisayar Teknolojileri ve Programlama
Tablo örneği CREATE TABLE gorusme ( telefon_no CHAR(10) NOT NULL CONSTRAINT musteri_ilişki REFERENCES musteri (telefon_no) , aranan_telefon_no CHAR(13), arama_tarihi DATETIME, arama_saati DATETIME, sure INT ) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
38
Bilgisayar Teknolojileri ve Programlama
İlişki silme Musteri tablosu ile abone_paket tablosu arasındaki ilişkiyi silelim İlişkinin adı : abone_paket_ilişki İlişki müşteri tablosunda oluşturulmuştur. ALTER TABLE musteri DROP CONSTRAINT abone_paket_ilişki B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
39
Bilgisayar Teknolojileri ve Programlama
İlişki silme Musteri tablosu ile görüşme tablosu arasındaki ilişkiyi silelim İlişkinin adı : musteri_ilişki İlişki görüşme tablosunda oluşturulmuştur. ALTER TABLE gorusme DROP CONSTRAINT musteri_ilişki B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
40
Mevcut tabloya kolon ekleme
ALTER TABLE gorusme ADD aranan_telefon_alan_kodu CHAR(3) B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
41
Bir tablodan kolon silme
ALTER TABLE gorusme DROP COLUMN arama_saati B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.