/* Dogwatching Observations */ /* using domains and constraints to implement ennumerated types */ CREATE DOMAIN gender AS char CHECK ( VALUE = 'm' OR VALUE = 'f' ); CREATE DOMAIN size AS varchar(10) CHECK ( VALUE = 'small' OR VALUE = 'smaller' OR VALUE = 'medium' OR VALUE = 'larger' OR VALUE = 'big' ); CREATE DOMAIN lowerClothing AS varchar(10) CHECK ( VALUE = 'jeans' OR VALUE = 'trackPants' OR VALUE = 'skirt' ); /* skip the ennumerations for now */ CREATE DOMAIN upperClothing AS varchar(10); CREATE DOMAIN hat AS varchar(10); CREATE DOMAIN colour AS varchar(15); CREATE DOMAIN id AS int; CREATE TABLE person ( gender gender, size size, lowerClothing lowerClothing, lowerCColour colour, upperClothing upperClothing, upperCColour colour, upperCText varchar(30), hat hat, hatColour colour, personID id, PRIMARY KEY(personID) ); CREATE TABLE dog ( size size, colour colour, dogID int, PRIMARY KEY(dogID) ); CREATE TABLE onLead ( dog id, person id, PRIMARY KEY(dog,person), FOREIGN KEY(dog) REFERENCES dog(dogID), FOREIGN KEY(person) REFERENCES person(personID) );