Here is the actual SQL statements used to implement the PhysicalDatabaseDesign in Postgresql:



CREATE TABLE address (
        addressid                               serial PRIMARY KEY,
        addressline1                            varchar(100),
        addressline2                            varchar(100),
        addressline3                            varchar(100),
        city                                    varchar(20),
        state                                   char(2),
        zipcode                                 integer
);

CREATE TABLE property (
        propertyid                              serial PRIMARY KEY,
        taxid                                   varchar(100),
        dedicationdate                          date,
        sellingprice                            integer,
        addressid                               integer CONSTRAINT addresskey1 REFERENCES address(addressid)
);

CREATE TABLE propertyvalue (
        propertyvalueid                         serial PRIMARY KEY,
        assessmentdate                          date,
        value                                   integer,
        propertyid                              integer CONSTRAINT propertyidref3 REFERENCES property(propertyid)

);

CREATE TABLE insurancecompany (
        insurancecompanyid                      serial PRIMARY KEY,
        companyname                             varchar(120),
        companyid                               varchar(100),
        phonenumber                             varchar(20),
        faxnumber                               varchar(20),
        addressid                               integer CONSTRAINT addresskey2 REFERENCES address(addressid)
);

CREATE TABLE insurancedata (
        insurancedataid                         serial PRIMARY KEY,
        policynumber                            varchar(100),
        insurancecompanyid                      integer CONSTRAINT insurancecompanyidref REFERENCES insurancecompany(insurancecompanyid),
        rate                                    integer,
        policyeffectivedate                     date,
        policyexpirationdate                    date,
        paymentdate                             date,
        propertyid                              integer CONSTRAINT propertyref REFERENCES property(propertyid)
);

CREATE TABLE homeowner (
        homeownerid                             serial PRIMARY KEY,
        firstname                               varchar(20),
        middlename                              varchar(20),
        lastname                                varchar(20),
        birthdate                               date,
        spousefirstname                         varchar(20),
        spousemiddlename                        varchar(20),
        spouselastname                          varchar(20),
        spousebirthdate                         date,
        currentaddressid                        integer CONSTRAINT currentaddresskey1 REFERENCES address(addressid),
        moveindate                              date,
        propertyid                              integer CONSTRAINT propertyref REFERENCES property(propertyid)
);

CREATE TABLE mortgagedata (
        homeownerid                             integer PRIMARY KEY CONSTRAINT mortgagedatareference REFERENCES homeowner(homeownerid),
        settlementdate                          date,
        incomeasofsettlementdate                integer,
        expectedmonthlypayment                  integer,
        enddate                                 date,
        initialprinciplebalance                 integer,
        initialescrowbalance                    integer,
        principlebalance                        integer,
        escrowbalance                           integer
);

CREATE TABLE mortgagepayment (
        mortgagepaymentid                       serial PRIMARY KEY,
        homeownerid                             integer CONSTRAINT mortgagepaymentreference REFERENCES mortgagedata(homeownerid),
        invoicedate                             date,
        paymentduedate                          date,
        paymentreceiveddate                     date,
        amount                                  integer,
        amountpaid                              integer,
        amountappliedtoprinciple                integer,
        amountappliedtoescrow                   integer,
        paymenttype                             varchar(20),
        paymentnumber                           integer
);

CREATE TABLE arreagecredit (
   arreagecreditid                              serial PRIMARY KEY,
        amount                                  integer,
        appliedfromid                           integer CONSTRAINT appliedfromreference REFERENCES mortgagepayment(mortgagepaymentid),
        appliedtoid                             integer CONSTRAINT appliedtoreference REFERENCES mortgagepayment(mortgagepaymentid)
);

CREATE TABLE sweatequitybalance (
        homeownerid                             integer PRIMARY KEY CONSTRAINT sweatequitybalanceref REFERENCES homeowner(homeownerid),
        sweatequityhours                        integer
);

CREATE TABLE sweatequity (
        sweatequityid                           serial PRIMARY KEY,
        sedate                                  date,
        amount                                  integer,
        name                                    varchar(50),
        sweatequitybalanceid                    integer CONSTRAINT sweateqbalanceref REFERENCES sweatequitybalance(homeownerid)
);

CREATE TABLE taxdata (
        taxdataid                               serial PRIMARY KEY,
        duedate                                 date,
        datepaid                                date,
        amount                                  integer,
        taxtype                                 varchar(15) CONSTRAINT taxtypecheck CHECK ((taxtype = 'CITY') OR (taxtype='COUNTY') OR (taxtype='SCHOOL')),
        propertyid                              integer CONSTRAINT propertyidref2 REFERENCES property(propertyid)
);

CREATE TABLE homeownerchild (
        homeownerchildid                        serial PRIMARY KEY,
        firstname                               varchar(20),
        middlename                              varchar(20),
        lastname                                varchar(20),
        birthdate                               date,
        homeownerid                             integer CONSTRAINT homeownerchildref REFERENCES homeowner(homeownerid)
);

CREATE TABLE users (
        username                                varchar(50) PRIMARY KEY,
        userpassword                            varchar(50)
);

CREATE TABLE userroles (
        username                                varchar(50) CONSTRAINT usernamereference REFERENCES users(username),
        userrole                                varchar(50),
        PRIMARY KEY(username,userrole)
);


Valid XHTML 1.0! Valid CSS!
Page Execution took real: 123.210, user: 14.130, sys: 0.660 seconds