SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'



Benzer belgeler
SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

MSSQL. 4. Hafta Uygulama - 1 BPR255 Veritabanı CREATE DATABASE OKUL GO USE OKUL GO

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

Veri Tabanı Hafta Dersi

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

Veritabanına Uygulanması

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

SORGULAR VE ÇEŞİTLERİ II

Bölüm 4: DDL Veri Tanımlama Dili

VERİ TABANI YÖNETİM SİSTEMLERİ I

«BM364» Veritabanı Uygulamaları

3. Hafta Tablo İşlemler BPR255 Ver tabanı. Bu Der ste Öğr enecekler n z: 1. Tablo İşlemler

Veri Bütünlüğü ve Constraint ler. Veritabanı 1

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum:

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

VERİTABANI Veritabanı Yönetimi

Oracle da kullanılan veri tipleri:

KISITLAMALAR (CONSTRAINT)

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

VERİ TABANI ve YÖNETİMİ

Mysql Veritabanı Komutları

YAPISAL SORGULAMA DİLİ (SQL)

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

VERİ TABANI YÖNETİM SİSTEMLERİ-II

STORED PROCEDURE LER (Saklı Yordamlar)

Veritabanı Tasarımı. Tablo Değiştirme

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

Herhangi bir tablonun tekrarlı veriler içerdiği duruma birinci normal form denir. Birinci normal formu Aşağıdaki tablo ile ele alacağız.

SORGULAR. Öğr.Gör.Volkan Altıntaş

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

Çok tablolu sorgulamalar

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL-2

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir?

Bir çeşit prosedür. Ancak bu prosedür kendiliğinden çalışır. Çalışması için tabloya veri eklemek, veri silmek, veri değiştirmek yeterlidir.

ACCESS PLATFORMUNDA SQL

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

SQL Komutları (2) Uzm. Murat YAZICI

KIRIKKALE ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ EĞİTİMİ ANA BİLİM DALI VERİ TABANI YÖNETİM SİSTEMLERİ DERSİ FİNAL PROJESİ

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.

BİLİŞİM TEKNOLOJİLERİ

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

VERİTABANI ORGANİZASYONU

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

SQL (Structured Query Language)

BlackBerry Admin Service

SQL e Giriş. Uzm. Murat YAZICI

VERİ TABANI YÖNETİM SİSTEMLERİ I

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

İNTERNET PROGRAMCILIĞI DERSİ

Veritabanı Tasarımı. Birincil Anahtar, İkincil Anahtar ve Kontrol Kısıtlamaları

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

KULLANICI TANIMLI FONKSİYONLAR (Devam)

SQL TRIGGERS (Tetikleyiciler)

SQL Kod ile Tablo Oluşturma

SQL Stored Procedure

Veritabanı Yönetim Sistemleri I HAFTA 1

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

Veri Tabanı Hafta Dersi

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

Durhan GABRALI Veritabanı Organizasyonu Dersi (11B)

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

MT487_2005guz_final_cevaplar (cevaplar vurgulu ve koyu yazılmıştır)

Veri Tabanı Programlamaya Giriş

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir.

3 Sql Veri Tipleri ve Örnek Veritabanı Tasarımı. Veritabanı 1

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

Nesneler üzerinde değişiklik yapmak için kullanılır. Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır.

8 Aralık 2011 / Perşembe. Veri Tabanına Giriş

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

Veri Tabanı Yönetim Sistemleri Bölüm - 7

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XII: Durum Çalışması Çağıltay, N., Tokdemir, G.

Veritabanı Tasarımı. Düzenli İfadeler

DONATIPRO. Betonarme Donatı Çizim ve Metraj Yazılımı Kullanım Kitapçıkları Eğitim Notları. Donatıpro Metraj Mayıs 2014 Taliasoft Yazılım V.2.

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

EKLEME SORGUSU. 2) ornekveritabani.accdb isimli veritabanınızı çift tıklayarak açınız. Sorarsa, İçeriği Etkinleştir komutunu uygulayınız.

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim) -16 Mart 2014 A

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim)-16 Mart 2014 B

Transkript:

