Foothill CollegeApproved Course Outlines

Physical Sciences, Mathematics & Engineering Division
C S 31AINTRODUCTION TO DATABASE MANAGEMENT SYSTEMSSummer 2014
4 hours lecture, 3 hours laboratory.5 Units

Total Quarter Learning Hours: 84 (Total of All Lecture, Lecture/Lab, and Lab hours X 12)
 
 Lecture Hours: 4 Lab Hours: 3 Lecture/Lab:
 Note: If Lab hours are specified, see item 10. Lab Content below.

Repeatability -
Statement: Not Repeatable.

Status -
 Course Status: ActiveGrading: Letter Grade with P/NP option
 Degree Status: ApplicableCredit Status: Credit
 Degree or Certificate Requirement: AS Degree
 GE Status: Non-GE

Articulation Office Information -
 Transferability: BothValidation: 10/9/13

1. Description -
Introduction to database design and use of database management systems for applications. Topics include database architecture, comparison to file-based systems, historical data models, conceptual model; integrity constraints and triggers; functional dependencies and normal forms; relational model, algebra, database processing and Structured Query Language (SQL), database access from Applications-Embedded SQL, JDBC,Cursors, Dynamic SQL, Stored Procedures. Emerging trends will be studied, such as NoSQL databases, Internet & Databases and On-Line Analytical Processing (OLAP). A team project that builds a database application for a real-world scenario is an important element of the course.
Prerequisite: None
Co-requisite: None
Advisory: C S 1A or 2A or equivalent.

2. Course Objectives -
The student will be able to:
  1. Examine the problems with file-based systems and the advantages of the database approach.
  2. Distinguish between the three levels in the architecture of a typical database management system.
  3. Practice conceptual database design through entity-relationship(ER), enhanced ER models. Describe models of historical interest such as Network and Hierarchical model.
  4. Design and model a database application using the relational model. Design by ER and EER to relational mapping.
  5. Define and apply integrity constraints and triggers; Tune design using functional dependencies and normal forms.
  6. Use Structured Query Language to perform queries and to perform relational operations.
  7. Understand emerging database technologies and applications.
3. Special Facilities and/or Equipment -
  1. Access to a commercial database management system such as Oracle or MySQL.
  2. A website or course management system with an assignment posting component (through which all lab assignments are to be submitted) and a forum component (where students can discuss course material and receive help from the instructor). This applies to all sections, including on-campus (i.e., face-to-face) offerings.
  3. When taught via Foothill Global Access on the Internet, the college will provide a fully functional and maintained course management system through which the instructor and students can interact.
  4. When taught via Foothill Global Access on the Internet, students must have currently existing e-mail accounts and ongoing access to computers with internet capabilities.

4. Course Content (Body of knowledge) -
  1. Introduction to Database Systems
    1. Why Databases?
    2. File Systems versus DBMS
    3. Roles of the database management system (DBMS)
    4. Types of database management systems
    5. Description, data requirements and transaction requirements
  2. Introduction to Database Design
    1. DBMS architecture and data independence
    2. The process for designing a database in industry
    3. Database Languages
    4. Data Definition Language (DDL)
    5. Data Manipulation Language (DML)
  3. Relational Model
    1. Historical perspective: hierarchical and network models
    2. Relational data structure
    3. Relational algebra
    4. Logical Design of the Application
    5. Conceptual Design of the Application
  4. Modelling relationships in the data
    1. Entity Relationship (ER) and Extended Entity Relationship (EER) Modeling Concepts
    2. Conceptual Design with ER and EER Modeling
    3. Logical Database Design: ER to Relational Mapping
  5. Database Application Development
    1. Normalization of databases
    2. Integrity constraints
    3. Tuning the database design
  6. Structured Query Language (SQL)
    1. Data Definition Commands
    2. Data Manipulation Commands
    3. SELECT Queries
    4. Relational algebra operations
    5. Cursors, Dynamic SQL, Stored Procedures
    6. Embedded SQL (SQLJ), JDBC
    7. Virtual Tables-Views
    8. Advanced SQL: Set Operators, Join Operators, Subqueries and Correlated Queries, SQL Functions, Procedural SQL
  7. Emerging Trends in Database
    1. Introduction to NoSQL Databases
    2. Designing NoSQL databases
    3. Comparison of NoSQL Databases
    4. Internet & Databases
    5. Introduction to On-Line Analytical Processing (OLAP)
