You should take this course if you're being presented with the challenge of working with a database to create
- spreadsheets, or
- other types of documents
that will need information to be retrieved from the database.
Perhaps the most important prerequisites are that you have worked with SQL before and are willing to experiment with it over the duration of
One of the prerequisites to this course is a solid understanding of the basics of SQL.
If you need to brush up on your basic SQL skills, then visit Intro to SQL Part I or Essential SQL
I assume you are a database practitioner and therefore reasonably familiar with SQL already.
To be specific, I assume you have a working knowledge of either the SQL standard or (perhaps more likely in practice) at least one SQL product.
I do not assume you have a deep knowledge of relational theory
though I do anticipate you understand the relational model
, which is discussed many times over on this website.
In order to avoid misunderstandings, I will be describing various features of the relational model
as well as showing how to use SQL to conform to those features.
I will assume you are sufficiently experienced in database matters to understand why,
- the notion of a key makes sense, or
- why you sometimes need to do a join, or
- why many to many relationships need to be supported.
If I were to include such justifications, this would be a very different course, quite apart from anything else, it would be much bigger than it already is.
I have said I expect you to be reasonably familiar with SQL. However, I should add that I will be explaining certain aspects of SQL in detail anyway,
especially aspects that might be encountered less frequently in practice.