University of Melbourne · FACULTY OF INFORMATION TECHNOLOGY

INFO90002 Chap.4 Logical Design and Normalisation

- one subject, every graph, every model, every mark
5 Chapters2-page Bible
Our own words - no uploaded lecturer files
Updated for this semester
Chapter 4 of 12 · INFO90002

Logical Design and Normalisation

Logical Design and Normalisation turns functional dependency, normal forms and lossless decomposition into executable reasoning. The chapter's practical target is to remove update anomalies while preserving meaning and joinability, so every explanation should connect syntax to program state, control flow and observable output.

Treat functional dependency as a precise program object, not a loose label.

Identify its value or responsibility before execution, then trace what can read it, change it or depend on it. This makes hidden state changes visible before they become debugging guesses.

Use normal forms to explain the program's next move. Work through one representative input by hand and name the branch, iteration or call that follows.

If the trace cannot be stated, the code may run by accident rather than by understood design.

Bring in lossless decomposition as the test of structure.

Compare normal, boundary and invalid inputs; state the expected behaviour first; then use the mismatch between expectation and result to localise the defect.

For the application — remove update anomalies while preserving meaning and joinability — write the smallest complete example that exposes the rule.

Explain why it works, what would break it and how the program should signal or recover from that failure.

Before running a Logical Design and Normalisation example, make a trace table with the important state before and after each operation. Include the value associated with functional dependency, the control decision governed by normal forms and the output or object affected by lossless decomposition.

The table turns an unexplained result into a sequence that can be tested one transition at a time.

Test three inputs: an ordinary case, a boundary case and an invalid case. State the expected result for each before execution, then compare it with what the program actually does.

A useful test of normal forms isolates one rule; a test that changes several conditions at once cannot tell you which condition caused the failure.

Practise explaining the solution without reading the code. For INFO90002, name the data representation, the control flow, the responsibility of each function or class and the reason the chosen design supports remove update anomalies while preserving meaning and joinability.

This rehearsal is especially important when a written test or interview asks why the program works rather than whether it produces one correct output.

A complete Logical Design and Normalisation response should make the task visible before the detail: identify what must be decided, define the relevant terms, connect the evidence to normal forms, and use lossless decomposition to test the result.

The final sentence should answer the question actually asked rather than merely repeat the topic.

The controlling limit is specific: Normalisation is not a mechanical ban on every repeated-looking value.

Keep that limit beside the worked example, because it separates a careful INFO90002 answer from one that sounds confident but claims more than the task or evidence supports.

For revision, retrieve functional dependency, normal forms and lossless decomposition without notes, explain their relationship aloud, then complete a changed version of the application: remove update anomalies while preserving meaning and joinability.

Record the first point at which your reasoning fails and repair that move before attempting another case.

In this chapter

What this chapter covers

  • 01

    functional dependency

  • 02

    normal forms

  • 03

    lossless decomposition

  • 04

    Applying functional dependency

  • 05

    Limits of normal forms and lossless decomposition

Worked example · free

Worked example: Logical Design and Normalisation

Q [4 marks]. A draft chooses a response merely because functional dependency appears in a task about how to remove update anomalies while preserving meaning and joinability. Use normal forms and lossless decomposition to test whether that choice is defensible. This is AskSia-authored practice, not a University question or marking scheme.
  • 1Extract the outcome, actor or operation that the Logical Design and Normalisation task actually requires.
  • 1State the precondition under which functional dependency is relevant rather than merely familiar.
  • 1Use normal forms to reject the nearest alternative, then run a failure-path check with lossless decomposition.
  • 1Choose the response and state when it must be withdrawn or narrowed: Normalisation is not a mechanical ban on every repeated-looking value.
The choice follows from the task's required outcome and the precondition attached to functional dependency, not from keyword recognition. The response uses normal forms to distinguish the nearest alternative and lossless decomposition tests the failure path. The response changes when this boundary is crossed: Normalisation is not a mechanical ban on every repeated-looking value.
Sia tip — State the functional dependency X→Y as a rule about all valid tuples, not a coincidence in the sample rows. Test the target normal form and lossless decomposition from those dependencies; repeated-looking values alone are not a violation.
Glossary

Key terms

normalisation
Normalisation decomposes relations according to functional dependencies to reduce redundancy and prevent insertion, update and deletion anomalies while preserving required information. In this chapter, use the concept when you remove update anomalies while preserving meaning and joinability.
conceptual, logical and physical design (the database development lifecycle)
Conceptual design models business entities and relationships independently of technology, logical design translates them into a data model and constraints, and physical design specifies storage, indexes and implementation details. In this chapter, use the concept when you remove update anomalies while preserving meaning and joinability.
DDL, DML and DCL (CREATE/DROP/ALTER vs SELECT/INSERT/UPDATE/DELETE vs GRANT/REVOKE)
DDL defines database structures with commands such as CREATE, ALTER and DROP; DML queries or changes data with SELECT, INSERT, UPDATE and DELETE; DCL manages privileges with GRANT and REVOKE. In this chapter, use the concept when you remove update anomalies while preserving meaning and joinability.
FAQ

Logical Design and Normalisation FAQ

What is the main task in Logical Design and Normalisation?

Remove update anomalies while preserving meaning and joinability.

How do functional dependency and normal forms work together?

Use functional dependency to establish the object or condition, then use normal forms to explain how it changes the outcome being analysed.

What must a INFO90002 answer qualify here?

Normalisation is not a mechanical ban on every repeated-looking value.

How should I revise Logical Design and Normalisation?

Retrieve functional dependency, normal forms and lossless decomposition, apply them to a changed case, and correct the first point where the evidence no longer supports the conclusion.

Study strategy

Exam move

Reconstruct the relationship among functional dependency, normal forms and lossless decomposition; complete the chapter application without notes; then test the result against this limit: Normalisation is not a mechanical ban on every repeated-looking value.

Working through Logical Design and Normalisation in INFO90002? Sia is AskSia’s AI Information Technology tutor — ask any INFO90002 Logical Design and Normalisation question and get a clear, step-by-step explanation grounded in how INFO90002 is taught and assessed. Read this chapter free, then take your hardest questions to Sia.

A+Everything unlocked
Unlocks this Bible + all 126 of your University of Melbourne subjects - and 1,000+ Bibles across every Australian university.
Sia - your INFO90002 tutor, unlimited, worked the way the exam marks it
The full 2-page Bible + practice bank with worked solutions
Chrome extension - sync your LMS so Sia knows your deadlines
Bilingual EN / Chinese on every Bible and every Sia answer
$0.99 Trial
30-day money-back · cancel in one tap · how it works