课程简介
This course covers database design and the use of database management systems for applications.
课程大纲
This 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. 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),
JSON, and emerging "NoSQL" systems.
课程详情
"Introduction to Databases" had a very successful public offering in fall
2011, as one of Stanford's inaugural three massive open online courses.
Since then, the course materials have been improved and expanded, and all
materials are available for self-study. Students have access to lectures
with in-video quizzes, multiple-choice quiz assignments, automatically-checked
interactive programming exercises, midterm and final exams, a discussion
forum, optional additional exercises with solutions, and pointers to readings
and resources. Taught by Professor Jennifer Widom, the curriculum draws
from Stanford's popular Introduction to Databases course. The material
presented here is the same as the corresponding material presented on Stanford's
Class2Go platform.
Why Learn About Databases?
Databases are incredibly prevalent -- they underlie technology used by
most people every day if not every hour. Databases reside behind a huge
fraction of websites; they're a crucial component of telecommunications
systems, banking systems, video games, and just about any other software
system or electronic device that maintains some amount of persistent information.
In addition to persistence, database systems provide a number of other
properties that make them exceptionally useful and convenient: reliability,
efficiency, scalability, concurrency control, data abstractions, and high-level
query languages. Databases are so ubiquitous and important that computer
science graduates frequently cite their database class as the one most
useful to them in their industry or graduate-school careers.
