DRAFT — under teacher review.
Data Dictionary — "Format" Is Not "Type"
The Hamilton and Alexandra College · Year 12 · 2026
The single most common data-dictionary error is writing a data type in the Format column. They are not the same thing. This page explains the difference, shows you what correct entries look like, and maps to the VCAA band descriptors.
The core distinction
Type is the kind of data — what category it belongs to.
Format is the storage or display pattern — the exact shape the value takes.
These are different answers to different questions:
| Question | Column | Example answer |
|---|---|---|
| What kind of data is this? | Type | Integer |
| What does a valid value look like? | Format | 999999 (fixed 6 digits) |
If you write Integer in the Format column, you have answered the wrong question. A marker sees that and knows you have conflated two concepts.
Format notation key
The format strings use a small set of symbols — memorise these:
| Symbol | Meaning |
|---|---|
9 or N |
One digit (0–9) |
X |
One uppercase letter |
x |
One lowercase letter |
YYYY |
Four-digit year |
MM |
Two-digit month |
DD |
Two-digit day |
Separator (, . -) |
Literal separator character |
So 999999 means "exactly six digits". Xxxxxxxxxxxxxxx means "one uppercase letter followed by lowercase letters — the number of x characters shows the maximum length".
Worked example — a complete data dictionary
These rows come from a client-management system. Read across each row and notice that Type and Format sit in separate columns and say different things.
| Field | Type | Size | Format | Example |
|---|---|---|---|---|
id |
Integer | 6 | 999999 |
201940 |
firstName |
Text | 50 | Xxxxxxxxxxxxxxx |
Jane |
lastName |
Text | 50 | Xxxxxxxxxxxxxxx |
Smith |
DOB |
Date/time | 8 | YYYY-MM-DD |
2001-07-19 |
clubMember |
Boolean | 1 | true/false |
true |
memberYears |
Integer | 2 | NN |
6 |
sales |
FloatingPoint | 8 | NN,NNN.NN |
12,543.76 |
Notice what each Format entry tells you that the Type alone does not:
idis an Integer — but the Format999999tells you it is always 6 digits, not 1 or 2.firstNameis Text — butXxxxxxxxxxxxxxxtells you it starts with a capital and the rest are lowercase.DOBis Date/time — butYYYY-MM-DDfixes it to ISO format, not DD/MM/YYYY or MM-DD-YYYY.salesis FloatingPoint — butNN,NNN.NNspecifies a thousands separator and exactly 2 decimal places.
Why Format matters
Format entries do three jobs in your design documentation:
- Data consistency — every value entered follows the same shape, so comparisons and sorting work correctly.
- Validation — your software can reject an entry that does not match the pattern (e.g., a date typed as
19-07-01instead of2001-07-19). - Readability — another developer reading your data dictionary can reproduce the exact storage structure without guessing.
A Format column filled with type names (Integer, String, Boolean) gives you none of these benefits — it duplicates the Type column and adds no information.
VCAA band levels — what's required at each step
VCAA defines a data dictionary as specifying variables, arrays, and GUI objects with reference to data types, data structures, and data sources. The level descriptors build upward:
| Level | What you must include |
|---|---|
| Level 3 | Reference to data types (Integer, Text, Boolean, Date/time, FloatingPoint) |
| Level 5 | Data types and data structures (arrays, records — not just scalar variables) |
| Level 7 | Data types, data structures and data sources (where does each value come from — user input, database, calculation?) |
You cannot skip levels. If your dictionary has no data structures, you cannot claim Level 5 or above.
Common mistakes
Mistake 1: Format = Type
Format: Integer
Write the pattern instead: 999999, NN, etc. If you cannot write a pattern, leave a note and revisit — but do not copy the Type column.
Mistake 2: Missing data sources at Level 7
(no Source column, or Source column left blank for half the rows)
Every field at Level 7 needs a source. "User input", "calculated from sales total", "retrieved from customer database" — these are all valid. Blank is not.
Mistake 3: Vague sizes
Size: large
Size must be a number — the number of characters, bytes, or digits the field can hold. If you do not know, look at your data (the longest plausible value) and choose a round number that covers it.
Mistake 4: Only scalar variables
A dictionary that lists only individual variables but no arrays or records cannot score Level 5 or above. If your design uses a list of items or a record structure, include it.
🎬 Watch
Video coming soon.
🎯 Watch for: how an experienced developer reads a Format string and immediately knows the exact shape of valid data — something the Type alone can never tell you.
Check Your Understanding
- A student writes
Textin the Format column for alastNamefield. What is the mistake, and what should they write instead?
Answer
Text is a type, not a format. It duplicates the Type column and adds nothing. The correct Format entry is Xxxxxxxxxxxxxxx — one uppercase letter followed by lowercase letters, with the number of x characters indicating maximum length (e.g. 15 for a 15-character maximum).
- Your data dictionary has variables and arrays but no data sources. Which VCAA level can you reach, and which is out of reach?
Answer
You can reach Level 5 (data types and data structures). Level 7 is out of reach because it requires data sources as well. Add a Source column and fill it in for every row to unlock Level 7.
- What does the Format string
NN,NNN.NNtell you that the TypeFloatingPointdoes not?
Answer
It tells you the value uses a thousands separator (,) and is stored to exactly two decimal places. FloatingPoint alone does not specify either of these — you could have 12543.7 or 12,543.759 and both would be valid floats, but only 12,543.76 matches the format.
See also
- IPO Charts — Process Means Steps
- Sketch vs Mock-up
- Ryan's Tutorials — Data Dictionary — AU secondary-pitched; shows a "Format for Display" column with N/X notation
- C05 Resources
← Back to C05 Home · VCE Software Development Hub
