Title: Design of storage solution
Aims:
Create a database schema for a typical information system. Reflect upon the
application requirements and consider the future use of new technologies to
provide a greater efficiency or performance.
Intended learning outcomes include:
- Design suitable data models for efficient storage and retrieval.
- Compose appropriate queries to translate data into information.
- Appraise the applicability of non-traditional models for storage within an
organisation.
Description of task(s) to be completed:
You have been tasked with creating a data storage solution to manage an
organisation’s security logs to support the detection of insider threats. The
system will have to store the following information:
- Physical building access logs
- Computer log on / log off data
- Metadata associated with emails (To, From, CC, BCC, Subject)
- Website visits at host level (not full path e.g http://bbc.co.uk not
http://bbc.co.uk/sport)
- Vehicles entering the site
The current approach to security is role-based where staff are allocated a role,
this role defines the buildings to which they have access, this is to be
maintained. There is also an asset list that defines the computers that are on
site and where they are located.
Demonstrate with appropriate queries how your system could support the
following queries:
- Find all machines with less than 4GB RAM
- Find all emails sent by person X on day Y
- Find a list of people entering building P on day Q
- Find the top 20 websites visited by users with role G
This piece of coursework has the following three tasks:
- Create a diagram depicting the tables, columns and relationships for an
RDBMS system to hold the data required to support the queries. Justify
your normalisation approach, the design choices you’ve made and any
assumptions you have made.
- Detail SQL queries to support the questions and the indexes required
upon the data.