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 NO ACTION
    ON UPDATE NO ACTION
)

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

Son olarak yayinla tablosunu oluşturalım.

Create Table yayinla
(
id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
tarih DATE NOT NULL,
gun INT NOT NULL,
qrkodu NVARCHAR(250) NOT NULL,
sorukodu INT NOT NULL
CONSTRAINT fk_soruyayinla FOREIGN KEY REFERENCES sorular(id)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
ogretmenkodu INT NOT NULL
CONSTRAINT fk_ogretmenyayinla FOREIGN KEY REFERENCES ogretmenler(id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
)

Etiketler
c# form mobil web project 
İlgili Makaleler
Kompleks Veri Bağlama (Complex Data Binding)
Nesne Tabanlı Programlama Çalışma Soruları
Veri Girişi Doğrulama (Input Validation)
Basit Veri Bağlama (Simple Data Binding)
Konsol Ekranında Kod Yazma ve Çalıştırma
Veri Girişi Maskeleme (MaskedTextBox)
Konteyner Kontrolleri
GroupBox Paneliyle Gruplandırılan Bilgisayar Parçalarının Satışını Yapan c# Form Uygulaması
Form Sınıfı
Form Sayfalarında Ayrıntılı ListBox Kullanımı
c# Console Uygulamalarında ReadKey Metoduyla Klavye Tuşlarını Kontrol Etme
TabControl Panelini Kullanarak Lokantalar İçin Müşteri Siparişi Alan c# Form Uygulaması
Değişken Tanımlama Kuralları
Yazdırma İletişim Kutusu (PrintDialog)
WebBrowser ve Panel Kontrollerini Kullanarak Web Tarayıcı Oluşturan c# Form Uygulaması
Sayısal Loto Çekilişini Yapan c# Uygulaması
Pisagor Bağıntısı İşlemlerini Gerçekleştiren c# Uygulaması
Yıkıcı Metotlar (Destructors)
Panel Üzerinde Serbest Çizim Yapan c# Form Uygulaması
Tetris Oyununu C# Dilini Kullanarak Form Sayfasında Kodlama1

Yorum Ekle
   
Kötü İyi