SQL Database Design

A private kindergarten, Happy Learning, wants to build a database to manage their operations. You were assigned to create an initial design based on the following customer description of their operations.

There are 3 age levels in the kindergarten (turtles, foxes and monkeys). At each level there 3 classes (red, blue and green). For a class we keep a code based on the initial of group color and level (e.g. RT for red turtles, GF for green foxes). Each class has a room number and a phone number (with the format 999-999-9999). Classes may share phone number. Also, each class has a maximum capacity (between 25 and 30). For all classes we will keep brief directions to the class location in the building (at most 150 characters).

For a student we will keep the name (first, last, middle each at most 21 characters), any nickname (at most 15 characters), date of birth, address, and the class in which the student is currently enrolled. We will process students based on their first and last name, or nickname, if present. We will process the address based on the city (at most 15 characters), zipcode-5 and street (at most 35 characters) to identify recruiting areas.

For each student we will keep information about one or more parents (or caretakers). A parent may have several students enrolled in the kindergarted. For a parent (or caretaker) we will keep the name (first, last, middle – as above), home phone number, mobile phone number, work phone number, (same format as above), the personal email (at most 30 characters) and relationship to the child (e.g. father, mother, grandfather). At least one type of phone is required, but some parents may not provide all types of phone numbers. Some parents do not provide emails. We will process parents based on their last name.

Each class has a teacher assigned. A teacher is assigned to a single class. For a teacher we keep the name (first, middle, last – as above), home phone number, work email, personal email, the graduated college and their highes degree (e.g. BS, MS, MA, … – a maximum five characters code) and the area of the degree (at most 25 characters). All the teachers must have at least bachelor degree. We will process teachers based on their first and last name, phone, email. The format for the name, phone, email as described above.