Cevaplar
id Sayısal Birincil anahtar
cevap Metin(512)
sorukodu Sayısal (Sorular tablosuyla ilişkili olacaktır)
ogrencikodu Sayısal (Ogrenciler tablosuyla ilişkili olacaktır)
Şimdi tanımladığımız bu tabloları SQLSERVER programında tanımlayalım.
Veri tabanı ismini BilBakalim olarak belirleyelim. Proje birden fazla okulda uygulanacağı için okullar tablosunu oluşturalım.
Okullar
id Sayısal Birincil anahtar
okuladi Metin(512)
Create Table okullar
(
id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
okuladi NVARCHAR(512) NOT NULL
)
Okullarda bulunan sınıfların listesini almak için Sınıflar tablosunu oluşturalım.
Siniflar
id Sayısal Birincil Anahtar
sinifadi Metin(50)
mevcut Sayısal
okulkodu Sayısal (Okullar tablosuyla ilişkili olacaktır)
Create Table siniflar
(
id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
sinifadi NVARCHAR(50) NOT NULL,
mevcut INT NOT NULL,
okulkodu INT NOT NULL
CONSTRAINT fk_Okul FOREIGN KEY REFERENCES okullar(id)
ON DELETE CASCADE
ON UPDATE CASCADE
)
Sınıflarda bulunan öğrencilere ait bilgileri saklamak için Oğrenciler tablosunu oluşturalım.
Ogrenciler
id Sayısal Birincil anahtar
numara Metin(11)
adi Metin(25)
soyadi Metin(25)
sinifkodu Sayısal (Sınıflar tablosuyla ilişkili olacaktır)
Create Table ogrenciler
(
id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
numara NVARCHAR(11) NOT NULL,
adi NVARCHAR(25) NOT NULL,
soyadi NVARCHAR(25) NOT NULL,
sinifkodu INT NOT NULL
CONSTRAINT fk_sinif FOREIGN KEY REFERENCES siniflar(id)
ON DELETE CASCADE
ON UPDATE CASCADE
)
Soruları hazırlayacak ve yayınlayacak öğretmenlerin isimlerini saklamak için Ogretmenler tablosunu oluşturalım.
Ogretmenler
id Sayısal Birincil anahtar
adi Metin(25)
soyadi Metin(25)
yonetici Sayısal
okulkodu Sayısal (Okul tablosuyla ilişkili olacaktır)
Create Table ogretmenler
(
id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
adi NVARCHAR(25) NOT NULL,
soyadi NVARCHAR(25) NOT NULL,
yonetici INT NOT NULL,
okulkodu INT NOT NULL
CONSTRAINT fk_okulogr FOREIGN KEY REFERENCES okullar(id)
ON DELETE CASCADE
ON UPDATE CASCADE
)
Okullarda okutulan derslerin isimlerini tutacak Dersler tablosunu oluşturalım.
Dersler
id Sayısal Birincil anahtar
dersadi Metin(50)
okulkodu Sayısal (Okul tablosuyla ilişkili olacaktır)
Create Table dersler
(
id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
dersadi NVARCHAR(50) NOT NULL,
okulkodu INT NOT NULL
CONSTRAINT fk_okulders FOREIGN KEY REFERENCES okullar(id)
ON DELETE CASCADE
ON UPDATE CASCADE
)
Panolarda yayınlanacak sorular için sorular tablosunu oluşturalım.
Sorular
id Sayısal Birincil anahtar
soru Metin(Max)
cevap Metin(512)
video Metin(512)
aciklama Metin(512)
odul Metin(256)
ogretmenkodu Sayısal (Öğretmen tablosuyla ilişkili olacaktır)
derskodu Sayısal (Dersler tablosuyla ilişkili olacaktır)
Create Table sorular
(
id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
soru NVARCHAR(MAX) NOT NULL,
cevap NVARCHAR(512) NOT NULL,
video NVARCHAR(512) NOT NULL,
aciklama NVARCHAR(512) NOT NULL,
odul NVARCHAR(256) NOT NULL,
ogretmenkodu INT NOT NULL
CONSTRAINT fk_ogretmensoru FOREIGN KEY REFERENCES ogretmenler(id)
ON DELETE CASCADE
ON UPDATE CASCADE,
derskodu INT NOT NULL
CONSTRAINT fk_derssoru FOREIGN KEY REFERENCES dersler(id)
ON DELETE CASCADE
ON UPDATE CASCADE
)
Öğrencilerin cevaplarını saklamak için Cevaplar tablosunu tasarlayalım.
Cevaplar
id Sayısal Birincil anahtar
cevap Metin(512)
sorukodu Sayısal (Sorular tablosuyla ilişkili olacaktır)
ogrencikodu Sayısal (Ogrenciler tablosuyla ilişkili olacaktır)
Create Table cevaplar
(
id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
cevap NVARCHAR(512) NOT NULL,
sorukodu INT NOT NULL
CONSTRAINT fk_sorucevap FOREIGN KEY REFERENCES sorular(id)
ON DELETE CASCADE
ON UPDATE CASCADE,
ogrencikodu INT NOT NULL
CONSTRAINT fk_ogrencicevap FOREIGN KEY REFERENCES ogrenciler(id)
ON DELETE CASCADE
ON UPDATE CASCADE
)
Şimdi tanımladığımız bu tabloları SQLSERVER programında tanımlayalım.