DS0-002 — CompTIA DataSys+ V2 Cheat Sheet

Compact DS0-002 Cheat sheet for CompTIA DataSys+ V2 candidates covering database design, SQL, security, operations, performance, and recovery.

Use the tables for a quick pre-exam check. Expand a topic’s notes for explanations, examples, and additional distinctions.

Scope and study context

Focus on decision-making: DS0-002-style questions often test whether you can choose the safest database design, operation, security control, or troubleshooting step—not just define a term.

Use this review with the current CompTIA exam objectives. Do not rely on memory of older versions or unofficial weightings.

High-yield DBA decision map

TaskChoose / rememberCommon exam trap
Design transactional systemNormalize, enforce constraints, index frequent predicatesAdding indexes for every column without considering write cost
Design analytics systemDimensional model, columnar storage, aggregates, ETL/ELT pipelinesTreating OLAP like OLTP and over-normalizing reporting tables
Protect dataLeast privilege, encryption, auditing, masking/tokenization where neededConfusing encryption with authorization
Improve slow queryCheck plan, indexes, statistics, joins, predicates, locksScaling hardware before reading the execution plan
Recover from data lossRestore last good full backup, apply differential/incremental/logs as appropriate, validateHaving backups but never testing restores
Meet low downtime requirementReplication, clustering, failover, load balancing, tested runbooksAssuming backup alone provides high availability
Move data between systemsMigration plan, validation, rollback, CDC or replication if low downtimeBig-bang migration without reconciliation
Troubleshoot contentionIdentify locks, long transactions, isolation level, deadlock victimsKilling sessions without preserving evidence
Improve data qualityConstraints, validation rules, profiling, deduplication, lineageFixing reports instead of correcting source data
Manage changesVersioned scripts, pre-prod testing, approvals, rollback planManual schema changes directly in production

Data types, structures, and workload fit

Data category reference

Data categoryExamplesTypical handling
StructuredRows and columns, well-defined schemaRelational DBMS, SQL, constraints
Semi-structuredJSON, XML, logs with variable fieldsDocument stores, data lakes, schema-on-read
UnstructuredImages, audio, PDFs, free textObject storage, search indexes, metadata catalog
Master dataCustomer, product, supplier recordsGovernance, deduplication, stewardship
Transactional dataOrders, payments, inventory movementsACID controls, constraints, auditability
Reference dataCountry codes, status codes, taxonomiesControlled updates, versioning
MetadataSchema, lineage, ownership, sensitivity labelsCataloging, governance, impact analysis
Notes and examples

Workload selection matrix

WorkloadPrimary goalCommon designStorage/query pattern
OLTPFast, consistent transactionsNormalized relational schemaShort reads/writes, indexed lookups
OLAPAnalysis across large historyStar/snowflake schema, aggregatesLarge scans, joins, grouping
HTAP / mixedTransactional plus near-real-time analyticsSeparate serving paths or specialized platformAvoid analytics queries degrading OLTP
StreamingContinuous event processingEvent logs, stream processors, time windowsAppend-first, low-latency processing
Data lakeFlexible raw and curated dataObject storage zones, catalog, governanceBatch/ELT, schema-on-read
SearchText relevance and filteringInverted indexesTokenization, ranking, faceting
Time-seriesMetrics, telemetry, sensor dataTimestamp-based partitions/retentionRange scans, downsampling

Database model selection

ModelBest forStrengthsWatch for
RelationalStructured business transactionsACID, SQL, constraints, joinsRigid schema changes if poorly managed
Key-valueSession state, cache, simple lookupsVery fast access by keyLimited querying and relationships
DocumentJSON-like entities, flexible attributesSchema flexibility, nested dataDuplicated data and inconsistent shapes
Column-family / wide-columnMassive sparse datasets, high write scaleHorizontal scale, high throughputQuery design must follow access patterns
GraphHighly connected relationshipsTraversal, path analysisNot ideal for simple tabular reporting
Time-seriesMetrics over timeRetention, compression, time windowsCardinality management
Object storage + catalogRaw files, lake architecturesLow-cost durable storage, many formatsGovernance and query performance depend on design

Relational design quick reference

Core relational terms

TermMeaningExam note
EntityThing represented by a tableExample: Customer, Order, Product
AttributeColumn describing an entityChoose data type and constraints carefully
Tuple / rowOne recordShould represent one instance of the entity
Primary keyUnique row identifierShould be stable, unique, and non-null
Foreign keyReference to another table’s keyEnforces referential integrity
Candidate keyColumn set that could uniquely identify rowsOne is selected as primary key
Surrogate keyArtificial key, such as generated IDUseful when natural keys are unstable
Natural keyReal-world identifierCan change or contain business meaning
CardinalityRelationship countOne-to-one, one-to-many, many-to-many
OptionalityWhether relationship is requiredImplemented through nullability and constraints
Junction tableResolves many-to-many relationshipContains foreign keys to both parent tables
Notes and examples

Relationship patterns

PatternImplementationExample
One-to-oneFK with unique constraint, or shared PKUser and user profile
One-to-manyFK on child tableCustomer to orders
Many-to-manyJunction/bridge tableStudents to courses
HierarchicalSelf-referencing FKEmployee to manager
Recursive graph-likeEdge table with source/target IDsNetwork links, dependencies

Constraint reference

ConstraintProtects againstExample
NOT NULLMissing required dataOrder date must exist
UNIQUEDuplicate valuesEmail address must be unique
PRIMARY KEYMissing or duplicate row identityCustomerID
FOREIGN KEYOrphan recordsOrder must reference valid customer
CHECKInvalid domain valuesQuantity greater than 0
DEFAULTMissing routine valueCreatedDate defaults to current timestamp
EXCLUDE / specialized constraintOverlapping or conflicting rangesRoom bookings cannot overlap, if supported

Normalization decision table

FormMain ruleFixesPractical exam cue
1NFAtomic values; no repeating groupsMulti-value columnsSplit comma-separated phone numbers into child table
2NF1NF plus no partial dependency on composite keyRedundant data in composite-key tablesNon-key attribute depends on only part of key
3NF2NF plus no transitive dependencyNon-key data depending on other non-key dataMove ZIP-to-city mapping to reference table
BCNFEvery determinant is a candidate keyEdge cases with overlapping candidate keysStricter than 3NF
DenormalizationIntentionally duplicate or precompute dataRead/report performanceRequires consistency strategy

High-yield distinction: normalization reduces update anomalies; denormalization can improve read performance but increases maintenance and consistency risk.

Dimensional and analytics modeling

