UNT | University of North Texas

Search form

CSCE 4350: Introduction to Database Systems Design

Course Number: 
CSCE 4350
Course Name: 
Introduction to Database Systems Design
Description: 

Logical and physical database system organization; logical models; design issues; secondary storage considerations

Start Date: 
Monday, May 3, 2004
Last Review Date: 
Thursday, April 2, 2015
Prerequisite (should have grade of C or better): 
Credit Hours (Including Labs): 
3.00
UNT Topics: 
  1. Introduction
    1. Disadvantages of file processing systems
    2. Levels of abstraction
    3. Schemas
    4. Instances
    5. Types of database models
    6. Data definition language (DDL)
    7. Data manipulation language (DML)
    8. Structured query language (SQL)
    9. Process of database design
    10. Logical design approaches
    11. Components of a database engine
    12. Database architectures
  2. Introduction to the Relational Model
    1. Atomic
    2. Domain
    3. Attribute
    4. Relation schema
    5. Relation
    6. Relation instance
    7. Tuple
    8. Row
    9. Table
    10. Column
    11. Keys
    12. Relational query languages
    13. Relational algebra operations
  3. Introduction to SQL
    1. Data definition language
    2. Domain types in SQL
    3. Create table
    4. Alter table
    5. Insert into
    6. Delete from
    7. Drop table
    8. Update 
    9. Queries
    10. Subqueries
  4. Intermediate SQL
    1. Join types
    2. Join conditions
    3. Join operations
    4. Views
    5. Transactions
    6. Integrity constraints
    7. Date types
    8. Index creation
    9. User-defined types
    10. Large object types
    11. Creating and deleting users
    12. Authorization
      1. On databases
      2. On database schema
      3. Roles
      4. In SQL
  5. Advanced SQL
    1. What SQL cannot do
    2. Approaches to accessing SQL from programming languages
    3. Prepared statements in SQL
    4. SQL injection
    5. Table functions in SQL
    6. Exception conditions and exception handling in SQL
    7. Calling other programming languages from SQL
    8. Sandbox
    9. Triggers in SQL
  6. Database Design: The Entity-Relationship Approach
    1. Design phases
    2. Entity-Relationship model
    3. E-R diagrams
    4. E-R diagrams and relation schemas
    5. Non-binary relationship sets 
    6. Specialization
    7. Generalization
    8. Aggregation
    9. UML class diagrams
  7. Relational Database Design
    1. Atomic domain
    2. Goals of normalization
    3. Normal Forms and their decomposition algorithms
    4. Functional dependency theory
    5. Goals for database design
    6. Multivalued Dependencies
    7. Join dependencies
    8. Other normal forms
    9. Design process
    10. Denormalization
    11. Modeling temporal data
  8. NoSQL databases
    1. Overview of pre-relational databases
    2. What relational databases provide
    3. ACID
    4. Limitations of relational databases
    5. NoSQL
    6. CAP theorem
    7. NoSQL database characteristics
    8. BASE
    9. Replication and Sharding
    10. Types of NoSQL databases
    11. Designing for each type 
    12. Advantages and disadvantages of each type
    13. Examples of each type
    14. Querying in NoSQL databases (where applicable)
    15. Security Issues
  9. Indexing and Hashing
    1. Concepts
    2. Evaluation metrics
    3. Primary and secondary indexes
    4. Dense and sparse index files
    5. Multilevel index
    6. Index update
    7. B+ Tree index files
    8. Duplicates
    9. Indexes on multiple keys
    10. Indexes on multiple attributes
    11. Covering indexes
    12. Hashing
    13. Bitmap indexes
  10. Transactions
    1. Definition of transaction
    2. Properties of a transaction (ACID)
    3. Transaction state
    4. Concurrent execution of transactions
    5. Schedules 
    6. Conflict serializability
    7. View serializability
    8. Precedence graph
    9. Recoverable schedules
    10. Cascading rollbacks
    11. Cascadeless schedules 
UNT Outcomes: 
  1. Analyze a problem to determine its data requirements
  2. Create a database that satisfies the given data requirements
  3. Store, maintain and access data in a database using SQL
  4. Understand and demonstrate how B+-tree and hashing speed data access
  5. Understand and use the theory of functional dependencies for DB design. 
Course Materials: 

Database System Concepts by Abraham Silberschatz, Henry F. Korth, S. Sudarshan; ISBN: 0073523321, Publisher: McGraw-Hill. 

UNT Department: 
Computer Science and Engineering (CSE)
Course Level: 
Undergraduate
Course Documents: