CS 507
GRADE ENTRY SYSTEM (GES)
For Mahardika Institute of Technology
Junior High School Department
Prepared by:
Mr. Abubakar Hiyang
Mr. Gilbert Flores
Ms. Claire Ong
Mr. Armando So III
The Grade Entry System of the Mahardika Institute of Technology,
Inc. High school Department to help school faculty in storing, computing
and recording of grades of the students.
The System has the following functions:
• Provide a database for recording and grading report
• Speed up the generation of student grades
•Systematize the recording of grades information
INTRODUCTION
GES LOGICAL DESIGN
STUDINFO
ID
StudID
FullName
LastName
FirstName
MiddleName
Grade
Sec
GRADE
ID
SchoolYear
Grading
Grade
Sec
Subject
Teacher
Name
Gr
Gd
StudID
SCHOOLYEAR
ID
SchoolYear
SUBJECT
ID
SUBJECT
TEACHER
ID
Teacher
GES ERD
OBTAINS
REFERS
SUBMITS
BELONGS
GES PHYSICAL DESIGN
STUDINFO
Field Type
ID (PK) AutoNumber
StudID String
FullName String
LastName String
FirstName String
MiddleName String
Grade Number
Sec String
GRADE
Field Type
ID (PK) AutoNumber
SchoolYear (FK) Number
Grading Number
Grade Number
Sec String
Subject (FK) Number
Teacher (FK) Number
Name String
Gr Number
Gd String
StudID Number
SCHOOLYEAR
Field Type
ID (PK) Number
SchoolYear String
SUBJECT
Field Type
ID (PK) Number
SUBJECT String
TEACHER
Field Type
ID (PK) Number
Teacher String
USER
Field Type
UserID (PK) Number
LastName String
FirstName String
MiddleName String
Designation String
UserName String
Password String
GES Physical Design
Architecture
• Database is stored in a single MS Access file.
• Database is stored on a single computer on a LAN and shared peer-to-peer to
other users.
• Administrator manages student info, sections, teachers, and subjects.
• Teachers manage grades of students.
• At the end of each period, the adviser can produce grading reports of his/her
class .
GES VIEWS AND REPORTS
Login Screen
System Main Interface
Register Interface
Grade Entry Interface
User Manager Interface
Grading Sheet Report
Certificate of Grades Report
Report Card
GES SCHEMAS AND FUNCTIONAL
DEPENDENCIES
SUBJECT
SUBJECT(ID, Subject)
ID  Subject
SCHOOLYEAR
SCHOOLYEAR (ID, SchoolYear)
ID  SchoolYear
TEACHER
TEACHER (ID, Teacher)
ID  Teacher
STUDINFO
STUDINFO (ID, StudID, FullName,LastName, FirstName, MiddleName, Grade, Sec, SchoolYear)
ID  StudID, FullName
StudID  ID, FullName
ID, SchoolYear  StudID, FullName, Grade, Sec
FirstName, MiddleName, LastName  FullName
Candidate key:
ID SchoolYear
Non-Primary Keys:
Grade, Sec
Grade and Sec both are only partially functional dependent to the candidate key, therefore the
relation cannot be in 2NF.
Only satisfies 1NF.
STUDINFO (ID, StudID, FullName,LastName, FirstName, MiddleName, Grade, Sec, SchoolYear)
ID  StudID, FullName, FirstName, MiddleName, LastName
ID, SchoolYear  StudID, FullName, LastName, FirstName, MiddleName, Grade, Sec
Anomalies in STUDINFO Relation:
• Anomaly #1: Redundant Attributes
FullName is composite having combined values of FirstName, MiddleName and LastName.
Fix: Remove redundant attributes FirstName, MiddleName and LastName.
STUDINFO (ID, StudID, FullName, Grade, Sec, SchoolYear)
• Anomaly #2: Insertion anomaly
Adding new SchoolYear will duplicate values of other attributes like StudID and FullName.
Fix: Split STUDINFO.
STUDINFO (ID, StudID, FullName, Grade, Sec)
MASTERLIST (SchoolYear, StudID, SecID)
• Anomaly #3: Insertion anomaly
Adding new Sec for each student will duplicate values of other attributes.
Sec and Grade has no functional dependency in new STUDINFO relation.
Fix: Split STUDINFO
STUDINFO (ID, StudID, FullName) - 3NF
SECTIONS (SecID, Grade, Sec) – 3NF
GRADES
GRADE (ID, SchoolYear, Grading, Grade, Sec, Subject, Teacher, Name, Gr, Gd, StudID)
ID  SchoolYear, Grading, Grade, Subject, Teacher, Name, Gr, Gd, StudID
StudID  Name
SchoolYear, Grading, Subject, StudID  Gr, Gd, Teacher
StudID, SchoolYear  Grade, Sec
StudID, Grade, Sec  SchoolYear
SchoolYear, Grading, Sec, Subject  Teacher
Teacher, SchoolYear, Grading  Subject
Anomalies in GRADE Relation:
• Anomaly #1: Redundant Attributes
Extra attributes from StudInfo used in Grade relation are redundant, since StudID is already
a primary key in StudInfo.
Fix: Remove redundant attributes.
GRADE (ID, SchoolYear, Grading, Subject, Teacher, Gr, Gd, StudID)
• Anomaly #2: Inefficient data type for Grading / Update anomaly
The Grading attribute uses string values.
Fix: Split and modify GRADE relation.
GRADE (ID, Period, Subject, Teacher, Gr, Gd, StudID)
PERIOD (PeriodID, GradingPeriod)
• Anomaly #3: Redundant primary key
Fix: Replace the single attribute ID as primary key and just use StudID, SchoolYear and
Period as composite key.
GRADE (SchoolYear, StudID, Period, Subject, Teacher, Gr, Gd)
PERIOD (PeriodID, GradingPeriod)
USER
USER (UserID, LastName, FirstName, MiddleName, Designation, UserName, Password)
UserID  LastName, FirstName, MIddleName, Designation, UserName, Password
UserName  UserID, LastName, FirstName, MiddleName, Designation, Password
Anomalies in USER Relation:
• Anomaly #1: Inefficient data type for Designation/ Update anomaly
The Designation attribute uses string values.
Fix: Split and modify USER relation.
USER (UserID, LastName, FirstName, MiddleName, DesignationID, UserName, Password)
DESIGNATIONS (DesignationID, Designation)
GES Modified Relation Schemas
STUDINFO (ID, StudID, FullName)
SECTIONS (SecID, Grade, Sec)
MASTERLIST (SchoolYear, StudID, SecID)
SUBJECT(ID, Subject)
SCHOOLYEAR (ID, SchoolYear)
TEACHER (ID, Teacher)
GRADE (SchoolYear, StudID, Period, Subject, Teacher, Gr, Gd)
PERIOD (PeriodID, GradingPeriod)
USER (UserID, LastName, FirstName, MiddleName, DesignationID, UserName, Password)
DESIGNATIONS (DesignationID, Designation)
STUDINFO
ID (PK)
StudID
FullName
SECTIONS
SecID (PK)
Grade
Sec
MASTERLIST
SchoolYear (FK)
StudID (FK)
SecID
SUBJECT
ID (PK)
SUBJECT
SCHOOLYEAR
ID (PK)
SchoolYear
TEACHER
ID (PK)
Teacher
GRADE
SchoolYear (FK)
StudID (FK)
Period (FK)
Subject (FK)
Teacher (FK)
Gr
Gd
PERIOD
PeriodID (PK)
GradingPeriod
USER
UserID (PK)
LastName
FirstName
MiddlleName
DesignationID (FK)
UserName
Password
DESIGNATIONS
DesignationID (PK)
Designation
GES Modified ERD
Enrolled in
Obtains
Submitted
by
Assigned
to
Prepared
for
Submitted
for
Obtained
during
Grouped by Designates
GES Modified Physical Design
STUDINFO
Field Type
ID (PK) AutoNumber
StudID String
FullName String
SECTIONS
Field Type
SecID (PK) AutoNumber
Grade Number
Sec String
MASTERLIST
Field Type
SchoolYear (FK) Number
StudID (FK) Number
SecID Number
SUBJECT
Field Type
ID (PK) Number
SUBJECT String
SCHOOLYEAR
Field Type
ID (PK) Number
SchoolYear String
TEACHER
Field Type
ID (PK) Number
Teacher String
GRADE
Field Type
SchoolYear (FK) Number
StudID (FK) Number
Period (FK) Number
Subject (FK) Number
Teacher (FK) Number
Gr Number
Gd String
PERIOD
Field Type
PeriodID (PK) Number
GradingPeriod String
USER
Field Type
UserID (PK) Number
LastName String
FirstName String
MiddlleName String
DesignationID (FK) Number
UserName String
Password String
DESIGNATIONS
Field Type
DesignationID (PK) Autonumber
Designation String

