Skip to content

SQL DDL Course

enki-hq edited this page Jul 3, 2018 · 1 revision

DDL Course Overview

Table of Contents

Content

Below you can find the ordered content of the topic, in a linear progression

The linear progression of content aims to cover all content, course by course, workout by workout as follows:

  • first course is the only core one, denoted by its manifest
  • the next course is denoted by the first item of the next array in each course manifest
  • each course has its order of workouts designated by the sections field in the same aforementioned manifest

1. create

Insights:

no name content aspects standards PQ RQ Quiz done
1 create-a-database 👶 introduction
💪 workout
create-database.0: 10
2 create-a-table 👶 introduction
💪 workout
define-tables.0: 10
define-tables.1: 10

Exercises:

no name type aspects standards done
1 sql-practice-create-table sqlfiddle 👶 introduction
💪 workout
define-tables.0: 1000
define-tables.1: 1000
define-tables.4: 1000
choose-sql-datatype.1: 1000
choose-sql-datatype.2: 1000
define-columns.0: 3000
2 sql-practice-create-table-2 sqlfiddle 👶 introduction
💪 workout
define-tables.0: 1000
define-tables.1: 1000
define-tables.4: 1000
choose-sql-datatype.1: 1000
choose-sql-datatype.2: 1000
define-columns.0: 5000
3 sql-practice-create-table-3 sqlfiddle 👶 introduction
💪 workout
define-tables.0: 1000
define-tables.1: 1000
define-tables.4: 1000
choose-sql-datatype.1: 1000
choose-sql-datatype.2: 1000
define-columns.0: 4000
4 sql-practice-create-table-4 sqlfiddle 👶 introduction
💪 workout
define-tables.0: 1000
define-tables.1: 1000
define-tables.4: 1000
choose-sql-datatype.1: 1000
choose-sql-datatype.2: 1000
define-columns.0: 6000
5 sql-practice-define-relationships sqlfiddle 👶 introduction
💪 workout
🦑 deep
define-relationships.1: 1000
6 sql-practice-define-relationships-2 sqlfiddle 👶 introduction
💪 workout
🦑 deep
define-relationships.0: 1000
7 sql-practice-define-relationships-3 sqlfiddle 👶 introduction
💪 workout
🦑 deep
define-relationships.2: 1000
define-columns.2: 1000
8 sql-practice-define-relationships-4 sqlfiddle 👶 introduction
💪 workout
🦑 deep
define-relationships.3: 1000

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 sql-numeric-data-types 👶 introduction
💪 workout
choose-sql-datatype.0: 10
2 sql-string-data-types 👶 introduction
💪 workout
choose-sql-datatype.1: 10
3 sql-text-data-type 👶 introduction
💪 workout
choose-sql-datatype.2: 10
4 encoding-and-collation 👶 introduction
💪 workout
choose-sql-datatype.1: 10
5 add-support-for-other-character-sets 👶 introduction
💪 workout
choose-sql-datatype.1: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

3. alter

Insights:

no name content aspects standards PQ RQ Quiz done
1 add-column 💪 workout
🦑 deep
define-columns.0: 10
define-columns.2: 10
2 add-constraint 💪 workout
🦑 deep
define-relationships.0: 10
3 add-default-value 💪 workout
🦑 deep
define-columns.2: 10
4 add-trigger 💪 workout
🦑 deep
define-tables.2: 10
5 add-rule 💪 workout
🦑 deep
define-tables.3: 10

Exercises:

no name type aspects standards done
1 sql-practice-alter-table sqlfiddle 💪 workout define-columns.1: 1000
define-columns.2: 1000
2 sql-practice-alter-table-2 sqlfiddle 💪 workout
🦑 deep
define-columns.0: 1000
define-columns.1: 1000
define-columns.2: 1000
3 sql-practice-define-default-seq sqlfiddle 👶 introduction
💪 workout
🦑 deep
define-sequences-or-default-values.0: 1000
4 sql-practice-define-default-seq-2 sqlfiddle 👶 introduction
💪 workout
🦑 deep
define-sequences-or-default-values.0: 1000
define-sequences-or-default-values.2: 1000
5 sql-practice-define-default-seq-3 sqlfiddle 👶 introduction
💪 workout
🦑 deep
define-sequences-or-default-values.0: 1000
define-sequences-or-default-values.1: 1000
6 sql-practice-define-default-seq-4 sqlfiddle 👶 introduction
💪 workout
🦑 deep
define-sequences-or-default-values.1: 1000
define-sequences-or-default-values.2: 1000

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 create-indexes 💪 workout
🦑 deep
define-indices.0: 10
define-indices.2: 10
2 when-to-add-indexes 💪 workout
🦑 deep
define-indices.0: 10
define-indices.3: 10

