• Tidak ada hasil yang ditemukan

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

);

Dokumen terkait