• Tidak ada hasil yang ditemukan

Menggabungkan model data logikal menjadi model data global (langkah optional)

Dalam dokumen BAB 3 ANALISIS DAN PERANCANGAN (Halaman 86-99)

Tidak ada model data global.

3.6.4 Perancangan Basis Data Fisikal

Tahap-tahap pada perancangan basis data fisikal, antara lain: 1.Perancangan Relasi Dasar

Tujuannya untuk memutuskan bagaimana untuk mewakili hubungan dasar diidentifikasi dalam model data logikal dalam DBMS target.

a. Siswa

Domain NIS variable length character string, length 20 Domain Password variable length character string, length 20 Domain Nama variable length character string, length 50

Domain TempatLahir variable length character string, length 20 Domain TglLahir date (dd-mm-yyyy)

Domain Agama variable length character string, length 10

Domain Kewarganegaraan variable length character string, length 10

Domain Alamat variable length character string, length 99 Domain NamaAyahvariable length character string, length 30 Domain NamaIbu variable length character string, length 30 Siswa (

NIS NOT NULL, Password NOT NULL, Nama NOT NULL,

TempatLahir NOT NULL, TglLahir NOT NULL, Agama NOT NULL,

Kewarganegaraan NOT NULL, Alamat NOT NULL,

NamaAyah NOT NULL, NamaIbu NOT NULL, PRIMARY KEY (NIS), b. Guru

Domain NIK variable length character string, length 20 Domain Password variable length character string, length 30 Domain Nama variable length character string, length 50

Domain Id_jeniskelamin variable length character string, length 20 Domain TempatLahir variable length character string, length 20 Domain TglLahir date

Domain Agama variable length character string, length 20

Domain Kewarganegaraan variable length character string, length 20

Domain Alamat variable length character string, length 99

Domain Pendidikan variable length character string, length 20Guru (

NIK NOT NULL, Password NOT NULL, Nama NOT NULL, Jenikelamin NOT NULL, TempatLahir NOT NULL, TglLahir NOT NULL, Agama NOT NULL,

Kewarganegaraan NOT NULL, Alamat NOT NULL,

Pendidikan NOT NULL, PRIMARY KEY (NIK), c. Materi

Domain Id_materi integer

Domain JudulMateri variable length character string, length 50 Domain IsiMateri variable length character string, length 100

Materi (

Id_materi NOT NULL, JudulMateri NOT NULL, IsiMateri NOT NULL, PRIMARY KEY (Id_materi)

FOREIGN KEY Id_jadwalpelajaran references JadwalPelajaran (Id_jadwalpelajaran) ON UPDATE CASCADE ON DELETE CASCADE);

d. Kelas

Domain Id_kelas integer

Domain Kelas variable length character string, length 20 Domain Id_thnakademik integer

Domain WaliKelasvariable length character string, length 20 Kelas (

Id_kelas NOT NULL, Kelas NOT NULL,

Id_thnakademik NOT NULL, WaliKelas NOT NULL, PRIMARY KEY (Id_kelas)

FOREIGN KEY id_thnakademik references

TahunAkademikSiswa(Id_thnakademik) ON UPDATE CASCADE ON DELETE CASCADE);

e. Ruang

Domain Ruang variable length character string, length 20 Ruang (

Id_ruang Nor NULL, Ruang NOT NULL,

PRIMARY KEY (Id_ruang)); f. MataPelajaran

Domain Id_matapelajaran integer

Domain Mata_pelajaran variable length character string, length 30 MataPelajaran (

Id_matapelajaran NOT NULL, Mata_pelajaran NOT NULL,

PRIMARY KEY (Id_matapelajaran)); g. Nilai

Domain Id_nilai integer

Domain Id_matapelajaran integer

Domain NIK variable length character string, length 20 Domain Id_ThnAkademik integer

Nilai (

Id_nilai NOT NULL,

Id_matapelajaran NOT NULL, NIK NOT NULL,

Id_ThnAkademik NOT NULL, PRIMARY KEY (Id_nilai),

FOREIGN KEY Id_matapelajaran referencesMataPelajaran (Id_matapelajaran) ON UPDATE CASCADE ON DELETE CASCADE,

FOREIGN KEY NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE,

FOREIGN KEY id_thnakademik references

TahunAkademikSiswa(Id_thnakademik) ON UPDATE CASCADE ON DELETE CASCADE);

h. NilaiDetail

Domain Id_nilaidetail integer Domain Id_nilai integer

Domain NIS variable length character string, length 20 Domain Nilai integer

Domain Id_UjianDetail intiger NilaiDetail(

NIS NOT NULL, Nilai NOT NULL,

Id_ujianDetail NOT NULL, PRIMARY KEY (Id_nilaidetail),

FOREIGN KEY NIS references Siswa (NIS) ON UPDATE CASCADE ON DELETE CASCADE,

FOREIGN KEY Id_ujianDetail references UjianDetail (Id_ujianDetail) ON UPDATE CASCADE ON DELETE CASCADE,

FOREIGN KEY Id_nilai references Nilai (Id_nilai) ON UPDATE CASCADE ON DELETE CASCADE);

i. JadwalPelajaran

Domain Id_jadwalpelajaran integer Domain Id_thnakademik integer Domain Id_kelas integer

JadwalPelajaran (

Id_jadwalpelajaran NOT NULL, Id_thnakademik NOT NULL, Id_Kelas NOT NULL,

PRIMARY KEY (Id_jadwalpelajaran),

FOREIGN KEY Id_thnakademik references TahunAkademikSiswa (Id_thnakademik),

FOREIGN KEY Id_Kelas references Kelas(Id_Kelas)); j. JadwalPelajaranDetail

Domain Id_jadwalpelajaranDetail integer Domain Id_jadwalpelajaran integer Domain Id_matapelajaran integer Domain Id_ruang integer

Domain Jam variable length character string, length5 Domain Hari variable length character string, length 20 Domain NIK variable length character string, length 20

JadwalPelajaranDetail (

Id_jadwalpelajaranDetail NOT NULL, Id_jadwalpelajaran NOT NULL, Id_matapelajaran NOT NULL, Id_ruang NOT NULL,

Jam NOT NULL, Hari NOT NULL, NIK NOT NULL.

PRIMARY KEY Id_jadwalpelajaranDetail,

FOREIGN KEY Id_jadwalpelajaran references JadwalPelajaran (Id_jadwalpelajaran) ON UPDATE CASCADE ON DELETE CASCADE,

FOREIGN KEY Id_matapelajaran references MataPelajaran (Id_matapelajaran) ON UPDATE CASCADE ON DELETE CASCADE,

FOREIGN KEY Id_ruang references Ruang (Id_ruang) ON UPDATE CASCADE ON DELETE CASCADE);

FOREIGN KEY NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE);

k. JadwalPelajaranDetailDetail

Domain Id_jadwalpelajaranDetailDetail integer Domain Id_jadwalpelajaranDetail integer Domain Id_materi integer

JadwalPelajaranDetailDetail (

Id_jadwalpelajaranDetailDetail NOT NULL, Id_jadwalpelajaranDetail NOT NULL, Id_materi NOT NULL,

Tanggal NOT NULL,

PRIMARY KEY Id_jadwalpelajaranDetailDetail,

FOREIGN KEY Id_materi references Materi (Id_materi) ON UPDATE CASCADE ON DELETE CASCADE,

FOREIGN KEY Id_JadwalPelajaranDetail references JadwalPelajaranDetail (Id_jadwalpelajarandetail) ON UPDATE CASCADE ON DELETE CASCADE);

l. Ujian Id_ujian integer Id_thnakademik integer Id_Kelas integer Domain Tanggal_Mulaidate Domain Tanggal_Selesaidate

Jenis_Ujian variable length character string, length 30 Ujian (

Id_ujian NOT NULL,

Id_thnakademik NOT NULL, Id_Kelas NOT NULL,

Jenis_Ujian NOT NULL, Tanggal_Mulai NOT NULL,

Tanggal_Selesai NOT NULL, PRIMARY KEY (Id_ujian),

FOREIGN KEY Id_thnakademik references TahunAkademikSiswa (Id_thnakademik)

FOREIGN KEY Id_Kelas references Kelas(Id_Kelas));

m. UjianDetail

Domain Id_ujiandetail integer Domain Id_ujian integer

Domain Id_matapelajaran integer Domain Id_Ruang integer

Domain Jam variable length character string, length5 Domain Hari variable length character string, length 20 UjianDetail (

Id_ujiandetail NOT NULL, Id_ujian NOT NULL,

Id_matapelajaran NOT NULL, Id_Ruang NOT NULL,

Jam NOT NULL, Hari NOT NULL,

PRIMARY KEY (Id_ujiandetail),

FOREIGN KEY Id_ujian references Ujian (Id_ujian) ON UPDATE CASCADE ON DELETE CASCADE,

FOREIGN KEY Id_matapelajaran references MataPelajaran (Id_matapelajaran) ON UPDATE CASCADE ON DELETE CASCADE

FOREIGN KEY Id_Ruang references Ruang (Id_Ruang) ON UPDATE CASCADE ON DELETE CASCADE);

n. Absensi

Id_absensi integer

NIS variable length character string, length 20 Id_thnakademik integer

Tanggal_absensidate Jumlah integer

Detail variable length character string, length 20 Absensi (

Id_absensi NOT NULL, NIS NOT NULL,

Id_thnakademik NOT NULL, Tanggal_absensi NOT NULL, Jumlah NOT NULL,

Detail NOT NULL,

PRIMARY KEY (Id_absensi),

FOREIGN KEY NIS references Siswa (NIS) ON UPDATE CASCADE ON DELETE CASCADE,

FOREIGN KEY Id_thnakademik references TahunAkademikSiswa (Id_thnakademik));

o. TeleponSiswa

TelpSiswa variable length character string, length 20 NIS variable length character string, length 20 TeleponSiswa(

TelpSiswa NOT NULL, NIS NOT NULL,

PRIMARY KEY TelpSiswa,

FOREIGN KEY NIS references Siswa/i (NIS) ON UPDATE CASCADE ON DELETE CASCADE);

p. TeleponGuru

TelpGuru variable length character string, length 20 NIKvariable length character string, length 20 TeleponGuru (

TelpGuru NOT NULL, NIK NOT NULL,

PRIMARY KEY TelpGuru,

FOREIGN KEY NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE);

q. EmailSiswa

EmailSiswa variable length character string, length 50 NIS variable length character string, length 50

TelpSiswa NOT NULL, NIS NOT NULL,

PRIMARY KEY EmailSiswa,

FOREIGN KEY NIS references Siswa/i (NIS) ON UPDATE CASCADE ON DELETE CASCADE);

r. EmailGuru

EmailGuru variable length character string, length 50 NIK variable length character string, length 50 EmailGuru (

EmailGuru NOT NULL, NIK NOT NULL,

PRIMARY KEY EmailGuru,

FOREIGN KEY NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE));

s. TahunAkademikSiswa Id_thnakademik integer TahunAkademik integer

Kalender_Akademik variable length character string, length 20 TahunAkademikSiswa (

Id_thnakademik NOT NULL, TahunAkademik NOT NULL, Kalender_Akademik NOT NULL, PRIMARY KEY(Id_thnakademik));

t. KelasSiswa

NISvariable length character string, length 20 Id_Kelas integer

KelasSiswa( NISNOT NULL, Id_Kelas NOT NULL,

FOREIGN KEY NIS reference Siswa/i(NIS)ON UPDATE CASCADE ON DELETE CASCADE,

FOREIGN KEYId_Kelas reference Kelas(Id_Kelas)ON UPDATE CASCADE ON DELETE CASCADE));

Dalam dokumen BAB 3 ANALISIS DAN PERANCANGAN (Halaman 86-99)

Dokumen terkait