Skip navigation.

Contact Us

Department of Computer Science

Janssen Engineering
Room 211
PO Box 441010
Moscow, Idaho
83844-1010

phone: 208-885-6592
fax: 208-885-9052

e-mail:
dept chair
graduate info
undergrad info
sys admin
webmaster

CS Department Banner Graphic

CS 360 Database Systems

Total Credits: 3 cr

Course Coordinator: John Munson

URL: http://www2.cs.uidaho.edu/~cs360

Current Catalog Description: Study of database design and implementation; comparison of basic models (entity- relationship, hierarchical, network, relational); study of query languages; discussion of issues of integrity, security, dependencies, and normal forms.  Prereq:  CS 240 and CS 270.

Textbook: Connolly and Begg, Database Systems − A Practical Approach to Design, Implementation and Management, 4th Edition, 2005.

References: None.

Course Goals: To provide the student with a solid background in the history of database design and data modeling along with a working knowledge of contemporary database systems (including relational, object oriented, distributed and replicated databases), their theoretical structure, capabilities, limitations and appropriate implementation. Additionally, the student will learn proper database design and implementation techniques including performance tuning and security through a series of projects that will result in a fully functional database implementation.

Prerequisites by Topic:

CS 240 Operating Systems, CS 270 System Software, and specifically:

Major Topics Covered in the Course:

  • Introduction to DB systems, history of DB, file based systems (2 hours) (IM1)
  • File organization, storage organization, indices (1 hour) (IM2)
  • Data abstraction, 3-level DB architecture, data independence, DB languages (3 hours) (IM2, IM3)
  • Data modeling, conceptual modeling, object & record based data models (2 hours) (IM3)
  • The relational model (3 hours) (IM3, IM4)
  • Keys, schemas, integrity constraints, views (3 hours) (IM3)
  • Structured Query Language, DDL, DML, referential integrity (4 hours) (IM5)
  • DB Design and Planning (3 hours) (IM6)
  • Fact-Finding Techniques (1 hour)
  • Entity-Relationship Modeling (3 hours) (IM3, IM4)
  • Normalization (2 hours) (IM6)
  • Conceptual DB Design (2 hours) (IM6)
  • Logical DB Design & Physical DB Design (2 hours) (IM6, IM9)
  • Denormalization (1 hours) (IM6)
  • User views, join types, triggers (2 hours) (IM7)
  • Distributed Database Management Systems (2 hours) (IM8)
  • Replication and Mobile DB (2 hours) (IM2, IM3)
  • Object Oriented DBs (2 hours) (IM3)

Laboratory projects (specify number of weeks on each): Students are expected to complete a semester project that involves the development and implementation of a real-world relational database and related user interface components. For example, students have designed projects for employee scheduling and time sheet tracking, software bug logging and tracking, and real-time security databases that stored packet-level details about network traffic. The project is comprised of several milestones leading to the final implementation. Total time for completing the project seems to average around 80 to 100 hours per student.

Estimated Curriculum Category Content:

Area Core Advanced Area Core Advanced
Algorithms   1 Data Structures   1.5
Software Design     Prog. Languages   0.5
Computer Arch     Other    

Oral and Written Communications: Every student is required to submit at least five written reports (not including exams, tests, quizzes, or commented programs) of typically six pages and to make one oral presentation of typically 30 minutes in duration.

Social and Ethical Issues: None.

Theoretical Content: Theoretical content is presented in approximately 10 class periods. The predominate topics include: Data abstraction, data independence, data and conceptual modeling, the relational model, object oriented databases, and replicated and distributed databases.

Problem Analysis: There are two common analysis themes in the class. First, students must be capable of interpreting and distilling real world information requirements into a logical data model that provides a high level of data independence and abstraction. Second, students are required to iteratively refine data models (typically the relational model) using standard database design techniques. Both themes are recurring in class lecture, homework and exams, but are most evident in the students’ completion of a semester project requiring them to design and implement a working database solution for a real world scenario.

Solution Design: The students’ solution design experience is based on their exposure to data abstraction and integrity constraints. They are required to apply structured techniques to construct a data model with sufficient data abstraction to support both logical and physical data independence. Also, they are required to property identify and apply integrity constraints to their models (includes referential integrity, general constraints, domain constraints, etc.). Examples of solution design can be found in the Conceptual and Logical design phases of the students’ semester project as well in targeted exam questions on both the midterm and final examinations.

Course Outcomes: The following list documents the course outcomes and crossreferences them to the BSCS program outcomes. The letter at the beginning of each reference identifies the program outcome supported. The numbers sequentially identify the course outcome for this course. After completing CS 360 a student should know or be able to: