Data Models

COMP3311 20T3 ♢ Data Models ♢ [0/6]
❖ Data Modelling

Aims of data modelling:

Data modelling is a design process

COMP3311 20T3 ♢ Data Models ♢ [1/6]
❖ Data Modelling (cont)

Kinds of data models:


Strategy: design using abstract model; map to physical model

[Diagram:Pics/er-rel/data-modelling.png]

COMP3311 20T3 ♢ Data Models ♢ [2/6]
❖ Some Design Ideas

Consider the following while working through exercises:

COMP3311 20T3 ♢ Data Models ♢ [3/6]
❖ Exercise: GMail Data Model

Consider the GMail system (or any other modern mail client)

Develop an informal data model for it by identifying:

COMP3311 20T3 ♢ Data Models ♢ [4/6]
❖ Exercise: GMail Data Model (cont)

Objects in GMail data model:

users
        gmail-address, name, password, ...

messages
        timestamp, sender*, title, content, ...

tags
        owner, name, colour parent*

settings
        name, value, user*

Relationships in GMail data model:

recipients
        user - message

sent
        user - message

tag-hierarchy
        child-tag - parent-tag

settings
        user - setting

Constraints in GMail data model:

gmail-address values are unique

users must have a password (strong?)

every message has a sender

every message has a non-empty title and content

values for each setting are valid for that setting

COMP3311 20T3 ♢ Data Models ♢ [5/6]
❖ Quality of Designs

There is no single "best" design for a given application.

Most important aspects of a design (data model):

Potential inadequacies in a design:
COMP3311 20T3 ♢ Data Models ♢ [6/6]


Produced: 12 Sep 2020