Exercises:

no name type aspects standards done
1 sql-practice-define-indexes sqlfiddle 👶 introduction
💪 workout
🦑 deep
define-indices.0: 1000
define-indices.1: 1000
define-indices.2: 1000
define-indices.3: 1000
2 sql-practice-sql-indexes2 sqlfiddle 👶 introduction
💪 workout
🦑 deep
define-indices.0: 1000
define-indices.1: 1000
define-indices.2: 1000
define-indices.3: 1000

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 blobs-in-a-rdbms 👶 introduction
💪 workout
🦑 deep
choose-sql-datatype.2: 10
2 storing-blobs-in-psql 👶 introduction
💪 workout
🦑 deep
choose-sql-datatype.2: 10
3 storing-blobs-in-mysql 👶 introduction
💪 workout
🦑 deep
choose-sql-datatype.2: 10
4 storing-blobs-in-mssql 👶 introduction
💪 workout
🦑 deep
choose-sql-datatype.2: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 storing-json-in-an-rdbms 👶 introduction
💪 workout
🦑 deep
choose-sql-datatype.2: 10
2 storing-json-in-postgresql 👶 introduction
💪 workout
🦑 deep
choose-sql-datatype.2: 10
3 storing-json-in-mysql 👶 introduction
💪 workout
🦑 deep
choose-sql-datatype.2: 10
4 storing-json-in-mssql 👶 introduction
💪 workout
🦑 deep
choose-sql-datatype.2: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Standards

✅ - At least one insight covers this

❌ - Nothing covers this

🛠️ - This standard has no objectives yet

❌ Create a database

  1. ✅ Create a database
  2. ❌ Create database users
  3. ❌ Provision roles for database users

❌ Write statements to create tables

  1. ✅ Create a new table
  2. ✅ Set the data type or name of columns in a new table
  3. ✅ Write statements to add a Trigger to a table
  4. ✅ Write statements to add a Rule to a table
  5. ❌ Write statements to add Primary or Foreign Keys to a new table

❌ Write statements to create or modify columns

  1. ✅ Create columns in a table
  2. ❌ Modify the name or data type of columns in a table
  3. ✅ Modify other properties of a column in a table

❌ Write statements to create or modify relationships

  1. ✅ Create a one-to-many relationship by creating a reference to a foreign key
  2. ❌ Create a many-to-many relationship with two foreign key references
  3. ❌ Create a one-to-one relationship by creating a reference to a foreign key and setting a constraint
  4. ❌ Join a table to itself with self-referencing foreign keys

❌ Write statements to create or modify indices

  1. ✅ Create an index on a database table
  2. ❌ Modify the properties of an index on a database table
  3. ✅ Create a clustered index on a database table
  4. ✅ Distinguish between effective indicies that improve the performance of table lookups and ineffective indicies that hinder performance

❌ Write statements to create or modify sequences or default values

  1. ❌ Write column definitions to create auto-incrementing IDs
  2. ❌ Write column definitions with default values that are static
  3. ❌ Write column definitions with default values that are computed

✅ Choose the correct SQL datatype to store a type of data

  1. ✅ Distinguish and choose between numeric types based on the desired behavior of the column
  2. ✅ Distinguish and choose between string types based on the desired behavior of the column
  3. ✅ Distinguish and choose between large content types based on the desired behavior of the column

Aspects

Given the insights are tagged with aspects, we can filter over the linear content progression and create learning sub-paths.

These sub-path progressions will most likely not cover all content, but they will ensure and enforce an unified learning experience, tailor for the user wish.

For example, a user might be interested in new additions and updates of a language, rather than introduction lessions. Note that these sub-paths don't take games into consideration

👶 Introduction

If you are being introduced to the topic for the first time

