Okay, I have gone through quite a few posts in reading up on design and now I am thoroughly questioning my database design. I am very new to this, so please bear with me....I see some folks quite helpful so I want to try this out.
It has been mentioned many places that 1-1 relationship is rarely used. This suggests that I may not be doing my database structure right, because I have those all over the place.
Here is what I have. Most of these are one to one. I have chosen to cascade update and cascade delete because if a record is updated/deleted in one table, it should be updated/deleted in all.
I have read the normalization paper on Jeremy's website but need some specific help to apply what it says....thanks...
With the exception of the ApplicantTracking (first listed) table, all are fields on the application form students would complete for the internship.
What is the normalized and suggested way to structure based on capturing this specific data?
Is it generally suggested to create a query on ALL these tables and then a form on the query, and use the form to update the tables? I have seen that in some posts too.
I guess in a nutshell I am asking for best practices or guiding principles etc...any docs on those you could forward in addition would be useful.
ApplicantTracking table
ApplicantID Text 50
CompleteApplPackage Yes/No 1
ApplSubmitted Yes/No 1
DateApplSubmitted Date/Time 8
ApplComplete Yes/No 1
ApplIncompNotice Yes/No 1
DateApplNotice Date/Time 8
ApplResubmit Yes/No 1
DateApplResubmit Date/Time 8
ResumeSubmitted Yes/No 1
DateResumeSubmitted Text 50
ResumeComplete Yes/No 1
ResumeIncompNotice Yes/No 1
DateResumeNotice Date/Time 8
ResumeResubmit Yes/No 1
DateResumeResubmit Date/Time 8
SOPSubmitted Yes/No 1
DateSOPSubmitted Date/Time 8
SOPComplete Yes/No 1
SOPIncompNotice Yes/No 1
DateSOPNotice Date/Time 8
SOPResubmit Yes/No 1
DateSOPResubmit Date/Time 8
SourceMonsterTrak Yes/No 1
SourceInternshipProgram Yes/No 1
DateCreated Text 50
Education table
ApplicantID Text 50
UnivName1 Text 50
UnivLocation1 Text 50
UnivFromDate1 Date/Time 8
UnivToDate1 Date/Time 8
Major1 Text 50
Degree1 Text 10
DegreeDate1 Date/Time 8
UnivName2 Text 50
UnivLocation2 Text 50
UnivFromDate2 Date/Time 8
UnivToDate2 Date/Time 8
Major2 Text 50
Degree2 Text 50
DegreeDate2 Date/Time 8
AllGPA Text 4
MajorGPA Text 4
GradGPA Text 4
DateCreated Text 50
EthnicityGender table
ApplicantID Text 50
Black Yes/No 1
EastIndian Yes/No 1
Chicano Yes/No 1
AmericanIndian Yes/No 1
White Yes/No 1
SpanishAmerican Yes/No 1
Chinese Yes/No 1
Japanese Yes/No 1
Vietnamese Yes/No 1
Filipino Yes/No 1
Other Yes/No 1
OtherExplain Memo -
TwoPlus Yes/No 1
TwoPlusExplain Text 50
Male Yes/No 1
Female Yes/No 1
DateCreated Text 50
GeographicalPreferences table
ApplicantID Text 50
NorCalRank Long Integer 4
NorCalExplain Text 50
SoCalRank Long Integer 4
SoCalExplain Text 50
EastMARank Long Integer 4
EastMAExplain Text 50
NYRank Long Integer 4
NYExplain Text 50
DateCreated Text 50
HealthcareCourseWork table
ApplicantID Text 50
CourseTitle1 Text 50
Institution1 Text 50
Grade1 Text 2
CourseTitle2 Text 50
Institution2 Text 50
Grade2 Text 2
CourseTitle3 Text 50
Institution3 Text 50
Grade3 Text 2
CourseTitle4 Text 50
Institution4 Text 50
Grade4 Text 2
CourseTitle5 Text 50
Institution5 Text 50
Grade5 Text 2
CourseTitle6 Text 50
Institution6 Text 50
Grade6 Text 2
CourseTitle7 Text 50
Institution7 Text 50
Grade7 Text 2
CourseTitle8 Text 50
Institution8 Text 50
Grade8 Text 2
CourseTitle9 Text 50
Institution9 Text 50
Grade9 Text 2
CourseTitle10 Text 50
Institution10 Text 50
Grade10 Text 2
DateCreated Text 50
OrganizationType
ApplicantID Text 50
Hospitals Yes/No 1
CommClinics Yes/No 1
MedicalGroups Yes/No 1
Policy Yes/No 1
HMO Yes/No 1
HealthDept Yes/No 1
Vendor Yes/No 1
OtherOrg Yes/No 1
OtherOrgExplain Text 50
DateCreated Text 50
Personal table
ApplicantID Text 6
LastName Text 50
FirstName Text 50
MiddleInitial Text 2
CurrPhone Text 10
EmailAddress Text 50
CurrStreet Text 255
CurrCity Text 50
CurrState Text 2
CurrZip Text 9
PermPhone Text 10
PermStreet Text 50
PermCity Text 50
PermState Text 2
PermZip Text 9
DateCreated Text 50
PreferencesConstraints table
ApplicantID Text 50
AvailableFullTime Yes/No 1
FullTimeExplain Memo -
SummerSchool Yes/No 1
CarAvail Yes/No 1
WillVolunteer Yes/No 1
HealthPolicy Long Integer 4
HealthEducation Long Integer 4
OtherPublicHealth Long Integer 4
OtherPublicHealthExplain Text 50
CommHealth Long Integer 4
PreMedicine Long Integer 4
Nursing Long Integer 4
SpeechPathology Long Integer 4
PhysicalTherapy Long Integer 4
ClinicalInvest Long Integer 4
DateCreated Text 50
ReferralSource table
ReferralID Long Integer 4
ApplicantID Text 50
ReferrerName Text 50
ReferrerEmail Text 50
ReferrerStreet Text 50
ReferrerCity Text 50
ReferrerState Text 50
ReferrerZip Text 9
CampusPresentation Yes/No 1
Professor Yes/No 1
ProfessorName Text 50
CampusCareerCenter Yes/No 1
ListServe Yes/No 1
HCCAlumni Yes/No 1
OtherWebsite Yes/No 1
OtherWebsiteExplain Memo -
HCCBoothFair Yes/No 1
OtherReferral Yes/No 1
OtherReferralExplain Memo -
DateCreated Text 50
Thanks.
It has been mentioned many places that 1-1 relationship is rarely used. This suggests that I may not be doing my database structure right, because I have those all over the place.
Here is what I have. Most of these are one to one. I have chosen to cascade update and cascade delete because if a record is updated/deleted in one table, it should be updated/deleted in all.
I have read the normalization paper on Jeremy's website but need some specific help to apply what it says....thanks...
With the exception of the ApplicantTracking (first listed) table, all are fields on the application form students would complete for the internship.
What is the normalized and suggested way to structure based on capturing this specific data?
Is it generally suggested to create a query on ALL these tables and then a form on the query, and use the form to update the tables? I have seen that in some posts too.
I guess in a nutshell I am asking for best practices or guiding principles etc...any docs on those you could forward in addition would be useful.
ApplicantTracking table
ApplicantID Text 50
CompleteApplPackage Yes/No 1
ApplSubmitted Yes/No 1
DateApplSubmitted Date/Time 8
ApplComplete Yes/No 1
ApplIncompNotice Yes/No 1
DateApplNotice Date/Time 8
ApplResubmit Yes/No 1
DateApplResubmit Date/Time 8
ResumeSubmitted Yes/No 1
DateResumeSubmitted Text 50
ResumeComplete Yes/No 1
ResumeIncompNotice Yes/No 1
DateResumeNotice Date/Time 8
ResumeResubmit Yes/No 1
DateResumeResubmit Date/Time 8
SOPSubmitted Yes/No 1
DateSOPSubmitted Date/Time 8
SOPComplete Yes/No 1
SOPIncompNotice Yes/No 1
DateSOPNotice Date/Time 8
SOPResubmit Yes/No 1
DateSOPResubmit Date/Time 8
SourceMonsterTrak Yes/No 1
SourceInternshipProgram Yes/No 1
DateCreated Text 50
Education table
ApplicantID Text 50
UnivName1 Text 50
UnivLocation1 Text 50
UnivFromDate1 Date/Time 8
UnivToDate1 Date/Time 8
Major1 Text 50
Degree1 Text 10
DegreeDate1 Date/Time 8
UnivName2 Text 50
UnivLocation2 Text 50
UnivFromDate2 Date/Time 8
UnivToDate2 Date/Time 8
Major2 Text 50
Degree2 Text 50
DegreeDate2 Date/Time 8
AllGPA Text 4
MajorGPA Text 4
GradGPA Text 4
DateCreated Text 50
EthnicityGender table
ApplicantID Text 50
Black Yes/No 1
EastIndian Yes/No 1
Chicano Yes/No 1
AmericanIndian Yes/No 1
White Yes/No 1
SpanishAmerican Yes/No 1
Chinese Yes/No 1
Japanese Yes/No 1
Vietnamese Yes/No 1
Filipino Yes/No 1
Other Yes/No 1
OtherExplain Memo -
TwoPlus Yes/No 1
TwoPlusExplain Text 50
Male Yes/No 1
Female Yes/No 1
DateCreated Text 50
GeographicalPreferences table
ApplicantID Text 50
NorCalRank Long Integer 4
NorCalExplain Text 50
SoCalRank Long Integer 4
SoCalExplain Text 50
EastMARank Long Integer 4
EastMAExplain Text 50
NYRank Long Integer 4
NYExplain Text 50
DateCreated Text 50
HealthcareCourseWork table
ApplicantID Text 50
CourseTitle1 Text 50
Institution1 Text 50
Grade1 Text 2
CourseTitle2 Text 50
Institution2 Text 50
Grade2 Text 2
CourseTitle3 Text 50
Institution3 Text 50
Grade3 Text 2
CourseTitle4 Text 50
Institution4 Text 50
Grade4 Text 2
CourseTitle5 Text 50
Institution5 Text 50
Grade5 Text 2
CourseTitle6 Text 50
Institution6 Text 50
Grade6 Text 2
CourseTitle7 Text 50
Institution7 Text 50
Grade7 Text 2
CourseTitle8 Text 50
Institution8 Text 50
Grade8 Text 2
CourseTitle9 Text 50
Institution9 Text 50
Grade9 Text 2
CourseTitle10 Text 50
Institution10 Text 50
Grade10 Text 2
DateCreated Text 50
OrganizationType
ApplicantID Text 50
Hospitals Yes/No 1
CommClinics Yes/No 1
MedicalGroups Yes/No 1
Policy Yes/No 1
HMO Yes/No 1
HealthDept Yes/No 1
Vendor Yes/No 1
OtherOrg Yes/No 1
OtherOrgExplain Text 50
DateCreated Text 50
Personal table
ApplicantID Text 6
LastName Text 50
FirstName Text 50
MiddleInitial Text 2
CurrPhone Text 10
EmailAddress Text 50
CurrStreet Text 255
CurrCity Text 50
CurrState Text 2
CurrZip Text 9
PermPhone Text 10
PermStreet Text 50
PermCity Text 50
PermState Text 2
PermZip Text 9
DateCreated Text 50
PreferencesConstraints table
ApplicantID Text 50
AvailableFullTime Yes/No 1
FullTimeExplain Memo -
SummerSchool Yes/No 1
CarAvail Yes/No 1
WillVolunteer Yes/No 1
HealthPolicy Long Integer 4
HealthEducation Long Integer 4
OtherPublicHealth Long Integer 4
OtherPublicHealthExplain Text 50
CommHealth Long Integer 4
PreMedicine Long Integer 4
Nursing Long Integer 4
SpeechPathology Long Integer 4
PhysicalTherapy Long Integer 4
ClinicalInvest Long Integer 4
DateCreated Text 50
ReferralSource table
ReferralID Long Integer 4
ApplicantID Text 50
ReferrerName Text 50
ReferrerEmail Text 50
ReferrerStreet Text 50
ReferrerCity Text 50
ReferrerState Text 50
ReferrerZip Text 9
CampusPresentation Yes/No 1
Professor Yes/No 1
ProfessorName Text 50
CampusCareerCenter Yes/No 1
ListServe Yes/No 1
HCCAlumni Yes/No 1
OtherWebsite Yes/No 1
OtherWebsiteExplain Memo -
HCCBoothFair Yes/No 1
OtherReferral Yes/No 1
OtherReferralExplain Memo -
DateCreated Text 50
Thanks.