|
Dec 21, 2024
|
|
|
|
CS 3860 - Database Systems3 lecture hours 2 lab hours 4 credits Course Description This course introduces the theory and practice of database design and application, with an emphasis on relational models. Dimensional, non-relational, and other topical data models are introduced. Topics include SQL, database design using entity-relation modeling and normalization techniques, database application programming, object to relational mapping, authentication and access control, concurrency, and performance optimization. Lab assignments reinforce the lecture material. (prereq: CS 2852 , MA 2310 ) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Design database models using entity-relationship modeling, relational modeling, and normalization techniques
- Use standard database languages (e.g. SQL) for querying, manipulating, and basic management of databases
- Design relational database applications
- Document database designs
- Describe the purposes and typical mechanisms for maintaining security and confidentiality
- Understand basic database integrity properties of atomicity, concurrency, isolation, and durability
- Understand CAP Theorem concepts of consistency, availability, and partitioning
- Understand and be able to apply transaction processing and integrity constraints
- Understand fundamentals of query processing and query performance optimization
- Be aware of modern trends in the area of database systems
Prerequisites by Topic
- Understand and apply data structures and algorithms
- Use appropriate algorithms (and associated data structures) to solve complex problems
- Analyze the time complexity of algorithms, both sequential and recursive
- Use data structures in software design and implementation
Course Topics
- Introduction and prerequisite review
- Entity-relationship model and relational model
- Relational model
- SQL
- Functional dependencies, normalization, relational design, and query optimization
- Relational algebra and calculus, data definition and manipulation languages (SQL), aggregates, and updates
- Record storage, index structures, transactions, and concurrency
- Stored procedures, triggers, recovery, security, and database administration
- Advanced database topics
Laboratory Topics
- Database introduction
- Data modeling
- SQL
- Application integration
- Design project design and implementation
- Design project demonstration
Coordinator Dr. Jonathon Magaña
Add to Portfolio (opens a new window)
|
|