c# Desktop

Bil Bakalım Proje Uygulamasına Ait Veri Tabanı ve Tabloları Oluşturma

Öğrencilerin kendi aralarında seviyelerini belirlemek amacıyla sınavlar düzenlenmektedir. Bu sınavlar ya LGS, YKS, AYT gibi genel olarak uygulanmakta, ya da dönem dönem sınıflar bazında sınavlar yapılmaktadır. Öğrencilerin bildikleri konuları hatırlamaları ve birbirleriyle rekabet ederek seviyelerini bilmeleri için belirlenen bir derste öğrencilere sorular sorulabilir. Ayrıca ders dışında yapılan bu tip bir çalışmaya destek veren öğrencileri ödüllendirerek ilgisini arttırabilirz. Bu amaçla Bil Bakalım projesini hazırladık. Öncelikle proje içinde gerekli olan verilerin saklanması için veri tabanını ve tabloları belirlememiz gerekir.  

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)    

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         (Okul tablosuyla ilişkili olacaktır)

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)

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)

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)

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)

Öğ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)

Ş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. 

 

 

 

 

 

 

 

 


Etiketler
c# form mobil web project 
İlgili Makaleler
c# Console Uygulamalarında ReadKey Metoduyla Klavye Tuşlarını Kontrol Etme
Yıkıcı Metotlar (Destructors)
Sayısal Loto Çekilişini Yapan c# Uygulaması
Kredi Kartı Taksitlendirme İşlemini Yapan c# Uygulaması
Kaçan Buton Oyununu Yapan c# Uygulaması
Yazdırma İletişim Kutusu (PrintDialog)
C# Uygulamalarında HashMap Dizi Oluşturma
C# Uygulamalarında Dictionary Dizi Oluşturma
c# Form Uygulamalarında Ekranın Genişliğini ve Yüksekliğini Bulma
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
Konsol Ekranında Kod Yazma ve Çalıştırma
LINQ - Gruplama (Grouping) Örnekleri
Veri Girişi Maskeleme (MaskedTextBox)
Panel Üzerinde Serbest Çizim Yapan c# Form Uygulaması
Veri Girişi Doğrulama (Input Validation)
c# Console Uygulamalarında Ping Nasıl Kullanılır, Ping Atma
C# Programlama Dilinde Veri Tipleri
Form Sayfalarında Ayrıntılı ListBox Kullanımı
Form Üzerine Satranç Tahtası Yapan c# Uygulaması
Belirtilen Sayı Kadar Yıldız Oluşturan c# Form Uygulaması

Yorum Ekle
   
Kötü İyi