|
|
|
 |
|
|
 |
|
|
 |
| CSCI 470: Database Management |
 |
|
 |
|
|
|
Prerequisites: CSCI 112
Catalog Description: This course provides an introduction to the theory and methodology for database design and implementation. Topics may include a survey/lecture component as well as a project component. The survey component covers entity-relationship modeling, relational algebra and calculus theories, data definition and data manipulation languages such as SQL, file structures, transactions, concurrency control, recovery, tuning and optimization, and object-oriented databases. The project entails requirements definition, design, and implementation of a database application. Formerly CSCI 273.
Course Objectives:
The objectives of the course are for student to:
- Work with a team and use appropriate tools and concepts to establish requirements for, design and implement a database application.
- Demonstrate a thorough understanding of the relational and object database management systems, including the use of SQL and OQL and other languages.
- Understand problems and solutions relating to concurrency control, rollback and recovery, data distribution and physical storage and other system architecture considerations.
- Understand the concepts of data dependency and normalization, and be able to apply these concepts effectively in the design of a database.
Course Outcomes:
By the end of the semester, students will be able to:
- demonstrate the ability to work closely with a group to plan a project,
- document requirements, and design and implement a database application,
- demonstrate the ability to use analysis modeling tools such as entity-relationship diagrams, dataflow diagrams, and other design tools,
- demonstrate the ability to implement a database application.
- understand the capabilities of a database management system and discuss the capabilities of several prior generations of DBMSs.
- understand the importance of data independence.
- be able to compare and contrast the data taxonomies of hierarchical, network, relational and object-oriented databases.
- discuss the database life cycle relative to the software life cycle.
- discuss the history of the relational database model, including the relational calculus and relational algebra.
- be able to do simple queries using the relational algebra, including selects, projects and joins.
- understand the use of data dependencies in the process of normalization.
- be capable of recognizing 1NF, 2NF, 3NF, BCNF.
- understand the meaning and use of entity and referential integrity.
- be able to denormalize 3NF tables to either 1NF or 2NF form.
- be able to write SQL queries that embody 3-way joins, selects and projects.
- understand the basics of QUEL and QBE and be able to do a QBE retrieval.
- understand and be able to discuss the capabilities of hard disks, RAID, and various techniques and data structures used for indexing, including hashing and B+ trees.
- understand a be able to discuss the methods of restarting "crashed" databases using checkpoints, logs and rollbacks.
- understand and be able to discuss transactions and various types of concurrency control, including pros and cons of different approaches.
- understand and be able to discuss various choices of data structures and indexes that allow performance tuning.
- understand the methods used by database "compilers" to optimize database queries.
- understand and be able to discuss the relative merits of relational DBMSs Vs. Object-Oriented DBMSs.
- understand and be able to discuss various architectures of distributed databases, including client-server and partitioned databases.
- understand and be able to discuss various methods of security and authorization in DBMSs.
Class schedule:
Three hours per week lecture time.
Accreditation Category Content:
In CSCI, the curriculum standards met by this course include the following:
Computer Science
IV-6. The core materials must provide basic coverage of algorithms, data structures, software design, concepts of programming languages, and computer organization and architecture.
IV-7. Theoretical foundations, problem analysis, and solution design must be stressed within the program's core materials.
IV-8. Students must be exposed to a variety of programming languages and systems and must become proficient in at least one higher-level language.
IV-9. All students must take at least 16 semester hours of advanced course work in computer science that provides breadth and builds on the core to provide depth.
Additional Areas of Study
IV-15. The oral communications skills of the student must be developed and applied in the program.
IV-16. The written communications skills of the student must be developed and applied in the program.
In CIS, the curriculum standards met by this course include the following:
Information Systems Environment
IV-5. All students must take a broad-based core of fundamental information systems material
consisting of at least 12 semester hours.
IV-6. The core materials must provide basic coverage of the hardware and software, a modern programming language, data management, networking and telecommunications, analysis and design, and role of IS in organizations.
IV-7. Theoretical foundations, analysis, and design must be stressed throughout the program.
IV-8. Students must be exposed to a variety of information and computing systems and must become proficient in one modern programming language.
IV-9. All students must take at least 12 semester hours of advanced course work in information systems that provides breadth and builds on the IS core to provide depth.
Information Systems Environment
IV-10. The 15 semester hours must be a cohesive body of knowledge to prepare the student to function effectively as an IS professional in the IS environment.
Additional Areas of Study
IV-14. The oral and written communications skills of the student must be developed and applied in the program.
IV-15. There must be sufficient coverage of global, economic, social and ethical implications of computing to give students an understanding of a broad range of issues in these areas.
IV-16 Collaborative skills must be developed and applied in the program.
This course embodies a significant portions of (1) Algorithms, (2) Data Structures, and (3) Software Design, and relatively smaller components of (4) Concepts of Programming Languages, and (5) Computer Organization and Architecture. The percentage of the 45 hours of lecture time covering each topic is shown below: |
|
|
|
|
| Topic |
Percentage |
Hours |
| |
|
|
| Algorithms |
15% |
6.75 |
| Data Structures |
50% |
22.5 |
| Software Design |
25% |
11 |
| Concepts of Programming |
5% |
2 |
| Computer Organization and Architecture |
5% |
2.25 |
|
|
|
|
|
Relationship of Course to Program Objectives:
This course supports the achievement of the following program objectives:
- All students will be able to analyze and solve computing problems, or problems in related areas, and to continually upgrade their knowledge and skills.
- All students will be effective oral and written communicators and be able to function effectively as members of multi-disciplinary teams.
- Those graduates who pursue careers as computing professionals will have the skills to use and design new and innovative systems that meet society's needs
|
|
|
 |
|
 |
|
|
 |
CSU, Chico:
Home | Admissions | Bookstore | Catalog | Schedule | Library | Help
This page and its contents © 2003 College of Engineering, Computer Science, & Construction
Management
California State University, Chico |
College of Engineering, Computer
Science, & Construction Management
California State University, Chico
Chico, CA 95929-0003
530-898-5963
webmaster@ecst.csuchico.edu |
|
|