MS-SQL'de Veritabanı İşlemleri-2

MS-SQL Veritabanı işlemleri.

SQL-Server'ı açalım. Dersler, Öğrenciler ve Öğretmenler isimli 3 tane tablomuz var, bu tablolarımıza henüz veri eklemedik ve öncelikle küçük rötüşler yapalım. Örneğin, Dersler tablomuzda Ders_ID ve Ders_Adi isimli 2 tane kolonumuz var. Ders_ID isimli kolonumuz her derse özel bir kimlik numarası tutacak dolayısıyla aynı iki numarayı farklı iki derse veremeyiz bu yüzden bu alanı Primary Key olarak tanımlamalıyız. Primary Key'i kod ile veya manuel olarak tanımlayabiliriz.


ALTER TABLE Dersler ADD CONSTRAINT pk_ders_id PRIMARY KEY (ders_ID)

şeklinde tanımlayabiliriz. Ben manuel olarak ekleyeceğim; Databases > SinifDB > Tables > dbo.Dersler ile Dersler tablomuza erişmiş olduk (eğer sizde yoksa bir önceki derste tablo eklemeyi anlatmıştım derse gözatarak ekleyebilirsiniz.) şimdi tablomuza sağ tuş yapıp Design'a tıklıyoruz. Daha sonra Ders_ID satırımıza sağ tuş yaparak Set Primary Key'e tıklıyoruz artık tablomuzda bir birincil anahtar belirlemiş olduk. Şimdi Ogretmenler tablomuzdan Ogrt_TC ve Ogrenciler tablomuzdan Ogr_TC isimli alanlarımıza da aynı işlemleri yapıyoruz ve böylece kullanıcı aynı TC Kimlik Numarası'nı farklı iki kişiye veremeyecek program bunu engelleyecek zaten olması gereken de budur. Mesela Otomobiller tablomuz olsaydı aynı işlemi Plaka veya şasi no. alanları için de uygulamamız gerekecekti. Peki hem Plaka hem şasi no. alanları aynı tabloda olsaydı ne olacaktı? Bu sefer CTRL ile alanları seçip PK uygulayacaktık veya aracID gibi bir alan verip bu alanı Primary Key yaparız tek bir alan ile bu sorunu çözmüş oluruz. Konu dağılmadan devam edelim.. Veritabanımıza kayıt ekleyelim, Bunun için Insert Into komutunu kullanırız. Genel kullanımı Insert Into Tablo_Adi (Kolon1, Kolon2) Values (Kolon1_Verisi, Kolon2_Verisi)

Insert Into Dersler (Ders_ID,Ders_Adi)Values (1,'Matematik') Insert Into Dersler (Ders_ID,Ders_Adi)Values (2,'Fizik') Insert Into Dersler (Ders_ID,Ders_Adi)Values (3,'Kimya') Insert Into Ogrenciler (Ogr_TC,Ogr_Adi,Ogr_Soyadi,Ders) Values (36984452658,'Ahmet','Can','Matematik') Insert Into Ogrenciler (Ogr_TC,Ogr_Adi,Ogr_Soyadi,Ders) Values (25419987462,'Mehmet','Kara','Matematik') Insert Into Ogrenciler (Ogr_TC,Ogr_Adi,Ogr_Soyadi,Ders) Values (25465258789,'Aslı','Gündüz','Fizik') Insert Into Ogrenciler (Ogr_TC,Ogr_Adi,Ogr_Soyadi,Ders) Values (36547718965,'Ahmet','Can','Kimya') Insert Into Ogretmenler (Ogrt_TC,Ogrt_Adi,Ogrt_Soyadi,Brans) Values (12345698781,'İsmail', 'Tan', 'Matematik') Insert Into Ogretmenler (Ogrt_TC,Ogrt_Adi,Ogrt_Soyadi,Brans) Values (69878184562,'Mehmet Hakan', 'Erdoğan', 'Fizik') Insert Into Ogretmenler (Ogrt_TC,Ogrt_Adi,Ogrt_Soyadi,Brans) Values (36985214561,'İsmail', 'Tan', 'Kimya')

Verileriniz başarılı ile eklendiyse resimde de gördüğünüz gibi altta (1 row(s) affected) diye 1 satır(lar) etkilendi uyarısı verecektir. Veritabanımıza veri eklerken kolon sırası ne ise eklenecek verileri de ona göre sıralamalıyız bu unutulmaması gereken önemli bir ayrıntıdır. Az önce Primary Key belirlemiştik, bunu neden yaptık şimdi bakalım Veritabanımıza bir ders ekleyelim daha önce ben 1 numaralı ders olarak Matematik dersini belirlemiştim bu sefer 1 numaralı ders olarak Biyoloji dersini ekleyeceğim daha doğrusu eklemeye çalışacağım fakat eklenmeyecek çünkü 1 numara Matematik dersine ait bakalım olacak mı;

Insert Into Dersler (Ders_ID,Ders_Adi)Values (1,'Biyoloji')

kodumuzu yazıp Execute diyelim ve hata mesajına bir göz atalım. işte hata verdi çünkü 1 , 2 ve 3 numaraları veritabanında başka derslere ait fakat ben 4 numaralı ID ile kaydedersem Biyoloji dersi veritabanına eklenecektir çünkü 4 numara henüz bir derse atanmadı. Aynı durum diğer tablolar için de geçerli, aynı TC kimlik numarasına iki kişi sahip olamaz.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git