Bu Derste Öğrenecekleriniz: 1- Veri Tabanı Adı Değiştirme 2- Nesnelerin Adını Değiştirme a. Tablo Adı Değiştirme b. Alan Adı Değiştirme c. Constraint (Kısıtlama) Adı Değiştirme 3- Tablo Düzenleme Komutları a. Alan Özelliklerini Değiştirme b. Tabloya Alan Ekleme c. Tabloya Constraint Ekleme d. Tablodan Alan Silme e. Tablodan Constraint Silme 1. Veri Tabanı Adı Değiştirme Veri tabanının adını değiştirmek için SP_RENAMEDB prosedürü kullanılır. Her hangi bir veri tabanının ismini değiştirmek için: SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim' SP_RENAMEDB 'BMYO', 'OKUL' VEYA SP_RENAMEDB BMYO, OKUL BMYO ismindeki veri tabanımızın yeni adı OKUL olacaktır. 2. Nesnelerin Adını Değiştirme Veri tabanında herhangi bir nesnenin adını değiştirmek için MS SQL de SP_RENAME prosedürü kullanılır. sp_rename prosedürü ile tablo, sütun, index, view, stored procedure, trigger, rule veya constraint isimleri değiştirilebilir. Constraint ler daha önce de işlediğimiz gibi CHECK, FOREIGN KEY, PRIMARY/UNIQUE KEY olabilir. Her hangi bir nesnenin ismini değiştirmek için genel kullanım: SP_RENAME eski_isim, yeni_isim VEYA SP_RENAME 'eski isim', 'yeni isim' a. Tablo Adı değiştirme Tablo adı değiştirmek için aşağıdaki komutunu kullanıyoruz. SP_RENAME tablo_ismi, yeni_isim VEYA SP_RENAME 'tablo ismi', 'yeni isim' 1) SP_RENAME SINAVLAR, NOTLAR 2) SP_RENAME HOCALAR, [ÖĞRETİM GÖREVLİLERİ] 3) SP_RENAME [KİŞİSEL BİLGİLER], [ÖĞRENCİ KİŞİSEL BİLGİLERİ] Burada bir numaralı örnekte; sınavlar olan tablo ismi notlar olarak değişecektir. İkinci örnekte hocalar ismindeki tablonun ismi öğretim görevlileri olarak değişecektir. Üçüncü örnekte de kişisel bilgiler ismindeki tablo öğrenci kişisel bilgileri olarak değişecektir. NOT: SQL de tanımlama sırasında herhangi bir nesne adı birden fazla kelimeden oluşuyorsa kelimeler köşeli parantezler [ ] arasına yazılmalıdır. Ancak isim değiştirme sırasında köşeli parantezler yerine tek-tırnak karakterleri de kullanılabilir. Yukarıdaki örneklerde köşeli parantezlerin kullanıldığı yerde tek-tırnak karakteri kullanılmıştır. Aşağıdaki örnekler yukarıdakiler ile aynı işlevi görecektir. 1) SP_RENAME 'SINAVLAR', 'NOTLAR' 2) SP_RENAME 'HOCALAR', 'ÖĞRETİM GÖREVLİLERİ' 3) SP_RENAME 'KİŞİSEL BİLGİLER', 'ÖĞRENCİ KİŞİSEL BİLGİLERİ' 1 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi

