CS 386 Introduction to Databases
| Credit Hours: | 4 |
| Course Coordinator: | Len Shapiro |
| Course Description: | Introduction to fundamental concepts of database management with the relational model. Schema design and refinement, query languages, transaction management, security, database application environments, physical data organization, overview of query processing, physical design tuning. Prerequisites: CS 163, 250, 251. |
| Prerequisites: | Data structures and algorithms, mathematical logic, discrete structures,
mathematical maturity expected of an advanced undergraduate student. |
| Goals: | To learn how to design effective database schemas that accurately model
real-world information semantics. To learn how to pose complex database
queries in SQL as well as theoretical query languages. To understand what is
meant by a transaction. To gain an introductory background in concurrency control and recovery. To learn about indexing in database systems. To learn about advanced database models, such as object-relational models and data warehouses.
Upon the successful completion of this course students will be able to:
- Write complex SQL and relational algebra queries
- Transform SQL queries to relational algebra and relational
algebra queries to SQL
- Transform SQL queries into equivalent forms, e.g., to make them
more efficient
- Explain how queries are processed and optimized
- Evaluate the utility of an index for a relational database table
- Evaluate existing database designs and design new databases
effectively
- Use SQL queries embedded in a software application
- Describe and use transaction and recovery services
|
| Textbooks: | Database Management Systems, by Ramakrishnan & Gehrke |
| References: | None. |
| Major Topics: | Relational model of data, entity-relationship modeling, relational algebra and
calculus, SQL, normalization theory, transaction management, indexing, database
security, object-relational databases, data warehouses. |
| Laboratory Exercises: | Implementation of a database application --
entering the schema, transforming and loading data, and posing queries. (4 weeks) |
| CAC Category Credits |
Core | | Advanced |
| Data Structures |
| 0.8 |
| Algorithms |
| 1.2 |
| Software Design |
| 1.0 |
| Computer Architecture |
| |
| Programming Languages |
| 1.0 |
| Oral and Written Communications: | None. |
| Social and Ethical Issues: | Ethical considerations of ownership of imformation and protection of private
information is discussed during the database security lectures. The class time
devoted to social and ethical considerations is about 30 minutes. Students are
graded on their understanding of database security, but not on their understanding
of ethical issues |
| Theoretical Content: | Relational algebra & calculus, and normalization theory are the primary
theoretical components of the course, but also some theory of transaction
concurrency control is covered. Theoretical topics are covered about 4 weeks out
of 10 wee |
| Problem Analysis: | Students must analyze the information content of applications using
entity-relationship modeling during the course. |
| Solution Design: | Students must design database schemas as a result of their ER modeling analysis. |
|