This course introduces the fundamental concepts necessary for designing, using, and implementing database systems and database applications. It stresses the fundamentals of database modeling and design, the languages and models provided by the database management systems, and database system implementation techniques. It provides an in-depth and up-to-date presentation of the most important aspects of database systems and applications, and related technologies. It provides the concepts of a transaction and transaction management techniques, the concurrency control protocols, the advantages of recovery and backup and the organization of data storage. During this module students are going to provide a project and design the database for the project based on what we presented in the class.