b. Alan Adı Değiştirme Alan adı değiştirmek için aşağıdaki komut kullanılır. SP_RENAME [tablo ismi.alan ismi], [yeni alan ismi] Burada değiştirilecek alan adı tablo ismiyle beraber yazılır. Çünkü aynı alan ismi başka tablolarda da kullanılabilir. Dolayısıyla hangi tablonun alanı olduğunu belirtmek için önüne tablo adı sonra nokta koyup alan adını yazıyoruz. 1) SP_RENAME [SINAVLAR.VİZE], [ARA SINAV] 2) SP_RENAME [KİŞİSEL BİLGİLER.ANA ADI], [ANNE ADI] 3) SP_RENAME [DERSLER.DERS KODU], DERS_KODU 4) SP_RENAME 'KİŞİSEL BİLGİLER.ANA ADI', 'ANNE ADI' Burada bir numaralı örnekte sınavlar tablosuna ait vize sütununun adı ara sınav olarak değişecektir. İkinci örnekte kişisel bilgiler tablosundaki ana adı isimli alan anne adı olarak değişecektir. Üçüncü örnekte ise dersler tablosundaki ders_kodu adındaki alan ders_kodu olarak değişecektir. NOT: Eğer tablo veya alan isimlerinden herhangi birinde nokta (.) kullanılmış ise bu durumda hem tablo ismi hem de alan ismi köşeli parantezler arasına alınır, ve ikisi beraber tek-tırnaklar arasına alınır. Aşağıdaki örneği kontrol ediniz. SP_RENAME '[BİLG. PROG.].[BLM. KODU]', [BÖLÜM KODU] Yukarıdaki örnekte tablo ismi Bilg. Prog. ve alan adı da blm. kodu olduğu için hem tablo ismi hemde alan ismi köşeli parantezler arasına alınmış ve beraber tek-tırnak karakterleri arasına alınmıştır. c. Constraint (Kısıtlama) Adı Değiştirme Kısıtlama adı değiştirme tablo adı değiştirme ile aynıdır. Çünkü bir veri tabanında aynı isimde birden fazla tablo olamayacağı gibi aynı isimde birden fazla kısıtlama da olamaz. Dolayısıyla kısıtlama ismi değiştirince hangi tabloya aittir diye bakmıyoruz. SP_RENAME constarint_ismi, yeni_constraint_ismi Aşağıdaki örnek tabloyu kontrol edelim: CREATE TABLE [ÖGRENCİ MAIL] ( [ADI SOYADI] VARCHAR(50), MAIL VARCHAR(200) CONSTRAINT MAIL_KONTROL CHECK(MAIL LIKE '%@%.edu.tr') ) Bu tabloda mail_kontrol adında bir constraint (kısıtlama) var. Bu constraint mailin içinde @ işareti var mı ve mail adresi.edu.tr ile bitiyor mu diye kontrol ediyor. Bu constraint in adını değiştirmek için aşağıdaki kodu kullanacağız. SP_RENAME MAIL_KONTROL, CHK_MAIL Burada MAIL_KONTROL olan kısıtlama adı CHK_MAIL olarak değişecektir. Köşeli parantez ve tırnak kuralı burada da geçerlidir. SP_RENAME [MAIL KONTROL], [CHK MAIL] 2 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi

3. Tablo Düzenleme Komutları Veritabanında bir tabloda fiziksel değişiklikler yapmak için ALTER anahtar sözcüğü kullanılır. Aşağıdaki yazım kuralı bir tabloda yapılabilecek tüm fiziksel değişiklileri özetlemektedir. { [ ALTER COLUMN alan_adı { yeni_veri_tipi [ NULL NOT NULL ] } ] ADD { [ < alan_tanımlaması > ] } [,...n ] ADD { < constraint_tanımlaması > } [,...n ] DROP { [ CONSTRAINT ] constraint_adı COLUMN alan_adı } [,...n ] } a) Alan Özelliklerini Değiştirme Bir alanın veri tipini değiştirmek için aşağıdaki kod kullanılır. Bir alandan zorunluluğu kaldırmak (null özelliğini not null yapmak) veya bir alanı zorunlu hale getirmek (not null özelliği null yapmak)içinde aşağıdaki kod kullanılabilir. ALTER COLUMN alan_adı yeni_veri_tipi [NULL NOT NULL] Aşağıdaki örnek tabloyu kontrol ediniz. CREATE TABLE KİŞİLER ( NUMARA INT PRIMARY KEY NOT NULL, ADI VARCHAR(25) NOT NULL, SOYADI VARCHAR(25) NOT NULL, TELEFON CHAR(16) NULL, ADRES VARCHAR(255) NULL ) Burada başlangıçta KİŞİLER tablosunda TELEFON alanı CHAR(16) olarak tanımlanmış ve NULL olarak işaretlenmiştir, yani boş bırakılabilir demektir. Ama biz bunu ALTER COLUMN komutu ile yeniden düzenleyeceğiz. ALTER COLUMN TELEFON VARCHAR(20) NOT NULL Yeni durumda KİŞİLER tablosundaki TELEFON alanı VARCHAR(20) olacak ve NOT NULL olarak işaretlenmiş olacak yani boş bırakılamayacak. ALTER COLUMN ADRES VARCHAR(255) NOT NULL Burada da adres alanı üzerinde değişiklik yapıyoruz. Görüldüğü gibi veri tipi yine aynı kalıyor fakat birinci durumda NULL olarak işaretlenmişken ALTER COLUMN komutu ile NOT NULL olarak işaretliyoruz. Yani adres alanı zorunlu değilken zorunlu olacak. b) Tabloya Alan Ekleme Yukarıdaki kişiler tablosunu tekrar inceleyiniz, bu tabloya mail alanı eklemek istersek aşağıdaki kodu kullanacağız. ADD alan_adı1 alan_özellikleri1, 3 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi

