CDMP Fundamentals: 6-Week Study Guide
For Palvinder · DAMA-DMBOK2 · last updated 30 Oct 2026. Tick off plan tasks as you go; ticks are saved in this browser.
1 Progress overview
You start on Monday 3 November with four study weeks and one buffer week, then sit the exam in week 6 (8 to 14 December). Tick each task in the plan as you finish it; this page fills in the Done and Left columns as you tick, and saves your ticks in this browser.
| Week | Dates | Focus | Tasks | Done | Left |
|---|---|---|---|---|---|
| 1 | 3 to 9 Nov | Foundations, Governance, Modeling, Architecture | 7 | 0 | 7 |
| 2 | 10 to 16 Nov | Quality, Metadata, Master & Reference Data | 4 | 0 | 4 |
| 3 | 17 to 23 Nov | DW/BI and Integration, then the lighter areas | 6 | 0 | 6 |
| 4 | 24 to 30 Nov | Close gaps and rehearse | 5 | 0 | 5 |
| 5 | 1 to 7 Dec | Buffer: final revision | 4 | 0 | 4 |
| 6 | 8 to 14 Dec | Exam week | 4 | 0 | 4 |
| Total | 3 Nov to 14 Dec | 30 | 0 | 30 |
Practice test milestones: baseline on Mon 3 Nov (day 1), timed on Sun 16 Nov (day 14, target 70%), timed on Fri 28 Nov (day 26, target 85%), and a final timed test on Thu 4 Dec (target 90%).
2 Exam at a glance
This plan assumes the CDMP Data Management Fundamentals exam, based on the DAMA-DMBOK2 (2nd edition, revised 2024). Your 85% target clears the 80% Fundamentals score that CDMP Master requires, so aim to score 90% on practice tests to leave a buffer. Practitioner and Master also need two specialist exams and work experience; Fundamentals alone gives Associate.
| Item | Detail |
|---|---|
| Questions | 100 multiple choice, one correct answer each (some versions add a few unscored trial questions) |
| Time | 90 minutes (110 minutes if English is not your first language, on request) |
| Format | Online, open book: you may search the official DMBOK2 PDF, nothing else |
| Pass marks | 60% Associate; 70% and 80% are the Fundamentals scores needed toward Practitioner and Master |
| Your target | 85% = 85 of 100 correct, about 54 seconds per question |
Open book helps less than it sounds: with under a minute per question, you can afford to look up maybe 10 to 15 answers. Everything else has to be recall, so the plan below front-loads understanding and ends with timed practice.
3 Where the marks are
Four areas carry 44% of the exam, and the top seven carry 70%. Spend your time in proportion: the study weeks below follow this order.
| Knowledge area | DMBOK2 chapter | Exam share | Approx. questions | Study week |
|---|---|---|---|---|
| Data Governance | 3 | 11% | 11 | 1 |
| Data Modeling & Design | 5 | 11% | 11 | 1 |
| Data Quality | 13 | 11% | 11 | 2 |
| Metadata Management | 12 | 11% | 11 | 2 |
| Master & Reference Data | 10 | 10% | 10 | 2 |
| Data Warehousing & BI | 11 | 10% | 10 | 3 |
| Data Architecture | 4 | 6% | 6 | 1 |
| Data Storage & Operations | 6 | 6% | 6 | 3 |
| Data Security | 7 | 6% | 6 | 3 |
| Data Integration & Interoperability | 8 | 6% | 6 | 3 |
| Document & Content Management | 9 | 6% | 6 | 3 |
| Data Management Process (Ch. 1, 15, 16, 17) | 1, 15-17 | 2% | 2 | 1 |
| Big Data & Data Science | 14 | 2% | 2 | 3 |
| Data Handling Ethics | 2 | 2% | 2 | 1 |
Shares are DAMA's published Fundamentals weightings. Also learn the DAMA Wheel, the Environmental Factors Hexagon and the Context Diagram layout for each area: they sit behind questions in every section.
4 Six-week plan
Day 1 is Monday 3 November. Weeks 1 to 4 are study, week 5 is a buffer for revision, and you sit the exam in week 6 (8 to 14 December). The plan assumes about 12 hours a week: 1.5 hours on weekdays and 2 to 3 hours on each weekend day. Take the practice test once on day 1 as a baseline, then again at the end of weeks 2 and 4, and steer by your weakest areas.
4.1 Week 1 (3 to 9 Nov): Foundations, Governance, Modeling, Architecture (32% of marks)
4.2 Week 2 (10 to 16 Nov): Quality, Metadata, Master & Reference Data (32% of marks)
4.3 Week 3 (17 to 23 Nov): DW/BI and Integration first (16% of marks), then the lighter areas (20%)
4.4 Week 4 (24 to 30 Nov): Close gaps and rehearse
4.5 Week 5 (1 to 7 Dec): Buffer and final revision
4.6 Week 6 (8 to 14 Dec): Exam week
5 Key concepts cheat sheet
These are the facts that most often decide a question. Learn the DMBOK2 wording, because the exam rewards its exact definitions over industry usage.
| Area | Must-know facts |
|---|---|
| Framework (Ch. 1) | DAMA Wheel: Governance at the centre, 10 areas around it. Hexagon's 7 environmental factors: goals and principles, organization and culture, activities, deliverables, roles and responsibilities, practices and techniques, tools. Data is an asset, but it is not consumed when used. |
| Ethics | Core principles (from the Belmont and Menlo reports): respect for persons, beneficence, justice, and respect for law and public interest. Unethical risks include timing manipulation, misleading visualizations, unclear definitions, bias. |
| Governance | Governance (oversight: making sure data is managed) is separate from management (doing it), like auditors vs accountants. Stewards are accountable for data on behalf of others. Policies say what; standards and procedures say how. Federated model = one governance body coordinating many business units. |
| Modeling | Conceptual = business concepts; logical = attributes and keys, technology-independent; physical = database-specific. 1NF removes repeating groups, 2NF removes partial dependencies, 3NF removes transitive dependencies. Surrogate keys have no business meaning. |
| Architecture | Zachman: columns What, How, Where, Who, When, Why; rows from Executive to Enterprise (operations). Architecture describes the target state; models describe structure. |
| Data Quality | Dimensions: accuracy, completeness, consistency, integrity, reasonability, timeliness, uniqueness, validity. Improvement follows PDCA. Prevention beats correction. Data profiling discovers; data quality rules check. |
| Metadata | Business (definitions, rules), technical (schemas, lineage), operational (job logs, run times). A data lineage shows where data came from and how it changed. Metadata is critical to every other area. |
| Master & Reference | Reference data = code values used to classify (country codes). Master data = core business entities (customer, product). DMBOK's three hub approaches: registry (an index; data stays in the sources), transaction hub (the hub is the system of record), consolidated (the hub holds a read-only consolidated copy). Coexistence is an industry name for a mix, not one of DMBOK's three. Golden record = best version of the truth. |
| DW & BI | Inmon = normalized enterprise DW feeding marts (top-down). Kimball = dimensional bus of conformed dimensions (bottom-up). SCD Type 1 overwrite, Type 2 new row with history, Type 3 new column. Facts are measures; dimensions give context. |
| Integration | ETL transforms before load; ELT loads then transforms in the target. Hub-and-spoke reduces point-to-point interfaces from n(n-1)/2. CDC captures only changed data. Canonical model = common format between systems. |
| Security | Goal: right access for the right people, and nothing more. The four As: access, audit, authentication, authorization (plus entitlement). Confidentiality levels: general audience, internal use only, confidential, restricted confidential, registered confidential. Least privilege, separation of duties. Classification (confidentiality) differs from regulatory category (PII, PCI, PHI). Encryption types: hash, symmetric (private key), public key. |
| Storage & Ops | ACID (atomicity, consistency, isolation, durability) for relational; BASE (basically available, soft state, eventual consistency) for NoSQL. CAP: pick two of consistency, availability, partition tolerance. |
| Document & Content | Records management covers the full lifecycle. ARMA's GARP principles: accountability, integrity, protection, compliance, availability, retention, disposition, transparency. EDRM = e-discovery model. |
| Big Data | DMBOK's Vs: volume, velocity, variety, viscosity, volatility, veracity. Value is often added elsewhere but is not on DMBOK's list. Data lake stores raw data in native format; schema on read. Data science models are built, tested, deployed and monitored. |
6 Key types
A key is one or more attributes that uniquely identify an entity instance; DMBOK sorts keys by how they are built (construction) and what they do (function). Every example below uses one small sales model: Customer, Order, Order Line and Product.
Running example. Customer has a system-generated Customer ID, a Customer Number printed on invoices (C-17), an Email that must be unique, and a Name. Order Line is identified by Order Number plus Line Number.
| Key type | Group | DMBOK meaning | Example in the sales model |
|---|---|---|---|
| Simple key | Construction | One attribute that uniquely identifies an instance. | Customer ID on its own. |
| Compound key | Construction | Two or more attributes that together uniquely identify an instance. | Order Line: Order Number + Line Number. |
| Composite key | Construction | One compound key plus at least one other simple key, compound key or non-key attribute. DMBOK's example is a fact table key. | Sales fact key: Date Key + Product Key + Store Key, plus Order Number. |
| Surrogate key | Construction | A unique identifier with no business meaning, usually a system-generated integer. Not shown to users. | Customer ID = 90231. |
| Super key | Function | Any set of attributes that uniquely identifies an instance, even with extra attributes it does not need. | Customer Number + Name; Email + Name. |
| Candidate key | Function | A minimal super key: remove any attribute and it stops being unique. An entity can have several. | Customer ID, Customer Number and Email are each candidates. |
| Primary key | Function | The one candidate key chosen as the entity's unique identifier. | Customer ID chosen. |
| Alternate key | Function | A candidate key not chosen as primary. Still unique, still usable to find instances; often gets a unique index. | Customer Number and Email. |
| Business key | Function | One or more attributes the business uses to find a single instance. DMBOK treats business and surrogate keys as mutually exclusive. | Customer Number C-17. |
| Natural key | Function | Common synonym for business key: an identifier that exists in the real world, outside the system. | Email, ISBN, VAT number. |
| Foreign key | Function | An attribute in a child entity that holds the primary key of a parent entity, creating the relationship and enforcing referential integrity. | Order.Customer ID points to Customer.Customer ID. |
Each key type below uses the same small sales model. Cells shaded green are the key being described.
6.1 Candidate key
A minimal set of attributes that uniquely identifies each row. Remove any attribute and it stops being unique. An entity can have several.
Customer
| Customer ID | Customer Number | Name | City | |
|---|---|---|---|---|
| 90231 | C-17 | asha.p@mail.com | Asha Patel | Leeds |
| 90232 | C-23 | ben.ortiz@mail.com | Ben Ortiz | York |
| 90233 | C-41 | apatel@work.org | Asha Patel | Leeds |
Each shaded column is unique on its own, so each is a candidate key. Name is not: two different customers are both Asha Patel.
6.2 Primary key
The one candidate key chosen as the entity's identifier. It must be unique and never null.
Customer
| Customer ID | Customer Number | Name | City | |
|---|---|---|---|---|
| 90231 | C-17 | asha.p@mail.com | Asha Patel | Leeds |
| 90232 | C-23 | ben.ortiz@mail.com | Ben Ortiz | York |
| 90233 | C-41 | apatel@work.org | Asha Patel | Leeds |
Customer ID was chosen from the three candidates because it is short, stable and never changes.
6.3 Alternate key
A candidate key that was not chosen as the primary key. It is still unique, so it usually gets a unique constraint or index.
Customer
| Customer ID | Customer Number | Name | City | |
|---|---|---|---|---|
| 90231 | C-17 | asha.p@mail.com | Asha Patel | Leeds |
| 90232 | C-23 | ben.ortiz@mail.com | Ben Ortiz | York |
| 90233 | C-41 | apatel@work.org | Asha Patel | Leeds |
Customer Number and Email are the candidates left over after Customer ID became the primary key.
6.4 Super key
Any set of attributes that uniquely identifies a row, even if it includes attributes it does not need. Every candidate key is also a super key.
Customer
| Customer ID | Customer Number | Name | City | |
|---|---|---|---|---|
| 90231 | C-17 | asha.p@mail.com | Asha Patel | Leeds |
| 90232 | C-23 | ben.ortiz@mail.com | Ben Ortiz | York |
| 90233 | C-41 | apatel@work.org | Asha Patel | Leeds |
Customer Number + Name is unique, but Name adds nothing, so it is a super key and not a candidate key. Email + City and Customer ID + Email are other super keys.
6.5 Surrogate key
A unique identifier with no business meaning, usually a number the system generates. Users never see it.
Customer
| Customer ID | Customer Number | Name | City | |
|---|---|---|---|---|
| 90231 | C-17 | asha.p@mail.com | Asha Patel | Leeds |
| 90232 | C-23 | ben.ortiz@mail.com | Ben Ortiz | York |
| 90233 | C-41 | apatel@work.org | Asha Patel | Leeds |
90231 means nothing to the business. The database assigned it when the row was created.
6.6 Business key
One or more attributes the business itself uses to find a single instance. DMBOK treats business keys and surrogate keys as opposites.
Customer
| Customer ID | Customer Number | Name | City | |
|---|---|---|---|---|
| 90231 | C-17 | asha.p@mail.com | Asha Patel | Leeds |
| 90232 | C-23 | ben.ortiz@mail.com | Ben Ortiz | York |
| 90233 | C-41 | apatel@work.org | Asha Patel | Leeds |
Staff, invoices and phone calls use C-17 to find this customer.
6.7 Natural key
A widely used synonym for business key: an identifier that exists in the real world, outside the system.
Customer
| Customer ID | Customer Number | Name | City | |
|---|---|---|---|---|
| 90231 | C-17 | asha.p@mail.com | Asha Patel | Leeds |
| 90232 | C-23 | ben.ortiz@mail.com | Ben Ortiz | York |
| 90233 | C-41 | apatel@work.org | Asha Patel | Leeds |
An email address exists whether or not the customer is in our database. Other examples: ISBN, VAT number, vehicle registration.
6.8 Simple key
A key made of one attribute.
Customer
| Customer ID | Customer Number | Name | City | |
|---|---|---|---|---|
| 90231 | C-17 | asha.p@mail.com | Asha Patel | Leeds |
| 90232 | C-23 | ben.ortiz@mail.com | Ben Ortiz | York |
| 90233 | C-41 | apatel@work.org | Asha Patel | Leeds |
One column is enough to identify each row. Customer Number and Email are also simple keys.
6.9 Compound key
A key made of two or more attributes that only identify a row together.
Order Line
| Order Number | Line Number | Product Code | Qty |
|---|---|---|---|
| 5001 | 1 | P-10 | 4 |
| 5001 | 2 | P-22 | 10 |
| 5002 | 1 | P-10 | 1 |
Order Number alone repeats (5001 twice) and Line Number alone repeats (1 twice), but the pair never does.
6.10 Composite key
In DMBOK terms, one compound key plus at least one other key or non-key attribute. The standard example is a fact table key.
Sales fact (star schema)
| Date Key | Product Key | Store Key | Order Number | Sales Amount |
|---|---|---|---|---|
| 20261001 | 310 | 7 | 5001 | 12.00 |
| 20261001 | 322 | 7 | 5001 | 12.00 |
| 20261002 | 310 | 7 | 5002 | 3.00 |
Date Key + Product Key + Store Key is a compound key of dimension foreign keys; adding Order Number (a degenerate dimension) makes the whole key composite.
6.11 Foreign key
An attribute in a child entity that holds the primary key of a parent entity. It creates the relationship and enforces referential integrity.
Order
| Order Number | Order Date | Customer ID |
|---|---|---|
| 5001 | 2026-10-01 | 90231 |
| 5002 | 2026-10-02 | 90232 |
| 5003 | 2026-10-02 | 90231 |
Customer ID in Order points to Customer.Customer ID. It repeats (90231 twice) because one customer places many orders. It sits outside Order's primary key, so the relationship is non-identifying. In Order Line, Order Number is a foreign key inside the primary key, so that relationship is identifying.
6.12 Recap and exam traps
Try it yourself. A Staff table has Staff ID (auto-number), Payroll Number, Passport Number, Name and Department. Which are candidate keys, and which would you choose as primary? Candidates: Staff ID, Payroll Number, Passport Number. Choose Staff ID (surrogate); Payroll Number is the business key and an alternate key. Passport Number is a natural key but may be missing or change, so it makes a poor primary key.
How they nest: super keys contain candidate keys; one candidate becomes the primary key and the rest are alternate keys. A primary key can be simple or compound, and natural or surrogate.
Exam traps
- Compound vs composite: compound = several attributes forming one key; composite = a compound key combined with other keys or attributes. Most textbooks use the two words loosely, but DMBOK separates them.
- A surrogate key never replaces the business key. Keep the business key as an alternate key, or duplicates creep in.
- A foreign key can be part of the child's primary key (identifying relationship) or just a non-key attribute (non-identifying). See the next section.
- Foreign keys can be null when the relationship is optional.
7 Keys in relationships, star schemas and Data Vault
Where the foreign key lands decides the relationship type: inside the child's primary key makes it identifying, outside makes it non-identifying.
| Identifying relationship | Non-identifying relationship | |
|---|---|---|
| Where the parent's key goes | Into the child's primary key | Into a non-key attribute of the child |
| Child entity type | Dependent (weak): cannot be identified without the parent | Independent: has its own identifier |
| Usual notation | Solid line (IE and IDEF1X) | Dashed line |
| Example | Order Line PK = Order Number (FK) + Line Number | Order PK = Order Number; Customer ID is an FK outside the key |
| Can the FK be null? | No, it is part of the PK | Yes, if the relationship is optional |
Star schema (dimensional model)
- Each dimension gets a surrogate key, often called the dimension key (Customer Key = 501).
- The source business key (Customer Number C-17) stays in the dimension as an ordinary attribute. With a Type 2 slowly changing dimension, one business key has several rows, each with its own surrogate key and effective dates.
- The fact table's key is a composite of foreign keys to each dimension (Date Key, Customer Key, Product Key), sometimes plus a degenerate dimension such as Order Number, which has no dimension table of its own.
- Dimensions are deliberately denormalised. A snowflake schema normalises them back into sub-dimension tables.
Data Vault
| Table type | Holds | Key |
|---|---|---|
| Hub | The list of unique business keys for one core concept (Customer) | Hub key (surrogate or hash of the business key), plus the business key, load date and record source |
| Link | A relationship or transaction between hubs (Customer places Order) | Its own link key, plus a foreign key to each hub it joins |
| Satellite | Descriptive attributes and their history (Customer Name, City) | The parent hub or link key plus load date |
The exam point: hubs are built on business keys, links carry only keys, and satellites carry all the context and history.
8 Normalisation: one table, step by step
Normalisation applies rules so that each attribute depends on "the key, the whole key, and nothing but the key". DMBOK says third normal form is usually enough for a logical model, and it removes the redundancy behind update, insert and delete anomalies.
| Form | Rule (DMBOK wording in plain terms) | What it removes |
|---|---|---|
| 1NF | Every entity has a valid primary key; every attribute holds one value (atomic); no repeating groups | Repeating groups and multi-value cells |
| 2NF | 1NF, and every non-key attribute depends on the whole primary key | Partial dependencies on part of a compound key |
| 3NF | 2NF, and no non-key attribute depends on another non-key attribute | Transitive dependencies |
| BCNF | Every determinant is a candidate key | Overlapping candidate keys that 3NF lets through |
How to follow the steps. The same three orders, two customers and three products run through every step, using the same customers as the key types section. Every table is shown at every step, labelled new, changed or unchanged. Green columns are the primary key.
8.1 Step 0: Unnormalised form (UNF)
A shop keeps orders in one spreadsheet. The Items cell holds a repeating group.
Orders spreadsheet
| Order Number | Order Date | Customer Number | Customer Name | City | Items |
|---|---|---|---|---|---|
| 5001 | 2026-10-01 | C-17 | Asha Patel | Leeds | P-10 Notebook £3.00 ×4; P-22 Pen £1.20 ×10 |
| 5002 | 2026-10-02 | C-23 | Ben Ortiz | York | P-10 Notebook £3.00 ×1 |
| 5003 | 2026-10-02 | C-17 | Asha Patel | Leeds | P-31 Stapler £7.50 ×1 |
Problem: you cannot query, total or validate a single item, and the table has no primary key that works.
8.2 Step 1: First normal form (1NF)
Split the repeating group into one row per order line, so every cell holds one value. No single column is unique now, so the primary key becomes the compound key Order Number + Product Code.
Orders (changed)
| Order Number | Product Code | Order Date | Customer Number | Customer Name | City | Product Name | Unit Price | Qty |
|---|---|---|---|---|---|---|---|---|
| 5001 | P-10 | 2026-10-01 | C-17 | Asha Patel | Leeds | Notebook | 3.00 | 4 |
| 5001 | P-22 | 2026-10-01 | C-17 | Asha Patel | Leeds | Pen | 1.20 | 10 |
| 5002 | P-10 | 2026-10-02 | C-23 | Ben Ortiz | York | Notebook | 3.00 | 1 |
| 5003 | P-31 | 2026-10-02 | C-17 | Asha Patel | Leeds | Stapler | 7.50 | 1 |
Anomalies still present:
- Update: the Notebook price is stored twice, so changing it in one row leaves the other wrong.
- Insert: a new product cannot be recorded until someone orders it, because Order Number is part of the key.
- Delete: deleting order 5003 also deletes the only record that a Stapler costs £7.50.
8.3 Step 2: Second normal form (2NF)
Check each non-key column against the whole key (Order Number + Product Code):
- Order Date, Customer Number, Customer Name and City depend on Order Number alone.
- Product Name and Unit Price depend on Product Code alone.
- Only Qty needs both.
Move each partial dependency into its own table. One table becomes three.
Order (new)
| Order Number | Order Date | Customer Number | Customer Name | City |
|---|---|---|---|---|
| 5001 | 2026-10-01 | C-17 | Asha Patel | Leeds |
| 5002 | 2026-10-02 | C-23 | Ben Ortiz | York |
| 5003 | 2026-10-02 | C-17 | Asha Patel | Leeds |
Product (new)
| Product Code | Product Name | Unit Price |
|---|---|---|
| P-10 | Notebook | 3.00 |
| P-22 | Pen | 1.20 |
| P-31 | Stapler | 7.50 |
Order Line (new)
| Order Number | Product Code | Qty |
|---|---|---|
| 5001 | P-10 | 4 |
| 5001 | P-22 | 10 |
| 5002 | P-10 | 1 |
| 5003 | P-31 | 1 |
The Notebook price is now stored once. Order Line's key columns are also foreign keys to Order and Product, so both relationships are identifying. Tip: a 1NF table with a simple (one-column) primary key is automatically in 2NF.
8.4 Step 3: Third normal form (3NF)
Order still has a transitive dependency: Order Number → Customer Number → Customer Name, City. Asha Patel's details are stored on every order she places, so if she moves, many rows must change. Move the customer columns into a Customer table and keep Customer Number in Order as a foreign key.
Customer (new)
| Customer Number | Customer Name | City |
|---|---|---|
| C-17 | Asha Patel | Leeds |
| C-23 | Ben Ortiz | York |
Order (changed)
| Order Number | Order Date | Customer Number |
|---|---|---|
| 5001 | 2026-10-01 | C-17 |
| 5002 | 2026-10-02 | C-23 |
| 5003 | 2026-10-02 | C-17 |
Product (unchanged)
| Product Code | Product Name | Unit Price |
|---|---|---|
| P-10 | Notebook | 3.00 |
| P-22 | Pen | 1.20 |
| P-31 | Stapler | 7.50 |
Order Line (unchanged)
| Order Number | Product Code | Qty |
|---|---|---|
| 5001 | P-10 | 4 |
| 5001 | P-22 | 10 |
| 5002 | P-10 | 1 |
| 5003 | P-31 | 1 |
Result: four tables, each fact stored once. Order to Customer is a non-identifying relationship, because Customer Number sits outside Order's key.
8.5 Step 4: Boyce-Codd normal form (BCNF)
The four 3NF tables are already in BCNF, because each table's only determinant is its primary key. BCNF only matters when a table has overlapping candidate keys, so the shop adds one more table to the same model: account managers.
Rules: each account manager looks after exactly one product, and each customer has one account manager per product. Key = Customer Number + Product Code.
Customer Product Manager (new)
| Customer Number | Product Code | Account Manager |
|---|---|---|
| C-17 | P-10 | Dana Hill |
| C-17 | P-22 | Sam Lee |
| C-23 | P-10 | Dana Hill |
| C-23 | P-22 | Raj Mehta |
This is in 3NF, because Product Code is part of a candidate key. It breaks BCNF, because Account Manager → Product Code and Account Manager is not a candidate key. If Dana Hill switches to Staplers (P-31), two rows must change. Decompose so every determinant is a key:
Account Manager (new)
| Account Manager | Product Code |
|---|---|
| Dana Hill | P-10 |
| Sam Lee | P-22 |
| Raj Mehta | P-22 |
Customer Manager (new)
| Customer Number | Account Manager |
|---|---|
| C-17 | Dana Hill |
| C-17 | Sam Lee |
| C-23 | Dana Hill |
| C-23 | Raj Mehta |
Customer, Order, Product and Order Line stay as in step 3. Trade-off worth remembering: the rule "one account manager per customer per product" can no longer be enforced by a key alone. This is why designers sometimes stop at 3NF.
Quick way to test a table
- Any cell with a list, or columns like Item1, Item2? Not 1NF.
- Compound key, and a non-key column depends on only part of it? Not 2NF.
- A non-key column depends on another non-key column? Not 3NF.
- Any column (key or not) that determines another but is not a candidate key? Not BCNF.
9 4NF, 5NF and denormalisation
For the exam, know what 4NF and 5NF resolve and why denormalisation belongs in the physical model; you will not need to decompose a 5NF case by hand.
Fourth normal form (4NF) removes independent multi-valued facts held in one table. DMBOK describes it as resolving many-to-many-to-many relationships into pairs.
Example with the same products: the Notebook (P-10) comes from two suppliers and in two colours, and the two lists are unrelated. Holding both in one table forces every supplier to be paired with every colour.
Product Supplier Colour
| Product Code | Supplier | Colour |
|---|---|---|
| P-10 | PaperCo | Blue |
| P-10 | PaperCo | Red |
| P-10 | NoteWorks | Blue |
| P-10 | NoteWorks | Red |
Adding a Green notebook means adding two rows, one per supplier. Split it into two tables:
Product Supplier
| Product Code | Supplier |
|---|---|
| P-10 | PaperCo |
| P-10 | NoteWorks |
Product Colour
| Product Code | Colour |
|---|---|
| P-10 | Blue |
| P-10 | Red |
Fifth normal form (5NF) splits a table into the smallest pairs that can be joined back without inventing false rows. DMBOK describes it as resolving inter-entity dependencies into basic pairs, where all join dependencies use parts of primary keys.
Example with the same products and the shop's two stores. Rule: if a supplier supplies a product, a store stocks that product, and the supplier delivers to that store, then the supplier supplies that product to that store. A three-column table repeats facts that three pair tables hold once each:
Supplier Product
| Supplier | Product Code |
|---|---|
| PaperCo | P-10 |
| PaperCo | P-22 |
| NoteWorks | P-10 |
Product Store
| Product Code | Store |
|---|---|
| P-10 | Leeds |
| P-22 | Leeds |
| P-10 | York |
Supplier Store
| Supplier | Store |
|---|---|
| PaperCo | Leeds |
| NoteWorks | York |
Joining all three gives back exactly the original facts (PaperCo, P-10, Leeds; PaperCo, P-22, Leeds; NoteWorks, P-10, York) with no false rows.
Denormalisation is the deliberate move from a normalised logical model to physical tables with redundant or duplicated data. It is a physical design choice, not a logical modelling error.
| Reason to denormalise | Example | Cost |
|---|---|---|
| Faster reads, fewer joins | Copy Customer Name onto Order for a busy screen | Redundant data must be kept in sync |
| Pre-calculate expensive values | Store Order Total instead of summing lines every time | Total can drift from the lines |
| Dimensional reporting | Star schema dimensions flatten hierarchies (Product, Sub-category, Category in one table) | Larger tables, ETL must manage changes |
| Security or segmentation | Split a table so sensitive columns live apart | More tables to manage |
Rule of thumb for the exam: normalise the logical model (to 3NF), and denormalise only in the physical model, for a stated reason, with a plan to control the redundancy.
9.1 Self-check
Cover the answers and test yourself. All questions are original practice items.
- A table has primary key Employee ID, and also a unique National Insurance number. What is the National Insurance number? An alternate key (and a candidate key).
- A table keyed on Flight No + Flight Date also stores Aircraft Type, which depends only on Flight No. Which form does it break? 2NF: a partial dependency.
- Employee stores Dept No and Dept Name. Which form does it break? 3NF: Dept Name depends on Dept No, a non-key attribute.
- Order Line's primary key includes Order Number. What kind of relationship links it to Order? Identifying; Order Line is a dependent entity.
- In a star schema, what normally forms the fact table's key? A composite of the dimension foreign keys, sometimes with a degenerate dimension.
- Which Data Vault table holds descriptive history? The satellite.
- A key made of Store Key + Date Key + Product Key + Transaction No in a fact table: compound or composite in DMBOK terms? Composite.
- Where does DMBOK say denormalisation belongs? In the physical data model.
10 Practice test and exam day
Use the CDMP practice exam on days 1, 14, 26 and 32. It has 100 original questions weighted like the real exam and scores you by knowledge area. Questions are written to DMBOK2 content and exam style; they are not real exam questions, which DAMA does not release.
- After each attempt, restudy every area marked Improve (under 70%) before any area marked Close (70-84%).
- Use study mode for your day 1 baseline if you want explanations as you go; use timed exam mode on days 14 and 26.
- Score 90%+ on a fresh attempt before you book or sit the real exam. Your memory of these questions will inflate later scores, so judge by the areas, not the total.
On exam day:
- Answer every question; there is no penalty for guessing.
- Do a first pass in about 60 minutes, flagging anything you would need to look up.
- Use the remaining 30 minutes to search the DMBOK2 PDF for flagged items only.
- Watch for words like NOT, BEST and PRIMARY; DMBOK2 answers favour governance, prevention and business-driven choices over technical fixes.