Insights:

  1. create-a-database
  2. create-a-table
  3. sql-numeric-data-types
  4. sql-string-data-types
  5. sql-text-data-type
  6. encoding-and-collation
  7. add-support-for-other-character-sets
  8. blobs-in-a-rdbms
  9. storing-blobs-in-psql
  10. storing-blobs-in-mysql
  11. storing-blobs-in-mssql
  12. storing-json-in-an-rdbms
  13. storing-json-in-postgresql
  14. storing-json-in-mysql
  15. storing-json-in-mssql

Exercises:

  1. sql-practice-create-table
  2. sql-practice-create-table-2
  3. sql-practice-create-table-3
  4. sql-practice-create-table-4
  5. sql-practice-define-relationships
  6. sql-practice-define-relationships-2
  7. sql-practice-define-relationships-3
  8. sql-practice-define-relationships-4
  9. sql-practice-define-default-seq
  10. sql-practice-define-default-seq-2
  11. sql-practice-define-default-seq-3
  12. sql-practice-define-default-seq-4
  13. sql-practice-define-indexes
  14. sql-practice-sql-indexes2

⚠️ There are no games tagged with this aspect in ddl.

💪 Workout

Theory put into practice/that’s how you achieve X points

Insights:

  1. create-a-database
  2. create-a-table
  3. sql-numeric-data-types
  4. sql-string-data-types
  5. sql-text-data-type
  6. encoding-and-collation
  7. add-support-for-other-character-sets
  8. add-column
  9. add-constraint
  10. add-default-value
  11. add-trigger
  12. add-rule
  13. create-indexes
  14. when-to-add-indexes
  15. blobs-in-a-rdbms
  16. storing-blobs-in-psql
  17. storing-blobs-in-mysql
  18. storing-blobs-in-mssql
  19. storing-json-in-an-rdbms
  20. storing-json-in-postgresql
  21. storing-json-in-mysql
  22. storing-json-in-mssql

Exercises:

  1. sql-practice-create-table
  2. sql-practice-create-table-2
  3. sql-practice-create-table-3
  4. sql-practice-create-table-4
  5. sql-practice-define-relationships
  6. sql-practice-define-relationships-2
  7. sql-practice-define-relationships-3
  8. sql-practice-define-relationships-4
  9. sql-practice-alter-table
  10. sql-practice-alter-table-2
  11. sql-practice-define-default-seq
  12. sql-practice-define-default-seq-2
  13. sql-practice-define-default-seq-3
  14. sql-practice-define-default-seq-4
  15. sql-practice-define-indexes
  16. sql-practice-sql-indexes2

⚠️ There are no games tagged with this aspect in ddl.

🦑 Deep

Prerequisite knowledge consisting of 2 or more 👶/💪 workouts

Insights:

  1. add-column
  2. add-constraint
  3. add-default-value
  4. add-trigger
  5. add-rule
  6. create-indexes
  7. when-to-add-indexes
  8. blobs-in-a-rdbms
  9. storing-blobs-in-psql
  10. storing-blobs-in-mysql
  11. storing-blobs-in-mssql
  12. storing-json-in-an-rdbms
  13. storing-json-in-postgresql
  14. storing-json-in-mysql
  15. storing-json-in-mssql

Exercises:

  1. sql-practice-define-relationships
  2. sql-practice-define-relationships-2
  3. sql-practice-define-relationships-3
  4. sql-practice-define-relationships-4
  5. sql-practice-alter-table-2
  6. sql-practice-define-default-seq
  7. sql-practice-define-default-seq-2
  8. sql-practice-define-default-seq-3
  9. sql-practice-define-default-seq-4
  10. sql-practice-define-indexes
  11. sql-practice-sql-indexes2

⚠️ There are no games tagged with this aspect in ddl.

✨ New

Recently added/gained traction feature

⚠️ There are no insights tagged with this aspect in ddl. :warning: There are no exercises tagged with this aspect in ddl. :warning: There are no games tagged with this aspect in ddl.

🔮 Obscura

Stories, obscure details that don’t specifically relate to a learning objective

⚠️ There are no insights tagged with this aspect in ddl. :warning: There are no exercises tagged with this aspect in ddl. :warning: There are no games tagged with this aspect in ddl.

✅ All content has been tagged with aspects.

Clone this wiki locally