Aşağıdaki kodları inceleyiniz. ADD MAIL VARCHAR(250) NULL Bu komut ile kişiler tablosuna MAIL adında yeni bir alan ekleyeceğiz. Veri tipi VARCHAR(250) olacak ve boş bırakılabilecek. NOT: Alan eklenmek istenen tabloda daha önceden girilmiş veriler varsa, NOT NULL olarak işaretlenmiş bir alan doğrudan eklenemez. Böyle bir alan ekleyebilmek için yeni alana varsayılan bir değer belirlemek gerekecektir. Dolayısıyla tabloya yeni eklenecek alan NOT NULL olarak işaretlenecek ise kesinlikle DEFAULT anahtar sözcüğü ile beraber kullanılmalıdır. Aşağıdaki kod ile; mail alanı NOT NULL olarak işaretlendiği için varsayılan bir değer ayarlanmıştır. ADD MAIL VARCHAR(250) DEFAULT 'mail@mail' NOT NULL Dolayısıyla eğer kişiler tablosunda yüz kayıt varsa ve mail alanı zorunlu olacaksa bu yüz kişinin mail alanı mail@mail olacaktır. Bundan sonra eklenecek kişiler için de varsayılan mail alanları mail@mail olacaktır. Bir tabloya bir seferde birden fazla alan eklenebilir. Bunun için aşağıdaki kurala göre kodlar yazılmalıdır. ADD alan_adı1 alan_özellikleri1, alan_adı2 alan_özellikleri2,... alan_adın alan_özelliklerin Aşağıdaki kodu inceleyin. kişiler isimli tabloya iki ayrı alan iki farklı özellikte eklenmiştir. Baba adı ve yaş alanları birlikte eklenmiştir. İki alanda null olarak işaretlenmiş. Eğer tabloda herhangi bir kayıt yoksa ADD [BABA ADI] VARCHAR(20) NULL, YAŞ TINYINT NULL Aşağıdaki kod kişiler tablosuna üç yeni alan birden eklenirken satır içi constraint ler ile beraber kullanılmış. ADD [KARDEŞ SAYISI] INT NULL, MEMLEKET VARCHAR(25) DEFAULT 'BARTIN' NOT NULL, SIRA INT IDENTITY(100,1) Yukarıdaki kodlar ile kardeş sayısı, memleket ve sıra diye üç yeni alan eklenecek. "memleket alanının varsayılan değeri Bartın olacak. Sıra alanı ise otomatik sayı olacak ve önceki kayıtlara da 100 den başlayarak 101, 102, 103, şeklinde sıra numarası verecek ve bundan sonra eklenecek her kayıt için de sıra numarası bir artarak devam edecektir. NOT: Tablolara alan eklerken tabloda kayıtlar varsa; yeni alanları normal olarak unique ve primary key constraint leri (kısıtlamaları) ile beraber kullanamayız. Ancak yeni eklenecek alan identity olmak şartı ile primary key veya unique olabilir. Bunun yanında tabloda hiç kayıt yoksa diğer bütün constraintler ile beraber kullanılabilir. 4 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi

