Școala informală de IT

Database Development – Curriculum

Școala Informală de IT

Content

1. Introduction to DataBase Concepts 2. Introduction to T-SQL Querying 3. Writing SELECT Queries 4. Querying Multiple Tables 5. Sorting and Filtering Data 6. Working with SQL Server Data Types 7. Using DML to Modify Data 8. Using Built-In Functions 9. Grouping and Aggregating Data 10. Using Subqueries 11. Using Table Expressions 12. Using Set Operators 13. Executing Stored Procedures 14. Programming with T-SQL 15. Implementing Transactions and Error Handling 16. Implementing Jobs 17. Interview Preparation

Module 1: Introduction to DataBase Concepts

This module introduces the basics of the data bases, such as: 1.1. The purpose and definition of a database 1.2. The advantages of a database 1.3. Introduction to the table concepts: – columns, rows – primary key – candidate key – foreign key – indexes

Module 2: Introduction to T-SQL Querying

This module introduces Transact SQL as the primary querying language of SQL Server. It discusses the basic structure of T-SQL queries, the logical flow of a SELECT statement, and introduces concepts such as predicates and set-based operations. 2.1. Introducing T-SQL 2.2. Understanding Sets 2.3. Understanding Predicate Logic 2.4. Understanding the Logical Order of Operations in SELECT statements

Module 3: Writing SELECT Queries

This module introduces the fundamentals of the SELECT statement, focusing on queries against a single table. 3.1. Writing Simple SELECT Statements 3.2. Eliminating Duplicates with DISTINCT 3.3. Using Column and Table Aliases 3.4. Writing Simple CASE Expressions

Module 4: Querying Multiple Tables

This module explains how to write queries which combine data from multiple sources in SQL Server. The module introduces the use of JOINs in T-SQL queries as a mechanism for retrieving data from multiple tables. 4.1. Understanding Joins 4.2. Querying with Inner Joins 4.3. Querying with Outer Joins 4.4. Querying with Cross Joins and Self Joins

Module 5: Sorting and Filtering Data

This module explains how to enhance queries to limit the rows they return, and to control the order in which the rows are displayed. The module also discusses how to resolve missing and unknown results. 5.1. Sorting Data 5.2. Filtering Data with a WHERE Clause 5.3. Filtering with the TOP and OFFSET-FETCH Options 5.4. Working with Unknown and Missing Values

Module 6: Working with SQL Server Data Types

This module explains the data types SQL Server uses to store data. It introduces the many types of numeric and special-use data types. It also explains conversions between data types, and the importance of type precedence. 6.1. Introducing SQL Server Data Types 6.2. Working with Character Data 6.3. Working with Date and Time Data

Module 7: Using DML to Modify Data

This module describes the use of Transact-SQL Data Manipulation Language to perform inserts, updates, and deletes to your data. 7.1. Inserting Data 7.2. Modifying and Deleting Data

Module 8: Using Built-In Functions

This module introduces the use of functions that are built into SQL Server, and will discuss some common usages including data type conversion, testing for logical results and nullability. 8.1. Writing Queries with Built-In Functions 8.2. Using Conversion Functions 8.3. Using Logical Functions 8.4. Using Functions to Work with NULL

Modul 9: Grouping and Aggregating Data

This module introduces methods for grouping data within a query, aggregating the grouped data and filtering groups with HAVING. The module is designed to help the student grasp why a SELECT clause has restrictions placed upon column naming in the GROUP BY clause as well as which columns may be listed in the SELECT clause. 9.1. Using Aggregate Functions 9.2. Using the GROUP BY Clause 9.3. Filtering Groups with HAVING

Module 10: Using Subqueries

This module will introduce the use of subqueries in various parts of a SELECT statement. It will include the use of scalar and multi-result subqueries, and the use of the IN and EXISTS operators. 10.1. Writing Self-Contained Subqueries 10.2. Writing Correlated Subqueries 10.3. Using the EXISTS Predicate with Subqueries

Module 11: Using Table Expressions

This module introduces T-SQL expressions which return a valid relational table, typically for further use in the query. The module discusses views, derived tables, common table expressions and inline table-valued functions. 11.1. Using Derived Tables 11.2. Using Common Table Expressions 11.3. Using Views 11.4. Using Inline Table-Valued Functions

Module 12: Using Set Operators

This module introduces UNION, EXCEPT and INTERSECT operators. 12.1. Writing Queries with the UNION Operator 12.2. Using EXCEPT and INTERSECT 12.3. Using APPLY

Module 13: Executing Stored Procedures

This module introduces the use of existing stored procedures in a T-SQL querying environment. It discusses the use of EXECUTE, how to pass input and output parameters to a procedure, and how to invoke system stored procedures. 13.1. Querying Data with Stored Procedures Passing Parameters to Stored Procedures 13.2. Creating Simple Stored Procedures 13.3. Working with Dynamic SQL

Module 14: Programming with T-SQL

This module introduces T-SQL programming concepts and objects. It discusses batches, variables, control of flow elements such as loops and conditionals, how to create and execute dynamic SQL statements, and how to use synonyms. 14.1. T-SQL Programming Elements 14.2. Controlling Program Flow

Module 15: Implementing Transactions and Error Handling

This module introduces the concepts of transaction management in SQL Server. It will provide a high-level overview of transaction properties; cover the basics of marking transactions with BEGIN, COMMIT and ROLLBACK. You will learn about error handlers in T-SQL code, too. It will introduce the difference between compile errors and run-time errors and will cover how errors affect batches. The module will also cover how to control error handling using TRY/CATCH blocks, the use of the ERROR class of functions, and the use of the new THROW statement. 15.1. Transactions and the Database Engine 15.2. Controlling Transactions 15.3. Isolation Levels 15.4. Using TRY / CATCH Blocks 15.5. Working with Error Information

Module 16: Implementing Jobs

This module introduces the concepts of creating, viewing, and scheduling a job in Microsoft SQL Server Management Studio. 16.1. installing and configuring SQL Server Agent 16.2. configuring a job 16.3. configuring job steps (calling a stored procedure, executing a T-SQL script) 16.4. configuring job steps order 16.5. scheduling a job 16.6. debugging a job

Module 17: Interview Preparation

17.1. How to present oneself during an IT interview 17.2. CV formatting tips