3.6 Rancangan basis data logical
3.6.5 Mendefinisikan integrity constraints • Kebutuhan Data
Beberapa atribut tertentu dari entitas ataupun relasi haruslah memiliki nilai yang valid, dengan kata lain atribut-atribut ini tidak
diperkenankan memiliki nilai null. Aturan-aturan seperti ini telah diidentifikasikan pada saat atribut didokumentasikan di kamus data. • Kendala Atribut Domain
Setiap atribut memiliki sebuah domain, yaitu kumpulan dari nilai yang legal. Aturan-aturan seperti ini harus telah diidentifikasikan pada saat memilih atribut-atribut domain untuk data model.
• Entity Integrity
Primary key dari suatu entitas tidak boleh memiliki nilai null. Aturan-aturan seperti ini harus telah dipertimbangkan pada saat mengidentifikasikan primary key untuk setiap entitas.
• Referential Integrity
Murid (KodeMurid, NamaMurid, TempatLahir, TanggalLahir,
JenisKelamin, Kewarganegaraan, Agama, Alamat, Kota, KodePos, PekerjaanMurid, NamaAyah, NamaIbu, StatusSiswa,
TanggalRegistrasi, KodeKaryawan, KodeCabang, Nominal, KodeKaryawanPembayaran)
Primary Key KodeMurid
Foreign Key KodeKaryawan references Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeCabang references Cabang (KodeCabang) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeKaryawanPembayaran references Karyawan
(KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
Guru (KodeGuru, NamaGuru, TempatLahir, TanggalLahir, JenisKelamin, Kewarganegaraan, Agama, Alamat, Kota, KodePos, Email,
StatusNikah, KodeCabang) Primary Key KodeGuru
Foreign Key KodeCabang references Cabang (KodeCabang) ON UPDATE CASCADE ON DELETE NO ACTION
Karyawan (KodeKaryawan, NamaKaryawan, TempatLahir, TanggalLahir, JenisKelamin, Kewarganegaraan, Agama, Alamat, Kota, KodePos, KodeCabang, KodeJabatan)
Primary Key KodeKaryawan
Foreign Key KodeCabang references Cabang (KodeCabang) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeJabatan references Jabatan (KodeJabatan) ON UPDATE CASCADE ON DELETE NO ACTION
Ruang (KodeRuang, NamaRuang, KodeCabang) Primary Key KodeRuang
Foreign Key KodeCabang references Cabang (KodeCabang) ON UPDATE CASCADE ON DELETE NO ACTION
Level (KodeLevel, KodeJurusan, KodeGrade, Harga) Primary Key KodeLevel
Foreign Key KodeJurusan references Jurusan (KodeJurusan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeGrade references Grade (KodeGrade) ON UPDATE CASCADE ON DELETE NO ACTION
Kelas (KodeKelas, BulanMulai, TahunMulai, KodeGuru, KodeMurid, KodeLevel, KodeCabang)
Primary Key KodeKelas
Foreign Key KodeGuru references Guru (KodeGuru) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeMurid references Murid (KodeMurid) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeLevel references Level (KodeLevel) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeCabang references Cabang (KodeCabang) ON UPDATE CASCADE ON DELETE NO ACTION
PembayaranBulanan (NoBayar, TanggalBayar, Tahun, Bulan, Nominal, KodeKaryawan, KodeKelas)
Primary Key NoBayar
Foreign Key KodeKaryawan references Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeKelas references Kelas (KodeKelas) ON UPDATE CASCADE ON DELETE NO ACTION
Ujian (KodeUjian, KodeKelas, KodeRuang, TanggalUjian, WaktuMulai, WaktuAkhir, NilaiUjian, KodeKaryawan, KodeLevel)
Primary Key KodeUjian
Foreign Key KodeKaryawan references Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeKelas references Kelas (KodeKelas) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeRuang references Ruang (KodeRuang) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodeLevel references Level (KodeLevel) ON UPDATE CASCADE ON DELETE NO ACTION
PembayaranUjian (NoBayar, TanggalBayar, Nominal, KodeKaryawanPembayaran, KodeUjian)
Primary Key NoBayar
Foreign Key KodeKaryawanPembayaran references Karyawan
(KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodeUjian references Ujian (KodeUjian) ON UPDATE CASCADE ON DELETE NO ACTION
Absensi (KodeKelas, TanggalAbsen, Tahun, Bulan, Pertemuan, WaktuMulai, WaktuSelesai, StatusAbsensi)
Primary Key KodeKelas, Tahun, Bulan, Pertemuan
Foreign Key KodeKelas references Kelas (KodeKelas) ON UPDATE CASCADE ON DELETE NO ACTION
JadwalMengajar (KodeJadwal, KodeGuru, KodeCabang) Primary Key KodeJadwal
Foreign Key KodeGuru references Guru (KodeGuru) ON UPDATE CASCADE ON DELETE CASCADE
Foreign Key KodeCabang references Cabang (KodeCabang) ON UPDATE CASCADE ON DELETE CASCADE
JadwalMengajarDetail (KodeJadwal, Hari, WaktuMulai, WaktuSelesai) Primary Key KodeJadwal, Hari, WaktuMulai, WaktuSelesai
Foreign Key KodeJadwal references JadwalMengajar (KodeJadwal) ON UPDATE CASCADE ON DELETE CASCADE
PenggunaanRuang (KodeRuang, KodeKelas, Hari, WaktuMulai, WaktuAkhir)
Primary Key KodeRuang, KodeKelas, Hari, WaktuMulai, WaktuAkhir Foreign Key KodeRuang references Ruang (KodeRuang) ON
UPDATE CASCADE ON DELETE CASCADE
Foreign Key KodeKelas references Kelas (KodeKelas) ON UPDATE CASCADE ON DELETE CASCADE
Primary Key KodeRuang, KodeJurusan
Foreign Key KodeRuang references Ruang (KodeRuang) ON UPDATE CASCADE ON DELETE CASCADE
Foreign Key KodeJurusan references Jurusan (KodeJurusan) ON UPDATE CASCADE ON DELETE CASCADE
GuruLevel (KodeGuru, KodeLevel) Primary Key KodeGuru, KodeLevel
Foreign Key KodeGuru references Guru (KodeGuru) Foreign Key KodeLevel references Level (KodeLevel)
LevelCabang (KodeLevel, KodeCabang) Primary Key KodeLevel, KodeCabang
Foreign Key KodeLevel references Level (KodeLevel) ON UPDATE CASCADE ON DELETE CASCADE
Foreign Key KodeCabang references Cabang (KodeCabang) ON UPDATE CASCADE ON DELETE CASCADE
Primary Key KodeMurid, Telepon
Foreign Key KodeMurid references Murid (KodeMurid) ON UPDATE CASCADE ON DELETE CASCADE
HandphoneMurid (KodeMurid, Handphone) Primary Key KodeMurid, Handphone
Foreign Key KodeMurid references Murid (KodeMurid) ON UPDATE CASCADE ON DELETE CASCADE
ContactNoAyahMurid (KodeMurid, ContactNoAyah) Primary Key KodeMurid, ContactNoAyah
Foreign Key KodeMurid references Murid (KodeMurid) ON UPDATE CASCADE ON DELETE CASCADE
ContactNoIbuMurid (KodeMurid, ContactNoIbu) Primary Key KodeMurid, ContactNoIbu
Foreign Key KodeMurid references Murid (KodeMurid) ON UPDATE CASCADE ON DELETE CASCADE
DataSaudaraMurid (KodeMurid, NamaSaudara, BelajarMusik, Subjek, DiLMC, TempatBelajarSaudara)
Primary Key KodeMurid, NamaSaudara
Foreign Key KodeMurid references Murid (KodeMurid) ON UPDATE CASCADE ON DELETE CASCADE
LatarBelakangMusikMurid (KodeMurid, Instrumen, Grade, LamaBelajar, TempatBelajar, GuruPengajar)
Primary Key KodeMurid, Instrumen
Foreign Key KodeMurid references Murid (KodeMurid) ON UPDATE CASCADE ON DELETE CASCADE
AlatMusikDimilikiMurid (KodeMurid,Tipe,Merk,Seri) Primary Key KodeMurid, Tipe, Merk
Foreign Key KodeMurid references Murid (KodeMurid) ON UPDATE CASCADE ON DELETE CASCADE
TeleponGuru (KodeGuru, Telepon) Primary Key KodeGuru, Telepon
Foreign Key KodeGuru references Guru (KodeGuru) ON UPDATE CASCADE ON DELETE CASCADE
HandphoneGuru (KodeGuru, Handphone) Primary Key KodeGuru, Handphone
Foreign Key KodeGuru references Guru (KodeGuru) ON UPDATE CASCADE ON DELETE CASCADE
DataKeluargaGuru (KodeGuru, Relasi, NamaKeluarga, TempatLahir, TanggalLahir, Pekerjaan, ContactNoKeluarga)
Primary Key KodeGuru, Relasi, NamaKeluarga
Foreign Key KodeGuru references Guru (KodeGuru) ON UPDATE CASCADE ON DELETE CASCADE
LatarBelakangPendidikanGuru (KodeGuru, PendidikanFormal, NamaSekolah, Kota, Negara, Jurusan, TahunWisuda) Primary Key KodeGuru, PendidikanFormal
Foreign Key KodeGuru references Guru (KodeGuru) ON UPDATE CASCADE ON DELETE CASCADE
LatarBelakangMusikGuru (KodeGuru, Instrumen, Grade, LamaBelajar, TempatBelajar, GuruPengajar)
Foreign Key KodeGuru references Guru (KodeGuru) ON UPDATE CASCADE ON DELETE CASCADE
Penghargaan (KodeGuru, NamaPenghargaan, NamaInstitusi, TanggalPenghargaan)
Primary Key KodeGuru, NamaPenghargaan, TanggalPenghargaan Foreign Key KodeGuru references Guru (KodeGuru) ON UPDATE CASCADE ON DELETE CASCADE
PengalamanMengajar (KodeGuru, Mengajar, NamaInstitusi, LamaKerja)
Primary Key KodeGuru, Mengajar, NamaInstitusi
Foreign Key KodeGuru references Guru (KodeGuru) ON UPDATE CASCADE ON DELETE CASCADE
TeleponKaryawan (KodeKaryawan, Telepon) Primary Key KodeKaryawan, Telepon
Foreign Key KodeKaryawan references Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE CASCADE
Primary Key KodeKaryawan, Handphone
Foreign Key KodeKaryawan references Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE CASCADE
• Enterprise Constraints
Dalam sistem terdapat beberapa aturan-aturan bisnis yang harus dipenuhi. Berikut ini didefinisikan enterprise constraint yang akan dibuat untuk menjaga integritas dari data yang disimpan.
1. Validitas data waktuMulai dan waktuSelesai. Nilai dari waktuMulai haruslah lebih kecil dari waktuSelesai.
2. Validitas JadwalMengajar guru, setiap guru memiliki jadwal mengajar di tiap cabang, dalam hal ini jadwal-jadwal tersebut tidak boleh terjadi tabrakan.
3. Validitas jadwal penggunaan ruang. Seorang guru tidak boleh mengajar di beda ruang dalam waktu yang bersamaan. Suatu ruang tidak boleh digunakan lebih dari satu kelas dalam kurun waktu tertentu.
4. Validitas kode guru. Digit ke-6 dari Kode guru yang dimasukan harus sesuai dengan kode lokasi tempat guru tersebut terdaftar.
5. Validitas kode kelas. Digit ke-6 dari Kode Kelas yang dimasukan harus sesuai dengan kode jurusan, dan digit ke-8 dari Kode Kelas yang
dimasukkan harus sesuai dengan Kode Cabang tempat kelas tersebut berjalan.
6. Validitas kode murid. Digit pertama dari Kode Murid yang dimasukan harus sesuai dengan tahun dari tanggal registrasi.
7. Validitas kode ujian. Digit pertama dari Kode Ujian yang dimasukan harus sesuai dengan tahun dari tanggal Ujian.
8. Validitas no bayar ujian. Digit pertama dari No bayar yang dimasukan harus sesuai dengan tahun dari tanggal bayar ujian.
9. Validitas no bayar bulanan. Digit pertama dari No bayar yang dimasukan harus sesuai dengan tahun dari tanggal bayar bulanan.
10. Validitas waktu mulai dan waktu selesai harus sesuai dengan jam operasional yaitu dari jam 10.00 sampai jam 20.00.