Hi. In this lesson, we understand what is DBMS? What is Oracle? What are the features of DBMS in general, and some terminology related to relational model. Let's get started. database management system is a system means a collection of programs, it's meant to manage data, data is often considered to be the most important asset of any corporate.
So data is to be efficiently managed, and that's what a DBMS is expected to do. So as you can see in the diagram, database is where the whole data is present. DBMS is managing the data and DBMS in turn is accessed by programs. And these programs talk to DBMS using a language called SQL which we We'll discuss in detail later in the course. Now, what is Oracle Database 18 See, Oracle database is the database management system from Oracle Corporation, which is the most successful database management system out there. And C is standing for cloud computing 18 C is specifically meant for cloud.
Of course, Oracle started providing cloud related cloud oriented database system starting from 12. So, it was called 12 C and prior to that Oracle was focusing on something called grid computing with the 10 G and level G and if you go a little further back, you will find eight I nine I which were primarily targeting in database. So, Oracle database is a database management system, but it is more popularly known as relational database management system because it supports a model called relational model and we see all the details about relational model later in this lesson. Oracle is also known as our DBMS not just a days relational, it is also supporting object model. So, object model is a different model, but predominantly Oracle is relational database, but as it supports object model also, you may call it as the or DBMS object relational database management system.
That's what Oracle is known as. Now, what are the features of in DBMS? What does that Do well this is just a an overview of what NDB ms can do. It maintains integrity of data. It's simple words, it's just menacing validity of data, it makes sure data is valid. It also supports security signs ensuring that data is not accessed by unauthorized users.
But at the same time, it allows users to share data with other users at their own discretion. So if he wants to share his data with others, he can grant permissions called as privileges to others so that others can access a sticker. But can it be done at the same time, of course, that's what we call as concurrency. Two or more users can access the same data at the same time. This is called concurrency, but concurrency can cause problems to handle those issues and to avoid the problems related to data integrity and consistency, or racquel, or any DBMS for that matter will also apply locking. So it ensures that the data that is being modified by one user is not modified by another user.
So that's called locking. And then every DBMS is expected to provide a way to take data into backup device and backup is such an important part of every DBMS. Of course, Oracle provides a lot of options in this regard. And also it allows you to recover from failures because there are different types of failures and Oracle provides options to recover from failure, and Oracle, make sure the database is always up and running. Because we live in the world where 24 by seven is the norm. So database is to be available around the clock, and Oracle is trying to make sure that database is always available.
Even if some parts of database are not available for some good reason, then it still allows you to access the remaining part of the database. Well, all this is going to be in vain if things do not run faster. So performance is the key. The database is supposed to be accessed as quickly as possible. And if you are not able to retrieve data quickly, if you're not able to manipulate data quickly, then it's not acceptable to users. And starting from Oracle tangy they also introduced a new feature called self tuning.
Are auto tuning where the database is trying to fix its problems on its own, trying to make things better on its own. And the last option is auditing where the database is logging the information related to changes made by the user. So whatever changes that are being made, all the changes are stored somewhere. I mean, the information about the changes is being recorded so that you know what's really happening. Every database management system is using a particular model to store data. And there are four major database models are called data models.
And out of these four data models, two of them are pretty outdated hierarchal, and network are no longer Our focus because these two models are no longer in use. So we focus only on relational model predominantly. And that is the model the most widely used. So in this course we focus on relational model. So let's understand what is relational model. The relational model is where the data is stored in the form of a table.
When the data is stored in the form of a table, it becomes easy for everyone to understand it. So here is how your table in relational model looks like. This is the table where we store information about employees and we have employee number name department and when the employee joined. The columns in the table are known as simply columns or attributes. The rows are also known as the tuples. You might call it test samples.
And every column is associated with a name known as column name. And the whole table is given a name. And these are the ingredients of a table. And another very important thing about the table is there must be a column in the table or sometimes a collection of columns to uniquely identify rows in the table. So in this table, if I gave employee number 1003, there is only one row with that particular employee number. Such a column is known as primary key.
So we have employee number as the primary key in this. So here are some details about primary key. It's a column that is used to identify the rows in a table and each table in relational model must have a primary key. And it is what we use to access a row uniquely. So in the table employees employee number is the primary key. And then if you go and look at this table, this is not a table where I can have a single column as primary key.
Because employee number itself cannot be unique starting date of the league cannot be unique. For that matter, none of the columns can be unique. So in such cases, we tried to put multiple columns together. So in this case, I'm putting employee number and starting date together to make it unique. So such a primary key which is made of multiple columns, is known as a composite primary key. You got to remember these terms because we keep running into these terms every now And then so, primary key composite primary key composite primary key is a primary key consisting of multiple columns and then the tables have relationships.
So departments and employees, these two tables have a relationship called as Parent Child are one is too many, one department many employees and in employees table we store a value which can allow us to access the corresponding department. And that column in employee's table is called department number. And this department number is what we call as foreign key. So foreign key is a column that is going to refer to parent table and using foreign key we access the row in the parent table that corresponds to To the row in the child tip. For example, if I take 1003, employee 1003 belongs to department 20. So using that number now I can go to the department's table and find out that this employee belongs to department ID.
So that's called a foreign key. And a foreign key must be referring to a column in the parent table, which is either primary key or it can also be a unique key. So if you're wondering what is the difference between primary key and unique key, primary key is also unique, but primary key should also be not null. means it cannot have any null value, it should always have a value whereas unique key is the column which is unique, but it may have null values if it is required. So this is foreign key You have to remember the term foreign key because it's very commonly used. And now coming to Oracle, Oracle is having three components and here are those three components that the database management system is known as Oracle instance, which is talking to Oracle database, which is on the hard disk client is the program that is communicating with Oracle instance.
So, in this course, we use something like SQL Developer and that is communicating with Oracle instance. And then Oracle instance is talking to Oracle Database if you go back, so database is the set of files, and that is storing the data. instance is if you take windows, it runs like a service. It must be running if you want to Access database and it's a combination of background processes. And memory structures. And client application can be anything.
And we use SQL Developer, but you can use SQL players Application Express, or even a program that you write in Java or Python is also a client because it communicates with the database. So here is the basic architecture of Oracle. So we get Oracle instance up and running. So the database is accessed, and client communicates with that. So we understood in this lesson that a DBMS is a system, a collection of programs to manage the database, Oracle database, a TNC is a product coming from Oracle Corporation. It's called as the database management system.
It is precisely called as object relational database management system. But mostly we Use it as a relational database management system. And then we understood features of DBMS. DBMS is very, very important for any corporate, it provides numerous features. And we looked at some of the important features like integrity, security, sharing, concurrency, backup, etc. Then relational model is the model we are interested in.
It is very easy to understand and the most widely used model. Well, if you're wondering, are there any other products other than Oracle? Well, numerous, mainly we can talk about my SQL, then SQL Server from Microsoft. Then we also have DB two from IBM, just to mention a few major ones, but there aren't many. And then we understood the terminology of relational model like primary key composite primary key foreign key and then we got a simple A quick overview of Oracle architecture, where we have three components, the instance the database, and then the client. Now, this is just to get you started.
In the next lesson, you will download Oracle install it. And then we will be able to use Oracle to write queries and then access data that is present in the database. For now, just remember these terms and I'll see you in the next lesson.