This course introduces the student to the process of database development, including data modeling, database design and database implementation. Students learn basic interactive SQL for both data definition and queries. Students practice design skills by developing a small database project.
Overview of database systems, the database development lifecycle, and the role of the DBMS.
Modeling entities, attributes, and relationships to represent real-world data requirements.
Extending ER modeling with specialization, generalization, and categorization.
Relations, keys, and integrity constraints underlying the relational data model.
Translating conceptual ER designs into relational database schemas.
Applying functional dependencies and normal forms to eliminate redundancy and anomalies.
Creating and modifying database structures with SQL DDL statements.
Writing SQL queries involving joins, grouping, and aggregate functions.
Using nested queries and views to compose and simplify data access.
Transaction properties, concurrency concerns, and enforcing data integrity.
Basics of indexing strategies and physical design considerations for performance.
Applying course concepts to design, implement, and present a small database project.
Represent data requirements using entity-relationship diagrams.
Translate conceptual models into sound relational schemas.
Apply normal forms to reduce redundancy and preserve data integrity.
Define and modify database structures with SQL.
Write queries using joins, subqueries, and aggregation.
Build and deliver a working database project from design to implementation.