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/16899030/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: 1) lettergrade and possiblepoints do not have a primary key. becuase I'll be reworking these tables entirely, I won't give them one now, but i felt it was important to point out that mistake. 2) the studengrades and possiblepoints table will be renamed to studentgrade and possiblepoint to remove plurals from the name 3) all the tables pass the atmoic value rule but as mentioend previously, there are missing primary keys in two of the tables. to solve this issue we need to make primary keys for lattergrade and possible point, but this is nearly impossible becuase of the amount of redundancy within these tables. the first way I solve this is by taking the Lab0X fields and scrapping them all,replacing them with Assign and Grade, I chose "Assign" instead of Labnum beacuse this allows me to replace the SP field as well, which functionally is identicle to Labnum, its an assigment with a grade stored. I then move these to a one-to-many table known as individual_grade. This may not be necessary but it keeps the studentgrade table looking clean when all the data is implemented. Next is the lettergrade table. This one is simple, I take the LetterGradeX fields and turn them into a single LetterType field, I then take the percentageX fields and merge them into a LetterReq field. I then make StudentId and Assign the primary keys for individual_grade, LetterType the primary Key for lettergrade, and Assign the primary key for possiblepoint. 4) studentgrade violates the rule of reduced form with the StudentName field, to solve this I seperate it into a FirstName and LastName field. this leaves us with the follow four tables: studentgrade (StudentId*, FirstName, LastName, Total, Final, IP) individual_grade (StudentId*, Assign*, Grade) lettergrade (LetterType*, LetterReq) possiblepoint (Assign*, Total) 2NF: 1) the individual_grade table has to be evaluated as it relies on both StudentId and Assign, however they're both primary keys, so it passes. OK 3NF: After looking through all the tables I have concluded that there are no transitive properties, so everything passes OK Three data rows: studentgrade (StudentId*, FirstName, LastName, Total, Final, IP) 84228748, Lael, Abbott, 41, F, F 44107438, Bruce, Acosta, 95, B-, A 21479092, Coby, Fox, 65, F, A individual_grade (StudentId*, Assign*, Grade) 84228748, SP, 4 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, SP, 5 44107438, Lab01, 10 44107438, Lab02, 5 44107438, Lab03, 10 44107438, Lab04, 10 44107438, Lab05, 15 44107438, Lab06, 10 44107438, Lab07, 15 44107438, Lab08, 15 44107438, Lab09, ns 21479092, SP, 5 21479092, Lab01, 10 21479092, Lab02, 5 21479092, Lab03, 10 21479092, Lab04, 10 21479092, Lab05, 15 21479092, Lab06, 10 21479092, Lab07, ng 21479092, Lab08, ns 21479092, Lab09, ns lettergrade (LetterType*, LetterReq) A, 93 A-, 90 B+, 87 possiblepoint (Assign*, Total) SP, 5 Lab01, 10 Lab02, 5