22. DetailS chedule
3.2.1.3 Perancangan Basis Data Fisikal
3.2.1.3.1 Merancang Relasi Dasar
Tahap ini bertujuan untuk memutuskan bagaimana mempresentasikan
relasi-relasi dasar yang telah diidentifikasi pada model data logikal ke
dalam DBM S yang dipilih.
Child
Domain ChildCode Integer 6 characters
Domain ParentCode Integer 6 characters
Domain ClassCode Integer 6 characters
Domain FullName Variable length of character
string, length 50
Domain PlaceOfBirth Variable length of character
string, length 20
Domain DateOfBirth Date
Domain Address Variable length of character
string, length 100
Domain Telp Variable length of character
string, length 15
Domain Religion Variable length of character string, length 15
Domain Nationality Variable length of character string, length 20
Domain Siblings Integer
Domain Language Variable length of character string, length 20
Domain Blood Variable length of character string, length 5
Domain Illness Variable length of character string, length 50
Domain Allergies Variable length of character string, length 50
Domain Password Variable length of character string, length 20
Status Variable length of character
string, length 10
Child (
ChildCode NOT NULL
ParentCode NOT NULL
ClassCode NOT NULL
FullName NOT NULL
PlaceOfBirth NOT NULL
DateOfBirth NOT NULL
Address NOT NULL
Religion NOT NULL
Nationality NOT NULL
Siblings NOT NULL
Language NOT NULL
Blood NOT NULL
Illness NULL
Allergies NULL
Password NULL
Status NOT NULL
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
);
Father
Domain FatherCode Integer 6 characters
Domain FatherName Variable length of character
string, length 50
Domain PlaceOfBirth Variable length of character
string, length 20 Domain DateOfBirth Date
Domain Religion Variable length of character
string, length 15
Domain Nationality Variable length of character
string, length 20
Domain CompanyName Variable length of character
string, length 30
Domain Address Variable length of character string, length 100
Domain PhoneNumber Variable length of character
string, length 15
Father (
FatherCode NOT NULL
FatherName NOT NULL
PlaceOfBirth NOT NULL
DateOfBirth NOT NULL
Religion NOT NULL
Nationality NOT NULL
CompanyName NULL
Address NOT NULL
Primary key FatherCode
);
Mother
Domain M otherCode Integer 6 characters
Domain M otherName Variable length of character
string, length 50
Domain PlaceOfBirth Variable length of character
string, length 15
Domain DateOfBirth Date
Domain Religion Variable length of character
string, length 15
Domain Nationality Variable length of character
string, length 20
Domain CompanyName Variable length of character
string, length 30
Domain Address Variable length of character string, length 100
Domain PhoneNumber Variable length of character
M other (
M otherCode NOT NULL M otherName NOT NULL
PlaceOfBirth NOT NULL
DateOfBirth NOT NULL
Religion NOT NULL
Nationality NOT NULL
CompanyName NULL
Address NOT NULL
PhoneNumber NOT NULL
Primary key M otherCode
);
Emergency
Domain EmergencyCode Integer 6 characters
Domain EmergencyName Variable length of character string, length 50
Domain Telp Variable length of character
string, length 15
Domain RelationshipToChild Variable length of character
Emergency(
EmergencyCode NOT NULL
EmergencyName NOT NULL
Telp NOT NULL
RelationshipToChild NOT NULL Primary Key EmergencyCode
);
Parent
Domain ParentCode Integer 6 characters
Domain FatherCode Integer 6 characters
Domain M otherCode Integer 6 characters Domain EmergencyCode Integer 6 characters
Parent(
ParentCode NOT NULL
FatherCode NOT NULL
M otherCode NOT NULL
EmergencyCode NOT NULL
Primary Key ParentCode
Foreign key FatherCode references Father (FatherCode) on
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
);
Class
Domain ClassCode Integer 6 characters
Domain ClassName Variable length of character
string, length 20
Domain Room Variable length of character
string, length 20
Class(
ClassCode NOT NULL
ClassName NOT NULL
Room NOT NULL
Primary Key ClassCode );
ClassType
Domain ClassTypeCode Integer 6 characters Domain DaysPerWeeks Integer
ClassType(
ClassTypeCode NOT NULL
DaysPerWeeks NOT NULL
Primary Key ClassTypeCode
);
DetailClass
Domain ClassCode Integer 6 characters
Domain ClassTypeCode Integer 6 characters
DetailClass(
ClassCode NOT NULL
ClassTypeCode NOT NULL
Primary Key ClassCode
Foreign key ClassCode references Class (ClassCode) on update
Foreign key ClassTypeCode references ClassType
(ClassTypeCode) on update cascade on delete cascade );
DailyReport
Domain DailyReportCode Integer 6 characters
Domain ChildCode Integer 6 characters Domain TeacherCode Integer 6 characters
Domain ScheduleCode Integer 6 characters
Domain Notes Variable length of character
string, length 500
DailyReport(
DailyReportCode NOT NULL
ChildCode NOT NULL
TeacherCode NOT NULL
ScheduleCode NOT NULL
Notes NOT NULL
Primary Key DailyReportCode
Foreign key ChildCode references Child (ChildCode) on update
Foreign key TeacherCode references Teacher (TeacherCode) on
update cascade on delete cascade
Foreign key ScheduleCode references Schedule (ScheduleCode)
on update cascade on delete cascade
); SubjectReport Domain SubjectReportCode Domain SubjectCode Integer 6 characters Integer 6 characters
Domain DailyReportCode Integer 6 characters
Domain TeacherCode Integer 6 characters
Domain ChildCode Integer 6 characters
Domain Period Variable length of character
string, length 10
Domain ScoreTerm1 Integer
Domain ScoreTerm2 Integer
Domain ScoreTerm3 Integer
Domain ScoreTerm4 Integer
Domain Notes Variable length of character
SubjectReport(
SubjectReportCode SubjectCode
NOT NULL NOT NULL
DailyReportCode NOT NULL
TeacherCode NOT NULL
ChildCode NOT NULL
Period NOT NULL
ScoreTerm1 NULL
ScoreTerm2 NULL
ScoreTerm3 NULL
ScoreTerm4 NULL
Notes NOT NULL
Primary Key SubjectReportCode
Foreign key DailyReportCode references DailyReport
(DailyReportCode) on update no action on delete no action
Foreign key SubjectCode references Subject (SubjectCode) on
update no action on delete no action
Foreign key TeacherCode references Teacher (TeacherCode) on
update cascade on delete cascade
Foreign key ChildCode references Child (ChildCode) on update
no action on delete no action );
SubjectTypeReport
Domain SubjectTypeReportCode Domain SubjectTypeCode
Integer 6 characters Integer 6 characters
Domain SubjectReportCode Integer 6 characters
Domain TeacherCode Integer 6 characters
Domain ChildCode Integer 6 characters
Domain Period Variable length of character
string, length 10
Domain ScoreTerm1 Integer
Domain ScoreTerm2 Integer
Domain ScoreTerm3 Integer
Domain ScoreTerm4 Integer
Domain Notes Variable length of character
string, length 200 SubjectTypeReport( SubjectTypeReportCode SubjectTypeCode NOT NULL NOT NULL
SubjectReportCode NOT NULL
ChildCode NOT NULL
TeacherCode NOT NULL
Period NOT NULL
ScoreTerm2 NULL
ScoreTerm3 NULL
ScoreTerm4 NULL
Notes NOT NULL
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
no action on delete no action
);
Price
Domain PriceCode Integer 6 characters
Domain PriceName Variable length of
character string, length 30
Price(
PriceCode NOT NULL
PriceName NOT NULL
Price NOT NULL
Primary Key PriceCode
);
UniformPrice
Domain UniformPriceCode Integer 6 characters
Domain UniformName Variable length of character
string, length 30
Domain Price Float
UniformPrice(
UniformPriceCode NOT NULL
UniformName NULL
Price NULL
Primary Key UniformPriceCode
S taff
Domain StaffCode Integer 6 characters
Domain StaffName Variable length of character string, length 50
Domain Address Variable length of character string, length 100
Domain Telp Variable length of character string, length 15
Domain Email Variable length of character string, length 30
Domain Position Variable length of character string, length 20
Domain Password Variable length of character string, length 20
Status Variable length of character
string, length 10
Staff(
StaffCode NOT NULL
StaffName NOT NULL
Address NOT NULL
Telp NOT NULL
Email NULL
Position NOT NULL
Password NULL
Primary Key StaffCode
);
Teacher
Domain TeacherCode Integer 6 characters
Domain TeacherName Variable length of character string, length 50
Domain Address Variable length of character string, length 100
Domain Telp Variable length of character string, length 15
Domain Email Variable length of character string, length 30
Domain Password Variable length of character string, length 20
Status Variable length of character
string, length 10 Teacher(
TeacherCode NOT NULL
TeacherName NOT NULL
Address NOT NULL
Telp NOT NULL
Email NULL
Password NULL
Primary Key TeacherCode
);
Register
Domain RegisterCode Integer 6 characters
Domain ChildCode Integer 6 characters
Domain StaffCode Integer 6 characters
Domain RegisterDate Date
Domain EntryClass Variable length of character
string, length 10
Register(
RegisterCode NOT NULL
ChildCode NOT NULL
StaffCode NOT NULL
RegisterDate NOT NULL
EntryClass NOT NULL
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 );
AttendanceChild
Domain AttendanceChildCode Integer 6 characters Domain ChildCode Integer 6 characters
Domain DateIn Date
Domain DateOut Date
AttendanceChild(
AttendanceChildCode NOT NULL
ChildCode NOT NULL
DateIn NOT NULL
DateOut NOT NULL
Primary Key AttendanceChildCode
Foreign key ChildCode references Child (ChildCode) on update
cascade on delete cascade
);
AttendanceTeacher
Domain AttendanceTeacherCode Integer 6 characters
Domain TeacherCode Integer 6 characters
Domain DateIn Date
AttendanceTeacher(
AttendanceTeacherCode NOT NULL
TeacherCode NOT NULL
DateIn NOT NULL
DateOut NOT NULL
Primary Key AttendanceTeacherCode
Foreign key TeacherCode references Teacher (TeacherCode) on
update cascade on delete cascade
);
Subject
Domain SubjectCode Integer 6 characters
Domain SubjectTypeCode Integer 6 characters
Domain SubjectName Variable length of character
string, length 30
Subject(
SubjectCode NOT NULL
SubjectTypeCode NOT NULL
Primary Key SubjectCode
Foreign key SubjectTypeCode references SubjectType
(SubjectTypeCode) on update cascade on delete cascade
);
SubjectType
Domain SubjectTypeCode Integer 6 characters
Domain SubjectTypeName Variable length of character
string, length 30
SubjectType(
SubjectTypeCode NOT NULL
SubjectTypeName NOT NULL
Primary Key SubjectTypeCode
);
S chedule
Domain ScheduleCode Integer 6 characters
Domain ClassCode Integer 6 characters
Domain TeacherCode Integer 6 characters
Domain Period Variable length of character string, length 100
Schedule(
ScheduleCode NOT NULL
ClassCode NOT NULL
TeacherCode NOT NULL
Period NOT NULL
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 );
DetailS chedule
Domain ScheduleCode Integer 6 characters
Domain SubjectCode Integer 6 characters Domain TimeTableCode Integer 6 characters
Domain ThemeCode Integer 6 characters
DetailSchedule(
ScheduleCode NOT NULL
TimeTableCode NOT NULL
ThemeCode NOT NULL
Primary Key ScheduleCode
Foreign key ScheduleCode references Schedule (ScheduleCode)
on update no action on delete no action
Foreign key SubjectCode references Subject (SubjectCode) on
update cascade on delete cascade
Foreign key TimeTableCode references TimeTable
(TimeTableCode) on update cascade on delete cascade
Foreign key ThemeCode references Theme (ThemeCode) on
update cascade on delete cascade );
TimeTable
Domain TimeTableCode Integer 6 characters
StartTime Datetime FinishTime Datetime
TimeTable
TimeTableCode NOT NULL
StartTime NOT NULL
Primary Key TimeTableCode
);
Theme
Domain ThemeCode Integer 6 characters
Domain ThemeName Variable length of character string, length 30
Theme(
ThemeCode NOT NULL
ThemeName NOT NULL
Primary Key ThemeCode
);
Invoice
Domain InvoiceCode Integer 6 characters
Domain ChildCode Integer 6 characters
Domain PriceCode Integer 6 characters
Domain StaffCode Integer 6 characters
Domain InvoiceType Variable length of character
string, length 30 Domain Total Float
Domain Qty Integer
Domain Date Date
Invoice(
InvoiceCode NOT NULL
ChildCode NOT NULL
PriceCode NOT NULL
StaffCode NOT NULL
InvoiceType NOT NULL
Total NOT NULL
Qty NOT NULL
Date NOT NULL
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
Payment
Domain PaymentCode Integer 6 characters Domain InvoiceCode Integer 6 characters
Domain ChildCode Integer 6 characters
Domain PaymentDate
Status
Date
Variable length of
character string, length 10
Payment(
PaymentCode NOT NULL
InvoiceCode NOT NULL
ChildCode NOT NULL
PaymentDate
Status
NOT NULL
NULL
Primary Key PaymentCode
Foreign key InvoiceCode references Invoice (InvoiceCode) on
update cascade on delete cascade
Foreign key ChildCode references Child (ChildCode) on update
cascade on delete cascade
Outcome
Domain OutcomeCode Integer 6 characters
Domain StaffCode Integer 6 characters
Domain OutcomeType Variable length of character
string, length 30
Domain Total Float
Outcome(
OutcomeCode NOT NULL
StaffCode NOT NULL
OutcomeType NOT NULL
Total NOT NULL
Primary Key OutcomeCode
Foreign key StaffCode references Staff (StaffCode) on update
cascade on delete cascade
);
Finance
Domain FinanceCode Integer 6 characters
Domain PaymentCode Integer 6 characters
Domain OutcomeCode Integer 6 characters
Domain Notes Variable length of character string, length 100
Finance(
FinanceCode NOT NULL
PaymentCode NOT NULL
OutcomeCode NOT NULL
Notes NULL
Primary Key FinanceCode
Foreign key PaymentCode references Payment (PaymentCode)
on update no action on delete no action
Foreign key OutcomeCode references Outcome (OutcomeCode)
on update cascade on delete cascade
);
Borrowing
Domain BorrowingCode Integer 6 characters
Domain ChildCode Integer 6 characters
Domain TeacherCode Integer 6 characters
Domain BookCode Integer 6 characters
Domain BorrowingDate Date
Borrowing(
BorrowingCode NOT NULL
ChildCode NOT NULL
TeacherCode NOT NULL
BookCode NOT NULL
BorrowingDate NOT NULL
ReturningDate NOT NULL
Primary Key BorrowingCode
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
);
Book
BookCode Integer 6 characters
BookName Variable length of character
Book(
BookCode NOT NULL
BookName NOT NULL
Primary Key BookCode
);