Explain the characteristics that distinguish the database approach from the traditional approach of programming with data files.
Cite the basic goals, functions, models, components, applications, and social impact of database systems.
Describe the components of a database system and give examples of their use.
Identify major DBMS functions and describe their role in a database system.
Explain the concept of data independence and its importance in a database system.
Use a query language to elicit information from a database.
Explain the concepts of records, record types, and files, as well as the different techniques for placing file records on disk.
Implement dynamic multilevel indexes using B-trees.
Explain the theory and application of internal and external hashing techniques.
Explain how physical database design affects database transaction efficiency.
Categorize data models based on the types of concepts that they provide to describe the database structure—that is, conceptual data model, physical data model, and representational data model.
Describe the modeling concepts and notation of the entity-relationship model including its use in data modeling.
Describe the main concepts of the OO model such as object identity, type constructors, encapsulation, inheritance, polymorphism, and versioning.
Define the fundamental terminology used in the relational data model.
Describe the basic principles of the relational data model.
Illustrate the modeling concepts and notation of the relational data model.
Prepare a relational schema from a conceptual model developed using the entity relationship model
Explain and demonstrate the concepts of entity integrity constraint and referential integrity constraint (including definition of the concept of a foreign key).
Demonstrate use of the relational algebra operations from mathematical set theory (union, intersection, difference, and cartesian product) and the relational algebra operations developed specifically for relational databases (select, product, join, and division).
Demonstrate queries in the relational algebra.
Demonstrate queries in the tuple relational calculus.
Determine the functional dependency between two or more attributes that are a subset of a relation.
Describe what is meant by 1NF, 2NF, 3NF, and BCNF.
Identify whether a relation is in 1NF, 2NF, 3NF, or BCNF.
Normalize a 1NF relation into a set of 3NF (or BCNF) relations and denormalize a relational schema.
Explain the impact of normalization on the efficiency of database operations, especially query optimization.
Create a relational database schema in SQL that incorporates key, entity integrity, and referential integrity constraints.
Demonstrate data definition in SQL and retrieving information from a database using the SQL SELECT statement.
Evaluate a set of query processing strategies and select the optimal strategy.