|
SQL Dilinde Alter Komutu |
|
Gönderiliyor lütfen bekleyin... |
|
|
ALTER
KOMUTU :
Veritabanında var olan nesneler üzerinde yapılacak değişiklikler için kullanılan
komuttur.Yeni tasarlanan bir veritabanında değişiklik yapmak çok güç değildir.
Çünkü içindeki veriler az yada test amaçlıdır. Ama yaşayan bir veritabanında
değişklik yapmak ciddi sorumluluklar ister. Verilin yok olmaması için çok dikkatli
olmak gerekir. Bu konuda Alter ifadesi oldukça kolaylık
sağlar.
Alter
Table : Tablonun yapısı
ile ilgili bilgilerin değiştirilmesi. Bazı durumlarda var olan tabloya yeni alan ekleyebilir,
alan silebilir, alan adı değiştirebilir yada ilgili kısıtlamaları silebiliriz.
Tablo adı değiştirme
: Birinci şekil standart SQL deki
gösterimidir. Fakat T-SQL de bu işlem biraz daha farklıdır. Bunun
için master tablosunda tanımlanmış olan SP_RENAME saklı yordamından (stored procedur)
faydalanmak zorundasınız . Buda ikinci şekildeki
gibidir
1 _ ALTER
TABLE Tablo_Adı TO
Yeni_Tablo_Adı
2_ EXEC
SP_RENAME Tablo_Adı,
Yeni_Tablo_Adı ;
ALTER TABLE Personel TO
Yeni_Personel
// Standart SQL
EXEC SP_RENAME Personel,
Yeni_Personle
// SQL Server T-SQL
|
Tabloya alan ekleme ve silme:
ALTER TABLE Tablo_Adı ADD
Alan_Adı Veri_Tip Yeni alan
ekleme.
ALTER TABLE Tablo_Adı DROP COLUMN
Alan_Adı Var olan alanı
silme.
ALTER TABLE
Personel ADD CocukSayisi int;
ALTER TABLE Personel DROP
COLUMN CocukSayisi
|
Tablodaki alan veri tipi değiştirme: Kolon veri
tipi değiştirilirken veri kaybı olmaması ve hata alınmaması için mantıklı
tür dönüşümleri yapılmalı. Alanın veri tipi int iken varchar yapılırsa tür
dönüşümü yapılır ve veri kaybı olmaz. Ayrıca varchar ise ve içerisinde
sadece sayı karakterleri tutulmuş ise sayı tür dönüşümü ile dönüştürülür ama
sayı dışında da karakterler varsa hata ile karşılaşırsınız.
ALTER TABLE Tablo_Adi ALTER COLUMN Alan_Adi Yeni_Veri_Tipi
ALTER TABLE Personle ALTER COLUMN
CocukSayisi char(10)
|
Tabloya kısıtlama ekleme ve silme : Özellikle iki
tablo arasındaki ikincil anahtarları (foreing key) silerken dikkat edilecek en
önemli nokta ilişkinin hangi tablodan hangi tabloya referans verildiğidir.
ALTER TABLE Tablo_Adı ADD
CONSTRAINT Kısıtlama_Adı Kısıtlamanın_Ozellikleri Yeni kısıtlama
ekleme.
ALTER TABLE Tablo_Adı DROP
CONSTRAINT Kısıtlamanını_Adı
Var olan kısıtlamayı silme
ALTER
TABLE PersonelMal ADD
CONSTRAINT FK_PersonelMal_Personel_N
FOREIGN KEY (PPersonelId) REFERENCES Personel (PersonelId) ON DELETE
CASCADE
// PersonelMal Tablosununa foreing key ekleme
ALTER TABLE
PersonelMal DROP CONSTRAINT
FK_PersonelMal_Personel_N //
Kısıtlamayı silme
|
Alan İsmi değiştirme: İsim değiştirme
işlemleri standart SQL de RENAME parametresi ile yapılır. Ama T-SQLde tablo
ismi değiştirmede olduğu gibi SP_RENAME saklı yordamı ile yapılır.
ALTER TABLE Tablo_Adı RENAME Alan_Adı TO
Yeni_Alan_Adı
Standart SQL de
EXEC SP_RENAME Tablo_Adı.Alan_Adı, Yeni_Alan_Adı,
Nesne_Tipi T-SQL de
Nesne_Tipi : SP_RENAME saklı yordamı(stored procedur)
değiştirilecek nesnenin tipini belirtir. Bunlar DATABASE, TABLO,
VIEW, COLUMN, OBJECT(CHECK, FOREIGN KEY, PRIMARY/UNIQUE KEY) , vb dir.
Alan isimleri tablolara özel nesnelerdir. Her tabloda Adi diye bir alan
tanımlayabilirsiniz. Ama tablo isimleri, constrainler , stored procedurler,
trigerlar yani SQL Serverda sysobjects sistem tablosuna kaydedilen nesnelerin
ismi tekildir. Bunların ismi değiştirilirken Nesne_Tipi parametresine object
yazılması gerek.
ALTER TABLE Sicil RENAME PersonelSicilNo
TO
SicilNo
//Standart sql
EXEC SP_RENAME Sicil.PersonelSicilNo,
SicilNo,
Column
// t-sql
|
EXEC SP_RENAME myView,
MaasBordrosu,Object
// View İsmi değiştirme
EXEC SP_RENAME FK_PersonelMal_Personel,
FK_PM_P,Object //
Foreing key ismi değiştirme
|
Alter View : Görünüm değiştirme. Görünüm
değiştirme de tanımlama da olan standartlar geçerlidir. Bu tür yapılar
üzerlerinde veri tutmadıkları ve sadece çalıştıkları zaman oluştuğu için
değişiklik yapmak daha rahattır.
CREATE VIEW
V_Maas AS
SELECT PersonelId, (Adi + + Soyadi) as AdSoyad, Maas FROM
Personle
;
// View oluşturduk
ALTER VIEW
V_Maas AS
SELECT PersonelId,
(Adi + + Soyadi) as AdSoyad, Maas FROM Personle WHERE Adi
like(A%); // View değiştirdik.Burda yaptığımız
değişiklik sadece sorgumuza koşul ekledik. Adı A ile başlayan personellerinkini
getirsin.
|
DROP KOMUTU: Databasede buluna
nesnelerin silinmesi için kullanılan komuttur.
DROP DATABASE Veritabanı_Adı Database
silme
DROP TABLE
Tablo_Adı
Tablo silme
DROP VIEW
View_Adı
View silme
DROP INDEX
Index_Adı
Index silme
DROP DATABASE cSharpNedir
DROP TABLE Personle
DROP VIEW myView
DROP INDEX Ix_Personel
|
Bir sonraki makalemizde Select ifadesini
inceleyeceğiz.
Makale:
SQL Dilinde Alter Komutu ADO.NET ve SQL Feryat Olcay
|
|
|
-
-
Eklenen Son 10
-
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
|
|