Hey guys, in our last video we looked at adding relationship store existing tables, namely students lectures, and courses. And we also added three new tables. But well two new tables at a time, one for class and one for enrollments. Though In this video, we will look at actually adding data to the class and enrollment tables. If we take a look back at students, we already have data for students who already update in our lecturers table. And we already have data in our courses table.
And we can just look at this data. And it looks rather sensible. We have an ID, we have a title which is in standard English with a number of credits level course code. Everything here is actually human readable and easy to understand at first glance. The challenge with a relational database however, is that once we start introducing relationships into the mix, and let's take the class table for instance, you would notice that all of these columns Except time are actually reference columns I explained to the last video where you see ref that really means a foreign key. So we didn't do room.
So you can go ahead and do room. I'll leave that challenge you. But we'll notice that even enrollment really just has a reference to the student table to under for instance have a class table, which means that we are trying to abstract the fact that when one student enrolls to one class that we will have to see Wilma McDermott's birth date of birth enrollment deeds, in rule two, data mining with three credits with core school. So instead of repeating all of that, because we already have tables, storing all of that, in the table, storing only the reference, what we'll do is just reference the key and we already established that we have foreign keys in there and Roman table which wants to match back to the primary keys in the respective reference tables. Someone's To start off, I'm going to populate the classes table. So I just go to class.
And I can just do this lightning bolt, grid, and it will bring up an empty grid because I have nothing in there. But we can just use this editor view to start inserting some classes. If you want to refresh yourself on the design of the table, you can always just hover over the table name, and you just click that information icon and you can just go to columns, and then it will show you the data type. And remember, all of these are integers, ID is a primary key, which is auto incrementing. And none of them will look lecture ID is actually nullable. So that's just inform how we're going to put in data in this table.
So when we're going to be populating classes, that means I can leave the lecture ideas low. So the the referential integrity on lecture ID aloes order the referential rules around the integrity of the value that goes into this column allows no or more than I can put a value in this column that does not exist in the ID column in the lectures tables, I can put eight, but I can leave it No. All right. So I'm going to go ahead and I'm going to fill in about eight rows here and just reconvene once I'm done. Alright, so I've gone ahead and added some columns here, some rows actually, and you would notice that I'm leaving the top three as normal for the lecture, I just want to show you that you can actually leave this one as well, since it's not level, but any value that goes in most appear as an ID in the actual table.
All right, and then once I've added all those four time, you are allowed to use the 24 digits notation. So that's 1700 really means what 1700 dollars, which is 5pm. All right, so after adding some sample data, and you can just pause and go ahead and add these if you wish, or you can add your own values. Feel free to your database, I just click Apply, which will generate the insert codes for me and apply. And once I'm done with that, we see that we have some classes that exist in our system. Now.
I mean, clearly, these are just numbers. So if you were to just select star from the classes table, you're only going to see a bunch of numbers for each column, at least the way it's designed here, unless you're going to add other details like you know the weight of time. So you probably want B of the week on time, and so on. So how about proper rostering system going on, but either way, the main data which is the lecturer, and the course this lecture is going to teach that data is kind of abstracted upon first glance, because we're using IDs to make reference to the actual details. November you know the enrollments table were following the same During the window, we're just obstructing and we're friends in the class by ID and remote. We just entered all of those classes.
So no, we're just referencing each class by its ID. And then we're linking this instance of a class, which is a lecturer teaching a particle course, at a particular time. We're linking that to one or more students. So I'm actually just going to let everybody here, all of these students that we have in the system, be enrolled to class with ID five. All right, so just enter those really quickly. And I'm going to go ahead and let two other students do two other classes.
So I'm going to enroll them in class with ID six. And I mean, I just look at it I can't tell you who the lecture is or who the which course this is. As I said, I'm just filling in this data as it appears, some of us putting in some sample columns up later or somebody in class with ID Want also. And I'll just choose two random students. So student number seven and student number 21. All right, and remember what their valuables in here must be in the original primary key listing in the original referenced table.
All right, and then I'll just go ahead and apply. And it generates that and you see, it's all it's doing is putting in the value. So I'm not repeating the details. We don't know who these students are, because, you know, we have a few students, but in this database of 1000 students, I'm sure you're not going to memorize the names of students one through 1000. So by using the ID, we're actually obstructing the need to know any details about the student. We just know it's a student, and then you'd probably be wondering, okay, so is it that going forward?
This is how you would be entering data into a database? Well, the simple answer would be that you would have built an application on top of this database And then what you pass down to the database would actually be controlled from your application level. So you wouldn't be, you know, somebody is logged in as students is logged in, you know which students is logged in, because when they log in, you'd have to authenticate them against their student data, whatever. And then you can track this student's ID. And then when you're bringing about the list of courses or classes that they can enroll in, you would have been bringing back the list from this table. And then as we go along in this course, I'll show you how exactly you can write queries because we've done select queries before.
So we'll see how we can write select queries that will actually bring back the details of what is being referenced when we put in these IDs. But notwithstanding that, in a real world situation, you would have actually built an application on top of this, which would display the necessary details to the user so the user wouldn't be seeing five what they We'll be seeing the details, which would be five which involves lecture one and course five. So then we can go and look at who is lecture one, that is Harold Benedict. And of course number five is artificial internet authoring. So then we know that we would present to the user internet authoring with three credits that course code being taught by Benedict Arnold. However, when they fill in that form, and then submit that enrollment request, what we will be storing in our database will be class five, and the students with the ID or whichever students is logged in at the time.
So in the next lecture, we will actually look at how we can go about extracting the details, the clearly necessary details on each of these tables and each records as we delve deeper into renews relational databases.