 So students continuing with the previous module of the data access layer guidelines to avoid and minimize the mistakes and issues to give a higher performance deliver to the applicants to the users. So in this module, we will cover 10 of those guidelines, let's go with those guidelines. So those 10 guidelines are listed before you on the screen starting from the batching to the validation. So what I will do is I will go through some details about those guidelines and try to ensure that you understand the importance of all of those guidelines. And when you ensure that these guidelines are observed, you will be able to deliver higher performance solution to your end users, to your visitors. So let's go ahead with those guidelines. So batching, now the batching, the importance of batching is to reduce the latency. Now if the commands and the actions are grouped together, then the execution time will reduce. Why? Because the turnaround time will have to be only for those commands which are batched together, instead of spending individual time on each of the individual commands. So that will of course increase the performance and give a quick response without having to spend a lot of money on a higher performance hosting solution. Let's look at connections. Now these connections are still, you have to create the connections, you have to manage the connections and you have to close the connections. Remember that a web is a stateless environment and you have to be optimizing the connections, right? So as to give a good performance. And of course, like all those 10 aspects, connections are also very important. Data format. Data format is important for interoperability. Data format includes the type of data, the format of data. And as the data is passed across different applications, right, how that data is going to be handled. Now, if there is consistency in the data, there will be less processing of that data among the different layers and among the different applications that is going to give good performance. Now, remember one thing always that one can use hardware to increase the performance but that is an expensive solution. So the right approach is to be smart and use these techniques to give performance. So I believe now you understand about the data format. Exception management. Now, exceptions will happen. Exceptions, it could be errors. Exceptions could be something is not handled. Exceptions could be across the trust boundaries. Exceptions could be at different layers also. Now what should you be doing? They should be a central exception handling management approach such that the exceptions are not thrown outside the data layer which we are discussing and not only the exceptions are handled properly but the exceptions should not be exposing the messages to the end user because that can compromise the security also and that does not reflect professionally on your work. And remember one thing more that when you handle the exceptions, the messages which are thrown at the users, they should be intelligent, they should be clear and they should be comprehensible also. You have to give an experience to the user that the user is in control. The user is not lost. So that is why exception handling is very important. Curies and stored procedures. Now curies are used for many, many operations. You use the query to make a request to retrieve the data. A query can delete the data also. A query can be changing the data also. So the curies are very critical to the performance of the system. How they are critical to the performance of the system? Let me show you because you need to optimize. Optimize the query and you optimize the query you will maximize. What you will maximize? You will maximize the performance and you will maximize the throughput also. Performance means that your curies will be running fast, that is the performance. And throughput means that in the given time you will be running more curies, that is the throughput. And how you can get this, you need to maximize this and how it is maximized by optimizing the curies. The query optimization is not part of this course. You may have covered it in a database course, but you understand the impact and this impact is more profound in such an environment. Now stored procedures. In the stored procedures, traditionally stored procedures were used with reference to dynamic SQL. But now the stored procedures are in the context of modern database systems which are already higher performance. So you have to make a balance between the stored procedures and between the dynamic SQL. Now one thing about object relational mapping is that the object oriented model, there is an impedance mismatch with the relational model. What is the impedance mismatch? Let me give you an example. In the object oriented model, there is encapsulation. But in the relational model, we make the tables public. You understand what I'm saying? So there's an impedance mismatch to need to consider the impedance mismatch in the context of object oriented and relational model. About the dynamic procedures and the dynamic SQL I've already mentioned. Let me talk about the transactions. What are transactions? Transactions are a collection of commands which are executed together, which make the contents of the database permanent and they are atomic. It means that once they are executing, they will go through and make the contents atomic permanent. You understand what I'm saying? That there is no inconsistency. There is no integrity issue over there. So transactions atomic make the state of the database permanent. And if there is an issue, there is something just called as the rollback. Rollback will ensure that the consistency and the integrity is there. And finally is the validation. The validation could be at the database level. It could be at the third party level. It could be at the server level and validation ensures that whatever is going in your database that is checked, that is correct. And if the validation is done at the client side at the presentation layer at the browser level that will reduce the load on the server. That's all I have in this module. In the next module, I'll talk about the five considerations. Thank you very much.