ConceptMeaningUse when
Fact tableNumeric events or measurementsSales amount, clicks, shipments
Dimension tableDescriptive contextDate, customer, product, region
Star schemaFact table directly linked to dimensionsSimpler, faster BI queries
Snowflake schemaDimensions further normalizedLower redundancy, more joins
GrainLevel of detail in fact table“One row per order line”
Slowly changing dimension Type 1Overwrite old valueCurrent-state reporting only
Slowly changing dimension Type 2Add new versioned rowHistorical reporting needed
Aggregate tablePre-summarized dataImprove frequent reports
Data martSubject-specific analytics storeDepartment or domain reporting

SQL compact reference

SQL statement classes

ClassPurposeExamples
DDLDefine structuresCREATE, ALTER, DROP, TRUNCATE
DMLManipulate dataSELECT, INSERT, UPDATE, DELETE, MERGE
DCLControl permissionsGRANT, REVOKE
TCLControl transactionsCOMMIT, ROLLBACK, SAVEPOINT
DQLQuery dataSELECT; often treated as part of DML
Notes and examples

Logical SELECT processing order

OrderClausePurpose
1FROM / JOINIdentify source rows
2WHEREFilter individual rows
3GROUP BYForm groups
4HAVINGFilter groups
5SELECTReturn expressions
6DISTINCTRemove duplicates
7ORDER BYSort result
8LIMIT / OFFSET / FETCHReturn subset, syntax varies

Trap: WHERE filters rows before grouping. HAVING filters groups after aggregation.

SELECT c.customer_id, COUNT(*) AS order_count
FROM customers c
JOIN orders o
  ON o.customer_id = c.customer_id
WHERE o.order_date >= DATE '2026-01-01'
GROUP BY c.customer_id
HAVING COUNT(*) > 5
ORDER BY order_count DESC;

Join behavior

Join typeReturnsCommon use
INNER JOINMatching rows onlyRequired relationship
LEFT OUTER JOINAll left rows plus matching right rowsFind optional related data
RIGHT OUTER JOINAll right rows plus matching left rowsLess common; can rewrite as left join
FULL OUTER JOINAll rows from both sidesReconciliation, data comparison
CROSS JOINCartesian productGenerate combinations; dangerous if accidental
SELF JOINTable joined to itselfHierarchies, comparisons
-- Find customers with no orders
SELECT c.customer_id
FROM customers c
LEFT JOIN orders o
  ON o.customer_id = c.customer_id
WHERE o.order_id IS NULL;

NULL behavior

ExpressionResult / note
column = NULLIncorrect; comparisons to NULL are unknown
column IS NULLCorrect NULL test
column IS NOT NULLCorrect non-NULL test
COUNT(*)Counts rows
COUNT(column)Counts non-NULL values
COALESCE(a, b)Returns first non-NULL value
NULL in arithmeticUsually produces NULL

Aggregation and window functions

TechniquePurposeExample use
GROUP BYCollapse rows into groupsSales by region
HAVINGFilter aggregate groupsRegions with sales above threshold
Window functionCalculate across related rows without collapsingRank orders by customer
PARTITION BYDefines window groupsPer customer, per department
ORDER BY inside windowDefines calculation orderRunning total, row number
SELECT
  customer_id,
  order_id,
  order_total,
  ROW_NUMBER() OVER (
    PARTITION BY customer_id
    ORDER BY order_date DESC
  ) AS order_rank
FROM orders;

DDL and constraints example

