This online course covers database design and the use of database management systems for applications. It includes extensive coverage of the relational model, relational algebra, and SQL -- the standard language for creating, querying, and modifying relational databases. It also covers XML data including DTDs and XML Schema for validation, and the query and transformation languages XPath, XQuery, and XSLT. The course includes database design in UML, and relational design principles based on dependencies and normal forms. Many additional key database topics from the design and application-building perspective are also covered: indexes, views, transactions, authorization, integrity constraints, triggers, on-line analytical processing (OLAP), and emerging "NoSQL" systems. Further topics will be added over time.
The course does not assume prior knowledge of any specific topics, however a solid computer science foundation -- a reasonable amount of programming, as well as knowledge of basic computer science theory -- will make the material more accessible.
Materials on this site include videos with embedded quizzes, suggested textbook and web readings, extensive written and programming exercises, and instructions for installing any necessary software.
]]>