5. Repeatability - Moved to header area.
 
6. Methods of Evaluation -
  1. Exams and quizzes
  2. SQL programming assignments
  3. Team project that designs and implements a database application for a real-world scenario
7. Representative Text(s) -
Coronel,Carlos, Morris, Steven and Rob, Peter. Database Systems: Design, Implementation and Management, 10th edition, 2013.
Hoffer,Jeffrey A., Ramesh, V., Topi, Heikki. Modern Database Management,11 th edition, 2012.

8. Disciplines -
Computer Science
 
9. Method of Instruction -
  1. Lectures
  2. On-line labs (including sections meeting face-to-face/on campus) consisting of
    1. An assignment web-page located on a college-hosted course management system or other department-approved Internet environment. Here, the students will review the specification of each assignment and submit their completed lab work.
    2. A discussion webpage located on a college hosted course management system or other department-approved Internet environment. Here, students can request assistance from the instructor and interact publically with other class members.
  3. Detailed review of assignment that includes model solutions and specific comments on the student submissions.
  4. In person or on-line discussion, which engages students and instructor in an ongoing dialog, pertaining to all aspects of database management systems.
  5. When course is taught fully on-line:
    1. Instructor-authored lecture materials, handouts, syllabus, assignments, tests, and other relevant course material will be delivered through a college hosted course management system or other department-approved Internet environment
 
10. Lab Content -
  1. Generate a database application (DA) from an existing database, based on a real-world scenario:
    1. Write detailed specifications for the DA
    2. Write data requirements for the DA
    3. Write transaction requirements for the DA
  2. Design a conceptual model of the database application using ER and EER models.
  3. Complete logical design of the database application---ER to relational schema mapping.
  4. Tune the model using normalization.
  5. Implement the database application that includes:
    1. Fabricating substantial amount of data for the DA
    2. Getting started with the installed DBMS (Oracle/MySQL)---logging into and setting up the DBMS account, changing passwords, and so on.
    3. Implementing SQL commands to create, modify, query and maintain integrity on the installed DBMS for the DA.
    4. Build a user interface for the DA
    5. Design an advanced application using cursors, triggers, stored procedures
  6. Represent the application using NoSQL
 
11. Honors Description - No longer used. Integrated into main description section.
 
12. Types and/or Examples of Required Reading, Writing and Outside of Class Assignments -
  1. Reading
    1. Textbook assigned reading averaging 30 pages per week
    2. Reading on-line resources as directed by instructor though links pertinent to databases
    3. Reading library and reference material directed by instructor through course handouts
  2. Writing
    1. Technical prose documentation, that supports and describes the database application assignments that are submitted for grades. The document would include the following aspects of the database application
    2. A description of the application, data requirements, and transaction requirements
    3. An entity-relationship diagram for the database application
    4. A set of relations with key attributes underlined for the DA obtained by translating E/R diagrams to relations
    5. A description on DA tuning to achieve the best possible performance using
      1. Tuning Indexes: a description of indexes implemented to improve the speed of your queries
      2. Tuning Conceptual Schema: a description of the normalization/denormalization process used on the DA schema
      3. Tuning Queries: a description of queries rewritten to improve the performance.
    6. A users manual for the DA
13. Need/Justification -
This course is a restricted support course for the AS degree in Computer Science.


Course status: Active
Last updated: 2014-03-11 13:51:03


Foothill CollegeApproved Course Outlines