I welcome the module for this is less than 4.1 requirement review. And this lesson, we're gonna go over the applications summary form. This document will be available for download as well, and you can go ahead and pull it up if you'd like to preview it as we go through this slide.
Now, something to consider when reviewing this document is that requirements are often bag or not precise. We do want to be able to recognize models and concepts in descriptions when we see them.
This document describes the entire application in general and not just the database.
So something to keep in mind when dealing with these type of requirements is that customers are often not developers, and this can create a communication barrier.
Now the document that will be looking at describes an education database and some obvious models pop into my head. When I think of an education database, I think of users, students, courses, teachers, grades
And when I think of these models, I think can we simplify these models somehow,
uh, is a student. A user is a teacher, A user? Would we use separate tables? Would we use a type column on the user table.
Is the user polymorphic? And how would we represent that in a database? E. R D Diagram.
What type of relationship should we expect? One too many, many too many? Well,
honestly, if you're building any kind of database application that's going to even go into even a moderate level complexity, you really need to expect that all the relationships are going to show up now. With that said, let's take a look at the document that describes our application requirements,
and this is the application description document. This document will be available for download, so feel free to download it and print it out if you need.
So let's go ahead and walk through this.
The application description Management needs an application for a customer that is education centric. The application will provide users the ability to store and retrieve student data, teacher data course data and grades.
Teacher and students should be able to view information related to their data. For example, a teacher convey you their students. A student can view their courses and teachers specific details listed below
and the users paragraph. We could see that users all the application include administrative staff, students and teachers. Administrative staffs will be able to access all data and chain settings that define its student debt a teacher, data course data and student greats. Now, this is a great example
off something that doesn't really apply to us as the database designers is faras
function goes, we are gonna be responsible for controlling how administrative staff interact with the data. We, however, just gonna make sure that our database has the data that facilitates the decision making related to that function. For example, there
is going to be administrative staff, so there needs to be a way that our database
identifies a user as administrative staff.
The front end application designers would be worried about how the administrative staff moves through the application soas faras controlling how they interact and change data that would be in their domain. We just want to make sure that that data exists and it's something that they can actually do
because it's present in the database.
So moving on, students will be able to enroll in courses, view grades and view course data. Teachers will be able to view student data course enrollment information and view slash edit student grades that more or less falls in line with the the application developers handling the function.
We need to make sure the data is there to facilitate that function.
The next paragraph course data course data will include title category, building, room number, assigned instructors and students. Courses will have a maximum student limit that cannot be exceeded.
Courses will have a minimum that, if not reached, incurs cancellation off the course.
Students and instructors cannot enroll or teach in the same course in the same period more than once.
Student A cannot enroll in the same biology course twice during the same semester.
Now we're going to student data.
Student data will include name, address, phone number, grades, course enrollments, professors that have had instructed or are instructed the students in courses. Instructor Data Instructor Data will include name addresses, phone number
course assignments, students they have had or currently instructing.
So some obvious models it immediately popping in my head when I read through this description includes the courses that students the instructors, three users, the see the building in the room number. We really need to think about how
we're gonna combine those into one table or if we're going to need multiple tables like, Do we need a teacher table, a student table, a administrative staff table? Or is there a way to make that one table,
or is there a way to facilitate that in a relationship? Pivot? These are things that we want to consider and think about as we move through the lessons, we will identify and solve the problems effectively and efficiently. But be sure to think about it as well. How you might solve this problem or solve or create the database to facilitate
the needs of this document,
and that brings us to the requirement review summary. So what did we do in this lesson?
Well, we reviewed the requirement document. We tried to identify the models that we would need to facilitate the requirements in that document, and we also try to identify the relationships that we expect between those models. Now, be sure to read through the application description
and really think about the models and relationships that we would need to effectively and efficiently
implement the database that meets the requirements of that document and the next few lessons. We of course, they're going to be implementing the models in the relationships using R p HPR Titian development environment that we establish in the previous lessons. We'll think about that before we actually go through it
so that you can see if we solve the problem in the same way.
In any case, that completes this lesson and I hope to see you in the next thank you.