CSCI 311 Daily class schedule

Database Systems
Spring, 2020


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