3.2 Perancangan Sistem
3.2.1 Perancangan Basis Data
3.2.1.2 Perancangan Basis Data Logikal
3.2.1.2.1 Menentukan Relasi untuk Model Data Logikal
Langkah ini bertujuan untuk membuat relasi untuk model data logikal lokal untuk menggambarkan entitas, relationship, dan atribut yang
diidentifikasi.
Aktifitas-aktifitas dalam langkah ini adalah sebagai berikut:
1. Tipe Entitas Kuat
Child (ChildCode , FullName, PlaceOfBirth, DateOfBirth,
Address, Telp, Religion, Nationality, Siblings, Language, Blood,
Illness, Allergies, Password, Status)
Primary key ChildCode
Father (FatherCode, FatherName, PlaceOfBirth, DateOfBirth,
Religion, Nationality, CompanyName, Address, PhoneNumber)
Primary Key FatherCode
Mother (M otherCode, M otherName, PlaceOfBirth, DateOfBirth,
Religion, Nationality, CompanyName, Address, PhoneNumber)
Primary Key M otherCode
Emergency (EmergencyCode, EmergencyName, Telephone,
RelationshipToChild)
Class (ClassCode, ClassName, Room) Primary Key ClassCode
ClassType (ClassTypeCode, DaysPerWeeks) Primary Key ClassTypeCode
SubjectReport (SubjectReportCode, Period, ScoreTerm1,
ScoreTerm2, ScoreTerm3, ScoreTerm4)
Primary Key SubjectReportCode
SubjectTypeReport (SubjectTypeReportCode, Period,
ScoreTerm1, ScoreTerm2, ScoreTerm3, ScoreTerm4)
Primary Key SubjectTypeReportCode
Price (PriceCode, PriceName, Price) Primary Key PriceCode
UniformPrice (UniformPriceCode, UnifromName, Price) Primary Key UniformPriceCode
S taff (StaffCode, StaffName, Address, Telp, Email, Position,
Password, Status)
Teacher (TeacherCode, TeacherName, Address, Telp, Email,
Password, Status)
Primary Key TeacherCode
SubjectReport (SubjectReportCode, Period, ScoreTerm1,
ScoreTerm2, ScoreTerm3, ScoreTerm4, Notes)
Primary Key SubjectReportCode
SubjectTypeReport (SubjectTypeReportCode, Period,
ScoreTerm1, ScoreTerm2, ScoreTerm3, ScoreTerm4, Notes)
Primary Key SubjectTypeReportCode
Register (RegisterCode, RegisterDate, EntryClass) Primary Key RegisterCode
AttendanceChild (AttendanceChildCode, DateIn, DateOut) Primary Key AttendanceChildCode
AttendanceTeacher (AttendanceTeacherCode, DateIn, DateOut) Primary Key AttendanceTeacherCode
Subject (SubjectCode, SubjectName) Primary Key SubjectCode
SubjectType (SubjectTypeCode, SubjectTypeName) Primary Key SubjectTypeCode
TimeTable (TimeTableCode, StartTime, FinishTime) Primary Key TimeTableCode
Theme (ThemeCode, ThemeName) Primary Key ThemeCode
Invoice (InvoiceCode, InvoiceType, Total, Qty, Date) Primary Key InvoiceCode
Payment (PaymentCode, PaymentDate, Status) Primary Key PaymentCode
Outcome (OutcomeCode, OutcomeType, Total) Primary Key OutcomeCode
Borrowing (BorrowingCode, BorrowingDate, ReturningDate) Primary Key BorrowingCode
Book (BookCode, BookName) Primary Key BookCode
2. Tipe Entitas Lemah
Parent (ParentCode) Primary Key ParentCode
DailyReport (DailyReportCode, Notes) Primary Key DailyReportCode
S chedule (ScheduleCode, Period) Primary Key ScheduleCode
Finance (FinanceCode, Notes) Primary Key FinanceCode
3. One-to-many (1:*) binary relationship types
Relasi antara Parent dengan Child
Parent (ParentCode, FatherCode, MotherCode,
Emergen cyCode)
Primary Key ParentCode
Foreign key FatherCode references Father
(FatherCode)
Foreign key MotherCode references Mother
(MotherCode)
Foreign key Emergen cyCode references Em ergen cy
(Emergen cyCode)
Child (ChildCode, ParentCode, ClassCode, FullName,
PlaceOfBirth, Dat eOfBirth, Address, Telp, Religion, Nationality, Siblings, Language, Blood, Illness, Allergies, Password, Status)
Primary key ChildCode
Foreign key ParentCode references Parent (ParentCode)
Foreign key ClassCode references Class (ClassCode)
Relasi antara Child dengan Class
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)
Foreign key ClassCode references Class (ClassCode)
Class (ClassCode, ClassTypeCode, ClassName) Primary Key ClassCode
Foreign key ClassTypeCode references ClassType
(ClassTypeCode)
Relasi antara DailyReport dengan SubjectReport
DailyReport (DailyReportCode, ChildCode,
TeacherCode, ScheduleCode, Notes)
Primary Key DailyReportCode
Foreign key ChildCode references Child (ChildCode) Foreign key TeacherCode references Teacher
(TeacherCode)
Foreign key Schedul eCode references Sch edule
(ScheduleCode)
SubjectReport (SubjectRepo rtCode, DailyReportCode,
SubjectCode, TeacherCode, ChildCode, Period, ScoreTerm1, ScoreTerm2, ScoreTerm3, ScoreTerm4, Notes)
Primary Key SubjectReportCode
Foreign key DailyReportCode references DailyReport
(DailyReportCode)
Foreign key Teach erCode references Teacher
(TeacherCode)
Foreign key SubjectCode references Subject
(SubjectCode)
Foreign key ChildCode references Child (ChildCode)
Relasi antara Child dengan DailyReport
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)
Foreign key ClassCode references Class (ClassCode)
DailyReport (DailyReportCode, ChildCode, TeacherCode,
ScheduleCode, Notes)
Primary Key DailyReportCode
Foreign key ChildCode references Child (ChildCode) Foreign key Teach erCode references Teacher
(TeacherCode)
Foreign key Sch eduleCode references Schedul e
(ScheduleCode)
Relasi antara Teacher dengan DailyReport
Teacher (Teach erCode, TeacherNam e, Address, Telp,
Email, Password, Status)
Primary Key TeacherCode
DailyReport (DailyReportCode, ChildCode, TeacherCode,
ScheduleCode, Notes)
Primary Key DailyReportCode
Foreign key ChildCode references Child (ChildCode) Foreign key Teach erCode references Teacher
(TeacherCode)
Foreign key Sch eduleCode references Schedul e
(ScheduleCode)
Relasi antara Teacher dengan DailyReport
Teacher (Teach erCode, TeacherNam e, Address, Telp,
Email, Password, Status)
Primary Key TeacherCode
DailyReport (DailyReportCode, ChildCode, TeacherCode,
ScheduleCode, Notes)
Primary Key DailyReportCode
Foreign key ChildCode references Child (ChildCode) Foreign key Teach erCode references Teacher
(TeacherCode)
Foreign key Sch eduleCode references Schedul e
(ScheduleCode)
Teacher (Teach erCode, TeacherNam e, Address, Telp,
Email, Password, Status)
Primary Key TeacherCode
SubjectReport (SubjectRepo rtCode, DailyReportCode,
SubjectCode, TeacherCode, ChildCode, Period, ScoreTerm1, ScoreTerm2, ScoreTerm3, ScoreTerm4, Notes)
Primary Key SubjectReportCode
Foreign key DailyReportCode references DailyReport
(DailyReportCode)
Foreign key Teach erCode references Teacher
(TeacherCode)
Foreign key SubjectCode references Subject
(SubjectCode)
Foreign key ChildCode references Child (ChildCode)
Relasi antara Teacher dengan SubjectTypeReport
Teacher (Teach erCode, TeacherNam e, Address, Telp,
Email, Password, Status)
Primary Key TeacherCode
SubjectTypeReport (SubjectTypeReportCode,
SubjectReportCode, SubjectTypeCode, TeacherCode, ChildCode, Period, ScoreTerm1, ScoreTerm2, ScoreTerm3, ScoreTerm4, Notes)
Primary Key SubjectTypeReportCode
Foreign key SubjectReportCode references SubjectReport
(SubjectReportCode)
Foreign key Teach erCode references Teacher
(TeacherCode)
Foreign key SubjectTypeCode references SubjectType
(SubjectTypeCode)
Foreign key ChildCode references Child (ChildCode)
Relasi antara Child dengan SubjectReport
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)
Foreign key ClassCode references Class (ClassCode)
SubjectReport (SubjectRepo rtCode, DailyReportCode,
SubjectCode, TeacherCode, Period, ScoreTerm1, ScoreTerm2, ScoreTerm3, ScoreTerm4, Notes)
Primary Key SubjectReportCode
Foreign key DailyReportCode references DailyReport
(DailyReportCode)
Foreign key Teach erCode references Teacher
(TeacherCode)
Foreign key SubjectCode references Subject
(SubjectCode)
Relasi antara Staff dengan Register
Staff (StaffCode, StaffNam e, Address, Telp, Email,
Position, Password, Status)
Primary Key StaffCod e
Register (RegisterCode, ChildCode, StaffCode,
RegisterDate, EntryClass)
Primary Key RegisterCode
Foreign key ChildCode references Child (ChildCode) Foreign key StaffCod e references Staff (StaffCod e)
Relasi antara Attendan ceChild dengan Child
Attendance (AttendanceChildCode, ChildCode,
DateIn, DateOut)
Primary Key AttendanceChildCode
Foreign key ChildCode references Child (ChildCode)
Child (ChildCode, ParentCode, ClassCode, FullName,
PlaceOfBirth, Dat eOfBirth, Address, Telp, Religion, Nationality, Siblings, Language, Blood, Illness, Allergies, Password, Status)
Primary key ChildCode
Foreign key ParentCode references Parent (ParentCode)
Foreign key ClassCode references Class (ClassCode)
Relasi antara Attendan ceTeach er deng an Teacher
Attendance (Attendan ceTeach erCode, Teach erCode,
DateIn, DateOut)
Primary Key AttendanceTeach erCode
Foreign key TeacherCode references Teacher
(TeacherCode)
Teacher (Teach erCode, Teach erName, Add ress, Telp,
Email, Password, Status)
Primary Key TeacherCode
Relasi antara SubjectType dengan Subject
SubjectType (SubjectTypeCode, SubjectTypeName) Primary Key SubjectTypeCode
Subject (SubjectCode, SubjectTypeCode, ThemeCode,
SubjectName)
Primary Key SubjectCode
Foreign key SubjectTypeCode references SubjectType
(SubjectTypeCode)
Foreign key ThemeCode references Theme (ThemeCode)
Relasi antara Child dengan Invoice
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)
Foreign key ClassCode references Class (ClassCode)
Invoice (InvoiceCode, ChildCode, PriceCode, StaffCode,
InvoiceType, Total, Date)
Primary Key InvoiceCode
Foreign key ChildCode references Child (ChildCode) Foreign key PriceCode references Price (PriceCode) Foreign key StaffCod e references Staff (StaffCod e)
Relasi antara Staff dengan Invoice
Staff (StaffCode, StaffNam e, Address, Telp, Email,
Position, Password, Status)
Primary Key StaffCod e
Invoice (InvoiceCode, ChildCode, PriceCode, StaffCode,
InvoiceType, Total, Date)
Primary Key InvoiceCode
Foreign key ChildCode references Child (ChildCode) Foreign key PriceCode references Price (PriceCode) Foreign key StaffCod e references Staff (StaffCod e)
Relasi antara Invoice deng an Price
Invoice (InvoiceCode, ChildCode, PriceCode,
StaffCod e, InvoiceType, Total, Date)
Primary Key InvoiceCode
Foreign key ChildCode references Child (ChildCode) Foreign key PriceCode references Price (PriceCode) Foreign key StaffCod e references Staff (StaffCod e)
Price (PriceCode, PriceName, Price) Primary Key PriceCode
Staff (StaffCode, StaffNam e, Address, Telp, Email,
Position, Password, Status)
Primary Key StaffCod e
Outcome (OutcomeCode, StaffCode, Outcom eType,
Total)
Primary Key OutcomeCode
Foreign key StaffCod e references Staff (StaffCod e)
Relasi antara Payment dengan Finance
Payment (Paym entCode, InvoiceCode, ChildCode,
PaymentDate, Status)
Primary Key PaymentCode
Foreign key InvoiceCode references Invoice
(InvoiceCode)
Foreign key ChildCode references Child (ChildCode)
Finance (FinanceCode, PaymentCode, OutcomeCode,
Notes)
Primary Key FinanceCode
Foreign key PaymentCode references Payment
(PaymentCode)
Foreign key OutcomeCode references Outcom e
(OutcomeCode)
Relasi antara Outcome dengan Finance
Outcome (OutcomeCode, StaffCode, Outcom eType,
Total)
Primary Key OutcomeCode
Foreign key StaffCod e references Staff (StaffCod e)
Finance (FinanceCode, PaymentCode, OutcomeCode,
Notes)
Primary Key FinanceCode
Foreign key PaymentCode references Payment
(PaymentCode)
Foreign key OutcomeCode references Outcom e
Borrowing (BorrowingCode, ChildCode, TeacherCode, BookCode, BorrowingDate, ReturningDate)
Primary Key BorrowingCode
Foreign key ChildCode references Child (ChildCode) Foreign key TeacherCode references Teacher
(TeacherCode)
Foreign key BookCode references Book (BookCode)
Book (BookCode, BookName) Primary Key BookCode
Relasi antara Borrowing dengan Teacher
Borrowing (BorrowingCode, ChildCode,
TeacherCode, BookCode, BorrowingDate, ReturningDate)
Primary Key BorrowingCode
Foreign key ChildCode references Child (ChildCode) Foreign key TeacherCode references Teacher
(TeacherCode)
Foreign key BookCode references Book (BookCode)
Teacher (Teach erCode, Teach erName, Add ress, Telp,
Email, Password, Status)
Primary Key TeacherCode
Relasi antara Invoice deng an Uni formPrice
Invoice (InvoiceCode, ChildCode, PriceCode,
StaffCod e, InvoiceType, Total, Date)
Primary Key InvoiceCode
Foreign key ChildCode references Child (ChildCode) Foreign key PriceCode references Price (PriceCode) Foreign key StaffCod e references Staff (StaffCod e)
UniformPrice (Uni formPriceCode, UniformName,
Price)
Primary Key Uni formPriceCode
Relasi antara Child dengan SubjectTypeReport
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)
Foreign key ClassCode references Class (ClassCode)
SubjectTypeReport (SubjectTypeReportCode,
SubjectReportCode, SubjectTypeCode, TeacherCode, ChildCode, Period, ScoreTerm1, ScoreTerm2, ScoreTerm3, ScoreTerm4, Notes)
Primary Key SubjectTypeReportCode
Foreign key SubjectReportCode references SubjectReport
(SubjectReportCode)
Foreign key Teach erCode references Teacher
(TeacherCode)
Foreign key SubjectTypeCode references SubjectType
(SubjectTypeCode)
Foreign key ChildCode references Child (ChildCode)
Relasi antara Child dengan Payment
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)
Foreign key ClassCode references Class (ClassCode)
Payment (PaymentCode, Invoi ceCode, ChildCode,
PaymentDate, Status)
Primary Key PaymentCode
Foreign key Invoi ceCode references Invoice
(InvoiceCode)
Foreign key ChildCode references Child (ChildCode)
4. One-to-one (1:1) binary relationship types
a. Relasi antara Father dengan Parent
Ditemukan mandatory participation on both sides of 1:1
relationship.
Father (FatherCode, FatherName, PlaceOfBirth,
DateOfBirth, Religion, Nationality, CompanyName, Address,
PhoneNumber)
b. Relasi antara M other dengan Parent
Ditemukan mandatory participation on both sides of 1:1
relationship.
Mother (M otherCode, M otherName, PlaceOfBirth,
DateOfBirth, Religion, Nationality, CompanyName, Address, PhoneNumber)
c. Relasi antara Emergency dengan Parent
Ditemukan mandatory participation on both sides of 1:1
relationship.
Emergency (EmergencyCode, EmergencyName, Telephone,
RelationshipToChild)
d. Relasi antara Schedule dengan DailyReport
Ditemukan mandatory participation on both sides of 1:1
S chedule (ScheduleCode, ClassCode, TeacherCode,
SubjectCode, TimeTableCode, ThemeCode, Period, ClassName)
e. Relasi antara SubjectTypeReport dengan SubjectReport
Ditemukan mandatory participation on both sides of 1:1
relationship.
SubjectTypeReport (SubjectTypeReportCode,
SubjectTypeCode, Period, ScoreTerm1, ScoreTerm2,
ScoreTerm3, ScoreTerm4, Notes)
f. Relasi antara Child dengan Register
Ditemukan mandatory participation on both sides of 1:1
relationship.
Child (ChildCode, ParentCode, ClassCode, FullName,
PlaceOfBirth, DateOfBirth, Address, Telp, Religion,
Nationality, Siblings, Language, Blood, Illness, Allergies,
Password, Status)
g. Relasi antara Invoice dengan Payment
Ditemukan mandatory participation on both sides of 1:1
relationship.
Invoice (InvoiceCode, ChildCode, PriceCode, StaffCode,
h. Relasi antara Child ke Borrowing
Ditemukan mandatory participation on both sides of 1:1
relationship.
Child (ChildCode, ParentCode, ClassCode, FullName,
PlaceOfBirth, DateOfBirth, Address, Telp, Religion,
Nationality, Siblings, Language, Blood, Illness, Allergies,
Password, Status)
i. Relasi antara SubjectReport ke Subject
Ditemukan mandatory participation on both sides of 1:1
relationship.
Subject (SubjectCode, SubjectTypeCode, SubjectName)
j. Relasi antara SubjectTypeReport ke SubjectType
Ditemukan mandatory participation on both sides of 1:1
relationship.
5. Many-to-many (*:*) binary relationship types
Relasi antara Class dengan ClassType
Class (ClassCode, ClassName, Room) Primary Key ClassCode
ClassType (ClassTypeCode, DaysPerWeeks)
Primary Key ClassTypeCode
DetailClass (ClassCode, ClassTypeCode) Primary Key ClassCode, ClassTypeCode
Foreign key ClassCode references Class (ClassCode) Foreign key ClassTypeCode references ClassType
(ClassTypeCode)
Relasi antara Schedule dengan Teach er
Schedule (ScheduleCode, ClassCode , SubjectCode,
TimeTableCode, ThemeCode, Period, ClassName)
Primary Key ScheduleCode
Foreign key ClassCode references Class (ClassCode) Foreign key TeacherCode references Teacher
(TeacherCode)
Foreign key SubjectCode references Subject
(SubjectCode)
Foreign key TimeTableCode references TimeTable
(TimeTableCode)
Foreign key ThemeCode references Theme
(ThemeCode)
Teacher (Teach erCode, Teach erName, Add ress, Telp,
Email, Password, Status)
Primary Key TeacherCode
DetailSchedule (ScheduleCode, TeacherCode) Primary Key ScheduleCode, TeacherCode
Foreign key Schedul eCode references Sch edule
(ScheduleCode)
Foreign key TeacherCode references Teacher
Relasi antara Schedule dengan Class
Schedule (ScheduleCode, TeacherCod e, SubjectCode,
TimeTableCode, ThemeCode, Period, ClassName)
Primary Key ScheduleCode
Foreign key ClassCode references Class (ClassCode) Foreign key TeacherCode references Teacher
(TeacherCode)
Foreign key SubjectCode references Subject
(SubjectCode)
Foreign key TimeTableCode references TimeTable
(TimeTableCode)
Foreign key ThemeCode references Theme
(ThemeCode)
Class (ClassCode, ClassTypeCode, ClassName) Primary Key ClassCode
Foreign key ClassTypeCode references ClassType
(ClassTypeCode)
DetailSchedule (ScheduleCode, ClassCode) Primary Key ScheduleCode, ClassCode
Foreign key Schedul eCode references Sch edule
(ScheduleCode)
Foreign key ClassCode references Class (ClassCode)
Relasi antara Schedule dengan TimeTable
Schedule (ScheduleCode, ClassCode, TeacherCode,
SubjectCode, ThemeCode, Period, ClassName)
Primary Key ScheduleCode
Foreign key ClassCode references Class (ClassCode) Foreign key TeacherCode references Teacher
(TeacherCode)
Foreign key SubjectCode references Subject
(SubjectCode)
Foreign key TimeTableCode references TimeTable
(TimeTableCode)
Foreign key ThemeCode references Theme
(ThemeCode)
TimeTable (TimeTableCode, Day, Room,
StartTime, FinishTime)
Primary Key TimeTableCode
DetailSchedule (ScheduleCode, TimeTableCode)
Primary Key ScheduleCode, TimeTableCode
Foreign key Schedul eCode references Sch edule
(ScheduleCode)
Foreign key TeacherCode references Teacher
(TeacherCode)
Foreign key TimeTableCode references TimeTable
Schedule (ScheduleCode, ClassCode, TeacherCode,
TimeTableCode, ThemeCode, Period, ClassName)
Primary Key ScheduleCode
Foreign key ClassCode references Class (ClassCode) Foreign key TeacherCode references Teacher
(TeacherCode)
Foreign key SubjectCode references Subject
(SubjectCode)
Foreign key TimeTableCode references TimeTable
(TimeTableCode)
Foreign key ThemeCode references Theme
(ThemeCode)
Subject (SubjectCode, SubjectTypeCode, SubjectName) Primary Key SubjectCode
Foreign key SubjectTypeCode references SubjectType
(SubjectTypeCode)
DetailSchedule (ScheduleCode, SubjectCode)
Primary Key ScheduleCode, SubjectCode
Foreign key Schedul eCode references Sch edule
(ScheduleCode)
Foreign key SubjectCode references Subject
(SubjectCode)
Relasi antara Schedule dengan Theme
Schedule (ScheduleCode, ClassCode, TeacherCode,
SubjectCode, TimeTableCode, Period, ClassName)
Primary Key ScheduleCode
Foreign key ClassCode references Class (ClassCode) Foreign key TeacherCode references Teacher
(TeacherCode)
Foreign key SubjectCode references Subject
(SubjectCode)
Foreign key TimeTableCode references TimeTable
(TimeTableCode)
Foreign key ThemeCode references Theme
(ThemeCode)
Theme (ThemeCode, ThemeName) Primary Key ThemeCode
DetailSchedule (ScheduleCode, ThemeCode) Primary Key ScheduleCode, ThemeCode
Foreign key Schedul eCode references Sch edule
(ScheduleCode)
Foreign key ThemeCode references Theme