McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 13
Database Design for Student Loan Limited
13-2
Outline Case description Conceptual data modeling Logical database design Physical database design
13-3
Case Overview Guaranteed Student Loans Environment
Student Lender Service Provider Guarantor Department of Education
Replace existing information system
13-4
Loan Processing Workflow
Apply
Approveloan
Originateloan Separate from
school
Sendbill
Makepayment
Misspayments
Claim
13-5
Major Documents Loan origination form Disclosure letter Statement of account Loan activity report
13-6
Loan Origination FormParent Node
LoanNoProcDate, DisbMeth, DisbBank,RouteNo, AcctNo, DateAuthNoteValue, Subsidized, Rate, StdNoName, Address, City, StateZip, DOB, ExpGradMonth,ExpGradYear, Phone, GuarantorNo,Guarantor, Name, LenderNo, LenderName, InstID, Institution Name,Address, City, State, Zip
Child NodeDate
AmountOrigFeeGuarFee
13-7
Loan Origination ERDStudent
StdNo
Loan
LoanNo
Lender
LenderNo
Guarantor
GuarantorNo
Institution
InstitutionNo
DisburseLine
DateLoanNo
GivenTo
AuthorizesGuarantees
Uses
Sent
13-8
Disclosure Letter Structure
Parent NodeLoanNo, DateSentStdName, RepayDate,AmtBorrowed, NumPayments,IntRate, EstFinChargeFirstPayDate, MonthPayment,LastPayDate
13-9
Disclosure Letter ERDStudent
StdNo
Loan
LoanNo
Lender
LenderNo
Guarantor
GuarantorNo
Institution
InstitutionNo
DisburseLine
DateLoanNo
GivenTo
Authorizes
Guarantees
Uses
Sent
DiscLetter
LetterNoIncludes
13-10
Statement StructureParent Node
StatementNoDate, StudentNo,Name, Address, City, StateZip, DueDate, AmountEnclosed,PayMethod, AmountDue
Child NodeLoanNoBalance
Rate
13-11
Statement ERD
Student
StdNo
Loan
LoanNo
Lender
LenderNoGuarantor
GuarantorNo
Institution
InstitutionNo
DisburseLine
DateLoanNo
GivenTo
AuthorizesGuarantees
Uses
Sent
DiscLetter
LetterNo
Includes
Statement
StatementNo
StatementLoan
StatementNoLoanNo
AppliedTo
StatementsApplied
13-12
Loan Activity Structure
Parent NodeStudentNo
Date, Name, Address, City,State, Zip
Child NodeLoanNo
BegBalance, EndBalance,Principal, Interest
13-13
Loan Activity ERDStudent
StdNo
Loan
LoanNo
Lender
LenderNoGuarantor
GuarantorNo
Institution
InstitutionNo
DisburseLine
DateLoanNo
GivenTo
AuthorizesGuarantees
Uses
Sent
DiscLetter
LetterNo
Includes
Statement
StatementNo
StatementLoan
StatementNoLoanNo
AppliedTo
StatementsApplied
LoanActivity
ReportNoMailedTo
13-14
Schema Conversion Rules Entity type rule 1-M relationship rule M-N relationship rule Identification dependency rule
13-15
Schema Conversion Result
StudentStdNo
StatementStatementNoStdNo
LoanActivityReportNoStdNo
DiscLetterLetterNoLoanNo
GuarantorGuarantorNo Lender
LenderNo
InstitutionInstID
DisburseLineDateSentLoanNo
AppliedStatementNoLoanNo
LoanLoanNoStdNo
GuarantorNoInstID
LenderNo
1
1
1
1
1
1
1
1
1
8
88 8
8
8
8
8
8
1
8
13-16
Normalization Student not in BCNF because of Zip FD
Zip State
Loan not in BCNF because of RouteNo FD RouteNo DisBank
Institution not in BCNF because of Zip FDs Zip City, State
13-17
Normalized Table Design
StudentStdNoZip
StatementStatementNo
StdNo
LoanActivityReportNoStdNo
DiscletterLetterNoLoanNo
GuarantorGuarantorNo Lender
LenderNo
BankRouteNo
DisburseLineDateSentLoanNo
AppliedStatementNoLoanNo
LoanLoanNoStdNo
GuarantorNoInstID
LenderNoRouteNo
1
1
1
1
11
1
1
1
8
88
88
8
8
8
8
1
8
InstitutionInstIDZip
ZipCodeZip
1
8
8 1
18
13-18
Physical Database Design Application profiles: tables, conditions,
parameter values, and frequencies Table profiles: estimated number of rows
and distribution of values Index selection: clustering and non
clustering indexes Derived data and denomalization Other implementation considerations
13-19
Application ProfilesApplication Tables Conditions
Verify data (for loan origination)
Student, Lender, Institution, Guarantor
StdNo = $X; LenderNo = $Y; InstID = $Z; GuarantorNo = $W
Create loan (for loan origination)
Loan, DisburseLine
1 row inserted in Loan; multiple rows inserted in DisburseLine
Create student (for loan origination)
Student 1 row inserted
13-20
Application FrequenciesApplication Frequency Comments
Verify data 100,000/year Most activity at beginning of term
Create loan 100,000/year Most activity at beginning of term
Create student 20,000/year Most students are repeat Create disclosure letter
50,000/year Spread evenly throughout year
Display disclosure letter
5,000/year Spread evenly throughout year
13-21
Table ProfilesTable Number
of Rows Column (Number of Unique Values)
Student 100,000 StdNo (PK), Name (99,000), Address (90,000), City(1,000), Zip (1,000), DOB (365), ExpGradMonth (12), ExpGradYear (10)
Loan 300,000 LoanNo (PK), ProcDate (350), DisbMethod (3), DisbBank (3,000), RouteNo (3,000), AcctNo (90,000), DateAuth (350), NoteValue (1,000), Subsidized (2), Rate (1,000), Balance (10,000), StdNo (100,000), InstID (2,000), GuarantorNo (100), LenderNo (2,000)
13-22
Index Selections
Column Index Kind Rule Student.StdNo Clustering 1 Student.Name Nonclustering 3 Statement.StatementNo Clustering 1 DiscLetter.LetterNo Clustering 1 Loan.LoanNo Clustering 1 Institution.InstID Clustering 1
13-23
Derived Data and Denormalization Decisions Derived data
Loan.NoteValue DiscLetter and LoanActivity tables have
derived data in the image columns.
Denormalization LenderNo and Lender.Name in the Loan table
violates BCNF, but it may reduce joins between the Loan and the Lender tables
13-24
Other Implementation Issues Processing volumes in a new system can
be much larger than in the old system Poor quality of old data may cause many
rejections in the conversion process Size of image data
13-25
Application Development Notes Provides cross check on quality of
database design Data requirements for forms and reports
Loan origination form Loan activity report
Derived data maintenance: AFTER ROW trigger for Loan.Balance
13-26
Summary Case includes a significant subset of
student loan processing. Solution depicts models for database
development phases. Next step: database development for a
real organization Open-ended, unclear, and changing
requirements are challenges.