• Like
Anahtarlar Ve Tablolar Arasi Iliskiler
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Anahtarlar Ve Tablolar Arasi Iliskiler

  • 8,524 views
Published

Anahtarlar Ve Tablolar Arasi Iliskiler

Anahtarlar Ve Tablolar Arasi Iliskiler

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
8,524
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
88
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Iletisim Icin :Blog : www.sevdanurgenc.comE - Mail : sevdanurgenc@sevdanurgenc.com nanonungunlugu@gmail.com
  • 2. Anahtarlar – Keys Mantigi Nedir ?•Bir kayıt içerisinde farklılıkları ve nitelikleri gösteren belirleyicilere anahtarlar(keys) denir.•Bir tablo içerisinde bulunabilecek anahtarlar sunlardir ;•Birincil anahtar (Primary key - PK)•Tekil anahtar (Unique key - UK)•Referans anahtar (Foreign key - FK)•Birleşik anahtardır (Composite key – CK)
  • 3. Birincil anahtar (Primary key):•Bir tablo içerisindeki satırları birbirinden ayırt eder. Birincil anahtar olan bir veriaynı tablo içerisinde tekrarlanamaz. Yine bu alandaki veri boş bırakılamaz, yaniNULL değeri alamaz. Tek bir alan birincil anahtar olabileceği gibi bazı tablolardabirden fazla alanın birleşmesiyle birincil anahtar oluşabilir.Tekil anahtar (Unique key):•Tablonun tekil anahtar olarak tanımlanmış bir alanına aynı değer sadece bir kezgirilebilir. Birincil anahtardan farklı olarak, tabloda bu alana ait sadece bir kayıtNULL değeri alabilir. Birincil anahtar aynı zamanda tek anahtar olarak sayılabilirfakat tek anahtarlar birincil anahtar değildirler.Referans anahtar (Foreign key):•Tablodaki bir veriyi başka tablodaki bir veri ile ilişkilendirir. İki tablo arasındayapılan bu ilişkilendirme ile referans anahtar olarak tanımlanmış alana sadeceilişkilendirdiği tablonun alanındaki veriler eklenebilir.Birleşik anahtar (Composite Key):•Birden fazla alanın birleştirilmesiyle birincil anahtar görevini üstlenecektanımlamalar yapılabilir. Bunlar birleşik anahtar olarak adlandırılır.
  • 4. MsSQL’de Asagidaki Gibi Iliskilendirilmis Tablolar Arasinda Bir DiagramOlusturabilmemiz Icin Islemleri Adim Adim Yapmamiz Gerekiyor.
  • 5. Yukaridaki sekildegoruldugu gibi ObjectExplorer penceresindebulunan Databasessekmesinin uzerinde Yukaridaki gibi acilan yeni pencerede Databasesag tus yaparak New Name kismina Veri tabanimizin ismini veriyoruz.Databases diyoruz. OgrenciBilgiSistemi dedikten sonra OK butonuna basiyoruz.
  • 6. Simdiye kadar bildiginiz gibi tum islemlerimizi New Query penceresinde Sqlcumleleri yazarak yapiyorduk. Yeni bir veri tabani olustumak icin yazmis oldugumuzkomut neydi bir hatirlayalim.Create Database OgrenciBilgiSistemisql cumlesini New Query penceresine yazip Execute dememiz yeterli olacaktir.
  • 7. Yeni bir table olustururken bu sefer sql cumlesiyazmadan nasil olusturuluyor onu ogrenelim.Databases altindaki olusturmus oldugumuzOgrenciBilgiSistemi veri tabanimizin hemen altindabulunan Tables klasoru uzerindeyken sag tus yapiyoruzve acilan listeden New Table komutunu tikliyoruz.
  • 8. Yeni table’imizin kolon ismini, veri tipini ve bos gecilip gecilemeyecegine dairbilgileri girebilecegimiz tablo dizaynini yapabilirsiniz.Tablonuzda birincil anahtariniz icin belirlemis oldugunuz alaninin uzerinde sag tusyaptiginizda acilan listeden Set Primary Key secenegini tiklamaniz yeterli olacaktir.Ayni zamanda yukaridaki arac cubugunda bulunan anahtar simgesinidetiklayabilirsiniz.
  • 9. Table’imiz icin gerekli alan ve veri tiplerini asagidaki gibi olusturuyoruz. ColumnName ile alan isimlerimizi, Data Type ile girmis oldugumuz alanin veri turunu veAllow Nulls ile de alanimiza girilecek verinin olup olmadigi, o alana veri girilipgirilmeyecegi ile ilgili kisimdir. Son olarakta birincil anahtariniziolusturabilecegimiz sekilde alanin uzerindeyken set primary keys’i tiklariz.
  • 10. Sql cumlelerini kullanarak yeni bir tablo olusturmak isteseydik ne yapmamizgerekiyordu inceleyelim.Asagidaki gordugunuz create table sorgusunda bulunan primary key clusteredifadesi ile o alana eklemis oldugumuz ifadeyle birincil anahtar ozelligini katmisoluyoruz.Not Null ifadeleri ile o alanlari veri girerken asla bos gecemeyeceginiz anlaminagelmektedir.
  • 11. Istediginiz yontemi kullanarak Dersler tablomuzu olusturalim.
  • 12. Notlar tablomuzu olusturalim.
  • 13. Bolumler tablomuzu olusturalim.
  • 14. Fakulteler tablomuzu olusturalim.
  • 15. Create Database OgrenciBilgiSistemiCREATE TABLE Fakulteler(FakulteNo int NOT NULL PRIMARY KEY CLUSTERED,FakulteAdi nchar(10))CREATE TABLE Bolumler(BolumNo int NOT NULL PRIMARY KEY CLUSTERED ,BolumAdi nchar(10),FakulteNo int Not NULL)CREATE TABLE Dersler(DersNo int NOT NULL PRIMARY KEY CLUSTERED,DersAdi nchar(10),BolumNo int NOT NULL,TeorikKredi int,UygulamaKredi int,)
  • 16. CREATE TABLE Ogrenciler(OgrenciNo int NOT NULL PRIMARY KEY CLUSTERED,OgrenciAdi nchar(10),OgrenciSoyadi nchar(10),Cinsiyet nchar(10),DogumTarihi nchar(10),BolumNo int NOT NULL)CREATE TABLE Notlar(OgrenciNo int NOT NULL PRIMARY KEY CLUSTERED,DersNo int NOT NULL,Vize int,Final int,Butunleme,Durum nchar(10))
  • 17. Tablomuzu olusturduktan sonra veri girisiyapabilmemiz icin tablo uzerinde sag tusyapip acilan listede Edit Top 200 Rowssecenegini tiklariz.Eger tabloya girilmis olan verileri gormekistiyorsaniz da yine tablo uzerinde sag tusyapip acilan listeden karsiniza gelen SelectTop 1000 Rows secenegini tiklayabilirsiniz.Tablonuzdaki alanlarda yada alanlarinsahip oldugu veri turlerinde degisiklikyapmak istiyorsaniz yine o tablonunuzerinde sag tus yapip acilan listedeDesign secenegini secmeniz yeterliolacaktir.
  • 18. Olusturmus oldugumuz veritabanina tablolardaki birincil anahtarlar uyacaksekilde tutarli veriler girelim. Girilen veriler arasindaki iliskilere dikkat ediniz.
  • 19. Ogrenciler ve Notlar tablolari arasinda iliski olusturalim. Select Ogrenciler.OgrenciNo, Ogrenciler.OgrenciAdi, Ogrenciler.OgrenciSoyadi, Notlar.Vize, Notlar.Final, Notlar.Butunleme, Notlar.Durum From Ogrenciler, Notlar Where Notlar.OgrenciNo = Ogrenciler.OgrenciNo
  • 20. Tablolar arasindaki iliskinin sonucu asagidaki gibidir.
  • 21. Tablolar arasindaki iliskiyi basit bir sekilde Where sartinin icerisinde Andoperatorunu kullanarak kullanalim.Select Ogrenciler.OgrenciNo, Ogrenciler.OgrenciAdi,Ogrenciler.OgrenciSoyadi,Bolumler.BolumAdi, Fakulteler.FakulteAdi, Dersler.DersAdi,Notlar.Vize, Notlar.Final, Notlar.Butunleme, Notlar.DurumFrom Ogrenciler, Bolumler, Notlar, Dersler, FakultelerWhere Bolumler.BolumNo = Dersler.BolumNoAnd Bolumler.FakulteNo = Fakulteler.FakulteNoAnd Dersler.DersNo = Notlar.DersNoAnd Notlar.OgrenciNo = Ogrenciler.OgrenciNo
  • 22. Tablolar arasindaki iliskinin sonucu asagidaki gibidir.
  • 23. Tablolar arasi iliskiyi Diagram seklinde inceleyecek olursak; Sekulde vermis oldugumuz birincil anahtarlarin iliskili oldugutablolardaki alanlara dikkat ediniz.
  • 24. ODEV Kutuphane Bilgi Sistemini olusturunuz. Icerisine mantikli veriler giriniz. Tablolar arasi iliskiyi saglayiniz. Bunlarla ilgili tum sql cumlelerini ve ekran goruntulerini bir wordbelgesinde rapor halinde sununuz.
  • 25. Soru ve odev teslimleriniz icin mail adresinden ulasabilirsiniz… nanonungunlugu@gmail.com