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));