1 00:00:00,210 --> 00:00:00,660 All right. 2 00:00:00,660 --> 00:00:07,290 So we're going to start off by taking a bit of a step back and talking about two very high level general 3 00:00:07,290 --> 00:00:11,490 questions that are pretty central to everything this course is about. 4 00:00:11,880 --> 00:00:12,880 And they are. 5 00:00:12,900 --> 00:00:15,240 First off, what is database? 6 00:00:15,480 --> 00:00:19,860 It seems like a pretty straightforward question, but there is a little bit of terminology we need to 7 00:00:19,860 --> 00:00:20,610 discuss. 8 00:00:21,810 --> 00:00:24,030 And then secondly, why do they matter? 9 00:00:24,660 --> 00:00:26,300 So let's start off with the first one. 10 00:00:26,310 --> 00:00:27,390 What is a database? 11 00:00:27,390 --> 00:00:30,300 What actually makes something database? 12 00:00:30,300 --> 00:00:33,680 And there are a couple of definitions that we could go with here. 13 00:00:33,690 --> 00:00:37,200 I kind of synthesized some of them into my own definition. 14 00:00:37,200 --> 00:00:38,380 That has two parts. 15 00:00:38,430 --> 00:00:44,700 And the first part is that it's a collection of data, which seems pretty straightforward. 16 00:00:45,120 --> 00:00:51,030 There are all sorts of collections of data around us in the real world, things like when you go to 17 00:00:51,030 --> 00:00:57,840 your doctor's office and there's a filing cabinet full of medical records, or even just a to do list 18 00:00:57,840 --> 00:01:02,310 or a list of things to buy at the grocery store that qualifies as a collection of data. 19 00:01:03,000 --> 00:01:09,390 Or going back a little bit in time, if you remember what Rolodexes were, a Rolodex full of different 20 00:01:09,390 --> 00:01:14,280 people's contact information that qualifies as a database under this definition. 21 00:01:14,580 --> 00:01:21,810 Speaking of archaic technology like a Rolodex, another example of a database is a phone book. 22 00:01:22,650 --> 00:01:28,830 So I say this mainly jokingly, but I actually have some siblings who don't know what phone book is, 23 00:01:28,830 --> 00:01:30,900 or they've never seen one or used one before. 24 00:01:30,930 --> 00:01:36,570 It's a gigantic book, basically, that lets you look up people's phone numbers based off of their name. 25 00:01:36,930 --> 00:01:40,890 So it's usually organized by last name alphabetically for people. 26 00:01:40,890 --> 00:01:45,120 So you would flip through the book until you find someone's last name, and then you would try and match 27 00:01:45,120 --> 00:01:47,300 the first name and then you find their phone number. 28 00:01:47,310 --> 00:01:49,620 So let's take a quick example here. 29 00:01:49,620 --> 00:01:51,600 This is a fictional phone book. 30 00:01:51,630 --> 00:01:56,610 Think of it as just a little section of a phone book that has tens of thousands of entries. 31 00:01:56,910 --> 00:02:00,960 And these are fictional characters alphabetically organized by their last name. 32 00:02:00,960 --> 00:02:06,060 So Archie Andrews becomes before Betty Cooper, who comes before Ned Flanders and so on. 33 00:02:06,360 --> 00:02:08,639 And then we have corresponding phone numbers. 34 00:02:09,389 --> 00:02:14,100 So imagine you have a gigantic phone book with this information in it, and I ask you to do something 35 00:02:14,100 --> 00:02:16,800 like find Ned Flanders phone number. 36 00:02:17,530 --> 00:02:19,600 Well, it's actually pretty straightforward. 37 00:02:19,630 --> 00:02:23,620 As long as you're comfortable using the alphabet in alphabetical order. 38 00:02:23,650 --> 00:02:28,720 You flip through the book until you find F, F, L, and so on, until you find Ned Flanders. 39 00:02:28,720 --> 00:02:30,190 And then you find his phone number. 40 00:02:30,550 --> 00:02:32,290 It's what the phone book is made for. 41 00:02:32,830 --> 00:02:36,960 However, it gets a little trickier or a lot trickier, really. 42 00:02:36,970 --> 00:02:41,920 If I asked you to do something like find everyone in the phone book who has the first name Ned. 43 00:02:42,610 --> 00:02:44,590 There isn't an easy way to do this. 44 00:02:45,520 --> 00:02:50,680 You basically would have to go through every entry in the book and check for however many thousands 45 00:02:50,680 --> 00:02:51,310 there are. 46 00:02:51,340 --> 00:02:53,260 Is this person's name Ned? 47 00:02:54,760 --> 00:02:58,720 So I have a couple other questions that are similarly difficult. 48 00:02:58,720 --> 00:03:04,270 So the point here is just if you were to find all phone numbers with a particular area code or to find 49 00:03:04,270 --> 00:03:07,840 all people who have a three letter first name, it's not easy. 50 00:03:08,050 --> 00:03:10,720 And it would take a lot of time, like a ton of time. 51 00:03:11,650 --> 00:03:17,980 So that brings me to the next component of the definition of what makes something a database, in my 52 00:03:17,980 --> 00:03:24,970 opinion, which is not just a collection of data, it also contains a method for accessing and manipulating 53 00:03:24,970 --> 00:03:25,630 that data. 54 00:03:26,230 --> 00:03:32,560 So going back to this phone book, we would want a way, some sort of program or code that would allow 55 00:03:32,560 --> 00:03:38,110 us to do things like find everybody with the first name Ned or find all people who have a three letter 56 00:03:38,110 --> 00:03:46,000 first name, or even do things like add a new person into the phonebook or change area codes or change 57 00:03:46,000 --> 00:03:50,620 phone numbers, or get crazy and just delete people from our phonebook or delete everybody. 58 00:03:50,620 --> 00:03:56,860 If we wanted to, we would have some sort of program or code as part of our database that would help 59 00:03:56,860 --> 00:03:59,950 with that, that would allow us to interface with the data. 60 00:04:00,670 --> 00:04:05,110 So I did say we were going to dive a little bit into jargon and terminology. 61 00:04:05,290 --> 00:04:09,250 I usually try and stay away from that early on while I try and stay away from that in general, but 62 00:04:09,250 --> 00:04:10,870 especially early on in the course. 63 00:04:11,470 --> 00:04:17,260 Basically, if you've read about databases, if you've used one before, if you've read a blog post 64 00:04:17,260 --> 00:04:23,620 about them, you may have come across the term database management system or relational database management 65 00:04:23,620 --> 00:04:28,930 system or DMS or RB DMS and all these different acronyms. 66 00:04:29,320 --> 00:04:36,130 Basically, this right here, what I have on the screen database versus database management system refers 67 00:04:36,130 --> 00:04:42,280 to the fact that what I just talked about, having data, a collection of data and then having an interface 68 00:04:42,280 --> 00:04:45,280 for that data are two different things. 69 00:04:45,280 --> 00:04:46,930 So let me show you a quick example. 70 00:04:47,890 --> 00:04:55,510 Imagine that you have an application, let's say it is a dating app, and then you have a database and 71 00:04:55,510 --> 00:05:00,340 you're storing all sorts of information, all the different users, all the different messages that 72 00:05:00,340 --> 00:05:04,090 have been sent, the photos, whatever else goes into your dating app. 73 00:05:04,090 --> 00:05:08,400 But on its own, the database here is basically like our phonebook. 74 00:05:08,410 --> 00:05:15,310 It's a gigantic collection of data, which is great for storing data, but it really doesn't let us 75 00:05:15,310 --> 00:05:16,170 do very much. 76 00:05:16,180 --> 00:05:19,870 You can almost think of it as if it was a gigantic file on your computer. 77 00:05:19,870 --> 00:05:28,120 So for our application to be able to do things like update somebody's username in the database or edit 78 00:05:28,120 --> 00:05:34,660 their profile photo or delete a user if they want to leave our application, whatever it is, there's 79 00:05:34,660 --> 00:05:39,160 a database management system that allows us to interface with that database. 80 00:05:39,160 --> 00:05:43,840 So it's just the code or the program that does the talking to our database for us. 81 00:05:43,840 --> 00:05:47,980 So we talk to our database management system and it talks to the database. 82 00:05:48,370 --> 00:05:48,770 Okay. 83 00:05:48,790 --> 00:05:51,640 So for the most part, we're out of the weeds with the jargon here. 84 00:05:52,150 --> 00:05:58,960 The reason I brought this up, though, is that oftentimes when people talk about a database, you actually 85 00:05:58,960 --> 00:06:04,360 hear them referring to both of these things, the database management system and the database together 86 00:06:04,480 --> 00:06:07,000 just as a database. 87 00:06:07,450 --> 00:06:12,220 So what I have right here is a list of some of the more common databases you'll run into. 88 00:06:12,490 --> 00:06:14,290 And actually, I just did it there. 89 00:06:14,290 --> 00:06:21,310 What I was just talking about these four things, PostgreSQL, my SQL, Oracle SQL Light, they're not 90 00:06:21,310 --> 00:06:27,550 technically databases, they're actually database management systems, but for the most part, people 91 00:06:27,550 --> 00:06:29,200 just call them databases. 92 00:06:29,200 --> 00:06:34,720 So when we say things like, my SQL is one of the most commonly used databases, it's actually one of 93 00:06:34,720 --> 00:06:37,660 the most commonly used database management systems. 94 00:06:37,810 --> 00:06:40,210 So it's not the end of the world if you forget about that. 95 00:06:40,210 --> 00:06:45,220 But it is important because it will help you understand later on when we actually start talking about 96 00:06:45,220 --> 00:06:50,980 SQL, when we start talking about some of the code that you write to interact with the database, I 97 00:06:50,980 --> 00:06:55,750 think it will help you understand what you're doing and that you're giving commands to this database 98 00:06:55,750 --> 00:07:01,360 management system, which then goes and gives commands to the actual data itself or to the database 99 00:07:01,360 --> 00:07:02,020 itself. 100 00:07:04,300 --> 00:07:08,410 So to wrap everything up, here's a little bit of a synthesized definition. 101 00:07:09,470 --> 00:07:10,490 What is the database? 102 00:07:10,520 --> 00:07:16,040 Well, it's a structured set of computerized data with an accessible interface.