We keep moving forward, opening up new doors and doing new things, because we're curious... and curiosity keeps leading us down new paths.
—Walt Disney
Learning path for this OPO
There are multiple paths through this course text. There is something to be said for tackling data modeling first and learning SQL afterwards. But the reverse is equally possible: start with SQL and then learn about data modeling.
We advise a blended approach for this OPO, in which SQL and data modeling alternate. This is the learning path you see below. Consider it the advised way to go through the different chapters of the course text. Every block in this learning path is a link to a page from the course text.
- Data and InformationWe look at the difference between data and information and why these concepts matter for IT solutions.
- pgAdminYou install pgAdmin and configure connections to the database server.
- Intro SQLIn this introductory chapter, you will create a simple table, execute SQL queries, modify rows and delete rows.
- Question → DataWhat is data modeling? The three-layer model.
- Conceptual Data ModelWe look at the construction of a conceptual data model. We identify entities, attributes and relationships.
- Exercises Conceptual ModelIn the text on conceptual data modeling are references to multiple exercises. You find them all grouped together in this section.
- CSVYou start from a given dataset in CSV format, clean it up and import it into a table. You run a number of queries on this table.
- SELECTWith the SELECT statement, you determine which columns should be shown. You work with dates, strings, aliases, casting, ...
- WHEREWith the WHERE statement, you limit the number of rows in the output. Topics covered include NULL, AND, OR, NOT, LIKE, BETWEEN and IN.
- GROUP BY / HAVINGGROUP BY allows you to group data via aggregation functions. Conditions on the groups are defined via HAVING.
- ORDER BYYou can change the order of rows in the result via an ORDER BY.
- LIMITLIMIT limits the number of rows displayed. This statement is a good opportunity to briefly say something about standards.
- One-To-Many RelationshipsIntroduction of the link between two tables via a relationship. Will be worked out in more detail in later chapters.
- INNER JOINCartesian product of two tables, INNER JOIN, join conditions, joining a table with itself.
- OUTER JOINLEFT, RIGHT and FULL OUTER JOIN.
- SQL Exercises Tennis DatabasePlenty of SQL exercises on a small database about a Dutch tennis club where you practice all of the previous SQL chapters.
- Logical Data ModelHow to convert a conceptual model into a (relational) logical model. We talk about keys, redundancy and briefly about normalisation.
- Exercises Logical ModelIn the text on logical data modeling are references to multiple exercises. You find them all grouped together in this section.
- Physical Data ModelWhat is the pysical data model and how to translate the logical model to the physical one.
- DBSchemaWe introduce a new tool that is very suitable for drawing a physical database model and generating it automatically on the database server.
- PrivilegesWhen working with several people in the same database, there is a need to think about user rights: who can do what in the database?
- SubqueriesA query as part of a larger query.
- SQL Exercises Cooking DatabaseA more detailed schema about an association that organises cooking workshops. All the SQL material is covered in these exercises. Each exercise has a (sometimes extensive) solution.