CS340 - Introduction to Database Systems¶
CS340 introduces database concepts, database architecture, conceptual data modeling, logical database design, relational constraints, relational algebra, SQL, normalization, teamwork-based database projects, and emergent database topics such as object-oriented databases, NoSQL theory, and MongoDB CRUD operations.
Course project
I created and documented a CS340 full stack database project for this course. You can view the portfolio entry and open the project here: Project portfolio · Project site · Repository
Course Information¶
| Item | Details |
|---|---|
| Course code | CS340 |
| Course title | Introduction to Database Systems |
| Credits/contact hours | 3 credits |
| Prerequisite | CS210 Data Structures |
| Main textbook | Elmasri and Navathe, Fundamentals of Database Systems, 7th ed. |
Course Learning Outcomes¶
By the end of CS340, students should be able to:
- Describe basic database concepts, architecture, and DBMS principles.
- Develop conceptual models using ER, EER, or UML notation.
- Create logical database designs from conceptual ER models.
- Apply functional dependencies and normalization forms such as 1NF, 2NF, 3NF, and BCNF.
- Create relational schemas using keys, entity integrity, and referential integrity.
- Work effectively in a team to design, implement, and present a database project.
Course Content¶
-
Chapters 1-2 - Database Fundamentals and Architecture
DBMS concepts, database approach characteristics and advantages, database users, data models, schemas, database languages, and architecture.
-
Chapters 3-4 - ER and EER Data Modeling
Conceptual modeling with Entity-Relationship and Enhanced ER models.
-
Chapter 5 - Relational Data Model and Constraints
Relations, keys, relational constraints, entity integrity, and referential integrity.
-
Chapter 9 - ER-to-Relational Mapping
Mapping conceptual ER/EER designs into relational schemas.
-
Chapter 8 - Relational Algebra
Algebraic query formulation using relational operators.
-
Chapter 6 - Basic SQL
SQL data definition, constraints, and basic queries.
-
Chapter 7 - Advanced SQL
Complex queries, views, and advanced SQL features.
-
Chapters 14-15 - Functional Dependencies and Normalization
Functional dependencies, normal forms, decomposition, and schema quality.
-
Emergent Database Topics
Object-oriented databases, NoSQL database theory, and MongoDB CRUD lab operations.
-
Final Project
Team-based database design, implementation, documentation, and presentation.
Assessments¶
| Assessment | Weight |
|---|---|
| Class assignment | 5% |
| Two quizzes | 10% |
| Two major exams | 25% |
| Project | 15% |
| Attendance | 5% |
| Final exam | 40% |
Current Site Coverage¶
| Syllabus topic | Current site material | Status |
|---|---|---|
| Database fundamentals and architecture | Chapter 1/2 notes and slides | Covered |
| ER/EER modeling | Chapter 2/3 materials and slides | Covered |
| Relational model and constraints | Chapter 3/4 materials and slides | Covered |
| ER-to-relational mapping | Chapter 5/6 materials and slides | Covered |
| Relational algebra | Covered in study material | Covered |
| Basic and advanced SQL | Chapter 4/5 notes and Chapter 6/7 slides | Covered |
| Functional dependencies and normalization | Chapter 6/7 notes and Chapter 9 slides | Covered |
| Object-oriented and NoSQL databases | Chapter 9 notes and Chapter 10 slides | Covered |
| MongoDB CRUD lab operations | Covered under emergent database topics | Covered |
| Final project | Project concepts are supported by modeling, SQL, and design pages | Covered |
Study Path¶
- Start with database fundamentals and DBMS architecture.
- Study ER/EER modeling and relational constraints.
- Learn ER-to-relational mapping before writing SQL.
- Practice relational algebra, then basic and advanced SQL.
- Study normalization and functional dependencies.
- Finish with NoSQL/object-oriented topics and MongoDB practice.
- Use the project to connect conceptual design, implementation, and presentation skills.
Source
This overview was updated from the CS340 course syllabus and the current files in the CS340 section of this site.