| 1 | CREATE TABLE city(
|
|---|
| 2 | cityname varchar(50) primary key
|
|---|
| 3 | );
|
|---|
| 4 |
|
|---|
| 5 | CREATE TABLE faculty(
|
|---|
| 6 | facultyid serial primary key,
|
|---|
| 7 | facultyname varchar(255) not null,
|
|---|
| 8 | cityname varchar(255) references city(cityname)
|
|---|
| 9 | );
|
|---|
| 10 |
|
|---|
| 11 | CREATE TABLE building(
|
|---|
| 12 | buildingid serial primary key,
|
|---|
| 13 | cityname varchar(255) references city(cityname),
|
|---|
| 14 | building_adress varchar(255)
|
|---|
| 15 | );
|
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 | CREATE TABLE appuser(
|
|---|
| 19 | userid serial unique not null,
|
|---|
| 20 | prezime varchar(13) not null,
|
|---|
| 21 | ime varchar(200) not null,
|
|---|
| 22 | pass varchar(200) not null,
|
|---|
| 23 | phone_number varchar(30) not null,
|
|---|
| 24 | city_of_residency varchar(50),
|
|---|
| 25 | datumragj date
|
|---|
| 26 | );
|
|---|
| 27 |
|
|---|
| 28 | CREATE TABLE administrator(
|
|---|
| 29 | adminid integer primary key references appuser(userid),
|
|---|
| 30 | adminrole varchar(255) not null
|
|---|
| 31 | );
|
|---|
| 32 |
|
|---|
| 33 | CREATE TABLE apartment_owner(
|
|---|
| 34 | ownerid integer primary key references appuser(userid)
|
|---|
| 35 | );
|
|---|
| 36 |
|
|---|
| 37 | CREATE TABLE student(
|
|---|
| 38 | studentid integer not null primary key references appuser(userid),
|
|---|
| 39 | facultyid integer not null references faculty(facultyid),
|
|---|
| 40 | age integer,
|
|---|
| 41 | gender varchar(255)
|
|---|
| 42 | );
|
|---|
| 43 |
|
|---|
| 44 | CREATE TABLE apartment(
|
|---|
| 45 | apartmentid serial primary key,
|
|---|
| 46 | buildingid integer references building(buildingid) not null,
|
|---|
| 47 | ownerid integer references apartment_owner(ownerid) not null,
|
|---|
| 48 | apartment_adress varchar(255) not null,
|
|---|
| 49 | apartment_size varchar(255) not null
|
|---|
| 50 |
|
|---|
| 51 | );
|
|---|
| 52 |
|
|---|
| 53 |
|
|---|
| 54 |
|
|---|
| 55 |
|
|---|
| 56 | CREATE TABLE apartment_agreement(
|
|---|
| 57 | apartment_agreementid serial primary key,
|
|---|
| 58 | apartmentid integer not null references apartment(apartmentid),
|
|---|
| 59 | ownerid integer not null references apartment_owner(ownerid),
|
|---|
| 60 | date_signed date not null,
|
|---|
| 61 | date_expires date not null,
|
|---|
| 62 | apartment_rent integer not null
|
|---|
| 63 | );
|
|---|
| 64 |
|
|---|
| 65 |
|
|---|
| 66 |
|
|---|
| 67 |
|
|---|
| 68 | CREATE TABLE post(
|
|---|
| 69 | postid serial primary key,
|
|---|
| 70 | cityname varchar(255) references city(cityname),
|
|---|
| 71 | number_of_roommates integer not null,
|
|---|
| 72 | price integer not null,
|
|---|
| 73 | date_posted date not null,
|
|---|
| 74 | description varchar(255)
|
|---|
| 75 | );
|
|---|
| 76 |
|
|---|
| 77 |
|
|---|
| 78 |
|
|---|
| 79 |
|
|---|
| 80 | CREATE TABLE student_post(
|
|---|
| 81 | student_postid integer primary key references post(postid),
|
|---|
| 82 | studentid integer not null references student(studentid)
|
|---|
| 83 | );
|
|---|
| 84 |
|
|---|
| 85 | CREATE TABLE owner_post(
|
|---|
| 86 | owner_postid integer not null primary key references post(postid),
|
|---|
| 87 | apartmentid integer not null references apartment(apartmentid),
|
|---|
| 88 | ownerid integer not null references apartment_owner(ownerid)
|
|---|
| 89 | );
|
|---|
| 90 |
|
|---|
| 91 | CREATE TABLE apartment_photos(
|
|---|
| 92 | postid integer references owner_post(owner_postid) primary key,
|
|---|
| 93 | photosurl varchar(1000)
|
|---|
| 94 | );
|
|---|
| 95 |
|
|---|
| 96 | CREATE TABLE moderates_posts_for(
|
|---|
| 97 | cityname varchar(255) not null references city(cityname),
|
|---|
| 98 | adminid integer not null references administrator(adminid),
|
|---|
| 99 | primary key(cityname,adminid)
|
|---|
| 100 | );
|
|---|
| 101 |
|
|---|
| 102 | CREATE TABLE student_signs(
|
|---|
| 103 | studentid integer not null references student(studentid),
|
|---|
| 104 | agreementid integer not null references apartment_agreement(apartment_agreementid),
|
|---|
| 105 | primary key(studentid,agreementid)
|
|---|
| 106 | ); |
|---|