CREATE TABLE canvas.artist(
artist_id INTEGER NOT NULL PRIMARY KEY
,full_name VARCHAR(29) NOT NULL
,first_name VARCHAR(12) NOT NULL
,middle_names VARCHAR(16)
,last_name VARCHAR(16) NOT NULL
,nationality VARCHAR(9) NOT NULL
,style VARCHAR(20) NOT NULL
,birth INTEGER NOT NULL
,death INTEGER NOT NULL
);

CREATE TABLE canvas.work(
work_id INTEGER NOT NULL PRIMARY KEY
,name VARCHAR(55) NOT NULL
,artist_id INTEGER NOT NULL
,style VARCHAR(18)
,museum_id INTEGER NOT NULL
);

CREATE TABLE canvas.subject(
work_id INTEGER NOT NULL
,subject VARCHAR(24) NOT NULL
,PRIMARY KEY(work_id, subject)
);

CREATE TABLE canvas.museum(
museum_id INTEGER NOT NULL PRIMARY KEY
,Name VARCHAR(50)
,address VARCHAR(31)
,city VARCHAR(15)
,state VARCHAR(20)
,postal VARCHAR(9)
,country VARCHAR(14)
,phone VARCHAR(20)
,url VARCHAR(61)
);

CREATE TABLE canvas.museum_hours(
museum_id INTEGER NOT NULL
,day VARCHAR(9) NOT NULL
,open VARCHAR(8) NOT NULL
,close VARCHAR(9) NOT NULL
,PRIMARY KEY(museum_id,day)
);

create view work_link as SELECT work.*, 'show image' as image_link from work;

grant select on canvas.artist to public;
grant select on canvas.work to public;
grant select on canvas.subject to public;
grant select on canvas.museum to public;
grant select on canvas.museum_hours to public;
grant select on canvas.work_link to public;
person
navigate_before Table of Contents expand_more navigate_next
Loading Page hourglass_empty