Implementing Tables and ViewsCreate and alter tables. This objective may include but is not limited to: computed and persisted columns; schemas; scripts to deploy changes to multiple environments, for example, dev, test, production; manage permissions (GRANT, DENY, REVOKE) Create and alter indexes. This objective may include but is not limited to: filtered, included columns, unique, clustered, non-clustered, FILL FACTOR; CREATE STATISTICS; indexing views Implement data types. This objective may include but is not limited to: FILESTREAM; spatial, structured, and semi-structured; collations Implementing Programming ObjectsCreate and alter stored procedures. This objective may include but is not limited to: table-valued parameters (TVP), EXECUTE AS, RECOMPILE, parameter direction (output); WITH ENCRYPTION; manage permissions (GRANT, DENY, REVOKE) Create and alter user-defined functions (UDFs). This objective may include but is not limited to: WITH SCHEMABINDING, EXECUTE AS; manage permissions (GRANT, DENY, REVOKE) Manage transactions. This objective may include but is not limited to: BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL Working with Query FundamentalsQuery data by using SELECT statements. This objective may include but is not limited to: LIKE, WHERE, ORDER BY, INTO Modify data by using INSERT, UPDATE, and DELETE statements. This objective may include but is not limited to: row constructors, DELETE FROM FROM, UPDATE FROM, TRUNCATE TABLE Implement aggregate queries. This objective may include but is not limited to: built-in aggregate functions, GROUPING SETS, GROUP BY, HAVING Combine datasets. This objective may include but is not limited to: CROSS APPLY, OUTER APPLY, all join types; UNION, UNION ALL, INTERSECT, EXCEPT Applying Additional Query TechniquesImplement subqueries. This objective may include but is not limited to: simple, correlated, scalar, list, table valued Implement CTE (common table expression) queries. This objective may include but is not limited to: recursive, non-recursive Apply ranking functions. This objective may include but is not limited to: RANK, PARTITION BY, DENSE_RANK, OVER, ROW_NUMBER, NTILE Working with Additional SQL Server ComponentsImplement full-text search. This objective may include but is not limited to: CONTAINS, CONTAINSTABLE, FREETEXT, FREETEXTTABLE, STOPLIST Implement scripts by using Windows PowerShell and SQL Server Management Objects (SMOs). This objective may include but is not limited to: cmdlets Implement Service Broker solutions. This objective may include but is not limited to: services, queues, messages, message types, message validation, contracts, activation procedures Working with XML DataRetrieve relational data as XML. This objective may include but is not limited to: FOR XML Transform XML data into relational data. This objective may include but is not limited to: OPENXML, sp_xml_preparedocument, sp_xml_removedocument Query XML data. This objective may include but is not limited to: XQUERY, XPATH Gathering Performance InformationCapture execution plans. This objective may include but is not limited to: graphical execution plans; SHOWPLAN - Gather trace information by using the SQL Server Profiler.
Designing a Database StrategyIdentify which SQL Server components to use to support business requirements. This objective may include but is not limited to: SQL Server Agent, DB mail, Service Broker, Full-Text Search, Distributed Transaction Coordinator (DTC), linked servers Design a database model. This objective may include but is not limited to: normalization, entities, entity relationships Design an application strategy to support security. This objective may include but is not limited to: application roles, schema ownership, execution context, Windows vs. SQL authentication, permissions and database roles Designing Database TablesIdenify the appropriate usage of new data types. This objective may include but is not limited to: geography, geometry, hierarchyid, date, time, datetime2, datetimeoffset, varbinary (max) filestream Design tables. This objective may include but is not limited to: table width, sizing data types, IN_ROW_DATA (BLOBs), overflow data, sparse columns, computed columns, persisted computed columns Design data integrity. This objective may include but is not limited to: primary key, foreign key, check constraint, default constraint, NULL/NOT NULL, unique constraint, DML triggers Designing Programming ObjectsDesign T-SQL stored procedures. This objective may include but is not limited to: execution context (EXECUTE AS), table-valued parameters, determining appropriate way to return data, WITH RECOMPILE/OPTION (RECOMPILE), error handling, TRY/CATCH Design T-SQL table-valued and scalar functions. This objective may include but is not limited to: inline table-valued functions vs. views, multi-statement table-valued functions, determinism Evaluate special programming constructs. This objective may include but is not limited to: dynamic vs. prepared SQL (CREATE PROCEDURE… WITH EXECUTE AS) procedure, protecting against SQL injection Designing a Transaction and Concurrency StrategyDesign the locking granularity level. This objective may include but is not limited to: locking hints, memory consumption Design for concurrency. This objective may include but is not limited to: hints, transaction isolation level, effect of database option READ_COMMITTED_SNAPSHOT, rowversion and timestamp datatypes Designing an XML StrategyDesign XML storage. This objective may include but is not limited to: determining when to use XML for storage, untyped vs. typed (XML schema collection) Design a strategy to transform XML into relational data. This objective may include but is not limited to: .nodes, .value, .query, XQuery and XPath Designing Queries for PerformanceOptimize and tune queries. This objective may include but is not limited to: optimizer hints, common table expressions (CTEs), search conditions, temporary storage, GROUP BY [GROUPING SETS|CUBE|ROLLUP] Analyze execution plans. This objective may include but is not limited to: execution order, logical and physical operators, join operators, minimize resource costs, compare query costs Designing a Database for Optimal PerformanceOptimize indexing strategies. This objective may include but is not limited to: table-valued function, views, filtered indexes, indexed views, clustered and non-clustered, unique Design a table and index compression strategy. This objective may include but is not limited to: row vs. page, update frequency, page compression implementation, compressing individual partitions Design a table and index partitioning strategy. This objective may include but is not limited to: switching partitions, merging, splitting, staging, creating, schemes and functions
|