22. DetailS chedule
3.2.1.2.3 Memeriksa Batasan-batasan Integritas
Langkah ini bertujuan untuk mendefinisikan batasan-batasan yang meliputi data yang dibutuhkan, batasan domain atribut, multiplicity,
integritas entitas, referential integrity, batasan umum.
a) Data yang dibutuhkan
Beberapa atribut harus mempunyai nilai yang valid, atau dengan
kata lain tidak boleh null. Aturan-aturan seperti ini telah diidentifikasikan pada saat didokumentasikan di kamus atribut.
b) Batasan domain atribut
Setiap atribut mempunyai domain, yaitu kumpulan dari nilai-nilai yang memenuhi persyaratan. Aturan-aturan ini harus
diidentifikasikan pada saat memiliki atribut-atribut domain untuk
data model.
c) Multiplicity
M erupakan batasan jumlah yang ditempatkan pada hubungan antar data di dalam basis data. Aturan ini telah diidentifikasikan
pada saat mengidentifikasikan relationship type.
d) Integritas entitas (entity integrity)
Primary key dari sebuah entitas tidak boleh bernilai null.
Aturan-aturan seperti ini harus telah dipertimbangkan pada saat mengidentifikasi primary key untuk setuap entitas.
e) Referential Integrity
Sebuah foreign key menghubungkan setiap tuple pada relasi chils
ke tuple pada relasi parent candidate key yang merupakan nilai
yang sama.
1. Child
Child (ChildCode, ParentCode, ClassCode, FullName,
PlaceOfBirth, DateOfBirth, Address, Telp, Religion,
Nationality, Siblings, Language, Blood, Illness, Allergies, Password, Status)
Primary key ChildCode
Foreign key ParentCode references Parent (ParentCode) on
update cascade on delete cascade
Foreign key ClassCode references Class (ClassCode) on
update cascade on delete cascade
2. Parent
Parent (ParentCode, FatherCode, M otherCode,
EmergencyCode)
Primary Key ParentCode
Foreign key FatherCode references Father (FatherCode) on
update cascade on delete cascade
Foreign key M otherCode references M other (M otherCode)
on update cascade on delete cascade
Foreign key EmergencyCode references Emergency
(EmergencyCode) on update cascade on delete cascade
3. DetailClass
DetailClass (ClassCode, ClassTypeCode) Primary Key ClassCode, ClassTypeCode
Foreign key ChildCode references Child (ChildCode) on
Foreign key ClassTypeCode references ClassType
(ClassTypeCode) on update cascade on delete cascade
4. DailyReport
DailyReport (DailyReportCode, ChildCode, TeacherCode,
ScheduleCode, Notes)
Primary Key DailyReportCode
Foreign key ChildCode references Child (ChildCode) on
update cascade on delete cascade
Foreign key TeacherCode references Teacher (TeacherCode)
on update cascade on delete cascade
Foreign key ScheduleCode references Schedule
(ScheduleCode) on update cascade on delete cascade
5. SubjectReport
SubjectReport (SubjectReportCode, SubjectCode,
DailyReportCode, TeacherCode, ChildCode, Period, ScoreTerm1, ScoreTerm2, ScoreTerm3, ScoreTerm4, Notes)
Primary Key SubjectReportCode
Foreign key DailyReportCode references DailyReport
(DailyReportCode) on update cascade on delete cascade
Foreign key SubjectCode references Subject (SubjectCode)
Foreign key TeacherCode references Teacher (TeacherCode)
on update cascade on delete cascade
Foreign key ChildCode references Child (ChildCode) on
update cascade on delete cascade
6. SubjectTypeReport
SubjectTypeReport (SubjectTypeReportCode,
SubjectTypeCode, SubjectReportCode, TeacherCode,
ChildCode, Period, ScoreTerm1, ScoreTerm2, ScoreTerm3,
ScoreTerm4, Notes)
Primary Key SubjectTypeReportCode
Foreign key SubjectReportCode references SubjectReport
(SubjectReportCode) on update cascade on delete cascade
Foreign key SubjectTypeCode references SubjectType
(SubjectTypeCode) on update cascade on delete cascade
Foreign key TeacherCode references Teacher (TeacherCode)
on update cascade on delete cascade
Foreign key ChildCode references Child (ChildCode) on
update cascade on delete cascade
7. Register
Register (RegisterCode, ChildCode, StaffCode, RegisterDate,
Primary Key RegisterCode
Foreign key ChildCode references Child (ChildCode) on
update cascade on delete cascade
Foreign key StaffCode references Staff (StaffCode) on
update cascade on delete cascade
8. AttendanceChild
AttendanceChild (AttendanceChildCode, ChildCode,
DateIn, DateOut)
Primary Key AttendanceChildCode
Foreign key ChildCode references Child (ChildCode) on
update cascade on delete cascade
9. AttendanceTeacher
AttendanceTeacher (AttendanceTeacherCode, TeacherCode,
DateIn, DateOut)
Primary Key AttendanceTeacherCode
Foreign key TeacherCode references Teacher (TeacherCode)
on update cascade on delete cascade
10. Subject
Subject (SubjectCode, SubjectTypeCode, ThemeCode,
Primary Key SubjectCode
Foreign key SubjectTypeCode references SubjectType
(SubjectTypeCode) on update cascade on delete cascade
Foreign key ThemeCode references Theme (ThemeCode) on
update cascade on delete cascade
11. S chedule
S chedule (ScheduleCode, ClassCode, TeacherCode, Period) Primary Key ScheduleCode
Foreign key ClassCode references Class (ClassCode) on
update cascade on delete cascade
Foreign key TeacherCode references Teacher
(TeacherCode) on update cascade on delete cascade
12. DetailS chedule
DetailS chedule (ScheduleCode, SubjectCode,
TimeTableCode, ThemeCode)
Primary Key ScheduleCode, ClassCode, TeacherCode,
SubjectCode, TimeTableCode, ThemeCode
Foreign key ScheduleCode references Schedule
(ScheduleCode) on update cascade on delete cascade
Foreign key SubjectCode references Subject (SubjectCode)
Foreign key TimeTableCode references TimeTable
(TimeTableCode) on update cascade on delete cascade
Foreign key ThemeCode references Theme (ThemeCode)
on update cascade on delete cascade
13. Invoice
Invoice (InvoiceCode, ChildCode, PriceCode, StaffCode,
UniformPriceCode, InvoiceType, Total, Qty, Date)
Primary Key InvoiceCode
Foreign key ChildCode references Child (ChildCode) on
update cascade on delete cascade
Foreign key PriceCode references Price (PriceCode) on
update cascade on delete cascade
Foreign key StaffCode references Staff (StaffCode) on
update cascade on delete cascade
Foreign key UniformPriceCode references UniformPrice
(UniformPriceCode) on update cascade on delete cascade
14. Payment
Payment (PaymentCode, InvoiceCode, ChildCode,
PaymentDate, Status)
Foreign key InvoiceCode references Invoice (InvoiceCode)
on update cascade on delete cascade
Foreign key ChildCode references Child (ChildCode) on
update cascade on delete cascade
15. Outcome
Outcome (OutcomeCode, StaffCode, OutcomeType, Total) Primary Key OutcomeCode
Foreign key StaffCode references Staff (StaffCode) on
update cascade on delete cascade
16. Finance
Finance (FinanceCode, PaymentCode, OutcomeCode, Notes) Primary Key FinanceCode
Foreign key PaymentCode references Payment
(PaymentCode) on update cascade on delete cascade
Foreign key OutcomeCode references Outcome
(OutcomeCode) on update cascade on delete cascade
17. Borrowing
Borrowing (BorrowingCode, ChildCode, TeacherCode,
BookCode, BorrowingDate, ReturningDate)
Foreign key ChildCode references Child (ChildCode) on
update cascade on delete cascade
Foreign key TeacherCode references Teacher
(TeacherCode) on update cascade on delete cascade
Foreign key BookCode references Book (BookCode) on
update cascade on delete cascade
f) Batasan umum (general constraint)
Batasan yang berasal dari persyaratan-persyaratan bisnis
perusahaan. Kemudian dokumentasi semua batasan-batasan
integritas (integrity constraint).