 So in this module we will look at MySQL, we will look at the relational model, we will look at the type of the database architecture and of course this module is a continuation of number of modules which will be covering and linking and strengthening the concepts which are required to make a wonderful web-based database application. Now we can have a file to store the records and we can use PHP to process that file and to retrieve those records and work on them. This is fine but when the number of records in the file become thousands and thousands then using PHP programming grinds to a halt the application. So we need a database. So let's look at the module coverage. Use files or database, the database architectures, the database models, choosing a database and understanding the relational database. Of course we'll go into more details in the subsequent modules. So use files or database. It depends upon answering those questions. What is the volume of data? Is it large or it is not so large? How frequently the data is being accessed? How frequently go and you read? How frequently the data is updated? It's been changed. How many users are there? Two, four, forty, four hundred, four thousand. Rate of data growth. Is it almost static? It is exponential. What is? What are the issues of security and reliability? Now if the answer to any of the above is lot, then you need a DBMS. Database is more efficient and where does the data go? That data will also be stored in a file but that file is not going to be managed by PHP. That file is entirely different, transparent, hidden from PHP. That file is processed by the database management system. So what are the database architectures? We have the embedded databases and we have the client server databases. Embedded databases are inside the application. They are on the same machine. They cannot share between different machines. The examples are DBASE and the DBM. They are faster. They are easier to configure but you see that cannot share between different machines and faster to application to configure. But the main concept of having multiple users access the database over the internet. That is not there. So we have the client server databases designed to work over the network. Ideal for web. Database engine is accessing the databases over the network. We may have distributed databases also which is not part of this course and such client server databases are used by large organizations for large data sets for many users. And these are specialized. We have specialized lightweight clients. You don't need a lot of processing power at the client end. Using your browser, you can access those databases. The examples of the big three are the Oracle, the DB2 and the SQL server. I think you get the picture. So what are the database models? We have the simple databases and we have this relational databases. Simple databases are just associative memory. Just like an array. Refreshed by a single key. You cannot define the relationship between the records or data inside the simple database. They are very fast to look up because it is like just like random access memory. Order one time if you remember algorithms. Order one time. It's very fast. But they are not as powerful as the relational databases. But the relation databases are expensive to set up. They cost a lot. They have all the imaginable functionality in them. There is open source also, which is fast and reliable. Open source is like my SQL, free of cost. But that is not as powerful as the commercial databases, okay, which have their own issues and the work fine for small to medium sized projects. So it's not that these have not been in use. Remember, I told you of an application or a portal humongous number of users using PHP. Why use my SQL? It is very popular database on the web. It is freely available. You download, you install, and you are running and works with a number of operating systems. It is relatively cheap to get and relatively cheap to host. And as we discussed before, the hosting packages are there, and they are not very expensive. There are simple administration tools also, which come in very handy, and you don't have to buy a very expensive licenses like those databases, which I've already mentioned. And fast, powerful, goes well with large complex databases. So it is not that they cannot be used for large databases, they can be used, right? And SQLite and PostgreSQL are fast, but not cheap, okay, embedded databases. You see that there are pros and cons for those things which are not fast, but cheap, not fast, but they are cheap. You get the picture. Now let's look at the relational database. Rational database associated group of records, for example, payroll records grouped by employee payroll records grouped by the department by the salary structure or whatever. And the data is usually stored in a table. And the columns are attributes, the rows are the records, and so on. So let's look at one example. So we have this example over here that the players are playing matches. And in this example, we look at the matches played on two dates. And the players depending upon their performance get a nickname. And we have this log of matches played. Now in the subsequent modules, we will look and use this log of matches played to develop and explain the concepts. That's all I have for this module.