Database Management Systems

This class is about Database Management Systems. As such we talk about creating, managing and programming SQL databases. When time permits, we also cover spatial/spatial temporal data and database systems. This site contains content developed by Dr. Anderson for his classes.

2011 Winter Class

Programming Examples

Programming & Design Resources

Learning to program something more complex than a one off programming assignments for students can be difficult. Where do the experts learn to program large database applications and what tools and methods do they use? This section is not an answer, but a suggestion on where to look for those answers. Someday, I hope to have a class that explores this in depth.

And many more to follow I'm sure.

Chapter Hints

Chapter 6.1: Relational Algebra

READ THIS BEFORE YOU DO YOUR HOMEWORK!

Rule 1: You don't need to qualify the results of a natural join. The results of a natural join ALWAYS only have one copy of overlapping attributes.

Rule 2: Predicates, attribute lists and functions in <<latex($\sigma, \Pi, \mathcal{G}$)>> are always subscript.

Rule 3: Relations, whether expressions or names, NEVER appear as a superscript or subscript.

Rule 4: Input relations, whether expressions or name, always have parenthesis around them. E.g.

<<latex(\Huge$_{sect\_id,course\_id,year,semester}\mathcal{G}_{count(ID)}(student \bowtie takes)$)>>