Introduction to the principles of database management systems. Topics include database system architecture, data models, theory of database design, query optimization, concurrency control, crash recovery, and storage strategies. This course maps to the CTCITC 114: Database Design and Implementation course. This class will include students from multiple sections.
Course Outcomes
- Summarize the purpose of database management systems and the role of database administrators.
- Describe the process of analysis of client needs, design of data models, and implementation of databases in modern relational database management system software.
- Analyze a scenario to identify the business rules and customer requirements to be included in a data model.
- Distinguish between conceptual data models, logical data models and physical data models.
- Describe the relational model and the principles of relational database design.
- Employ Entity-Relationship diagramming tools to model data.
- Demonstrate the process of normalizing relationships in tables.
- Apply database design patterns in data modeling.
- Use SQL statements to create a new database and modify an existing database.
- Use SQL statements to select, sort, and filter data within a database.
- Differentiate between an administrator/developer’s view of the database (tables, queries) versus a user’s view of the database (forms, reports, and custom user interfaces).
- Identify ethical issues and regulations relating to data and databases.
- Discuss database security issues (such as role-based access, data encryption, and SQL injection).
- Give examples of the various types of testing relating to databases (for example, application software testing, data integrity testing, user testing).