Skip to content

SQL Data Definition Language Course

enki-hq edited this page Jun 9, 2020 · 5 revisions

Data Definition Language 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
3 primary-key 👶 introduction
💪 workout
define-tables.4: 10
4 foreign-key 👶 introduction
💪 workout
define-tables.4: 10
define-relationships.0: 10
5 check-constraint 👶 introduction
💪 workout
define-sequences-or-default-values.1: 10
6 default-value 👶 introduction
💪 workout
define-sequences-or-default-values.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-1 👶 introduction
💪 workout
choose-sql-datatype.0: 10
2 sql-numeric-data-types-2 👶 introduction
💪 workout
choose-sql-datatype.0: 10
3 sql-numeric-data-types-3 👶 introduction
💪 workout
choose-sql-datatype.0: 10
4 sql-string-data-types 👶 introduction
💪 workout
choose-sql-datatype.1: 10
5 encoding 👶 introduction
💪 workout
🦑 deep
choose-sql-datatype.1: 10
6 collation 👶 introduction
💪 workout
🦑 deep
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 alter-characteristics 💪 workout
🦑 deep
define-columns.2: 10
4 add-trigger-1 💪 workout
🦑 deep
define-tables.2: 10
5 add-trigger-2 💪 workout
🦑 deep
define-tables.2: 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
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 indices that improve the performance of table lookups and ineffective indices 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. primary-key
  4. foreign-key
  5. check-constraint
  6. default-value
  7. sql-numeric-data-types-1
  8. sql-numeric-data-types-2
  9. sql-numeric-data-types-3
  10. sql-string-data-types
  11. encoding
  12. collation
  13. blobs-in-a-rdbms
  14. storing-blobs-in-psql
  15. storing-blobs-in-mysql
  16. storing-blobs-in-mssql
  17. storing-json-in-an-rdbms
  18. storing-json-in-postgresql
  19. storing-json-in-mysql
  20. 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. primary-key
  4. foreign-key
  5. check-constraint
  6. default-value
  7. sql-numeric-data-types-1
  8. sql-numeric-data-types-2
  9. sql-numeric-data-types-3
  10. sql-string-data-types
  11. encoding
  12. collation
  13. add-column
  14. add-constraint
  15. alter-characteristics
  16. add-trigger-1
  17. add-trigger-2
  18. create-indexes
  19. when-to-add-indexes
  20. blobs-in-a-rdbms
  21. storing-blobs-in-psql
  22. storing-blobs-in-mysql
  23. storing-blobs-in-mssql
  24. storing-json-in-an-rdbms
  25. storing-json-in-postgresql
  26. storing-json-in-mysql
  27. 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. encoding
  2. collation
  3. add-column
  4. add-constraint
  5. alter-characteristics
  6. add-trigger-1
  7. add-trigger-2
  8. create-indexes
  9. when-to-add-indexes
  10. blobs-in-a-rdbms
  11. storing-blobs-in-psql
  12. storing-blobs-in-mysql
  13. storing-blobs-in-mssql
  14. storing-json-in-an-rdbms
  15. storing-json-in-postgresql
  16. storing-json-in-mysql
  17. 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