 So students, now we know that we divide our data into static and dynamic data sets and we have these tables, so once we create that database and once we have the tables in that database, we have to specify the type and the size of the field. That field is just like a PHP variable. So what we will be covering in this module is the integer type, the date slash time type and the string type. So this is the coverage in this module. So we cover the MySQL data types, numeric, date, time and string and the use of indexes. And I will explain to you and you will also understand the benefit of indexing and using the keys, what are the different and the critical keys, which we will cover of course very briefly. The details are there in the module textbook. So the numeric data types, in the numeric data types we have different types of numeric data. We have the tiny integer, we have the small integer, we have the medium integer and so on. Now, you can store in many ways, so why not always use the big int or double? The problem is that the bigger the data type, the more storage space it takes up in the database. The int field takes up 4 bytes, whereas a small int, the small int takes less, the small int takes significantly less, so we have to capitalize on the space also. Now if you are storing millions of records, if when you have millions of records, when you have millions of records, these things make a big difference, we have to be careful. Now you can add the attribute unsigned after a numeric data type when defining a field. An unsigned data type can only hold the positive numbers, it can only hold the positive numbers and for example, tiny int can hold a maximum of 127, tiny int can hold a maximum of 127 and at the same time, if you have unsigned, then it can hold 255, so students you can see that depending upon the number is positive or negative, the amount of space which is required to save that number is going to be different. I hope you understand this, so now we will talk about the date and time data types. Now in the time and date data types, we have some more interesting stuff over here, so we have this numbers, you can choose from a range of different data types to store dates and times depending upon whether you want to store a date only, a time only or both, so this is over here, whatever you want to save, okay. When you need to specify a literal date, date time or time stamp value in MySQL, you can use any of the following formats, these are the different formats. I believe everything is clear to you, so it depends upon the requirements, how you would like to save your data. Now string data types, the string data types, the difference between a car and varchar over here and over here, that just stores data as a fixed length string no matter how short the actual data may be, whereas varchar uses exactly as many characters as necessary, exact over here, exact, as necessary to store a given value, suppose you insert the string dodge into the fields, okay, DO, D, GE, now car it will be right padded with 5 spaces, depending upon the size, right padded, okay, right padded and with varchar there is no padding, varchar there is no padding, so we see that the efficiency over here, now varchar character fields save you disk space, but don't be tempted to use varchar fields for storing every string, why? Because that has drawbacks to the MySQL server processes chart type fields much faster than varchar, this is fast, this is not that fast, okay, this is fast because the length is predetermined, the length is pre known, okay, that is why it's fast, varchar takes a more disk space because it has to store the length of each string in one or two additional bytes, so over here in varchar, okay, in varchar we have the actual data, okay, and then what we need to store is two bytes, what happens is that when you have millions of records, when you have millions, okay, when you have millions then these things make a big difference, I believe now you understand the difference over here, things should be clear now, using the indices, now what happens is that the inexperienced developers, they think that the database is running slow, maybe they need to upgrade the database, maybe they need to have hardware, but that's why we have the indexes, so when you search without the index, you are literally looking across the entire database for the stuff which is of your interest, but when you perform a search using an index, okay, what the index does, it takes you directly in very less time to what you are interested in, what you are looking for, so that is the benefit of the index, so now you have index on your choice of columns, so somebody might think or might say that why not index the entire table, well that not be feasible every time because the contents or the columns or the attributes on which you are searching the table that might change over a period of time, so that will not be very efficient, and finally we have the special key which is the primary key, which is the column which has null values, which has no repeating values, so we perform, we put an index over here, why, because we are searching for say for the account number for a certain person or the account number of a certain client, so that's why we need to have this primary key over here, it can be a combination of fields also, it can be a combination, but that combination has to be unique, and of course they are pros and cons of indexing also, pros I have already told you, the cons are that the index takes space, and of course the more indexes you put on your system, that will take more space, and finally it can become an overkill, if you have multiple indexes, then loading that indexes will take time and slow the performance, so that's all I have for this module.