ANSI-SPARC Architecture (databases)

ansi sparc database architecture illustration logo overcoded

The ANSI-SPARC architecture is a high-level standard for the design of database management systems. ANSI-SPARC is characterized by its three-layer design—external, conceptual, and internal. This architecture is designed to provide a useful abstraction to simplify database access at varying levels of requirements complexity.

The ANSI-SPARC architecture was defined in 1978 in a joint effort of the American National Standards Institute’s (ANSI)  Standards Planning and Requirements Committee (SPARC) department [1]. This standard was reportedly developed after a growing adoption of database management systems that have become “central elements of information processing systems.”

Three-Layer Design

The ANSI-SPARC standard acknowledged that there were two primary levels of existing database structure common among modern (of the time) applications. These layers, the internal and external, distinguished how data was being seen by the programmer vs. the developer. The ANSI-SPARC standard outlined the need for a third layer, the conceptual layer, used for the “enterprise’s description of the information as modeled in the database.”  The three layers of the ANSI-SPARC architecture are described more fully as such:

External Layer

The user’s view of the database contains data representations that may represent higher-level abstractions than how data are actually stored in the database. An example is an application that produces dynamic graphs based on numerical data from the database. The user would see illustrations but the actual data would be numbers.

Conceptual Layer

The conceptual layer defines how the data is stored within the entire database and provides a global view of data. Relationships between data are defined here as are the conceptual models for database data. This layer, while lower-level than the external layer, is still independent of the hardware of software.

Internal Layer

The internal layer defines how the database is represented, physically, on the system. This includes partitioning, indexing, and OS-related accommodations that may be required. This level involves the least degree of abstraction and is accessed by Database Management System (DBMS) developers, OS developers, and etc.

References

  1. Tsichritzis, Dennis, and Anthony Klug. “The ANSI/X3/SPARC DBMS Framework Report of the Study Group on Database Management Systems.” Information Systems, vol. 3, no. 3, 1978, pp. 173–91. Crossref, doi:10.1016/0306-4379(78)90001-7.
Zαck West
Full-Stack Software Engineer with 10+ years of experience. Expertise in developing distributed systems, implementing object-oriented models with a focus on semantic clarity, driving development with TDD, enhancing interfaces through thoughtful visual design, and developing deep learning agents.