| date | M |
W |
F |
reading |
| 2/3-2/7 |
Intro to database management
systems. Historical development of data
management. DBMS Architecture. |
Data models. Record-based DBMSs.
Hierarchical model. Network model.
Problems. Introduction to the relational model. |
Introduction to the relational model. Basic terminology: relation, tuple, domain, attribute, schema, instance. Relational algebra: set operations, selection, projection, join. | chapter 1; 2.1-2.2 |
| 2/10-2/14 |
Relational algebra: renaming operation. Query examples. Using relational algebra to express constraints. | Introduction to SQL. Implementing relational algebra operations in SQL: selection, projection. MySQL demo. | Joins in SQL. Aliases. Bags. Other extensions to the relational model: duplicate removal, aggregation, grouping, extended projection, sorting, outerjoin. | 2.4-2.5; 6.1-6.2 |
| 2/17-2/21 |
More SQL: Union,
Intersection, Difference. Subqueries. |
Subquery examples. Aggregation and
grouping. |
Introduction to database design. Functional dependencies: definition and examples. Relation anomalies. | 6.3-6.5; 3.1-3.2 |
| 2/24-2/28 |
Normal forms. BCNF.
Normalization. |
Multivalued dependencies and fourth normal form. | High-level database design. Entity-Relationship model. Entities, attributes, relationships. E-R diagrams. Remarks on attributes. Composite and multivalued attributes. Derived attributes. Multiplicity of relationships. Multiway relationships. Recursive relationships and roles. | 3.3-3.7; 4.1-4.2 |
| 3/3-3/7 |
Subclasses. Constraints: Multiplicity, keys, domain constraints, referential integrity. Weak entity sets. General design principles. In-class database design exercise. | Converting E-R diagrams to relational schemas. Entity sets and relationships. Multivalued attributes and weak entity sets. | SQL modification statements: insert, delete, update. | 4.3-4.6; 2.3; 7.1 |
| 3/10-3/14 |
Data definition in SQL: tables, domains, keys, referential integrity. | More on data definition. Indexes. Views. Materialized views. | CHECK constraints. Programming in the
database environment. Database programming with
SQL/PSM. |
8.1-8.5 |
| 3/16-3/20 |
Midterm exam |
9.4 |
||
| 3/21-3/29 |
Spring Break |
|||
| 3/30-4/3 |
Triggers. |
Transaction processing. | JDBC. Connection, Statement, ResultSet classes. Sample JDBC application program. | 3.6-3.7 |
| 4/6-4/10 |
More JDBC. Database programming with python. Object-orientation in databases. Object Definition Language (ODL). | Object Query Language (OQL) | Semi-structured data and XML. XPath. |
4.1-4.2 |
| 4/13-4/17 |
XQuery. XML in MySQL. Introduction to NoSQL databases. | Redis. | MongoDB. JSON. | 4.3-4.4 |
| 4/20-4/24 |
More on Mongo. | Web programming with HTML and PHP | Database access with PHP. Blobs and
Clobs. |
4.5-4.6 |
| 4/27-5/1 |
Introduction to database
implementation. A layered database architecture.
|
Implementation of transactions. |
Index structures. B-tree, hashed, and bitmap indexes. | 5.1-5.2 |
| 5/4-5/8 |
Extensible hashing. Query execution and optimization. | Security and privileges. Granting and
revoking privileges. Roles. The data dictionary.
|
Final exam review | 6.1-6.2 |
| 5/16 |
Final exam: Saturday,
May 16, 7-9 pm |
|||