Student Objectives
The objectives for this course are for you to be able to
- describe what a weak entity set is and give an example of one
- give an example of a multivalued attribute
- give an example of a multiway relationship
- define functional dependency
- define key of a relation
- define superkey of a relation
- describe the algorithm for computing a closure of a set of attributes, given a set of functional dependencies
- describe the three kinds of anomalies that can occur when we try to cram too much into a single relation
- define the condition called BCNF
- define the condition called 3NF
- state why someone might reasonable choose to keep a relational schema in 3NF rather than decompose further into BCNF
- convert a domain description to ODL
- convert a domain description to an ER diagram
- transform ODL to relation schemas according the rules presented in the class and in the book
- transform an ER diagram to relation schemas according the rules presented in the class and in the book
- extract functional dependencies from a textual description of a domain
- take a set of FDs and find all keys
- take a set of FDs and determine whether a set of attributes is a superkey
- take a set of FDs and a relational schema and decompose the schema into BCNF
- recognize the existence of multivalued dependencies from a textual description of a domain and a relational schema, and the decompose the schema into 4NF
- take a set of relational schemas and combining relations based on same keys or candidate keys
- define
intersection and natural join in terms of primitive/fundamental relational
algebra operations (union, difference, Cartesian product, projection,
selection, renaming)
- describe
how to compute the least fixed point for recursive rules
- state
the difference between extensional db relations (EDB) and intensional db
relations (IDB)
- define
the property stratified negation
- construct
SQL queries from English questions & define SQL constraints
- use
subqueries and operators EXIST, IN, ALL, ANY
- use
UNION, INTERSECT, EXCEPT
- use
aggregation operators and GROUP BY and HAVING
- use
REFERENCES and FOREIGN KEY
- declare
attribute-based CHECK constraints, tuple-based CHECK constraints, and
ASSERTIONs
- for
each kind of constraint state when it is activated, i.e. when potential
violations are check
- define
the term referential integrity
- describe
the difference between SQL3 TRIGGERs and the constraints of SQL2
- describe
the difference between TABLEs and VIEWs
- describe
how NULL is treated by comparison operators
- describe
the impedance mismatch problem
- define
the property serializability and give a specific example of how a
problem that can occur if this property is not supported
- define
the property atomicity and give a specific example of how a problem that
can occur if this property is not supported
- state
why it is desirable to SET TRANSACTION READ ONLY when a transaction will not
change the database
- define
dirty read and describe a specific situation in which it may cause a
problem
- to learn independently by examining documentation to use Oracle
(declare tables, specify constraints, make queries, record your session, etc.)
to use The Oracle Bulk Loader, and to use Oracle JDBC to access Oracle from a Java program