Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "private_network", ip: "192.168.33.16"
config.vm.synced_folder "./", "/home/vagrant/", create: true, :nfs => true
config.vm.synced_folder "./", "/home/vagrant/", create: true
config.vm.provider "virtualbox" do |vb|
vb.memory = "512"
end
Expand Down
63 changes: 63 additions & 0 deletions dumps/students/s_07/schema.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
DROP TABLE IF EXISTS persons CASCADE;
DROP TABLE IF EXISTS agents CASCADE;
DROP TABLE IF EXISTS countries CASCADE;
DROP TABLE IF EXISTS persons_agents CASCADE;
DROP TABLE IF EXISTS cities CASCADE;
DROP TABLE IF EXISTS tours CASCADE;
DROP TABLE IF EXISTS persons_tours CASCADE;

CREATE TABLE persons(
id SERIAL PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
code_name VARCHAR(20) NOT NULL,
born_year SMALLINT NOT NULL CONSTRAINT positive_age CHECK (born_year > 1900) AND (born_year < 2000)
);

CREATE TABLE agents(
id SERIAL PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
code_name VARCHAR(20) NOT NULL,
online BOOLEAN,
experience SMALLINT NOT NULL CONSTRAINT positive_age CHECK (experience >= 0),
description TEXT
);

CREATE TABLE persons_agents(
id SERIAL PRIMARY KEY,
person_id INT REFERENCES persons (id),
agent_id INT REFERENCES agents (id)
);

CREATE TABLE countries(
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
code VARCHAR(3) NOT NULL
);

CREATE TABLE cities(
id SERIAL PRIMARY KEY,
country_id INT REFERENCES countries (id),
name VARCHAR(50) NOT NULL,
type VARCHAR(20)
);

CREATE TABLE tours(
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
city_from_id INT REFERENCES cities (id),
city_to_id INT REFERENCES cities (id),
price INT CONSTRAINT positive_area CHECK (price > 0),
departure_date TIMESTAMP WITH TIME ZONE,
ammount_of_night INT CONSTRAINT positive_area CHECK (ammount_of_night > 0)
);

CREATE TABLE persons_tours(
id SERIAL PRIMARY KEY,
person_id INT REFERENCES persons (id),
tour_id INT REFERENCES tours (id)
);