CREATE TABLE orders (
  order_id      INTEGER PRIMARY KEY,
  customer_id   INTEGER NOT NULL,
  order_date    DATE NOT NULL,
  order_total   DECIMAL(12,2) NOT NULL CHECK (order_total >= 0),
  status        VARCHAR(20) NOT NULL DEFAULT 'NEW',
  CONSTRAINT fk_orders_customer
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

Transaction example

BEGIN;

UPDATE accounts
SET balance = balance - 100
WHERE account_id = 10;

UPDATE accounts
SET balance = balance + 100
WHERE account_id = 20;

COMMIT;
-- Use ROLLBACK instead of COMMIT if validation fails.

SQL categories

CategoryExamplesPurpose
DDLCREATE, ALTER, DROP, TRUNCATEDefine or change database objects
DMLSELECT, INSERT, UPDATE, DELETE, MERGEQuery and modify data
DCLGRANT, REVOKEManage permissions
TCLCOMMIT, ROLLBACK, SAVEPOINTControl transactions

Logical SELECT processing order

Remember the logical order, not the written order:

  1. FROM and JOIN
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. SELECT
  6. DISTINCT
  7. ORDER BY
  8. LIMIT / FETCH / TOP, depending on platform

Exam trap: a column alias created in SELECT may not be available to WHERE because WHERE is logically processed earlier.

Join review

Join typeResultCommon mistake
INNER JOINMatching rows onlyAccidentally excluding unmatched records
LEFT OUTER JOINAll left rows plus matching right rowsFiltering right-table columns in WHERE can turn it into an inner join
RIGHT OUTER JOINAll right rows plus matching left rowsUsually can be rewritten as LEFT JOIN for clarity
FULL OUTER JOINAll rows from both sides with matches where possibleMisreading NULLs from unmatched sides
CROSS JOINCartesian productOften accidental due to missing join condition
SELF JOINTable joined to itselfRequires clear aliases

Filtering, grouping, and NULLs

TopicHigh-yield rule
WHEREFilters rows before grouping
HAVINGFilters groups after aggregation
COUNT(*)Counts rows
COUNT(column)Counts non-NULL values in that column
NULL comparisonUse IS NULL or IS NOT NULL, not equals comparison
NOT IN with NULLCan produce unexpected results; understand three-valued logic
DISTINCTRemoves duplicates from the selected result set, not from the table
UNIONCombines and removes duplicates
UNION ALLCombines without duplicate removal, often faster
ORDER BYResult order is not guaranteed without it

UPDATE and DELETE safety

Before changing production data, the safest pattern is usually:

  1. Confirm the target rows with SELECT.
  2. Use a transaction when supported and appropriate.
  3. Apply a specific WHERE clause.
  4. Validate the affected row count.
  5. Commit only after verification.
  6. Keep a rollback or restore path.

Common trap: choosing a broad UPDATE or DELETE when the scenario asks for controlled, auditable change.

DROP vs DELETE vs TRUNCATE

CommandWhat it doesExam caution
DELETERemoves selected rowsWHERE matters; may be logged row by row depending on system
TRUNCATERemoves all rows from a table efficientlyUsually not for selective removal
DROPRemoves the object itselfHighest destructive impact

Transactions, concurrency, and consistency

ACID reference

PropertyMeaningDBA relevance
AtomicityAll-or-nothing transactionPrevent partial transfers or half-written changes
ConsistencyDatabase moves between valid statesConstraints and business rules remain valid
IsolationConcurrent transactions do not improperly interfereControlled by isolation levels and locks
DurabilityCommitted data survives failureLogs, storage, checkpoints, replication
Notes and examples

Isolation and anomalies

Isolation conceptPrevents / allowsExam cue
Read uncommittedMay allow dirty readsFast but unsafe for correctness
Read committedPrevents dirty readsCommon baseline behavior
Repeatable readPrevents non-repeatable readsSame row reread remains stable
SerializableStrongest isolation; behaves like serial executionMore blocking/overhead possible
Snapshot / MVCCReaders see consistent versionReduces read/write blocking, may create version storage pressure
AnomalyMeaning
Dirty readRead data from uncommitted transaction
Non-repeatable readSame row read twice returns different committed values
Phantom readRe-running query returns new/deleted matching rows
Lost updateOne update overwrites another without detection
DeadlockTransactions wait on each other in a cycle

Locking and contention

SymptomLikely causeFirst checksPossible action
Queries hang or time outBlocking locksActive sessions, wait events, lock tablesCommit/rollback long transaction; tune query
Deadlock errorsConflicting access orderDeadlock logs/graphsAccess objects in consistent order; shorten transactions
High write latencyIndex overhead, log pressure, contentionWrite waits, index count, log I/OReduce unnecessary indexes, batch carefully
Readers block writersLock-based isolationIsolation settings, query durationUse appropriate isolation/MVCC if supported
Version store growsLong snapshot readersLong-running queriesEnd stale sessions; tune reporting workload

ACID

PropertyMeaningWhy it matters
AtomicityAll changes in a transaction succeed or fail togetherPrevents partial updates
ConsistencyRules and constraints remain validProtects data integrity
IsolationConcurrent transactions do not improperly interferePrevents inconsistent reads/writes
DurabilityCommitted data survives failureSupports recovery expectations

Common concurrency problems

ProblemDescriptionTypical mitigation
Dirty readReading uncommitted dataStronger isolation
Non-repeatable readSame row read twice returns different committed valuesStronger isolation or locking strategy
Phantom readRe-running a query returns new or missing rowsSerializable-style controls or range locks
Lost updateOne update overwrites anotherTransactions, locking, optimistic concurrency
DeadlockTransactions wait on each other in a cycleConsistent access order, shorter transactions, retry logic
BlockingOne session waits for another lockIdentify blocker, tune query, reduce transaction duration

High-yield rule: increasing isolation can improve consistency but may reduce concurrency. The best answer depends on the scenario’s balance between correctness and performance.

Indexing and query performance

Index selection

Index type / patternUse whenAvoid / watch for
B-tree / balanced treeEquality and range predicates, sortingLow-selectivity columns may not help
Composite indexQueries filter/sort by multiple columnsColumn order matters
Covering indexQuery can be satisfied from indexExtra storage and write overhead
Unique indexEnforce uniqueness and speed lookupDuplicates will fail
Filtered / partial indexOnly subset is frequently queriedPredicate must match supported syntax
Full-text indexNatural language searchNot same as LIKE '%term%'
Hash indexEquality lookup, if supportedUsually not for range queries
Bitmap indexLow-cardinality analytics, if supportedOften poor for high-concurrency OLTP
Notes and examples

SARGability checklist

A predicate is more index-friendly when the database can search the index directly.

Less index-friendlyMore index-friendly
WHERE YEAR(order_date) = 2026WHERE order_date >= DATE '2026-01-01' AND order_date < DATE '2027-01-01'
WHERE LOWER(email) = 'a@x.com'Store normalized email or use supported function-based index
WHERE amount + 10 > 100WHERE amount > 90
WHERE name LIKE '%son'Use full-text/search index if suffix search is required

Query tuning sequence

  1. Confirm the performance symptom and baseline.
  2. Review execution plan: scan vs seek, join method, sort, spill, estimated vs actual rows if available.
  3. Check predicates for SARGability.
  4. Validate relevant indexes and index column order.
  5. Check statistics freshness and cardinality estimates.
  6. Inspect joins, missing filters, accidental cross joins, and implicit conversions.
  7. Check locks, waits, I/O, CPU, memory, and temp space.
  8. Test changes in non-production and compare measured results.

Performance tools and signals

SignalIndicatesTypical response
Full table scanNo useful index, low selectivity, or optimizer choiceAdd/tune index only if beneficial
High CPUComplex calculations, poor plan, too many executionsTune query, cache results, reduce frequency
High disk I/OLarge scans, missing indexes, poor cachingIndex, partition, archive, tune queries
Memory pressureSort/hash spills, insufficient cacheTune query, review memory config/capacity
Temp space growthLarge sorts, hash joins, temp tablesAdd indexes, reduce intermediate rows
Stale statisticsBad cardinality estimatesUpdate statistics/maintenance
Parameter sensitivityPlan good for one value, bad for anotherRecompile/plan strategy, query rewrite where supported

Index fundamentals

ConceptWhy it matters
SelectivityIndexes help most when values narrow the result set significantly
Composite indexColumn order matters; leftmost leading columns are important
Covering indexIncludes all needed columns for a query, reducing lookups
Clustered organizationData stored in index order in some systems
Nonclustered indexSeparate structure pointing to data rows
Unique indexEnforces uniqueness and can improve lookup performance
Over-indexingSpeeds reads but slows writes and increases maintenance/storage
StatisticsHelp the optimizer choose an efficient plan
SARGable predicateSearch-friendly condition that can use an index effectively

Common index traps

  • Indexing every column “just in case.”
  • Adding an index before checking the query plan.
  • Ignoring stale statistics.
  • Using functions on indexed columns in filters and then wondering why the index is not used.
  • Creating a composite index with columns in the wrong order for the query pattern.
  • Forgetting write-heavy systems pay a cost for every additional index.
  • Assuming partitioning automatically fixes poor query design.

Query tuning decision path

    flowchart TD
	    A[Slow query or workload] --> B[Confirm scope and baseline]
	    B --> C[Check wait events, locks, CPU, memory, I/O]
	    C --> D[Review execution plan]
	    D --> E{Root cause?}
	    E -->|Bad access path| F[Index, statistics, predicate rewrite]
	    E -->|Too much data scanned| G[Filter earlier, partition prune, aggregate appropriately]
	    E -->|Blocking| H[Shorten transactions, tune locks, review isolation]
	    E -->|Resource saturation| I[Capacity, configuration, workload scheduling]
	    F --> J[Test change safely]
	    G --> J
	    H --> J
	    I --> J
	    J --> K[Measure again and document]

Storage, partitioning, and capacity

Storage concepts

ConceptDBA meaningExam note
Data fileStores table/index dataPlacement affects I/O
Log / journalRecords changes for durability and recoveryCritical for point-in-time restore
Tablespace / filegroupLogical storage grouping, vendor term variesCan separate data, indexes, partitions
Temp spaceUsed for sorts, joins, temp objectsRunning out can break queries
CheckpointFlushes dirty pages to durable storageInteracts with recovery time
CompressionReduces storage and I/OMay increase CPU
TieringMove data to different storage classesBalance performance, cost, retention
Notes and examples

Partitioning patterns

PatternUse whenBenefitTrap
Range partitionDate/time or ordered keyFast pruning and archivalBad partition key creates imbalance
List partitionKnown categoriesRegion/status separationToo many categories can be hard to manage
Hash partitionSpread data evenlyReduces hotspot riskLess intuitive for pruning
Composite partitionMultiple strategiesLarge complex workloadsMore operational complexity

Partitioning is not automatically a performance fix. It helps most when queries filter on the partition key, maintenance can operate per partition, or data lifecycle actions need efficient archive/drop.

Deployment and architecture patterns

Database deployment decision table

PatternBest forStrengthsRisks / controls
Single instanceSmall/simple workload, dev/testSimple administrationSingle point of failure unless backed by platform features
Primary-replicaRead scaling, reporting, HA supportOffload reads, failover optionReplication lag, consistency expectations
Active-active / multi-writerGlobal or high-write availabilityContinuous service potentialConflict resolution and complexity
Clustered databaseHigh availability within environmentAutomated failover, shared governanceQuorum/split-brain design matters
ShardingVery large scale-out workloadHorizontal write/read scaleCross-shard queries and rebalancing complexity
Managed database serviceReduce operational burdenAutomated maintenance options, platform integrationShared responsibility still applies
Containerized databaseDev/test portability, some specialized deploymentsRepeatable deploymentPersistent storage, backup, and performance need care
Serverless databaseVariable workload, simplified scalingOperational simplicityCold starts/latency/cost behavior may vary by platform
Notes and examples

Replication choices

Replication typeDescriptionChoose when
SynchronousCommit waits for replica acknowledgmentVery low data-loss tolerance
AsynchronousPrimary commits before replica catches upDistance/performance more important than zero-lag
Physical/block-levelReplicates storage/log changesDisaster recovery or exact copy
LogicalReplicates rows/statements/changesSelective replication, migration, integration
SnapshotPeriodic copyReporting or initial synchronization
CDCCaptures data changes over timeNear-real-time pipelines and migrations

CAP and distributed data systems

ConceptMeaning
ConsistencyReads return latest correct data according to model
AvailabilityRequests receive non-error responses
Partition toleranceSystem continues despite network partitions
Eventual consistencyReplicas converge over time
Strong consistencyReads reflect committed writes according to defined rules

Exam distinction: CAP applies under network partition conditions. It does not mean every system permanently chooses only two characteristics in all situations.

Security quick reference

Security control matrix

ControlProtectsExamples / notes
AuthenticationWho are you?Passwords, MFA, certificates, federation
AuthorizationWhat can you do?Roles, grants, row-level access
Accounting / auditingWhat happened?Login logs, query audit, DDL audit
Encryption in transitNetwork confidentialityTLS/secure client connections
Encryption at restStored data protectionDatabase/file/storage encryption
Key managementControl encryption keysRotation, separation of duties, access policy
MaskingHide sensitive values in displaysUseful for non-prod or limited users
TokenizationReplace sensitive data with tokenReduces exposure of original value
HashingOne-way transformationPassword verification, integrity checks
SaltingRandom value added before hashingDefends against precomputed hash attacks
Data classificationLabel sensitivityDrives access, retention, and monitoring
Secrets managementProtect credentialsAvoid hardcoded passwords
Network segmentationLimit reachable pathsPrivate subnets, firewalls, allowlists
PatchingRemove known vulnerabilitiesTest, schedule, rollback plan
Notes and examples

Least privilege SQL example

-- Example pattern; exact syntax varies by platform.
CREATE ROLE reporting_reader;

GRANT SELECT ON sales_summary TO reporting_reader;

GRANT reporting_reader TO analyst_user;

REVOKE INSERT, UPDATE, DELETE ON sales_summary FROM reporting_reader;

Role design

PatternGood practiceTrap
User-specific grantsUse sparinglyHard to audit and revoke
Role-based access controlGrant privileges to roles, users to rolesOverly broad shared roles
Separation of dutiesSplit DBA, security admin, developer dutiesOne account can alter, approve, and audit itself
Break-glass accessEmergency elevated accessMust be logged, time-limited, reviewed
Service accountsApplication/database connectivityUse rotation and scoped permissions

Sensitive data handling

TechniqueReversible?Primary use
EncryptionYes, with keyProtect stored/transmitted data
HashingNoVerify password or integrity
MaskingUsually display-levelReduce exposure to users
TokenizationYes, through token vault/mappingReplace sensitive values in workflows
RedactionUsually no in outputRemove sensitive text from logs/documents
AnonymizationIntended noAnalytics without identifying individuals
PseudonymizationPossible with mappingReduce direct identifiability

Audit and logging focus

Event typeWhy it matters
Failed loginsBrute force or credential misuse
Privilege changesEscalation or misconfiguration
DDL changesSchema drift, unauthorized alteration
Access to sensitive tablesData exposure investigation
Bulk exportPotential exfiltration
Backup/restore eventsData movement and recovery assurance
Configuration changesSecurity or availability impact

Trap: audit logs must be protected from tampering. Logging sensitive values can create a second data exposure location.

Core security controls

ControlPurposeExam clue
AuthenticationProves identityPasswords, MFA, federated identity, service accounts
AuthorizationGrants allowed actionsRoles, privileges, policies
Accounting / auditingTracks activityLogs, access reviews, alerts
Least privilegeGrants only required accessExcessive admin rights are a red flag
Separation of dutiesSplits sensitive responsibilitiesPrevents one person from controlling all steps
Encryption in transitProtects data moving over networksTLS or secure channels
Encryption at restProtects stored dataDatabase, disk, file, or backup encryption
MaskingHides sensitive values from usersUseful in reports, testing, support
TokenizationReplaces sensitive data with tokensReduces exposure of original values
HashingOne-way transformationPassword storage with salt; not reversible encryption
Key managementProtects encryption keysRotation, access control, separation from data

Permission model review

ModelBest fit
RBACAccess based on job roles such as analyst, developer, DBA
ABACAccess based on attributes such as department, location, data classification
Direct user grantsSmall or exceptional cases; harder to manage at scale
Group-based accessEasier lifecycle management
Service accountApplication or automated process access; should be scoped and monitored

High-yield rule: if a user needs access, prefer granting access through an appropriate role or group rather than giving broad direct privileges.

Security traps

  • Granting administrative rights to fix a simple read/write permission issue.
  • Using shared accounts without accountability.
  • Storing secrets in scripts, code repositories, or plain-text configuration files.
  • Copying production data to test without masking sensitive fields.
  • Encrypting data but leaving keys broadly accessible.
  • Logging sensitive data into application or database logs.
  • Ignoring failed login spikes, unusual exports, or privilege escalation events.
  • Assuming network isolation replaces database-level access control.

Backup, restore, and disaster recovery

RPO, RTO, and availability

TermMeaningPractical implication
RPOMaximum acceptable data lossDetermines backup/log replication frequency
RTOMaximum acceptable recovery timeDetermines restore automation and HA design
MTTDMean time to detectMonitoring and alerting quality
MTTRMean time to repair/recoverRunbooks, automation, staff readiness
HAReduce downtime during component failureClustering, failover, redundancy
DRRecover from site/region/system disasterBackups, replication, alternate environment
Notes and examples\[ \text{Availability} = \frac{\text{Total time} - \text{Downtime}}{\text{Total time}} \times 100 \]

Backup type comparison

Backup typeCapturesStrengthsWatch for
FullEntire database/data setSimplest restore baseLargest time/storage
DifferentialChanges since last fullFaster restore than many incrementalsGrows until next full
IncrementalChanges since last backupEfficient storageRestore may require chain
Transaction log / redo logOrdered changesPoint-in-time recoveryLog chain must be intact
SnapshotPoint-in-time storage imageFast creationMust understand consistency and dependency on storage
Logical exportSchema/data as statements/filesMigration, selective restoreMay be slower; consistency must be managed
Physical backupData files/logsFast full restorePlatform/version compatibility matters

Restore sequence reference

ScenarioTypical restore approach
Full backup onlyRestore full backup
Full + differentialRestore full, then latest differential
Full + incrementalsRestore full, then each incremental in order
Full + logsRestore full, then logs to target point
Full + differential + logsRestore full, latest differential, then logs
Corrupt object onlyConsider object-level restore/export if supported
Accidental DELETEPoint-in-time restore to separate environment, extract/replay valid data

Backup validation checklist

  • Confirm backups complete successfully.
  • Test restore in a non-production environment.
  • Verify application can connect after restore.
  • Validate row counts, checksums, or reconciliation totals.
  • Document restore steps and owners.
  • Protect backups with encryption and access controls.
  • Store backups separately from the primary failure domain.
  • Monitor backup age, duration, failure, and capacity.
  • Review retention and deletion settings against business requirements.

HA/DR decision path

    flowchart TD
	    A[Requirement: protect database service] --> B{Main concern?}
	    B -->|Short outage from server failure| C[High availability: cluster or failover replica]
	    B -->|Data loss tolerance is very low| D[Synchronous replication or frequent log shipping]
	    B -->|Regional/site disaster| E[Disaster recovery environment plus offsite backups]
	    B -->|Accidental data change| F[Point-in-time restore and audit trail]
	    C --> G[Test failover runbook]
	    D --> G
	    E --> G
	    F --> H[Test restore and data reconciliation]

RPO and RTO

TermMeaningScenario clue
RPOMaximum acceptable data loss“Can lose no more than 15 minutes of data”
RTOMaximum acceptable downtime“Must be back online within 1 hour”

High-yield rule: a backup strategy is not proven until a restore has been tested.

Backup types

Backup typePurposeTradeoff
Full backupComplete backup at a point in timeLarger and slower, simpler restore base
Incremental backupChanges since the last backup of any typeSmaller backups, potentially longer restore chain
Differential backupChanges since the last full backupLarger over time, simpler than many incrementals
Transaction/log backupSupports point-in-time recovery in systems that use logsRequires proper log management
SnapshotFast point-in-time imageMay depend on underlying storage and is not always a full backup substitute

Availability patterns

PatternStrengthWatch for
Read replicaOffloads read trafficReplication lag
Synchronous replicationStronger data consistencyLatency and performance impact
Asynchronous replicationBetter performance over distancePossible data loss on failover
ClusteringImproves service availabilityComplexity and split-brain concerns
FailoverMoves service to standby systemMust be tested and documented
Geo-redundancyRegional resilienceCost, latency, compliance, recovery procedures

Operational mistakes

  • Backing up but never testing restore.
  • Restoring over production without confirming scope and authorization.
  • Treating snapshots as the only disaster recovery plan.
  • Ignoring transaction logs until storage fills.
  • Failing over without knowing application connection behavior.
  • Forgetting that replicas may replicate bad data or destructive changes.
  • Not documenting recovery steps before an incident.

Data lifecycle, integration, and governance

ETL, ELT, CDC, and streaming

PatternDescriptionChoose when
ETLTransform before loading targetTarget requires curated data before storage
ELTLoad raw first, transform in targetScalable analytics platform handles transforms
CDCCapture inserts/updates/deletes from sourceLow-latency sync, migrations, audit feeds
BatchPeriodic bulk movementLarge scheduled processing
StreamingContinuous event processingReal-time alerts, telemetry, near-real-time analytics
API integrationApplication-level data exchangeControlled business operations and validation
Message queueDecouple producers and consumersResilience and asynchronous processing
Notes and examples

Data quality checks

CheckDetects
CompletenessMissing required values
ValidityValues outside allowed domain
UniquenessDuplicate keys/entities
ConsistencyConflicting values across systems
AccuracyValues not matching real-world source
TimelinessStale or late-arriving data
IntegrityBroken relationships or corrupted values
ConformityWrong format, unit, code set, or standard
-- Basic reconciliation checks after migration/load
SELECT COUNT(*) AS source_count FROM source_orders;
SELECT COUNT(*) AS target_count FROM target_orders;

SELECT SUM(order_total) AS source_total FROM source_orders;
SELECT SUM(order_total) AS target_total FROM target_orders;

Governance and metadata

AreaDBA relevance
Data catalogFind datasets, owners, schemas, descriptions
LineageUnderstand where data came from and downstream impact
ClassificationIdentify sensitive, regulated, or business-critical data
RetentionKeep or dispose data according to policy
Data ownershipAssign accountability for definitions and quality
StewardshipDay-to-day data quality and definition management
Change impactKnow which reports, apps, or pipelines depend on a table
Master data managementCreate trusted shared entities across systems

Monitoring and troubleshooting

Baseline metrics

CategoryMetrics / signals
AvailabilityUptime, connection success, failover events
WorkloadTransactions per second, query rate, batch duration
LatencyQuery response time, commit latency, replication lag
ResourceCPU, memory, disk I/O, network throughput
StorageFree space, growth rate, temp usage, log usage
Locks/waitsBlocking sessions, deadlocks, wait classes
CacheBuffer/cache hit ratio, plan cache behavior
BackupSuccess/failure, duration, backup age
SecurityFailed logins, privilege changes, unusual access
Data pipelineJob failures, late data, rejected records
Notes and examples

Symptom-to-action table

SymptomLikely causesFirst action
Database unavailableService down, network issue, storage failure, auth issueCheck service health, connectivity, logs
Sudden slow queriesBad plan, stale stats, blocking, workload spikeCompare to baseline; review plan and waits
Disk fullData growth, logs not truncating, temp spill, failed cleanupIdentify consuming files; protect data before cleanup
Replication lagNetwork latency, slow replica, large transactionCheck replica health and apply queue
Backup failurePermission, capacity, I/O, schedule conflictReview job logs and destination capacity
Login failuresCredential changes, lockout, expired secret, attackValidate auth path and security logs
Data mismatchETL bug, partial load, constraint disabled, duplicate sourceReconcile counts/totals and review load logs
DeadlocksConflicting transaction order, missing indexesReview deadlock details and access pattern
Corruption alertStorage fault, software issue, abrupt failureStop risky writes if needed; follow vendor recovery guidance

Incident response for database issues

  1. Detect and classify severity.
  2. Preserve logs, alerts, and current state.
  3. Stabilize service; avoid destructive “quick fixes.”
  4. Identify blast radius: users, applications, tables, replicas, backups.
  5. Communicate status through the agreed channel.
  6. Apply tested recovery or remediation steps.
  7. Validate service and data correctness.
  8. Document root cause, timeline, and preventive actions.

Maintenance, change, and release management

Routine DBA operations

OperationPurposeKey caution
Patch database engineSecurity and stabilityTest compatibility and rollback
Update statisticsBetter optimizer estimatesSchedule to avoid peak impact
Rebuild/reorganize indexesAddress fragmentation where relevantDo not perform blindly; measure benefit
Archive/purge dataControl growth and performanceValidate retention and dependencies
Rotate credentials/keysReduce credential exposureCoordinate application updates
Review permissionsEnforce least privilegeRemove stale users and excessive grants
Test restoresConfirm recoverabilityTest regularly, not only after incidents
Capacity reviewAvoid outages and performance issuesTrend storage, CPU, memory, I/O
Notes and examples

Schema change checklist

  • Use version-controlled migration scripts.
  • Test in development and staging with realistic data volume.
  • Identify dependent applications, views, reports, jobs, and permissions.
  • Back up or snapshot before high-risk changes.
  • Plan locking and downtime impact.
  • Use backward-compatible changes where possible.
  • Include rollback or roll-forward strategy.
  • Validate data after migration.
  • Document change, owner, approval, and implementation time.

Safe migration sequence

PhaseActivities
AssessInventory objects, dependencies, data volume, compatibility
PlanChoose migration method, window, rollback, validation
PrepareProvision target, security, connectivity, schema
LoadInitial copy or replication setup
ValidateCounts, checksums, sample queries, application tests
Cut overFreeze or sync final changes, switch traffic
MonitorWatch errors, latency, locks, data drift
DecommissionRetire old system only after acceptance and backup

Cloud and managed database responsibilities

Responsibility areaCustomer usually still managesProvider/platform may manage
Data modelSchema, indexes, constraintsNot usually automatic
AccessUsers, roles, secrets, app permissionsIAM integration features
Data protectionClassification, encryption choices, backup policy validationInfrastructure encryption options, backup tooling
PatchingApplication compatibility testing, scheduling decisionsEngine or host patch automation depending on service
AvailabilityArchitecture choice, failover testingPlatform redundancy mechanisms
MonitoringAlerts, query performance, business KPIsBuilt-in metrics/log delivery
Compliance supportPolicies, evidence, data handlingPlatform controls and reports
Cost/capacityWorkload sizing, scaling choicesMetering and scaling mechanisms

Trap: managed database does not mean unmanaged data. The organization still owns data quality, access design, query behavior, and recovery requirements.

Common exam distinctions

DistinctionRemember
Backup vs replicationBackup protects against deletion/corruption history; replication can copy bad changes quickly
HA vs DRHA handles local/component failure; DR handles broader disaster recovery
Authentication vs authorizationAuthentication proves identity; authorization grants actions
Encryption vs hashingEncryption is reversible with key; hashing is one-way
Masking vs encryptionMasking changes what users see; encryption protects stored/transmitted data
OLTP vs OLAPOLTP optimizes transactions; OLAP optimizes analysis
Primary key vs unique keyBoth enforce uniqueness; primary key is main row identifier and non-null
Foreign key vs joinFK enforces relationship; join retrieves related data
WHERE vs HAVINGWHERE filters rows; HAVING filters groups
DELETE vs TRUNCATEDELETE is row operation and can filter; TRUNCATE removes all rows more directly, behavior varies by platform
Logical vs physical backupLogical exports objects/data; physical backs up files/pages/logs
Incremental vs differentialIncremental since last backup; differential since last full
Scale up vs scale outScale up adds resources to one node; scale out adds nodes/partitions
Normalization vs denormalizationNormalize for integrity; denormalize intentionally for read performance
Data lake vs data warehouseLake stores flexible raw/curated files; warehouse stores structured optimized analytics
CDC vs full reloadCDC captures changes; full reload replaces or reloads entire set

Compact command/query patterns to recognize

-- Add an index for a frequent lookup pattern
CREATE INDEX idx_orders_customer_date
ON orders (customer_id, order_date);

-- Enforce valid status values
ALTER TABLE orders
ADD CONSTRAINT chk_orders_status
CHECK (status IN ('NEW', 'PAID', 'SHIPPED', 'CANCELLED'));

-- Identify duplicate business keys
SELECT email, COUNT(*) AS duplicate_count
FROM customers
GROUP BY email
HAVING COUNT(*) > 1;

-- Find orphaned child rows
SELECT o.order_id
FROM orders o
LEFT JOIN customers c
  ON c.customer_id = o.customer_id
WHERE c.customer_id IS NULL;

Final DS0-002 review checklist

  • Can you select relational, NoSQL, warehouse, lake, or streaming architecture based on workload?
  • Can you explain primary keys, foreign keys, constraints, joins, NULLs, and transaction isolation?
  • Can you read SQL and predict result-set behavior?
  • Can you choose an index strategy and a query-tuning sequence?
  • Can you distinguish authentication, authorization, auditing, encryption, hashing, masking, and tokenization?
  • Can you map RPO/RTO requirements to backup, restore, replication, HA, and DR designs?
  • Can you troubleshoot slow queries, blocking, failed backups, replication lag, and storage growth?
  • Can you describe safe schema changes, migrations, validation, and rollback planning?
  • Can you connect data governance, classification, lineage, and quality checks to DBA operations?

High-yield exam map

AreaKnow coldPractice focus
Data modelingEntities, attributes, relationships, keys, normalization, constraintsRead ERD scenarios and choose the best design correction
SQLDDL, DML, DCL, TCL, joins, filtering, aggregation, transactionsPredict query results, identify bad joins, distinguish WHERE vs HAVING
Database operationsBackup, restore, migration, patching, monitoring, maintenanceChoose the least risky operational step
PerformanceIndexes, query plans, statistics, locking, partitioning, capacityIdentify root cause before tuning
SecurityLeast privilege, roles, encryption, masking, auditing, classificationMatch controls to risks and data sensitivity
Availability and recoveryRPO, RTO, replication, failover, snapshots, restore testingSelect recovery strategy from business requirements
Data integrationETL/ELT, CDC, validation, lineage, data qualityDiagnose pipeline and reporting data issues
GovernanceRetention, ownership, metadata, access review, lifecycleApply policy without inventing requirements

Exam mindset: what the test is really asking

When a question includes a scenario, identify the primary constraint before choosing an answer.

Scenario clueLikely decision point
“Production outage”Restore service safely; avoid untested changes
“Sensitive customer data”Classification, least privilege, encryption, masking, auditing
“Slow report”Query plan, indexes, statistics, aggregation strategy, warehouse design
“Application timeouts”Locking, blocking, connection pool, long-running query, resource bottleneck
“Data inconsistency”Constraints, transaction boundaries, isolation, ETL validation
“Need point-in-time recovery”Transaction logs or equivalent recovery mechanism
“Need near-real-time reporting”Replication, CDC, streaming, read replica, data pipeline design
“Duplicate records”Keys, unique constraints, deduplication rules, data quality checks
“Unauthorized access”RBAC/ABAC, audit logs, privilege review, account lifecycle
“Schema change failed”Rollback plan, migration testing, version control, change window

Common exam trap: choosing the most powerful fix instead of the lowest-risk fix that addresses the stated requirement.

Core database concepts

Relational and nonrelational choices

Data store typeBest fitWatch for
Relational databaseStructured data, ACID transactions, complex joins, referential integrityPoor design can cause excessive joins or locking
Document databaseFlexible semi-structured records, changing schemas, nested objectsDuplicated data and weaker relational constraints
Key-value storeSimple lookup by key, caching, session dataLimited querying and relationships
Column-family / wide-column storeHigh-scale distributed workloads, sparse data, high write volumeData model depends heavily on access patterns
Graph databaseHighly connected data such as relationships, paths, networksNot ideal for simple tabular reporting
Data warehouseAnalytical reporting, historical trends, BI queriesNot optimized for high-volume transactional writes
Data lakeRaw or varied data at scaleRequires governance, cataloging, quality controls
CacheLow-latency repeated readsStale data, invalidation, consistency risk
Notes and examples

OLTP vs OLAP

FeatureOLTPOLAP
Main purposeDay-to-day transactionsAnalysis and reporting
Query patternShort, frequent reads/writesLong scans, aggregations, joins
Schema styleNormalizedOften dimensional or denormalized
Data freshnessCurrentCurrent plus historical
Optimization goalIntegrity and fast transactionsQuery performance and analytical flexibility
Common riskLocking and contentionSlow scans, stale extracts, inconsistent metrics

Data modeling quick review

Entities, relationships, and keys

ConceptMeaningExam trap
EntityObject or concept stored as a table/collectionDo not model every report field as a separate entity
AttributeProperty of an entityRepeating groups suggest poor normalization
Primary keyUnique row identifierMust be stable, unique, and not null
Foreign keyReferences a primary or candidate keyEnforces relationship integrity
Candidate keyAttribute set that could uniquely identify a rowMultiple candidate keys may exist
Composite keyKey made of multiple columnsCommon in junction tables
Surrogate keyArtificial identifier, such as an ID numberDoes not replace business uniqueness rules
Natural keyReal-world unique valueMay change or be reused in some domains
Unique constraintPrevents duplicate valuesUse for business rules such as unique email when required
Check constraintEnforces allowed values or rangesBetter than relying only on application validation
Default constraintSupplies a value when none is providedDoes not validate all bad input
Notes and examples

Cardinality and optionality

RelationshipMeaningTypical implementation
One-to-oneEach row maps to at most one related rowShared key or unique foreign key
One-to-manyOne parent has many child rowsForeign key on child table
Many-to-manyMany rows relate to many rowsJunction/bridge table
Optional relationshipRelated row may not existNullable foreign key or separate optional table
Mandatory relationshipRelated row must existNOT NULL foreign key and referential constraint

Normalization

Normal formCore ideaWhat it prevents
1NFAtomic values; no repeating groupsMulti-value columns and repeating fields
2NFNon-key attributes depend on the whole keyPartial dependency in composite-key tables
3NFNon-key attributes depend only on the keyTransitive dependency and update anomalies

High-yield rule: Normalize to reduce redundancy and protect integrity; denormalize deliberately for performance or reporting after understanding the tradeoff.

Design traps

  • Storing comma-separated values in one column instead of using a child table.
  • Using free-text fields where a constrained lookup table is required.
  • Omitting foreign keys because “the application handles it.”
  • Confusing a surrogate primary key with a full uniqueness rule.
  • Modeling many-to-many relationships without a junction table.
  • Denormalizing transactional tables before measuring the performance need.
  • Ignoring delete behavior: cascade, restrict, set null, and soft delete each have consequences.

Governance, privacy, and lifecycle

Data classification

Classification ideaControls to consider
PublicBasic integrity and availability controls
InternalAccess control and monitoring
ConfidentialStronger authorization, encryption, audit
Restricted / sensitiveStrict access, masking, retention, approval workflow
Notes and examples

If a scenario mentions a specific policy, contract, or regulation, apply the requirements given in the question. Do not assume unstated legal rules.

Data lifecycle

StageKey controls
Create / captureValidation, ownership, source identification
StoreEncryption, backup, access control, metadata
UseLeast privilege, masking, audit
ShareApproved channels, data minimization, contractual controls
ArchiveRetention, lower-cost storage, retrieval plan
DisposeSecure deletion, retention compliance, documentation

Data quality dimensions

DimensionQuestion to ask
AccuracyDoes the data reflect reality?
CompletenessAre required fields present?
ConsistencyDo systems agree?
ValidityDoes data match format and business rules?
TimelinessIs it current enough?
UniquenessAre duplicates controlled?
IntegrityAre relationships and constraints preserved?

Data integration and analytics

ETL, ELT, and CDC

PatternDescriptionBest fit
ETLExtract, transform, then loadControlled transformation before warehouse load
ELTExtract, load, then transformScalable platforms where transformation happens after loading
CDCCaptures changes from source systemsNear-real-time synchronization or incremental loads
Batch processingScheduled grouped processingReports, nightly loads, non-urgent workflows
StreamingContinuous event processingLow-latency updates and monitoring
API integrationApplication-level data exchangeControlled service-to-service access
File transferCSV, JSON, XML, Parquet, etc.Simple exchange, but needs validation and security
Notes and examples

Data pipeline traps

  • No validation at ingestion.
  • No idempotency, causing duplicates when a job is retried.
  • Schema drift breaking downstream reports.
  • No lineage, making errors hard to trace.
  • Loading data in the wrong order and violating foreign keys.
  • Mixing time zones or date formats without standardization.
  • Treating successful job completion as proof of correct data.
  • Not reconciling row counts, checksums, or business totals.

Dimensional modeling review

TermMeaning
Fact tableNumeric events or measurements, often at a defined grain
Dimension tableDescriptive context such as customer, product, time, location
Star schemaFact table connected directly to dimensions
Snowflake schemaDimensions normalized into additional related tables
GrainThe level of detail represented by each fact row
Slowly changing dimensionApproach for managing dimension values that change over time

Common trap: building reports from highly normalized OLTP tables when a warehouse or dimensional model would better support analytics.

Database administration and operations

Routine DBA-style tasks

TaskWhy it matters
Monitor healthDetect issues before outages
Review logsIdentify errors, failed jobs, access anomalies
Manage storagePrevent growth from causing failure
Update statisticsHelp optimizer choose better plans
Rebuild/reorganize indexesAddress fragmentation where relevant
Patch systemsFix bugs and security issues
Manage users and rolesMaintain least privilege
Test backupsValidate recoverability
Document changesSupport audit, troubleshooting, and rollback
Capacity planningPrepare for growth before performance degrades

Change management

A safe database change usually includes:

  1. Business justification.
  2. Impact assessment.
  3. Tested migration script.
  4. Backup or rollback plan.
  5. Maintenance window when needed.
  6. Approval and communication.
  7. Monitoring during and after change.
  8. Documentation of results.

Exam trap: applying an untested schema change directly to production because it appears simple.

Troubleshooting decision rules

General troubleshooting flow

StepWhat to do
Identify symptomsWho is affected, when it started, what changed
Establish scopeOne query, one user, one application, or entire database
Check recent changesDeployments, patches, schema changes, data loads
Review metricsCPU, memory, disk I/O, waits, locks, connections
Examine logsDatabase, OS, application, security, job scheduler
Isolate root causeAvoid changing multiple variables at once
Implement controlled fixPrefer reversible, tested changes
ValidateConfirm user impact and system metrics
DocumentRecord cause, fix, and prevention
Notes and examples

Symptom-to-cause review

SymptomPossible causes
Slow queryMissing index, stale statistics, poor join, large scan, blocking
Sudden write slowdownNew index, lock contention, disk saturation, trigger, log issue
Connection failuresNetwork, authentication, connection pool, listener/service down
Disk fullData growth, logs, temp space, backups, failed cleanup
DeadlocksInconsistent object access order, long transactions, missing indexes
Report mismatchETL failure, stale replica, different filters, duplicate data
Permission deniedMissing role, revoked privilege, changed object ownership
High CPUInefficient query, excessive compilation, parallelism, workload spike
High memory pressureLarge sorts, cache pressure, insufficient resources
Replication lagNetwork latency, large transaction, replica resource bottleneck

Common DS0-002 candidate mistakes

  • Memorizing definitions without practicing scenario decisions.
  • Treating every performance issue as an indexing issue.
  • Ignoring the difference between authentication and authorization.
  • Forgetting that WHERE filters rows and HAVING filters groups.
  • Confusing RPO with RTO.
  • Assuming backups are valid without restore tests.
  • Selecting DROP when the scenario only requires removing rows.
  • Granting permissions directly to users instead of roles or groups.
  • Missing NULL behavior in SQL questions.
  • Choosing denormalization as a first design step.
  • Overlooking audit, retention, and classification requirements.
  • Forgetting that replication improves availability but does not replace backup.
  • Making production changes without rollback planning.
  • Failing to distinguish OLTP design from analytical reporting design.

Quick practice plan

Use this review as a checklist before moving into IT Mastery practice.

1. Do targeted topic drills

Start with short topic drills from an original practice questions question bank:

  • SQL joins, aggregates, NULLs, and transactions
  • Normalization, keys, constraints, and ERD scenarios
  • Backup, restore, RPO, and RTO
  • Security permissions, encryption, masking, and auditing
  • Indexing, query plans, locking, and troubleshooting
  • ETL/ELT, data quality, and reporting models

2. Review detailed explanations

For every missed question, write down:

  • The clue you missed.
  • The wrong assumption you made.
  • The rule that would have led to the correct answer.
  • Whether the error was knowledge-based or scenario-reading-based.

3. Mix domains

After topic drills, use mixed sets so you practice switching between design, SQL, operations, performance, and security. The real exam can require that kind of context switching.

4. Take timed mock exams

Timed practice helps reveal whether you are over-reading simple questions or rushing through scenario details. Review both missed questions and guessed-correct questions.

Final last-pass checklist

Before exam day, make sure you can confidently answer:

  • When should you normalize, and when might denormalization be justified?
  • Which SQL command category applies to a given task?
  • What changes when an outer join is filtered incorrectly?
  • How do NULLs affect comparisons and aggregates?
  • What is the difference between DELETE, TRUNCATE, and DROP?
  • How do RPO and RTO drive backup and recovery design?
  • Why is restore testing essential?
  • How do least privilege, roles, masking, and encryption work together?
  • How do indexes help, and when can they hurt?
  • What symptoms suggest locking, blocking, or deadlocks?
  • How do ETL, ELT, CDC, batch, and streaming differ?
  • How do data quality, lineage, and governance reduce operational risk?

Put the review into practice

Browse Certification Practice Tests