Meta Data Layer (MDL)

This section of the user manual provides an overview of the Meta Data Layer (MDL), including the rationale behind its development, its contents and its use. It assumes some 'technical' knowledge.

In this section:


Why a Meta Data Layer?

Callista is, by any measure, a large and complex system. The underlying data structures are comprised of many layers of interconnected tables and views. As a result, it is difficult for most people to understand the data structures sufficiently well, or quickly enough, to effectively use them as a resource. The MDL provides a simplified data model for use by skilled end users and local developers.

The MDL consolidates several table layers into a single layer of views containing de-normalised data. For example, a single parent or child record value from a parent-child table relationship may be repeated as part of numerous records in a de-normalised view.

Because an MDL view consolidates data, it is possible to use a simple select statement to retrieve records, in contrast to complex queries required to extract the same records from the source tables. Some MDL views have been designed to pre-filter data. For example, separate views exist for active, inactive and planned course versions. This means that it is not necessary to perform complex queries through multiple table layers in order to return records of a particular system status.

One of the major advantages of the MDL is that its views can include derived data, making derived data available for selection. For example, the view MDL_STUDENT_UNIT_ATTEMPT_V has the column DER_EFTSU, the derived EFTSL for each Unit Attempt.

 

Using the MDL

The simplified data model provided by the MDL makes information more readily available to a wider audience.

Uses include:

The potential of the MDL can be extended by joining MDL views with each other, with other views and with other Callista tables.

It should be noted that the MDL is designed specifically to simplify querying. It is not designed for update purposes.

 

Structure of the MDL

The MDL has been constructed to a set of general standards. In most cases, the names used for views and columns are relatively self explanatory.

 

MDL View Naming Conventions

MDL views generally have the same name as the main table from which they are derived, with the addition of the prefix MDL_ and the suffix _V. For example, a view based on the table ATTENDANCE_TYPE has the name MDL_ATTENDANCE_TYPE_V. Where the records selected in a view are restricted to a subset of all possible records, the name of the view is modified to reflect this. For example, the view MDL_COURSE_VERSION_ACTIVE_V selects only active course versions. Some view names are abbreviated where they would otherwise be overly long.

Some views are not in fact true views but are simply an alias for an existing table or view. These are tables and views which have been identified as being useful in the Meta Data Layer in basically their original form. They are identified by the MDL_ prefix (only) appended to their original table/view name. Making these aliases part of the MDL simplifies management of MDL security.

 

MDL Column Naming Conventions

The names of columns (fields) within views are generally the same as the names of the corresponding columns in the tables from which they are derived, prefixed by the alias of the original table. For example, the column Att_Research_Percentage, in the MDL_ATTENDANCE_TYPE_V view, is sourced from the Research_Percentage column in the ATTENDANCE_TYPE table, whose alias is 'att'.

Where Calendars of a particular Calendar Category are included in views, the column names of the Calendar Type and sequence number are prefixed by the Calendar Category. For example, if the Calendars are Academic Calendars the prefix 'Acad' is used, resulting in the column names Acad_Cal_Type, Acad_Sequence_Number and Acad_Alternate_Cd.

 

Inclusion of Columns in MDL Views

The following guidelines are applied to the inclusion or exclusion of records in MDL views.

 

MDL Security

MDL views cannot be granted to a role or user using the Reconcile Object Grants process unless they are used by a form, report or job. It is also pointless for a DBA to grant access to these views via an internal Callista user role, as the first time the Reconcile Object Grants process is activated for the user role, the grants to these views will be dropped and will not be recreated. There are two solutions:

Data restrictions are not applicable to users granted access to MDL views, as no restriction views exist. MDL access should not be granted to users with data restrictions.

 

MDL Performance

Many MDL views contain large volumes of data, including data which is derived dynamically. Data retrieval rates are in proportion to the increased work load involved. Using criteria which quickly reduce the set of data returned by a select statement can dramatically improve retrieval times.

 

More Information

Callista Technical Documentation contains extensive information about the MDL. this information is intended as a resource for local developers and appropriately skilled end users. It contains:

 

 

Last Modified on 10 January, 2005