c) Tabloya Constraint Ekleme Tabloya constraint (sınırlandırma) eklemek için aşağıdaki kod kullanılır. ADD CONSTRAINT constraint_tanımlaması Örnek olarak aşağıdaki kodları inceleyiniz. ADD CONSTRAINT CHK_MAIL CHECK(MAIL LIKE '%@%.%') Burada KİŞİLER tablosuna sonradan CHK_MAIL adında, mail kontrolü için bir constraint eklenmiştir. Artık tabloya yeni kayıt girince girilen mail adresinin kurala uyup uymadığını kontrol edecektir. NOT: Tabloya sınırlama eklerken eklenmek istenen kuralın varsayılan kayıtlar ile çelişmemesi gerekir. Aksi takdirde hata verecektir. Örneğin mail kontrolü için eklediğimiz constraint e göre mail alanında var olan kayıtlardan her hangi bir tanesi bu kuralı sağlamıyorsa bu constraint eklenmeyecektir. Ama tabloda kayıt yoksa tüm constraint türleri için bir sorun olmayacaktır. Tabloya yeni alan eklerken yaptığımız gibi bir defada birden fazla constraint de eklenebilir. Aşağıdaki kod ile kişiler tablosuna üç constraint beraber eklenmiş. Bir birincil anahtar, bir referans anahtar birde geçerlilik kuralı olarak toplam üç kısıtlama beraber kullanılmıştır. ADD CONSTRAINT PK_KİŞİLER PRIMARY KEY(NUMARA), CONSTRAINT CHK_MAIL CHECK(MAIL LIKE '%@%.%'), CONSTRAINT FK_MEMLEKET FOREIGN KEY(MEMLEKET) REFERENCES ŞEHİRLER([ŞEHİR ADI]), CONSTRAINT DF_MEMLEKET DEFAULT 'BARTIN' FOR MEMLEKET İki tablo arasına ilişki ekleme: ALTER TABLE ÖĞRENCİLER ADD CONSTRAINT FK_ÖĞRENCİLER FOREIGN KEY(BÖLÜM) REFERENCES BÖLÜMLER([BÖLÜM KODU]) ON DELETE CASCADE ON UPDATE CASCADE Burada öğrenciler tablosundaki bölüm alanı bölümler tablosundaki bölüm kodu alanından referans alacak demektir. NOT: İki tablo arasına ilişki eklerken FOREIGN KEY olacak alanın kayıtları referans alınacak alandaki kayıtlardan biri olmalıdır. Yani öğrenciler tablosunun bölüm alanındaki her kayıt için bölümler tablosunun bölüm kodu alanında aynı kayıt olmalıdır. Örneğin öğrenciler tablosunda bölüm alanında BPR1 diye bir kayıt varsa bu kayıt bölümler tablosunun bölüm kodu alanında da olmalıdır. Tabloya alan ve constraintler beraber eklenebilir. Aşağıdaki kodu kontrol ediniz: ADD CİNSİYET VARCHAR(5) DEFAULT 'BAY' NOT NULL, CONSTRAINT CHK_CINSİYET CHECK(CİNSİYET IN ('BAY', 'BAYAN')) Yukarıdaki örnekte tabloya cinsiyet adında varsayılan değeri bay olan bir alan ekleniyor, aynı zamanda alabileceği değerlerin bay veya bayan olabileceği ile ilgili bir kural ekleniyor. 5 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi

d) Tablodan Alan Silme Bir tablodan alan silmek için aşağıdaki kod kullanılır. DROP COLUMN alan_adı Örneğin kişiler tablosundan telefon alanını silmek istiyorsak aşağıdaki kodu kullanırız. DROP COLUMN TELEFON Bir defada birden fazla alan silinebilir. Bu durumda alan adları arasına virgül (,) konulur. Aşağıdaki kod ile kişiler tablosundaki telefon, adres ve kardeş sayısı alanları içindeki bilgileri ile beraber silinecektir. DROP COLUMN TELEFON, ADRES, [KARDEŞ SAYISI] e) Tablodan Constraint Silme Bir tablodan CONSTRAINT silmek için aşağıdaki kod kullanılır. DROP [CONSTRAINT] constraint_adı Dikkat edilirse constraint silme ile alan silmede mantık aynı. Burada dikkat edilmesi gereken fark; constraint silerken CONSTRAINT anahtar sözcüğünün isteğe bağlı olmasıdır. Ama alan silerken column anahtar sözcüğünü yazmak zorundayız. DROP CONSTRAINT CHK_MAIL Bir defada birden fazla constraint silebiliriz. Bu durumda constraint adları arasına virgül (,) konulur. DROP CONSTRAINT CHK_MAIL, CHK_CINS Eklemede olduğu gibi constraint ler ve alanlar beraber de silinebilirler. DROP CONSTRAINT CHK_MAIL, CHK_CINS, COLUMN ALAN1, ALAN2 6 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi