; ; A person who has volunteered to help run the trial ; create table person ( person_id integer, name varchar(80) ); ; ; What skill(s) they have ; create table skills ( skill_entry_id integer, person_id integer references person(person_id), skill varchar(20) ); ; ; Their dog(s) ; create table dog ( dog_id integer dog_name varchar(20), person_id integer references person(person_id) ); ; ; What rings are defined for this trial on this day ; create table ring ( ring_id integer, ring_name varchar(20) ); ; ; The events scheduled for that ring ; create table ring_event ( ring_event_id integer, event_name varchar(20) ring_id integer references ring(ring_id), start_time time, end_time time, num_dogs int ; used to calc end_time ); ; ; When a given dog is scheduled to appear in any given ring ; create table_dog_appearance ( tda_id integer, dog_id integer references dog(dog_id), ring_event_id integer references ring_event(ring_event_id) ); ; ; What skills are needed for a given ring/ring event create table workers_needed ( wn_id integer, skill varchar(50), ring_event_id integer references ring_event(ring_event_id) );