carolineartz
2/10/2014 - 4:01 AM

Solution for Database Drill: Many To Many Schema

Solution for Database Drill: Many To Many Schema

Solution for Challenge: Database Drill: Many To Many Schema. Started 2014-02-10T04:01:00+00:00

<?xml version="1.0" encoding="utf-8" ?>
<!-- SQL XML created by WWW SQL Designer, http://code.google.com/p/wwwsqldesigner/ -->
<!-- Active URL: https://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 &amp; 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="222" y="177" name="authors">
        <row name="id" null="0" autoincrement="1">
            <datatype>INTEGER(10)</datatype>
        </row>
        <row name="first_name" null="1" autoincrement="0">
            <datatype>VARCHAR(60)</datatype>
            <comment>allow null for authors with one name</comment>
        </row>
        <row name="last_name" null="0" autoincrement="0">
            <datatype>VARCHAR(60)</datatype>
        </row>
        <row name="created_at" null="0" autoincrement="0">
            <datatype>TIMESTAMP</datatype>
        </row>
        <row name="updated_at" null="0" autoincrement="0">
            <datatype>TIMESTAMP</datatype>
        </row>
        <key type="PRIMARY" name="">
            <part>id</part>
        </key>
    </table>
    <table x="477" y="114" name="authors_books">
        <row name="id" null="0" autoincrement="1">
            <datatype>INTEGER(20)</datatype>
        </row>
        <row name="author_id" null="0" autoincrement="0">
            <datatype>INTEGER(10)</datatype>
            <relation table="authors" row="id" />
        </row>
        <row name="book_id" null="0" autoincrement="0">
            <datatype>INTEGER(20)</datatype>
            <relation table="books" row="id" />
        </row>
        <key type="PRIMARY" name="order_id">
            <part>id</part>
        </key>
        <key type="INDEX" name="">
            <part>id</part>
        </key>
    </table>
    <table x="720" y="165" name="books">
        <row name="id" null="0" autoincrement="1">
            <datatype>INTEGER(20)</datatype>
        </row>
        <row name="title" null="0" autoincrement="0">
            <datatype>VARCHAR(100)</datatype>
        </row>
        <row name="publisher_id" null="1" autoincrement="0">
            <datatype>INTEGER(10)</datatype>
            <relation table="publishers" row="id" />
            <comment>default to empty, but allow null for special cases when publisher is unknown or does not exist</comment>
        </row>
        <row name="created_at" null="0" autoincrement="0">
            <datatype>TIMESTAMP</datatype>
        </row>
        <row name="updated_at" null="0" autoincrement="0">
            <datatype>TIMESTAMP</datatype>
        </row>
        <key type="PRIMARY" name="">
            <part>id</part>
        </key>
    </table>
    <table x="464" y="296" name="publishers">
        <row name="id" null="0" autoincrement="1">
            <datatype>INTEGER(10)</datatype>
        </row>
        <row name="name" null="0" autoincrement="0">
            <datatype>VARCHAR(60)</datatype>
        </row>
        <row name="address" null="0" autoincrement="0">
            <datatype>VARCHAR(100)</datatype>
        </row>
        <row name="created_at" null="0" autoincrement="0">
            <datatype>TIMESTAMP</datatype>
        </row>
        <row name="updated_at" null="0" autoincrement="0">
            <datatype>TIMESTAMP</datatype>
        </row>
        <key type="PRIMARY" name="">
            <part>id</part>
        </key>
    </table>
</sql>