Last active
December 19, 2015 13:19
-
-
Save TGSmith/caed53018072d194e420 to your computer and use it in GitHub Desktop.
Solution for University Course Database Design
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Solution for Challenge: University Course Database Design. Started 2013-07-09T21:19:57+00:00 | |
http://min.us/lbpNuNnFYBkAQJ | |
<?xml version="1.0" encoding="utf-8" ?> | |
<!-- SQL XML created by WWW SQL Designer, http://code.google.com/p/wwwsqldesigner/ --> | |
<!-- Active URL: http://socrates.devbootcamp.com/sql.html --> | |
<sql> | |
<datatypes db="mysql"> | |
<group label="Numeric" color="rgb(238,238,170)"> | |
<type label="Integer" length="0" sql="INTEGER" re="INT" quote=""/> | |
<type label="Decimal" length="1" sql="DECIMAL" re="DEC" quote=""/> | |
<type label="Single precision" length="0" sql="FLOAT" quote=""/> | |
<type label="Double precision" length="0" sql="DOUBLE" re="DOUBLE" quote=""/> | |
</group> | |
<group label="Character" color="rgb(255,200,200)"> | |
<type label="Char" length="1" sql="CHAR" quote="'"/> | |
<type label="Varchar" length="1" sql="VARCHAR" quote="'"/> | |
<type label="Text" length="0" sql="MEDIUMTEXT" re="TEXT" quote="'"/> | |
<type label="Binary" length="1" sql="BINARY" quote="'"/> | |
<type label="Varbinary" length="1" sql="VARBINARY" quote="'"/> | |
<type label="BLOB" length="0" sql="BLOB" re="BLOB" quote="'"/> | |
</group> | |
<group label="Date & Time" color="rgb(200,255,200)"> | |
<type label="Date" length="0" sql="DATE" quote="'"/> | |
<type label="Time" length="0" sql="TIME" quote="'"/> | |
<type label="Datetime" length="0" sql="DATETIME" quote="'"/> | |
<type label="Year" length="0" sql="YEAR" quote=""/> | |
<type label="Timestamp" length="0" sql="TIMESTAMP" quote="'"/> | |
</group> | |
<group label="Miscellaneous" color="rgb(200,200,255)"> | |
<type label="ENUM" length="1" sql="ENUM" quote=""/> | |
<type label="SET" length="1" sql="SET" quote=""/> | |
<type label="Bit" length="0" sql="bit" quote=""/> | |
</group> | |
</datatypes><table x="182" y="69" name="students"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="first_name" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="last_name" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="grade_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default><relation table="sections" row="id" /> | |
</row> | |
<row name="class_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="504" y="137" name="classes"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="name" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="teacher_id" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="department_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="358" y="148" name="sections"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="start_time" null="1" autoincrement="0"> | |
<datatype>TIME</datatype> | |
<default>NULL</default></row> | |
<row name="end_time" null="1" autoincrement="0"> | |
<datatype>TIME</datatype> | |
<default>NULL</default></row> | |
<row name="M_W_F" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="T_TH" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="grades" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="teacher_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default><relation table="teachers" row="id" /> | |
</row> | |
<row name="class_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default><relation table="classes" row="id" /> | |
</row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="171" y="286" name="teachers"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="student_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="section_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="769" y="279" name="departments"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="class_id" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="349" y="23" name="students_sections"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="student_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default><relation table="students" row="id" /> | |
</row> | |
<row name="section_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default><relation table="sections" row="id" /> | |
</row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="660" y="140" name="classes_departments"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="department_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default><relation table="departments" row="id" /> | |
</row> | |
<row name="class_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default><relation table="classes" row="id" /> | |
</row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
</sql> | |
#Time Constraints | |
#To deal with time constraints we would first select the sections, start and end times, and the days of the classes from students | |
#we would check ruby to see if any of the times overlap. We would add a section to student schedule unless that time/day is already taken. | |
#we would do the same thing for the teachers. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment