VERİTABANI-Tablo oluşturma Birincil ve İkincil anahtar Belirleme
Transkript
VERİTABANI-Tablo oluşturma Birincil ve İkincil anahtar Belirleme
VERİTABANI YÖNETİM SİSTEMLERİ 1 İçindekiler Birincil ve İkincil Anahtarların Belirlenmesi ......................................................................................... 1 Veritabanına Yeni Bir Tablo Eklemek – CREATE TABLE ve ALTER TABLE ........................................ 2 Sorular................................................................................................................................................ 3 Birincil ve İkincil Anahtarların Belirlenmesi Şubeler PK: SubeID FK: - Elemanlar PK: ElemanID FK: SubeID Satis PK: KayıtNo FK: ElemanID FK: MusteriID Musteriler PK: MusteriID FK: - Aşağıdaki Tablolar için Birincil ve İkincil anahtarları da siz bulunuz. Bilgisayar Programcılığı - Ardeşen MYO 2016 Öğr. Gör. Aslı Yazağan VERİTABANI YÖNETİM SİSTEMLERİ 1 Veritabanına Yeni Bir Tablo Eklemek – CREATE TABLE ve ALTER TABLE Eklenecek tablo: Takımların puanlarını tutacak bir tablo oluşturalım Puanlar alanadı idtakim puan türü int int Tablo kurulma aşamasında birincil anahtar eklemek Tablo kurulduktan sonra birincil anahtar eklemek CREATE TABLE IF NOT EXISTS puanlar ( idtakim int(11) NOT NULL, puan int(11), PRIMARY KEY (idtakim) ); ALTER TABLE `puanlar` ADD PRIMARY KEY (`idtakim`); Tablo kurulma aşamasında ikincil anahtar eklemek Tablo kurulduktan sonra ikincil anahtar eklemek CREATE TABLE IF NOT EXISTS puanlar ( idtakim int(11) NOT NULL, puan int(11), PRIMARY KEY (idtakim), CONSTRAINT `puanlar_takimlar` FOREIGN KEY (`idtakim` ) REFERENCES `superlig`.`takimlar` (`idtakim` ) ON DELETE NO ACTION ALTER TABLE `puanlar` ADD CONSTRAINT ` puanlar_takimlar ` FOREIGN KEY (`idtakim`) REFERENCES `takimlar` (`idtakim`) ON DELETE NO ACTION ON UPDATE NO ACTION; Bilgisayar Programcılığı - Ardeşen MYO 2016 Öğr. Gör. Aslı Yazağan VERİTABANI YÖNETİM SİSTEMLERİ 1 ON UPDATE NO ACTION ); Sorular Soru 1: futbolcu tablosunu takimlar tablosuna bağlantıyı sağlayacak ikincil anahtar belirleyecek kodu yazalım: Eğer futbolcu tablosu var ve birincil anahtarı belirli ise yazılacak sql kodu: ALTER TABLE futbolcu ADD CONSTRAINT futbolcu_takimlar FOREIGN KEY (idtakim) REFERENCES takimlar (idtakim) ON DELETE NO ACTION ON UPDATE NO ACTION; Soru 2: antrenör tablosunu takimlar tablosuna bağlantıyı sağlayacak ikincil anahtar belirleyecek kodu yazalım: Eğer antrenör tablosu var ve birincil anahtarı belirli ise yazılacak sql kodu: ALTER TABLE antrenor ADD CONSTRAINT antrenor_takimlar FOREIGN KEY (idtakim) REFERENCES takimlar (idtakim) ON DELETE NO ACTION ON UPDATE NO ACTION; Soru 3 : Aşağıdaki Ogrenci ve bölüm tablosu için sql kodunu yazınız. Bilgisayar Programcılığı - Ardeşen MYO 2016 Öğr. Gör. Aslı Yazağan VERİTABANI YÖNETİM SİSTEMLERİ 1 CREATE TABLE ogrenci ( ono INT(5) NOT NULL, adi VARCHAR(30), soyadi VARCHAR(30), dyeri VARCHAR(50), bid INT(5), PRIMARY KEY (ono), CONSTRAINT ogrenci_bolum FOREIGN KEY (bid) REFERENCES okul.bolum(bid) ON DELETE NO ACTION ON UPDATE NO ACTION ) CREATE TABLE bolum ( bid INT(5) NOT NULL, badi VARCHAR(30), soyadi VARCHAR(30), acıklama VARCHAR(50), eposta VARCHAR(50), PRIMARY KEY (bid) Soru 4: Aşağıda kodu verilen veritabanı tablolarının isimlerini, alanlarını, veri türlerini, birincil ve ikincil anahtarlarını belirleyiniz. Yukarıda örneklerde görüldüğü gibi İlişkisel diagramını çıkarınız. Bilgisayar Programcılığı - Ardeşen MYO 2016 Öğr. Gör. Aslı Yazağan