Data modelling as activity operates in the intersection between software design and programming. It takes input from the problem domain to be addressed by the information system, and creates a description of this domain in terms that lend themselves to the rigorous procedures of programming (i.e. coding). Some sort of data modelling is often required to provide a manageable overview of a problem domain prior to embarking on the development of the implemented solution. In this respect, data modelling stands out as a particularly important topic for novice students to master in order to handle the complex tasks involved in system design and development. Accordingly, data modelling is increasingly taught as an essential part of system design a...