Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Sakai External Database BANNER Data

This page will describe the critical information about sourcing data to the External Database from Banner.

The BANNER Student Information System is an Oracle Forms Application that has been in existence for over 15 years. It is the system of record for course, instructor, and student information. Therefore, it represents most of the external information required by Sakai for the purposes of provisioning and maintaining course sites.

BANNER Data Architecture

The BANNER system consists of thousands of tables, views, sequences, and pl/sql procedures. Luckily, only a handful of those objects are of interest to the Sakai project. The following diagram and table will describe each of the objects Sakai will be collecting data from.

Image Added

Name

Object Type

Description

Example

STVTERM

Table

Academic Term Infomation

Spring Quarter 2007

STVCOLL

Table

Academic Colleges

AE - Agricultural and Environmental Sciences

STVDEPT

Table

Academic Departments

ENH - Environmental Horticulture

STVSUBJ

Table

Academic Subjects

LDA - Landscape Architecture

SCBCRSE

Table

Course Information

LDA 001 - Spring Quarter 2007

SSBSECT

Table

Section Information

LDA 001 - Section A01 - Spring Quarter 2007

SSRMEET

Table

Section Meeting Times

MWF 9:00-10:15 - LDA 001 - Section A01 - Spring Quarter 2007

SIRASGN

Table

Instructor Assignments

John Smith - LDA 001 - Section A01 - Spring Quarter 2007

SFRSTCR

Table

Student Enrollments

Jane Doe - Waitlisted - LDA 001 - Section A01 - Spring Quarter 2007

Requirements

  • Availability: The BANNER data used by Sakai must be available on a 24x7 basis.
  • Fast Refresh: Updated Student Registration information must be available as soon as possible. In general, the other BANNER data sources do not need to be updated as frequently.
  • Flexibility: The resultant data store must be felxible enough to adapt to changes in Sakai's data requirements, as well as to include and augment data with data from external sources.

...

In the ideal design, BANNER data will be extracted in a normalized format similar to the structure of course information in Sakai. Additionally, data in the Materialized Views will be updated automatically when data is changed on the source side, resulting in near-realtime data refresh.

Implementation

In practice, not all of the design goals have been achievable at present. Currently the materialized views represent a one-to-one relationship with the source BANNER tables. For example: the SFTSTCR table in BANNER is Materialized on the External Database side as a view called Banner_Rosters, with its columns being a subset of the columns in the SFRSTCT table.

Commit-based refresh of tables requires a number of restrictions on the source database structure and can incur some overhead on the source side. Therefore, for the time being, all materialized views are being created to refresh every half-hour. However, rather than doing a complete refresh and copy of all data, the materialized views have been created using the FAST REFRESH option. This option allows the query to update only the changed rows from the source database. In order to enable fast refresh, materialized view logs must be created on the source database.

SED ERD.vsd - Original BANNER External Database ERD (Created in visio and unconvertable, will need to replace once a new ERD tool is found)
Banner Tables.vsd - BANNER Table descriptions (Created in Visio)

SQL Scripts

Banner MViews.sql - The sql ddl for the BANNER Materialized Views (deployed in the SED Schema)
Banner MV Logs.sql - Sql ddl for the BANNER Materialized View Logs (deployed on the BANNER instance)

Files

...

For the 2.4.x Course Management implementation of Sakai, the Materialized Views have been re-designed to closer meet the original design goals. Each MView maps closely to a single object in the Course Management schema, and converts most ids to a Course Management compatible format during the refresh process. However, this approach required sacrificing the fast-refresh capability of most of the materialized views. Fast refresh has been preserved on a few tables that contain time sensitive data such as enrollments and instructor assignments. The documentation for the Course Management External Database implementation is located at Course Management Object Relational Mapping.