Database - 1403_2
Shahid Beheshti University | Faculty of Mathematical Science
Syllabus 🧐
Course Objectives
This course covers the fundamentals of database management, including conceptual and logical design, as well as access and manipulation of databases, and introduces students to best practices in modeling, design, and implementation using contemporary database management systems in organizations. Students will learn how to develop database applications, beginning with the design of an Entity-Relationship (ER) model, then mapping it to a relational model, and finally transforming this second model into an application. Throughout this course, students will not only acquire theoretical knowledge but also essential practical skills for working with database systems. In the practical section of the course, PostgreSQL will be utilized as a powerful and open-source database management system.
Once these foundational concepts are well understood, the course transitions to more advanced topics in data. These include performing data analysis on real datasets using SQL, integrating SQL with Python for enhanced data manipulation and querying, and comparing NoSQL databases such as MongoDB with traditional relational systems.
Learning Goals
Upon successful completion of this course, the student will be able to:
- Introduce fundamental concepts, terminology, and applications of databases.
- Design ER models for simple applications and convert them into relational tables.
- Formulate SQL queries effectively for data retrieval and manipulation.
- Utilize normalization techniques to enhance database design.
- Distinguish between SQL and NoSQL database systems.
Structure of the course
- Meets Twice Weekly
- Saturday, Monday 17:00 - 18:30
- There will be several assignments throughout the course for students to practice the material covered.
- There will be a summative final project, in which students will integrate the tools and techniques they have learned into a cohesive whole.