comp730:MeAndYou Project Master Attributes

=2017 MeAndYou Project Attributes=

1. Introduction
The current attributes in use of by MySQL database for Me And You project.

2. Purpose

 * To list the different tables of the database.
 * To show the attributes for each table.
 * To designate the keys and their relationships

3. Tables
Consists of (9) tables: person, roles, notifications, userNotifications, matches, searches, searchAttribute, attribute, and attributeType.

4. Attributes

 * Person
 * PersonID [PK]
 * userName
 * firstName
 * middleName
 * lastName
 * password
 * secretAnswer1
 * secretAnswer2
 * secretAnswer3
 * thisTimeStamp


 * Roles
 * RolesID [PK]
 * PersonID [FK]
 * roleType
 * roleName
 * thisTimeStamp


 * Notifications
 * NotificationsID [PK]
 * Value
 * linksTo


 * userNotifications
 * userNotificationID [PK]
 * NotificationsID [FK]
 * PersonID [FK]
 * hasBeenViewed
 * thisTimeStamp


 * Matches
 * matchesID [PK]
 * searchSearchID [FK]
 * matchSearchID [FK]
 * matchType
 * matchPercent
 * thisTimeStamp


 * Searches
 * searchesID [PK]
 * personID [FK]
 * nameOfSearch
 * searchType
 * thisTimeStamp
 * thisStatus


 * searchAttribute
 * searchAttributeID [PK]
 * searchesID [FK]
 * personID [FK]
 * attributeID [FK]


 * Attribute
 * AttributeID [PK]
 * searchesID [FK]
 * AttributeTypeID [FK]
 * personID [FK]
 * itemValue
 * thisTimeStatus


 * attributeType
 * attributeTypeID [PK]
 * name
 * friendly_name
 * data_type
 * minLength
 * maxLength
 * regex

=2016 MeAndYou Project Attributes=

1. Introduction
This shows the current attributes within use of the database for Me And You project. Breaks down the different tables and shows the attributes for each table. Also being broken down are the keys (primary and foreign) which is how the tables relate to each other.

2. Purpose

 * To list the different tables of the database.
 * To show the attributes for each table.
 * To designate the keys and to what they relate.

3. Tables
Consists of (5) tables: person, matches, searches, emails, and phones.

4. Attributes
The following are the attributes for each table. The ones labeled (pk) are primary keys; the ones labeled (fk) are foreign keys.
 * Person table: has no foreign keys
 * username (pk) [varchar]   -  is the email
 * password [varchar]
 * firstName [varchar]
 * lastName [varchar]
 * phoneNumber [varchar]
 * gender [varchar]
 * birthDate [date]
 * address [varchar]
 * city [varchar]
 * state [varchar]
 * zipCode [varchar]
 * dateTimeStamp [date]


 * Matches table: has 2 foreign keys (userName1 and userName2 which connect to Person table)
 * userName1(fk) [varchar]   - is a person from the person table
 * userName2(fk) [varchar]  - is a person from the person table
 * matchCriteria [varchar]
 * matchPercent [int]
 * dateTimeStamp [date]


 * Searches table: has 1 foreign key (username which connects to the person starting the search in the Person table)
 * searchID (pk) [int]   - is auto incremented
 * userName(fk) [varchar] **** is the email of the person searching
 * firstName [varchar]
 * lastName [varchar]
 * status [varchar]
 * dateTimeStamp [date]


 * Emails table: has 1 foreign key (userName which connects to the Person table) it also has a composite primary key of (2) attributes: userName and email
 * userName (pk)(fk) [varchar]
 * email (pk) [varchar]
 * dateTimeStamp [date]


 * Phones table: has 1 foreign key (userName which connects to the Person table) it also has a composite primary key of (2) attributes: userName and phone
 * userName (pk)(fk) [varchar]
 * phone (pk) [varchar]
 * dateTimeStamp [date]