Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

1 Veri Tabanı Yönetim Sistemleri Kenan KILIÇASLAN

Benzer bir sunumlar


... konulu sunumlar: "1 Veri Tabanı Yönetim Sistemleri Kenan KILIÇASLAN"— Sunum transkripti:

1 1 Veri Tabanı Yönetim Sistemleri Kenan KILIÇASLAN

2 2 Tablo oluşturma Kenan KILIÇASLAN

3 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama CREATE TABLE deyiminin tam biçimi CREATE TABLE tablo_adı (,,…. | )

4 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama CREATE TABLE deyimi Kolon tanımlaması kolon_adı datatip DEFAULT sabit_denklem IDENTITY (başlangıç, artış ),,…

5 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama 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)

6 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama 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)

7 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama 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.

8 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama 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.

9 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama CHECK kısıtlaması Kolon yada kolonlara girilecek değerleri kısıtmayı sağlayan bir deyimdir.

10 B.Ü. Meslek Yüksek Okulu 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.

11 B.Ü. Meslek Yüksek Okulu 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.

12 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama 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.

13 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama 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.

14 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama INDEX ‘lerin yaratılması (Tam yazım biçimi) CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX index_adı ON table (kolon [,...n])

15 B.Ü. Meslek Yüksek Okulu 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.

16 B.Ü. Meslek Yüksek Okulu 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.

17 B.Ü. Meslek Yüksek Okulu 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.

18 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama

19 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Müşteri tablosu CREATE TABLE musteri ( MusteriNo int, MusteriAdi varchar(20), MusteriSoyadi varchar(20), Adresi varchar(100), telefonu char(11) )

20 B.Ü. Meslek Yüksek Okulu 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) )

21 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Sipariş Tablosu CREATE TABLE siparis ( SiparisNo int, MusteriNo int, SiparisTarihi datetime, Aciklama varchar(100), TeslimAdresi varchar(100), TeslimTarihi datetime )

22 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Sipariş Detay Tablosu CREATE TABLE SiparisDetay ( SiparisNo int, UrunNo char(10), Miktari Decimal(10,2), SatisFiyati money )

23 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Kısıtlama olan bir tablo oluşturmak- müşeri tablosu Kolon AdıData TipiKısıtlamalar musterinointBirincil Anahtar not null, otomatik sayı musteriadiVarchar(20)Not null musterisoyadiVarchar(20)Not null adresiVarchar(100) telefonuChar(11)

24 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Müşteri tablosu (kısıtlama var) 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 MusteriNo kolonunu birincil anahtar yapar Bu deyim MusteriNo kolonuna veri girilmesini zorunlu yapar Bu deyim ile her eklenen yeni müşteriye otomatik numara verir.

25 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Ürün Tablosu Kolon AdıData TipiKısıtlamalar UrunNoChar(10)Birincil anahtar not null UrunAdiVarchar(20)Not null FiyatiMoneyNot null Birimichar(5)Varsayılan değer adet MiktariDecimal(10,2)

26 B.Ü. Meslek Yüksek Okulu 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) )

27 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama 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

28 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Sipariş Tablosu Kolon AdıData TipiKısıtlamalar SiparisNointOtomatik artan sayı, boş olamaz, Birincil Anahtar MusteriNointBu alan musteri tablosundaki ilgili alanla ilişkili SiparisTarihidatetimeVarsayılan değer bugünün tarihi AciklamaVarchar(100) TeslimAdresiVarchar(100) TeslimTarihiDatetimeNOT NULL

29 B.Ü. Meslek Yüksek Okulu 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 )

30 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Kolon AdıData TipiKısıtlamalar SiparisNointBu alan sipariş tablosunun ilgili alanı ile ilişkilidir. UrunNoChar(10)Bu alan urun tablosunun ilgili alanı ile ilişkilidir. MiktariDecimal(10,2) SatisFiyatiMoney

31 B.Ü. Meslek Yüksek Okulu 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 )

32 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama 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

33 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Tablolar arasında ilişki kurma RELATION deyimi Birçok-İlişkisinde ÇOK Tarafında kullanılmalıdır.

34 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama yol Tabloların oluşturulma sırası Abone-paket Müşteri Görüşme

35 B.Ü. Meslek Yüksek Okulu 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 )

36 B.Ü. Meslek Yüksek Okulu 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 )

37 B.Ü. Meslek Yüksek Okulu 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 )

38 B.Ü. Meslek Yüksek Okulu 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

39 B.Ü. Meslek Yüksek Okulu 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

40 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Mevcut tabloya kolon ekleme ALTER TABLE gorusme ADD aranan_telefon_alan_kodu CHAR(3)

41 B.Ü. Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programlama Bir tablodan kolon silme ALTER TABLE gorusme DROP COLUMN arama_saati


"1 Veri Tabanı Yönetim Sistemleri Kenan KILIÇASLAN" indir ppt

Benzer bir sunumlar


Google Reklamları