Open Schema/Table/People
Abstract
A person represents a person in real life. See People to see the bigger picture.
Tables
People
CREATE TABLE person (
person_id INTEGER PRIMARY KEY
, gender CHAR(1) -- M/F
, birth DATETIME -- When were they born?
, death DATETIME -- When did they die?
, died BOOLEAN -- Have they died?
);
Most of the information about people isn't unique, especially their name. They can have more than one name, address, phone number, etc...
Person_Email_Addresses
CREATE TABLE person_email_addresses (
person_email_address INTEGER PRIMARY KEY
, person_ID INTEGER FOREIGN KEY (people) NOT NULL
, email_address_id INTEGER FOREIGN KEY (email_addresses) NOT NULL
, name VARCHAR
);