10156125SQL Database Programming
Course Information
Description
Presents relational database concepts and teaches beginning to intermediate Structured Query Language (SQL) using cloud-hosted relational databases. Students learn techniques for extracting and transforming data from relational databases in increasingly complex ways. Students also learn to create robust structures and to store and manipulate the data within them. Demonstrations and hands-on practice reinforce the fundamental concepts.
Total Credits
3
Course Competencies
-
Create SQL SELECT queries that filter and sort table dataAssessment StrategiesSkill demonstration in lab, quiz, SQL report generation projectCriteriaWrite SELECT statements that retrieve any or all columns from a tableUtilize WHERE clauses that filter data on simple and compound conditionsSort result rows based on one or more columns using ORDER BYEliminate duplicate rows of results using DISTINCTAppropriately utilize aliases to rename result columnsCreate readable queries that accurately match desired results
-
Create SQL SELECT queries to join records from multiple tablesAssessment StrategiesSkill demonstration in lab, quiz, SQL report generation projectCriteriaWrite SELECT statements that retrieve records from two or more tables using foreign key relationshipsRetrieve matching and unmatched records using outer joinsApply compound join conditions on non-key fields to link records in more complex waysNest joins when necessary to correctly combine inner and outer joinsUtilize self-joins for multiple matches and recursive relationshipsUtilize table aliases to disambiguate commonly named fields
-
Utilize SQL functions and expressions to transform data valuesAssessment StrategiesSkill demonstration in lab, quiz, SQL report generation projectCriteriaCombine multiple values and extract components of string valuesCalculate numerical values using arithmetic operatorsAnalyze components of individual dates or combinations of datesUtilize CASE to create new values based on the condition of other valuesTransform numerical and date values to match a specific formatApply different techniques for managing missing values in expressionsResearch and apply DBMS vendor-specific functions appropriately
-
Produce queries that report filtered aggregates using GROUP BY and HAVINGAssessment StrategiesSkill demonstration in lab, quiz, SQL report generation projectCriteriaWrite SELECT statements that summarize multiple rows of data into individual valuesCalculate single values across multiple rows using aggregate functionsDefine single and multi-level grouping criteria using GROUP BYUtilize HAVING to filter group rows using aggregate values
-
Produce queries that combine rows from multiple relationsAssessment StrategiesSkill demonstration in lab, exploratory data analysis projectCriteriaWrite queries that utilize SQL set theory functions to merge rows from multiple SELECT statementsUtilize UNION and UNION ALL to combine multiple relations with and without duplicate rowsApply vendor-specific techniques for performing set intersection and set difference
-
Calculate values for a row based on a set of related values using windowingAssessment StrategiesSkill demonstration in lab, exploratory data analysis projectCriteriaWrite SELECT queries that calculate sub-aggregates, cumulative aggregates and ranks (top-n)Apply both general aggregate and windowing functions to groups of related rows defined by OVER()Divide windows into subsegments with criteria defined using PARTITION BYUtilize ORDER BY() to calculate cumulative aggregates, recognizing difference from general ORDER BYIdentify appropriate use cases for windowing vs. aggregation with GROUP BY
-
Produce layered queries that combine results from multiple queriesAssessment StrategiesSkill demonstration in lab, exploratory data analysis projectCriteriaWrite scalar and list subqueries to calculate individual or list values within a queryUtilize correlated subqueries to connect subquery rows to the outer queryTest for existence or nonexistence of row data within a query using EXISTSCreate common table expressions (CTEs) to define intermediate result tables in complex queriesUtilize views to create virtual tables defined by queriesDecompose larger data analysis problems into combinations of smaller queriesIdentify equivalent queries that do and do not utilize subqueries Write readable queries by utilizing subqueries only when necessary
-
Identify and design relational database structuresAssessment StrategiesSkill demonstration in lab, quiz, database creation projectCriteriaIdentify functional dependencies in a dataset to define an optimal set of data themesCreate schemas that eliminate data redundancy through normalizationProperly recognize that a database schema is normalized (in 3rd normal form)Describe the strengths and weaknesses of transactional (OLTP) and analytical (OLAP) schemas
-
Create and manage database objectsAssessment StrategiesSkill demonstration in lab, quiz, database creation projectCriteriaDefine database objects, such as tables, to match a database designCreate tables, and columns with a table, with appropriate namesRemove unneeded tables using DROPModify the names of existing tables and table columnsDefine appropriate primary keys, including composite and surrogate keysImprove query performance by creating indexes on tablesWrite scripts for deploying database schemas across multiple environments
-
Define structural rules that constrain dataAssessment StrategiesSkill demonstration in lab, quiz, database creation projectCriteriaCreate a database schema with rules enforced to help reject poorly formed dataSelect the most appropriate datatype for a range of data valuesAppropriately enforce requirement of column valuesDefine rules to reject duplicate values or ranges of values from a columnEnforce referential integrity of foreign key values
-
Manipulate and maintain table dataAssessment StrategiesSkill demonstration in lab, quiz, database creation projectCriteriaInsert single rows of static data into a tableInsert rows of data into a table by querying one or more tablesUpdate columns within existing tables rows that meet simple or complex criteriaRemove rows of data from a table, possibly limited to those meeting a given criteriaAppropriately apply DELETE and TRUNCATE by understanding the difference between the two commandsCombine multiple data manipulation queries into a single unit of work using transactions