ICTGAM419
Build a database to support a computer game


Application

This unit describes the skills and knowledge required to design, and to implement, a relational database for the management of the persisted- state world of a computer game.

It applies to individuals who work as game programmers or junior analyst programmers in the digital and interactive games industry, either as small independent specialists, or as part of a larger team.

No licensing, legislative or certification requirements apply to this unit at the time of publication.


Elements and Performance Criteria

ELEMENT

PERFORMANCE CRITERIA

Elements describe the essential outcomes.

Performance criteria describe the performance needed to demonstrate achievement of the element.

1. Verify the database model

1.1 Verify that the game architecture and system implementation requirements have been addressed by the proposed database architecture

1.2 Correlate data model entities and their attributes with the game artefacts, and the game design requirements

1.3 Verify that the entity relationships defined in the data model implement the game-design and game-play rules

1.4 Verify the estimates of the amounts of data storage required, and the data types defined by the data model

1.5 Document design inconsistencies

1.6 Review the database model and address, and correct any inconsistencies

1.7 Define the database test data

2. Create the physical database design

2.1 Implement the conceptual data model design as a physical database design

2.2 Determine the default database file size, according to the data model storage estimates

2.3 Determine game data input and output workload estimates

2.4 Determine the reliability and performance requirements

2.5 Define the minimum hardware requirements to support the input and output workload and reliability or performance requirements

2.6 Configure the database management system in order to use minimum hardware requirements

2.7 Refine and confirm the database test data

3. Implement the physical database prototype

3.1 Write structured query language (SQL) scripts to create physical database files according to the design requirements

3.2 Write SQL scripts to create database tables

3.3 Implement the primary key constraints

3.4 Implement the foreign key constraints

3.5 Define, and script, stored procedures for selecting, inserting, updating and deleting data

3.6 Define and script insert statements for test data

3.7 Execute SQL scripts and database, including test data

4. Test the database and document results

4.1 Document the entity integrity tests, and results

4.2 Document the referential integrity tests, and results

4.3 Document the input and output performance tests, and results

4.4 Document the stored procedures tests, and results

5. Review, evaluate and correct database performance

5.1 Review the test result deficiencies

5.2 Define, evaluate and test the deficiencies, and ensure that corrective measures are implemented

5.3 Implement corrections to the database

Evidence of Performance

Evidence of the ability to:

interpret a conceptual database model

create a database from a conceptual model, that allows for the persistence of state data for a computer game

evaluate, and improve, the performance of a database built to support a computer game.

Note: If a specific volume or frequency is not stated, then evidence must be provided at least once.


Evidence of Knowledge

To complete the unit requirements safely and effectively, the individual must:

identify computer hardware specifications and performance required to support database development

discuss the creation, use and testing of stored procedures

explain why input and output parameters are required

explain database stress testing and stress testing software

discuss the principles of database testing methodologies

describe object-oriented database management systems

discuss the similarities and difference between relational database management systems:

IBM DB2

Microsoft Access

Microsoft SQL (MS SQL) server

MySQL

Oracle

Postgre Structured Query Language (Postgre SQL)

discuss relational database modelling building blocks and theory, including attributes, entity relationship modelling and normalisation of database tables

discuss relationship cardinality and connectivity:

1:1

1:M

M:N

outline the features, and functions, of structured query language (SQL), including data definition language and data manipulation language

discuss the evolution of relational database management systems and their relationship to the flat file, hierarchical, and network data storage legacy of games

outline the important functions of a relational database management system within the context of a computer game

interpret data access languages, such as SQL and language-integrated query (LINQ)

interpret data application programming interfaces (APIs) including:

ADO.Net

data integrity

disaster recovery and backups

data dictionary

data storage

security requirements of the data

transforming and presenting the data

discuss the importance of data models

describe the different types of data models, including Chen and Crow’s Foot models

describe the relationship between game-play rules and the modelling of the database structure.


Assessment Conditions

Gather evidence to demonstrate consistent performance in conditions that are safe and replicate the workplace. Noise levels, production flow, interruptions and time variances must be typical of those experienced in the game development field of work, and include access to:

computer-aided software engineering and modelling tools

a relational or object-oriented database management system

performance testing and analysis software for selected database management system/ game architecture specifications

the game design and requirements documentation

the client or server hardware

networking infrastructure sufficient to simulate the game architecture specifications.

Assessors must satisfy NVR/AQTF assessor requirements.


Foundation Skills

This section describes language, literacy, numeracy and employment skills incorporated in the performance criteria that are required for competent performance.

Skill

Performance Criteria

Description

Reading

1.1, 1.2, 1.3, 1.4, 1.6, 2.2, 2.3, 2.4, 2.5, 2.7, 5.1

Interprets and analyses documents containing complex games-design and database-architecture terminology, to determine database requirements and identify design inconstancies

Interprets and comprehends a large range of diagrams, flow charts, code, syntax, icons, symbols, text, numbers and letters necessary to design and develop a database

Writing

1.5, 1.7, 2.1, 3.1, 3.2, 3.5, 3.6, 3.7, 4.1, 4.2, 4.3, 4.4

Uses correct spelling and grammar, plain English, specific terminology and appropriate document layout, when documenting database test data and test results

Uses the appropriate programming code, syntax and conventions to develop the database

Oral Communication

1.1, 1.2, 1.3, 1.4, 2.2, 2.3, 2.4

Employs effective listening and open-questioning techniques to clarify design requirements and project scheduling, and to obtain feedback

Numeracy

1.1-1.7, 2.1-2.7, 3.1-3.7

Uses a wide range of applied mathematical calculations and functions to design, develop, and evaluate the database

Get the work done

All

Plans a range of routine, and some non-routine, tasks, aiming to achieve required outcomes efficiently and effectively

Makes a range of critical and non-critical decisions in relatively complex situations, using analytical processes to decide on appropriate courses of action

Evaluates outcomes to identify opportunities for improvement within own work context

Utilises a broad range of features within applications to complete required tasks


Sectors

Game development