ISYS1055 Database Concepts
ISYS1055 Overview
- RMIT University
- S2 2026
- 14 chapters
- Information Technology
ISYS1055 Database Concepts is RMIT University's introduction to relational database design and SQL, taught out of the School of Computing Technologies and delivered through Canvas with a weekly lectorial (RMIT's combined lecture and tutorial class) and a weekly practical.
- Assessed by Assessment Task 1 - Database Design (take-home assignment on ER modelling and the relational database model) 20% + 3 more
- Key terms Relation (vs table), Primary key, candidate key and foreign key, Entity and referential integrity, Multiplicity (min .. max)
- Assessment move Treat this course as one continuous build rather than eleven separate topics, because the assessment is continuous too.
What you get in the full ISYS1055 Study & Assessment Guide
- 14 chapters, 289 pages — every assessed topic, week by week
- 72 original practice questions, each with a model answer
- 14 worked examples, solved the way ISYS1055 marks
- 49 computed figures, redrawn from the course’s own numbers
- Before-you-submit checklist for the Assessment Task 2 - SQL Programming and Normalisation (30%) — what markers reward, what costs marks
Free on this page: assessment table, chapter map, one worked example, key terms, FAQ. The rest is in the full study & assessment guide.
How ISYS1055 is assessed
| Component | Weight | Format |
|---|---|---|
| Assessment Task 1 - Database Design (take-home assignment on ER modelling and the relational database model) | 20% | Take-home. Two parts / four tasks covering Basic ER Modelling and Basic Relational Modelling. Rubric points: Task 1 Design ER Model 4, Task 2 ER to Schema 4, Task 3 Optimise ER Model 6, Q4.1-Q4.4 Understanding the Model 1 each, Q4.5 SQL Statement Validity 1, Q4.6 SQL Statement 1 (20 points, scaled to 20%). Draft due end of Week 4; final due end of Week 6 (the Semester 2, 2026 due windows - confirm the dates on Canvas). |
| Assessment Task 2 - SQL Programming and Normalisation (take-home) | 30% | Take-home. Part A normalisation: Q1 Listing Functional Dependencies, Q2 Identifying Highest Normal Form, Q3 Decomposing Relations up to 3NF, Q4 Cleaning up the schema by combining relations, Q5 Final Relational Schema. Part B: five SQL queries. Use the 'Marks (ISYS1055)' rubric column (3 / 4 / 3 / 1.5 / 0.5 and 0.5 / 0.5 / 1.5 / 1 / 1.5), not the ISYS3412 column; the page states the score is scaled to 30% of the overall course assessment score. Draft due end of Week 9; final due end of Week 11 (the Semester 2, 2026 due windows - confirm the dates on Canvas). |
| Assessment Task 3 - In class quizzes | 20% (stated as '5 x 4 = 20 marks' and '4% per quiz') | Five online quizzes run inside the PRACTICAL classes in Weeks 3, 5, 7, 9 and 11. Official description: 'a mixture of multiple choice and short answer questions', covering topics from previous weeks and assessing relational database fundamentals, entity-relationship modelling and SQL programming applied to real-world applications. |
| Assessment Task 4 - Database Design Project (Canvas also calls this the 'Final Assessment'; it is a take-home project, NOT an exam) | 30% | Take-home project on a publicly available dataset: investigate and understand the data, design a conceptual model, build the database and host the data, then write SQL for a set of requirements. Part A Understanding the Data 0 marks (preliminary work), Part B Designing the Database 10, Part C Creating the Database 10, Part D Data Retrieval 10. Milestone 1 is to be started over the semester break; the syllabus lists a live walkthrough for starting it in Week 8, without naming the class it runs in. Draft due end of Week 12; final due end of Week 14 (the Semester 2, 2026 due windows - confirm the dates on Canvas). |
What other students are asking about ISYS1055
- Where can I find lecture notes or study guides for ISYS1055 at RMIT?
- The ISYS1055 study guide in AskSia Library covers Database Concepts in 14 chapters, with the assessment table, a chapter-by-chapter topic map, key terms and a worked example, free to read on this page.
- Is there a final exam in ISYS1055, and how much is it worth?
- Yes. In the offering this AskSia Library guide is built from, Assessment Task 4 - Database Design Project (Canvas also calls this the 'Final Assessment'; it is a take-home project, NOT an exam) carries 30% of the ISYS1055 mark; the full split is Assessment Task 1 - Database Design (take-home assignment on ER modelling and the relational database model) 20%, Assessment Task 2 - SQL Programming and Normalisation (take-home) 30%, Assessment Task 3 - In class quizze.
- What does ISYS1055 cover on relational model building blocks: keys and constraints?
- In AskSia Library's ISYS1055 guide, the Relational Model Building Blocks: Keys and Constraints chapter explains relations, attributes, tuples, key types, nulls, entity and referential integrity (Week 2).
- What does ISYS1055 cover on er modelling in uml notation: entities and multiplicity?
- In AskSia Library's ISYS1055 guide, the ER Modelling in UML Notation: Entities and Multiplicity chapter explains entity types, attribute kinds, relationships, multiplicity and participation, the course's UML notation (Week 3).
- What does ISYS1055 cover on refining an er model: design choices and weak entities?
- In AskSia Library's ISYS1055 guide, the Refining an ER Model: Design Choices and Weak Entities chapter explains better design choices, weak entities and partial keys, self-association, accommodating new client requirements (Week 4).
What ISYS1055 covers
ISYS1055 runs as twelve teaching weeks in one straight line: relational foundations (Weeks 1-2), entity-relationship modelling and schema mapping (Weeks 3-4), SQL on SQLite (Weeks 5-8), relational design and normalisation (Weeks 9-10) and NoSQL with MongoDB (Week 11), before a revision week with no new material.
The assessment tracks that arc exactly - Assignment 1 lands after the ER weeks, Assignment 2 after normalisation, the five quizzes fall in the practicals of Weeks 3, 5, 7, 9 and 11, and the Database Design Project closes the course in Week 14. The chapters below follow the same teaching order, so you can read forward with the course or jump straight to the week you are being assessed on.
Databases vs File-Based Storage: What a DBMS Adds
limits of file-based storage, DBMS features, relational vs non-relational, SQLite Studio and LucidChart set-up (Week 1)Week 1 of RMIT University ISYS1055 Database Concepts builds the whole course out of one argument: take a business that keeps its records in flat files or spreadsheets, list everything that goes wrong, and derive a database feature from each failure.
- Data vs information; a database as a shared, self-describing, integrated collection of persistent, logically related data
- The DBMS as the layer between users and stored data - definition, construction, manipulation, sharing, protection; the working test "if it doesn't CRUD, it's not a database"
- CRUD and its SQL statements: INSERT, SELECT, UPDATE, DELETE; schema vs instance
- The DBMS sub-languages: DDL (CREATE / ALTER / DROP), DML (SELECT / INSERT / UPDATE / DELETE), plus DCL and transaction control
- The seven failures of file-based storage - queries, integrity, restructuring, multi-user access, crashes, security, scale - and the database concept each one motivates
- Transactions and ACID: atomic, consistent, isolated, durable; commit and rollback as the answer to the crash case
Relational Model Building Blocks: Keys and Constraints
relations, attributes, tuples, key types, nulls, entity and referential integrity (Week 2)Week 2 sets the vocabulary the rest of the course is written in: relation, tuple, attribute, domain, and the family of keys that identify and connect rows.
- Table vs relation: the five rules a table must satisfy - atomic cells, one domain per column, unique column names, insignificant row and column order, no duplicate rows
- The terminology map: relation, relation schema, attribute, tuple, tuple component, domain; relation schema vs relation instance
- Written schema conventions used all semester - primary key underlined (written first), foreign key marked with an asterisk
- Superkey, candidate key, primary key, composite primary key, alternate key, foreign key - and the rule that a key claim rests on semantics, not on the sample rows
- The three integrity constraints: key constraint (uniqueness), entity integrity (no null in a primary key), referential integrity (a foreign key matches an existing primary key or is null)
- NULL as a marker for an absent value - unknown, not applicable or not yet supplied - and why it is neither zero nor the string 'NULL'
ER Modelling in UML Notation: Entities and Multiplicity
entity types, attribute kinds, relationships, multiplicity and participation, the course's UML notation (Week 3)Week 3 opens the design half of ISYS1055.
- Where ER modelling sits: requirements analysis → conceptual (ER) model → relational database model; why it is top-down
- The course's notation ruling - UML class-style boxes, {PK} and {Partial Key} tags, multiplicity written as min .. max; Chen, Crow's Foot, Barker and Information Engineering are surveyed for comparison only
- Entity type vs entity occurrence; physical existence (vehicle, employee, product) vs conceptual existence (inspection, transaction, maintenance job)
- Strong vs weak entity types: a weak entity has no key of its own, only a partial key, and always participates mandatorily in its identifying association
- Attribute kinds: simple, composite (split into components), multi-valued (written with a range such as [1..N]), derived, key, and attributes that belong to the relationship rather than to either participant
- Relationship degree: unary/recursive, binary (the common case), ternary, quaternary; and the fact that two entity types can be joined by more than one relationship
Refining an ER Model: Design Choices and Weak Entities
better design choices, weak entities and partial keys, self-association, accommodating new client requirements (Week 4)Week 4's stated outcomes are to refine an ER model by applying better design choices and to improve a model so it accommodates additional requirements presented by a client, so this is the iteration chapter rather than a new-concepts chapter.
- Why ER design is iterative: the first model is a draft to be reviewed against the operation and its business rules
- The four refinement moves - introduce a new entity, convert an attribute into an entity, downgrade an entity into an attribute, convert a relationship into an entity
- Attribute or entity? Model something as an entity only if it is primary - of direct interest to the enterprise
- Entity or relationship? Test whether the association has attributes of its own and which choice represents the facts more accurately
- Weak entity types in UML: {Partial Key}, the identifying association, mandatory participation, and the owner key plus partial key as the identifier
- Self-association for recursive relationships, with a role name at each end (for example predecessor and follow-up)
The Seven-Step ER-to-Relational Mapping Process
strong entities, weak entities, 1:1 by participation, 1:N, M:N, multivalued attributes, n-ary relationships (Week 4)Week 4's third outcome is to map an ER model to a relational database schema using a seven-step mapping process, and this is the chapter that makes it mechanical.
- Step 1 - strong entity types: one relation per entity holding all its simple attributes; entity key becomes the relation key; composite attributes split into components
- Step 2 - weak entity types: relation holds its simple attributes plus the owner's primary key; owner key plus partial key form the composite primary key, and the owner key is also a foreign key
- Step 3 - 1:1 relationships, decided by participation not cardinality: mandatory on both sides means combine into one relation; mandatory on one side means the optional side is the parent and a copy of its key goes into the child; optional on both sides has no definitive direction
- Step 4 - 1:N: copy the primary key of the "one" side into the "many"-side relation as a foreign key, and relationship attributes travel with it
- Step 5 - M:N: create a new relation holding both primary keys; together they form its primary key and each is a foreign key; relationship attributes become ordinary attributes
- Step 6 - multi-valued attributes: create a new relation with the attribute plus the owner's primary key, both together forming the key
Single-Table SQL in SQLite: SELECT, WHERE and LIKE
SELECT/FROM/WHERE/ORDER BY, AND/OR, LOWER(), COUNT(), DISTINCT, IN, BETWEEN, LIKE, NULLs (Week 5)Week 5 opens the four-week SQL block, and its outcomes are precise: form a simple SELECT against one table, form a simple WHERE condition, build more complex conditions with AND, OR and string functions such as LOWER(), use aggregates such as COUNT() and refine them with DISTINCT, use set membership with IN and ranges with BETWEEN, and write partial-match queries with LIKE.
- SQL as a declarative language: state what you want, not how to get it; keywords and identifiers are case-insensitive but string literals are case-sensitive
- SELECT statement anatomy - SELECT, FROM, WHERE, ORDER BY - with only SELECT and FROM required, plus the logical evaluation order FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY
- SELECT list features: all attributes, chosen attributes, column aliases with AS, arithmetic expressions and constants
- WHERE conditions: comparison operators including <>, AND / OR / NOT, and parentheses to force evaluation order when mixing AND with OR
- Case-normalising both sides of a comparison with LOWER(); other string functions named by the course - UPPER(), LENGTH(), RTRIM(), SUBSTR()
- NULL handling: never compare with =, always IS NULL or IS NOT NULL
Multi-Table SQL: Simple, NATURAL, LEFT OUTER and Self Joins
JOIN ... ON, join conditions in WHERE, joining three tables, NATURAL JOIN, LEFT OUTER JOIN, self joins with aliases (Week 6)Week 6's first outcome is to use the various SQL join methods to write a single statement that retrieves data from more than one table, and the course names four forms explicitly: simple joins, NATURAL JOIN, LEFT OUTER JOIN and self joins.
- The joining process conceptually: form the combination of rows, apply the join condition, then project onto the SELECT list
- The two-step method for writing any join - identify the tables that hold the data, then identify the common attribute to join on
- JOIN ... ON with table aliases, and the older comma form that puts the join condition in WHERE (and silently produces a full combination if you forget it)
- Joining three or more tables by nesting the joins inside parentheses, then joining the result to the next table
- NATURAL JOIN: no ON clause, the condition taken from same-named columns, common attributes appearing once - and why the course asks you to argue against using it
- LEFT OUTER JOIN: every row of the left table survives, with nulls padding the right-hand columns, so table order in FROM matters
Nested Queries and FROM-Clause Sub-SELECTs
sub-SELECTs in the FROM clause, IN and EXISTS, decomposing complex logic (Week 6)Week 6's second outcome is to embed one query inside another so that complex logic decomposes into smaller sub-problems, and the course names three shapes: a sub-SELECT in the FROM clause, a subquery in WHERE with IN, and a correlated subquery with EXISTS.
- The principle: a result set is just another table, so a SELECT may appear wherever a table, a value list or a truth value is accepted
- FROM-clause sub-select (derived table): the inner query runs first, its result is held as a temporary table and must be given an alias
- Subquery in WHERE with IN: the inner query must return exactly one attribute, whose values form the list matched against the outer attribute; NOT IN inverts it
- EXISTS and NOT EXISTS: true if and only if the subquery result is non-empty, with nothing on the left-hand side to compare
- Correlation: with EXISTS the outer query drives, so the inner query may refer to the outer query's attributes - the correlation is the join, and SELECT * inside is conventional
- Decomposing an information need into plain-English sub-problems before writing any SQL
Grouped Aggregation, Set Operations and Views
GROUP BY and HAVING, UNION/INTERSECT/EXCEPT (Oracle MINUS), views vs tables, dates and times (Week 7)Week 7 is SQL continued, and it has four stated outcomes: use grouped aggregation and apply selection criteria to grouped data, perform set operations, explain when a view is appropriate and how it differs from a table, and define how dates and times are handled in SQL.
- GROUP BY: partition the rows that survived WHERE into groups with a unique combination of grouping values, then compute each aggregate once per group
- The SELECT-list rule for grouped queries - only grouping attributes and aggregate functions - and the explicit warning that SQLite does not enforce it while other engines reject the query
- HAVING filters whole groups after grouping and must always accompany a GROUP BY; WHERE filters individual rows before it
- Reading a grouped query in evaluation order: join, filter rows, group, aggregate, filter groups, project, sort
- Set operations UNION, INTERSECT and EXCEPT over two whole result sets, with their Venn and boolean readings, the column-compatibility requirement, and the dialect note that Oracle spells EXCEPT as MINUS while SQLite uses EXCEPT
- Views as named stored queries that behave like virtual tables: structuring data naturally, restricting access, and summarising across tables for reporting
SQL Triggers in SQLite: BEFORE, AFTER and INSTEAD OF
trigger event vs trigger action, CREATE TRIGGER, NEW and OLD values, validation, logging, updatable views (Week 8)Week 8 is entirely triggers.
- Trigger definition and anatomy: the trigger event (INSERT, UPDATE, optionally UPDATE OF a column, or DELETE on a table or view) and the trigger action
- Why triggers exist: enforcing simple business rules the integrity constraints cannot express, and automating housekeeping
- Use cases the course names - maintaining a derived or aggregate value, writing an audit or log record, capturing behavioural data, secondary-checkpoint input validation, and making an otherwise non-executable statement work
- The three types and their control flow: BEFORE runs the action then the event, AFTER runs the event then the action, INSTEAD OF skips the event and runs the action in its place
- Choosing between them: BEFORE when the action depends on the state before the change, AFTER when it depends on the result of the change, INSTEAD OF when the event itself cannot execute
- The NEW and OLD pseudo-records, and the availability table - INSERT has NEW only, UPDATE has both, DELETE has OLD only
Functional Dependencies and Update Anomalies
why design matters, insertion/deletion/modification anomalies, functional dependency, finding the key from FDs (Week 9)Week 9 opens the design half of ISYS1055 with the diagnostic half of normalisation: observe why good database design matters, identify the indicators of poor design - insertion, deletion and modification anomalies - and define the functional dependencies that drive every decomposition.
- The four qualities of a well-designed database: minimal attributes, attributes with a close logical relationship in the same relation, minimal redundancy (foreign keys excepted), and update anomalies minimised or eliminated
- The three defects to name on sight - a repeating group spread across numbered columns, one entity's details embedded inside another entity's relation, and a non-key attribute determined by another non-key attribute
- Insertion anomaly: a fact about one entity cannot be recorded without a fact about another, and redundant copies can disagree
- Deletion anomaly: removing one fact silently destroys the only copy of another
- Modification anomaly: one logical change requires many physical row updates, and missing one leaves the database asserting two different truths
- Functional dependency A → B: each value of A is associated with exactly one value of B, A the determinant and B the dependent - taken from semantics that must hold for all time, never from the sample rows, and holding among attributes rather than between entities as ER relationships do
Normalisation to 3NF: Top-Down and Bottom-Up
1NF, 2NF, 3NF, top-down validation vs bottom-up decomposition, the express and in-depth paths (Weeks 9-10)This is the payload chapter for Assessment Task 2 Part A.
- Normalisation defined: examine the functional dependencies, then rearrange attributes into relations - decomposing or merging - to reach a better design
- Two ways to use it - top-down as a validation technique after mapping an ER model (because not every functional dependency is captured in an ER model, so a mapped schema is occasionally not in 3NF) and bottom-up as a decomposition tool from an initial schema, which is not suited to large, complex designs
- The mnemonic - the key, the whole key, and nothing but the key - and what each form eliminates
- 1NF: every tuple component holds one and only one value; no repeating groups, no repeating values; and the subtler failure where an isolated attribute is really multi-valued
- 2NF: 1NF plus every non-key attribute fully dependent on the whole primary key; automatically satisfied when the key is a single attribute
- 3NF: 2NF plus no non-key attribute determined by another non-key attribute; practical test - any FD with a non-key attribute on the left means the relation is not in 3NF
NoSQL Document Modelling with MongoDB: Schema-Free Design
limits of the relational model, the document model, Mongo Atlas and Compass, simple find queries (Week 11)Week 11 is the advanced topic, and its outcomes are to learn the limitations of the relational database model, explore the document database model and the structure of a database record, learn how to use MongoDB, and write simple queries to extract data from it.
- Why the relational model is under pressure: fixed schemas, costly joins, limited data structures and difficulty scaling - against the advantages of normalised data and comprehensive querying
- Three relational workarounds and their costs: denormalisation (faster reads, data anomalies), sharding (better read and write throughput, more complex to manage), replication (faster reads, risk of inconsistency between copies)
- NoSQL defined - storage and retrieval of data modelled by means other than tables, read as "not only SQL" - with the document store as the one family this course explores
- The three levels of the document model - a database of collections, a collection of JSON documents, a document as a set of key-value pairs - and the vocabulary bridge from table to collection, row to document, column to field and primary key to the _id field
- The four properties that separate it from the relational model: no schema required, arrays allowed as values, composite objects allowed, and nesting to any depth
- Embedding versus referencing: nesting related data inside a document (a denormalised model) versus storing document IDs as the equivalent of foreign keys
Assessment Playbook: Draft Gates and the Design Project
AT1 20%, AT2 30%, AT3 five in-practical quizzes 20%, AT4 project 30%, and the three draft gates (Weeks 3-14)The whole 100% of ISYS1055 sits in four continuous tasks and there is no exam, so this chapter is the map of where the marks actually are.
- The official weights, summing to exactly 100%: AT1 20%, AT2 30%, AT3 20%, AT4 30% - and no exam anywhere in the course
- AT1 rubric line items: Design ER Model 4, ER to Schema 4, Optimise ER Model 6, four Understanding the Model items at 1 each, SQL Statement Validity 1, SQL Statement 1
- AT2 structure: Part A five normalisation questions, Part B five SQL queries - read the ISYS1055 mark column, not the ISYS3412 one, and note the page's statement that the raw score is scaled to 30% of the course mark
- AT3: five online quizzes run inside the practical class in Weeks 3, 5, 7, 9 and 11, described as a mixture of multiple choice and short answer, stated as 5 x 4 = 20 marks or 4% per quiz - and the coverage rule stated in the first lecture, that the first four quizzes cover the previous two weeks each while the last covers the previous ten weeks
- AT4 parts and marks: Part A Understanding the Data 0 (preliminary), Part B Designing the Database 10, Part C Creating the Database 10, Part D Data Retrieval 10
- The three draft gates, each quoted in its own wording, at the end of Weeks 4, 9 and 12, roughly two weeks before their finals
The five Course Learning Outcomes (CLOs) published on the Canvas welcome page run from describing the theoretical basis of the relational model to developing a sound design and applying SQL to define schemas, update contents and extract data.
The course runs in one straight line: relational foundations and integrity constraints (Weeks 1-2), entity-relationship modelling in UML notation and the seven-step mapping to a relational schema (Weeks 3-4), SQL on SQLite through SQLite Studio (Weeks 5-8, including joins, nested queries, grouped aggregation, views and triggers), relational design and normalisation to 3NF (Weeks 9-10), and document modelling with MongoDB on Atlas (Week 11), before a revision week that presents no new material.
There is no exam in this course. The whole 100% sits in four continuous tasks: Assessment Task 1 Database Design 20%, Assessment Task 2 SQL Programming and Normalisation 30%, Assessment Task 3 in-class quizzes 20% (five online quizzes run inside your practical class in Weeks 3, 5, 7, 9 and 11, stated as 5 x 4 = 20 marks, 4% per quiz), and Assessment Task 4 Database Design Project 30%.
Canvas sometimes calls Assessment Task 4 the "Final Assessment", but the link behind that phrase is the Database Design Project - a take-home build on a publicly available dataset, not a written paper.
Three of the four tasks open with a draft gate roughly two weeks before the final submission, and each gate carries its own penalty wording in the course source, so the cheapest marks in the course are the ones you lose by not submitting a draft. Hurdle requirements: none stated in the course source.
The course is co-taught in the same Canvas shell as the postgraduate ISYS3412, and two of the rubrics print two mark columns - always read the ISYS1055 column.
The toolchain is SQLite Studio for SQL, LucidChart for UML entity-relationship diagrams (free with an RMIT academic account) and MongoDB Atlas plus Compass in Week 11. SQL scope is stated as SQL-92 standard features except for the handling of dates and times, with all activity carried out on SQLite. The result you take out of this course feeds the Grade Point Average (GPA) RMIT reports.
Weights, due windows and submission rules here mirror the Canvas Syllabus for the Semester 2, 2026 offering - confirm the current version on Canvas and in the Course Guide (Part A and Part B).
Worked example · free
AT2 Part A shape: list the FDs, derive the primary key, name the highest normal form, decompose to 3NF
- +1Read the FDs off the business rules, not off any sample rows. F1: orderNo → orderDate, customerEmail. F2: itemCode → itemName, bakerCode. F3: bakerCode → bakerName. F4: orderNo, itemCode → quantity. Do not list orderNo, itemCode → itemName separately: it is derivable through F2, and derivable FDs are struck out.
- +1Derive the key by right-hand-side elimination. Strike out every attribute that appears on the right of any FD: orderDate, customerEmail, itemName, bakerCode, bakerName, quantity. What survives is orderNo and itemCode, so PK = {orderNo, itemCode} - a composite key. Do not trust a key you were handed and do not substitute common sense for the procedure.
- +1Highest normal form. Every component holds one atomic value and there is no repeating group, so the relation is in 1NF. It is not in 2NF: the key is composite and F1 shows orderDate and customerEmail depend on orderNo alone - part of the key - which is a partial dependency. Highest normal form = 1NF.
- +11NF → 2NF. Remove each partially dependent group together with a copy of its determinant; the determinant becomes the primary key of the new relation and stays behind in the original as a foreign key. This gives OrderLine(orderNo*, itemCode*, quantity), Orders(orderNo, orderDate, customerEmail) and Item(itemCode, itemName, bakerCode, bakerName) - bakerName travels with itemCode too, because itemCode → bakerCode → bakerName makes it dependent on that part of the key.
- +12NF → 3NF and final schema. In Item, bakerCode → bakerName is a non-key attribute determined by another non-key attribute - a transitive dependency - so split it out the same way. Final 3NF schema: OrderLine(orderNo*, itemCode*, quantity) · Orders(orderNo, orderDate, customerEmail) · Item(itemCode, itemName, bakerCode*) · Baker(bakerCode, bakerName). No two relations share a primary key, so there is nothing to merge at the clean-up step, and every relation now has a meaningful name.
Key terms
- Relation (vs table)
- A table that also satisfies all five relational rules: every cell holds a single atomic value, each column draws on one domain, column names are unique, row and column order carry no meaning, and no two rows are identical. The course states it as "every relation is a table; every table cannot be a relation". Formally, a relation schema is the name plus the attribute set, e.g. Member(memberID, email, joinDate); the instance is the data held at one point in time.
- Primary key, candidate key and foreign key
- A candidate key is a minimal set of attributes whose values are unique for every tuple; the one chosen to identify tuples is the primary key (unique, never null), the others are alternate keys. A foreign key is an attribute in one relation whose values must match a primary-key value in the referenced relation, or be wholly null. Key claims rest on the semantics of the data, not on the sample rows: email is unique by definition, a person's name is not.
- Entity and referential integrity
- The two integrity constraints the relational model enforces alongside the key constraint. Entity integrity: no primary-key attribute may hold a null. Referential integrity: every foreign-key value must already exist in the referenced primary key, or be null - so no child row is left dangling and no parent may be deleted out from under one. In SQLite the referential constraint only fires once PRAGMA foreign_keys = ON is set on the connection.
- Multiplicity (min .. max)
- The UML notation this course marks against. Multiplicity written at an association end counts how many occurrences of that entity relate to one occurrence of the entity at the other end, as a min .. max pair (1 .. 1, 0 .. 1, 0 .. *, 1 .. N). The maximums give the cardinality (1:1, 1:N, M:N); the minimums give the participation - minimum 1 means mandatory (total) participation, minimum 0 means optional (partial). Both halves come from business rules, never from sample data.
- Functional dependency
- A one-way constraint between attributes of a relation, written A → B and read as "B is functionally dependent on A" or "A determines B": each value of A is associated with exactly one value of B. A is the determinant, B the dependent. FDs come from the semantics and must hold for all time. A dependency is full when every left-hand attribute is needed, partial when a proper subset of the left already determines the right, and transitive when A → B and B → C. Normalisation is guided entirely by the FD set.
- Third normal form (3NF)
- A relation is in 3NF when it is in 2NF and no non-key attribute is determined by another non-key attribute. Read the ladder as "the key, the whole key, and nothing but the key": 1NF removes repeating groups and non-atomic values, 2NF removes partial dependencies on part of a composite key (automatic when the key is a single attribute), 3NF removes transitive dependencies. The decomposition recipe is the same each time - move the offending attributes out with a copy of their determinant, make the determinant the new relation's primary key, and leave it behind as a foreign key. This course stops at 3NF; BCNF, 4NF and 5NF are named but out of scope.
ISYS1055 FAQ
Is ISYS1055 hard?
It is a first database course, so the ideas are approachable, but the marks sit in precision rather than in volume.
The three places students actually lose marks are the seven-step ER-to-relational mapping (the brief wants the partially built schema shown at the end of every step, not just the final answer), the normalisation questions (naming the highest normal form a relation is actually in, with the dependency that breaks the next one), and SQL that runs but answers a slightly different question.
Nothing in this course is mathematically heavy - there are no derivations and no formula sheet - but it is cumulative: the ER modelling of Weeks 3-4 becomes the schema you write SQL against in Weeks 5-8 and the schema you normalise in Weeks 9-10. The workload guidance on the Canvas welcome page is about ten hours a week, split across preparation, the lectorial and practical, review, and assessment work.
Students who install SQLite Studio in Week 1 and actually run every query they write tend to find it very manageable, and steady work protects the GPA this result feeds into.
Can AI help me with ISYS1055?
Yes, as a step-by-step study aid. Sia is an AI tutor built to mirror how ISYS1055 is taught and assessed at RMIT University: it can walk you through a UML entity-relationship model one business rule at a time, take a model through the seven mapping steps in order, explain why a query returns the wrong rows, or work an FD list down to a primary key and a 3NF decomposition line by line, checking your reasoning as you go.
Bring your own practice relation or query and ask it to explain each step. It does not complete graded assessment for you, and RMIT University academic-integrity rules apply to everything you submit - use it to understand the method, and confirm what is permitted on Canvas and in the Course Guide.
How is ISYS1055 assessed?
Entirely by continuous assessment, and the four tasks sum to exactly 100%. Assessment Task 1 Database Design is a 20% take-home covering ER modelling and the relational model, with the rubric splitting into Design ER Model 4, ER to Schema 4, Optimise ER Model 6 and six 1-mark items on understanding the model and SQL.
Assessment Task 2 SQL Programming and Normalisation is 30%, with Part A five normalisation questions and Part B five SQL queries - read the marks from the ISYS1055 column, not the ISYS3412 one, and note the page's own statement that the raw score is scaled to 30% of the overall course assessment score.
Assessment Task 3 is five online quizzes run inside your practical class in Weeks 3, 5, 7, 9 and 11, described as a mixture of multiple choice and short answer, stated as 5 x 4 = 20 marks or 4% per quiz.
Assessment Task 4 is the 30% Database Design Project, split Part A Understanding the Data 0 marks, Part B Designing 10, Part C Creating 10, Part D Data Retrieval 10. Confirm every weight and due window on Canvas and in the Course Guide (Part A and Part B) for your own offering.
Does ISYS1055 have a hurdle, and what happens if I skip a draft?
Hurdle requirements: none stated in the course source - there is no must-pass component described anywhere in the course material, so do not assume one and do not assume its absence either; the Course Guide (Part A and Part B) linked from Canvas is the definitive statement.
The one penalty mechanic this course does state is the draft gate on three of the four tasks, and the wording differs per task, so read each one as published: for Assessment Task 1 the source says "up to 2 mark deduction if missing or incomplete", and elsewhere that failing to submit a draft results in a 2 mark deduction (2/20 marks); for Assessment Task 2 it says "up to 2% (mark) deduction if missing or incomplete"; for Assessment Task 4 the draft is worth "2 marks depending on how complete/correct".
Each draft falls roughly two weeks before its final - end of Week 4, end of Week 9 and end of Week 12 - so it is a free feedback checkpoint with a penalty attached, and submitting something complete-looking always beats submitting nothing. Announcements on Canvas can change an assessment specification, so monitor them, and if something goes wrong use RMIT's special consideration process rather than a late private email.
Is there an exam in ISYS1055?
No. Assessment is 100% continuous - a 20% design assignment, a 30% SQL and normalisation assignment, five in-practical quizzes worth 20% in total and a 30% design project.
The confusing part is that Canvas labels Assessment Task 4 the "Final Assessment", and Week 8's syllabus topic row lists a guide to starting it, but the link behind that phrase resolves to the Database Design Project: a take-home build on a publicly available dataset where you profile the data, design the conceptual model, create the database and write the retrieval queries.
So there is no written paper to sit and no timetabled paper to plan around - what you plan around instead is the draft gate at the end of Week 12 and the final submission at the end of Week 14. Confirm the current assessment structure on Canvas for your offering.
Questions students ask in each ISYS1055 chapter
- Why does this course use SQLite rather than a big server engine?
- SQLite is a very light-weight, single-user, embedded database, it is open source, and it is the most widely deployed database in the world - it ships inside mobile operating systems and countless applications. That makes it installable on a laptop for the practical with no server administration, which matters because you have to bring a laptop to your practical class. The GUI used with it is SQLite Studio. The trade-off is that SQLite relaxes a few standard behaviours, and the course flags those explicitly when they arrive (foreign keys off by default in Week 2, and the GROUP BY deviation in Week 7). Chapter 01 · Databases vs File-Based Storage: What a DBMS Adds
- What is the difference between the key constraint and entity integrity?
- They protect the two different halves of what a primary key promises. The key constraint enforces uniqueness - no two tuples may carry the same primary-key value - and is implemented by PRIMARY KEY or UNIQUE. Entity integrity enforces non-blankness - no primary-key attribute may hold a null - and is implemented by NOT NULL on every primary-key column. A composite key needs both halves on every participating attribute. Chapter 02 · Relational Model Building Blocks: Keys and Constraints
- Which ER notation does ISYS1055 mark against?
- UML. The lecture material surveys Chen, Crow's Foot, Barker's and Information Engineering notations so you can recognise them in the wild, but the course labels its own diagrams as its preferred notation and the Week 3 outcome names UML explicitly: class-style entity boxes with attributes listed underneath, {PK} on the key attribute, {Partial Key} on a weak entity's identifier, and multiplicity written as min .. max at each end. Diagrams are drawn in LucidChart, which is free with an RMIT academic account. Submitting Chen diamonds is a notation error, not a style preference. Chapter 03 · ER Modelling in UML Notation: Entities and Multiplicity
- How do I know whether something should be an entity or an attribute?
- Ask whether it is primary - of direct interest to the enterprise in its own right - and whether it has acquired facts of its own. A supplier's name sitting on a product row is an attribute until the business wants the supplier's contact details, rating and history, at which point it has become an entity and the product simply references it. A multi-valued attribute that keeps growing is the strongest single signal. Chapter 04 · Refining an ER Model: Design Choices and Weak Entities
- Why is a 1:1 relationship decided by participation rather than by cardinality?
- Because the cardinality is the same on both sides, so it cannot tell you which relation should hold the foreign key. Participation can: if one entity participates mandatorily, every one of its rows will have a value, so putting the key there produces no nulls - which is why the mandatory side is the child and a copy of the optional side's key goes into it. When both sides are mandatory the two entities are effectively one thing and are combined; when both are optional there is no definitive direction and you justify a choice. Chapter 05 · The Seven-Step ER-to-Relational Mapping Process
- Why does the course insist on a particular SQL layout?
- Because SQL ignores case and whitespace, which means a badly laid-out query is still correct and still unreadable - and unreadable queries are where errors hide. The required format is keywords in capitals, everything else lower case except string literals, and one clause per line. Assessment Task 2 Part B is marked on queries written this way, and it makes a long WHERE clause far easier to debug. Chapter 06 · Single-Table SQL in SQLite: SELECT, WHERE and LIKE
- What is the difference between JOIN ... ON and listing tables in FROM with the condition in WHERE?
- For an inner join they return the same rows - the comma form is the older style. The difference is safety and readability: with the explicit ON form the join condition sits next to the join it belongs to, whereas in the comma form omitting the condition is not an error, it just silently produces every combination of rows, which on real tables is both wrong and slow. Write the explicit form, and keep filtering conditions in WHERE where they belong. Chapter 07 · Multi-Table SQL: Simple, NATURAL, LEFT OUTER and Self Joins
- When should I use a nested query instead of a join?
- Use a nested query when the question breaks naturally into an inner sub-problem and the output only needs columns from the outer table - "which galleries hold something on loan" needs gallery columns, so the loan logic can be nested away. Use a join when the result has to show columns from both sides. Many questions can be written either way, and being able to convert between the forms is itself assessable. Chapter 08 · Nested Queries and FROM-Clause Sub-SELECTs
- What is the difference between WHERE and HAVING?
- WHERE filters individual rows before any grouping happens; HAVING filters whole groups after the aggregate has been computed, and cannot be used without a GROUP BY. If the condition is about a column value, it belongs in WHERE. If it is about a count, sum or average of a group, it belongs in HAVING. Moving a row condition into HAVING quietly changes the answer, which is exactly why the pair is assessed together. Chapter 09 · Grouped Aggregation, Set Operations and Views
- How do I decide between BEFORE and AFTER?
- Ask what the action depends on. If it depends on the state before the change - logging the value that is about to be replaced, or checking something about the incoming row - the course's pattern is BEFORE. If it depends on the result of the change - recomputing an aggregate from rows that must already have been updated - it has to be AFTER, because the numbers do not exist yet otherwise. The lectorial's own practice set works exactly this way: for each scenario, decide the type and justify it. Chapter 10 · SQL Triggers in SQLite: BEFORE, AFTER and INSTEAD OF
- How do I find the functional dependencies in the first place?
- From the stated business rules, one rule at a time, asking "given I know this, what else do I know for certain, for all time?" Then prune the list: strike out any FD that is derivable from others (if an identifier determines a supplier and the supplier determines its address, do not also list the identifier determining the address), and strike out any FD that does not really hold. An attribute that turns out to be determined by nothing is a signal that it belongs in the key or in a relation of its own. Chapter 11 · Functional Dependencies and Update Anomalies
- If I mapped my schema properly from an ER model, why normalise it at all?
- Because not every functional dependency is captured in an ER model. The mapping steps faithfully reproduce the entities, relationships and attributes you drew, but a dependency between two attributes inside one entity - a suburb determining a postcode, a grade determining a rate - was never part of the diagram, so it survives the mapping intact. Validating the mapped relations against 1NF, 2NF and 3NF is cheap insurance, and the course calls this out as the muddiest point worth answering. Chapter 12 · Normalisation to 3NF: Top-Down and Bottom-Up
- When is a document database the right choice, and when is it not?
- It suits data whose shape genuinely varies between records, data that is read as a whole rather than joined together, and applications whose schema is still moving - which is why the course frames it around agile development. It is a poor choice where the value of the data lies in guaranteed consistency across many related records, because the model relaxes ACID guarantees and delegates validation to the application. This is the Week 11 reflection question, and the honest answer names one application of each kind. Chapter 13 · NoSQL Document Modelling with MongoDB: Schema-Free Design
- Is there an exam in ISYS1055?
- No. The four continuous tasks sum to exactly 100%: a 20% design assignment, a 30% SQL and normalisation assignment, five in-practical quizzes worth 20% in total and a 30% design project. The phrase that causes confusion is Canvas's label "Final Assessment" for Assessment Task 4, reinforced by a Week 8 syllabus topic row billed as a guide to starting it - but the link resolves to the Database Design Project, a take-home build on a publicly available dataset. There is no paper to sit and no timetabled paper to plan around. Chapter 14 · Assessment Playbook: Draft Gates and the Design Project
How to prepare for the assessments
Treat this course as one continuous build rather than eleven separate topics, because the assessment is continuous too. Set the weekly rhythm the course itself assumes - work through the pre-lecture material and the set reading before the lectorial, take the lectorial and the practical, then revise and revisit the points you could not follow - and protect the practical, because that is where the five quizzes are run.
Install SQLite Studio in Week 1 and open a LucidChart academic account before Week 3; from Week 5 on, never read a query without running it, and never submit one you have not executed against the supplied database. Map your calendar around the two mechanics that actually move marks.
First, the quizzes: they fall in the practicals of Weeks 3, 5, 7, 9 and 11, they are worth 4% each, and the course states that the first four cover the previous two weeks while the last covers the previous ten - so quiz 5 is cumulative and is the one to revise broadly for.
Second, the draft gates: Assessment Task 1's draft at the end of Week 4, Assessment Task 2's at the end of Week 9 and Assessment Task 4's at the end of Week 12, each roughly two weeks ahead of its final, each carrying its own stated deduction for a missing or incomplete submission.
Use the semester break after Week 7 the way the Canvas Syllabus tells you to: review Weeks 1-7 and start Milestone 1 of the Database Design Project, so Part A is under way before the Week 8 walkthrough. For the skills themselves, drill three procedures until they are automatic rather than re-reading slides.
(1) The seven-step ER-to-relational mapping, in order, writing out the partially built schema after every step, because the brief awards nothing to a final schema with no working. (2) Right-hand-side elimination to find a primary key from a functional-dependency set, then the 1NF / 2NF / 3NF verdict with the specific dependency that breaks the next form.
(3) The SQL escalation - single-table conditions, then joins, then a nested query, then grouped aggregation with HAVING - written in the format the course requires, keywords capitalised and one clause per line. Keep everything in the SQL-92-on-SQLite scope the course states, with date and time handling as the one exception it names.
When a step will not click, ask Sia to explain that single step a different way and set you a fresh practice relation or query in the same style; it teaches the method and checks your working, and it never stands in for your own graded submission. Confirm all weights, submission rules, the census date and the special consideration process on Canvas and in the Course Guide (Part A and Part B).
Your AI Information Technology tutor for ISYS1055
Stuck on a hard ISYS1055 question? Sia is AskSia’s AI Information Technology tutor — ask any ISYS1055 Database Concepts question and get a clear, step-by-step explanation grounded in how the course is actually taught and assessed. Read this whole study guide free, then take your hardest questions to Sia.