• Tidak ada hasil yang ditemukan

Mendefinisikan integrity constraints • Kebutuhan Data

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.