database normalization case study

  • 1.
    CS 507 GRADE ENTRYSYSTEM (GES) For Mahardika Institute of Technology Junior High School Department Prepared by: Mr. Abubakar Hiyang Mr. Gilbert Flores Ms. Claire Ong Mr. Armando So III
  • 2.
    The Grade EntrySystem of the Mahardika Institute of Technology, Inc. High school Department to help school faculty in storing, computing and recording of grades of the students. The System has the following functions: • Provide a database for recording and grading report • Speed up the generation of student grades •Systematize the recording of grades information INTRODUCTION
  • 3.
  • 4.
  • 5.
  • 6.
    STUDINFO Field Type ID (PK)AutoNumber StudID String FullName String LastName String FirstName String MiddleName String Grade Number Sec String GRADE Field Type ID (PK) AutoNumber SchoolYear (FK) Number Grading Number Grade Number Sec String Subject (FK) Number Teacher (FK) Number Name String Gr Number Gd String StudID Number SCHOOLYEAR Field Type ID (PK) Number SchoolYear String SUBJECT Field Type ID (PK) Number SUBJECT String TEACHER Field Type ID (PK) Number Teacher String USER Field Type UserID (PK) Number LastName String FirstName String MiddleName String Designation String UserName String Password String GES Physical Design
  • 7.
    Architecture • Database isstored in a single MS Access file. • Database is stored on a single computer on a LAN and shared peer-to-peer to other users. • Administrator manages student info, sections, teachers, and subjects. • Teachers manage grades of students. • At the end of each period, the adviser can produce grading reports of his/her class .
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    GES SCHEMAS ANDFUNCTIONAL DEPENDENCIES
  • 18.
    SUBJECT SUBJECT(ID, Subject) ID Subject SCHOOLYEAR SCHOOLYEAR (ID, SchoolYear) ID  SchoolYear TEACHER TEACHER (ID, Teacher) ID  Teacher
  • 19.
    STUDINFO STUDINFO (ID, StudID,FullName,LastName, FirstName, MiddleName, Grade, Sec, SchoolYear) ID  StudID, FullName StudID  ID, FullName ID, SchoolYear  StudID, FullName, Grade, Sec FirstName, MiddleName, LastName  FullName
  • 20.
    Candidate key: ID SchoolYear Non-PrimaryKeys: Grade, Sec Grade and Sec both are only partially functional dependent to the candidate key, therefore the relation cannot be in 2NF. Only satisfies 1NF. STUDINFO (ID, StudID, FullName,LastName, FirstName, MiddleName, Grade, Sec, SchoolYear) ID  StudID, FullName, FirstName, MiddleName, LastName ID, SchoolYear  StudID, FullName, LastName, FirstName, MiddleName, Grade, Sec
  • 21.
    Anomalies in STUDINFORelation: • Anomaly #1: Redundant Attributes FullName is composite having combined values of FirstName, MiddleName and LastName. Fix: Remove redundant attributes FirstName, MiddleName and LastName. STUDINFO (ID, StudID, FullName, Grade, Sec, SchoolYear) • Anomaly #2: Insertion anomaly Adding new SchoolYear will duplicate values of other attributes like StudID and FullName. Fix: Split STUDINFO. STUDINFO (ID, StudID, FullName, Grade, Sec) MASTERLIST (SchoolYear, StudID, SecID) • Anomaly #3: Insertion anomaly Adding new Sec for each student will duplicate values of other attributes. Sec and Grade has no functional dependency in new STUDINFO relation. Fix: Split STUDINFO STUDINFO (ID, StudID, FullName) - 3NF SECTIONS (SecID, Grade, Sec) – 3NF
  • 22.
    GRADES GRADE (ID, SchoolYear,Grading, Grade, Sec, Subject, Teacher, Name, Gr, Gd, StudID) ID  SchoolYear, Grading, Grade, Subject, Teacher, Name, Gr, Gd, StudID StudID  Name SchoolYear, Grading, Subject, StudID  Gr, Gd, Teacher StudID, SchoolYear  Grade, Sec StudID, Grade, Sec  SchoolYear SchoolYear, Grading, Sec, Subject  Teacher Teacher, SchoolYear, Grading  Subject
  • 23.
    Anomalies in GRADERelation: • Anomaly #1: Redundant Attributes Extra attributes from StudInfo used in Grade relation are redundant, since StudID is already a primary key in StudInfo. Fix: Remove redundant attributes. GRADE (ID, SchoolYear, Grading, Subject, Teacher, Gr, Gd, StudID) • Anomaly #2: Inefficient data type for Grading / Update anomaly The Grading attribute uses string values. Fix: Split and modify GRADE relation. GRADE (ID, Period, Subject, Teacher, Gr, Gd, StudID) PERIOD (PeriodID, GradingPeriod) • Anomaly #3: Redundant primary key Fix: Replace the single attribute ID as primary key and just use StudID, SchoolYear and Period as composite key. GRADE (SchoolYear, StudID, Period, Subject, Teacher, Gr, Gd) PERIOD (PeriodID, GradingPeriod)
  • 24.
    USER USER (UserID, LastName,FirstName, MiddleName, Designation, UserName, Password) UserID  LastName, FirstName, MIddleName, Designation, UserName, Password UserName  UserID, LastName, FirstName, MiddleName, Designation, Password
  • 25.
    Anomalies in USERRelation: • Anomaly #1: Inefficient data type for Designation/ Update anomaly The Designation attribute uses string values. Fix: Split and modify USER relation. USER (UserID, LastName, FirstName, MiddleName, DesignationID, UserName, Password) DESIGNATIONS (DesignationID, Designation)
  • 26.
    GES Modified RelationSchemas STUDINFO (ID, StudID, FullName) SECTIONS (SecID, Grade, Sec) MASTERLIST (SchoolYear, StudID, SecID) SUBJECT(ID, Subject) SCHOOLYEAR (ID, SchoolYear) TEACHER (ID, Teacher) GRADE (SchoolYear, StudID, Period, Subject, Teacher, Gr, Gd) PERIOD (PeriodID, GradingPeriod) USER (UserID, LastName, FirstName, MiddleName, DesignationID, UserName, Password) DESIGNATIONS (DesignationID, Designation)
  • 27.
    STUDINFO ID (PK) StudID FullName SECTIONS SecID (PK) Grade Sec MASTERLIST SchoolYear(FK) StudID (FK) SecID SUBJECT ID (PK) SUBJECT SCHOOLYEAR ID (PK) SchoolYear TEACHER ID (PK) Teacher GRADE SchoolYear (FK) StudID (FK) Period (FK) Subject (FK) Teacher (FK) Gr Gd PERIOD PeriodID (PK) GradingPeriod USER UserID (PK) LastName FirstName MiddlleName DesignationID (FK) UserName Password DESIGNATIONS DesignationID (PK) Designation GES Modified ERD Enrolled in Obtains Submitted by Assigned to Prepared for Submitted for Obtained during Grouped by Designates
  • 28.
    GES Modified PhysicalDesign STUDINFO Field Type ID (PK) AutoNumber StudID String FullName String SECTIONS Field Type SecID (PK) AutoNumber Grade Number Sec String MASTERLIST Field Type SchoolYear (FK) Number StudID (FK) Number SecID Number SUBJECT Field Type ID (PK) Number SUBJECT String SCHOOLYEAR Field Type ID (PK) Number SchoolYear String TEACHER Field Type ID (PK) Number Teacher String GRADE Field Type SchoolYear (FK) Number StudID (FK) Number Period (FK) Number Subject (FK) Number Teacher (FK) Number Gr Number Gd String PERIOD Field Type PeriodID (PK) Number GradingPeriod String USER Field Type UserID (PK) Number LastName String FirstName String MiddlleName String DesignationID (FK) Number UserName String Password String DESIGNATIONS Field Type DesignationID (PK) Autonumber Designation String