Conceptual schema
A conceptual schema is a high-level description of a business's informational needs. It typically includes only the main concepts and the main relationships among them. Typically this is a first-cut model, with insufficient detail to build an actual database. This level describes the structure of the whole database for a group of users. The conceptual model is also known as the data model as data model can be used to describe the conceptual schema when a database system is implemented. It hides the internal details of physical storage and targets on describing entities, datatype, relationships and constraints.[1]
Overview
A conceptual schema or conceptual data model is a map of concepts and their relationships used for databases. This describes the semantics of an organization and represents a series of assertions about its nature. Specifically, it describes the things of significance to an organization (entity classes), about which it is inclined to collect information, and characteristics of (attributes) and associations between pairs of those things of significance (relationships).
Because a conceptual schema represents the semantics of an organization, and not a database design, it may exist on various levels of abstraction. The original ANSI four-schema architecture began with the set of external schema that each represent one person's view of the world around him or her. These are consolidated into a single conceptual schema that is the superset of all of those external views. A data model can be as concrete as each person's perspective, but this tends to make it inflexible. If that person's world changes, the model must change. Conceptual data models take a more abstract perspective, identifying the fundamental things, of which the things an individual deals with are just examples.
The model does allow for what is called inheritance in object oriented terms. The set of instances of an entity class may be subdivided into entity classes in their own right. Thus, each instance of a sub-type entity class is also an instance of the entity class's super-type. Each instance of the super-type entity class, then is also an instance of one of the sub-type entity classes.
Super-type/sub-type relationships may be exclusive or not. A methodology may require that each instance of a super-type may only be an instance of one sub-type. Similarly, a super-type/sub-type relationship may be exhaustive or not. It is exhaustive if the methodology requires that each instance of a super-type must be an instance of a sub-type. A sub-type named other is often necessary.
Example relationships
- Each PERSON may be the vendor in one or more ORDERS.
- Each ORDER must be from one and only one PERSON.
- PERSON is a sub-type of PARTY. (Meaning that every instance of PERSON is also an instance of PARTY.)
- Each EMPLOYEE may have a supervisor who is also an EMPLOYEE.
Data structure diagram
A data structure diagram (DSD) is a data model or diagram used to describe conceptual data models by providing graphical notations which document entities and their relationships, and the constraints that bind them.
See also
- Concept mapping
- Conceptual framework
- Conceptual graphs
- Conceptual model (computer science)
- Data modeling
- Entity-relationship model
- Object-relationship modelling
- Object-role modeling
- Knowledge representation
- Logical data model
- Mindmap
- Ontology
- Physical data model
- Semantic Web
- Three schema approach
References
- ↑ "Data Modelling Tutorial", Stefano Grazioli, University of Virginia, "Archived copy". Archived from the original on 2013-07-02. Retrieved 2014-02-21., retrieved 20 February 2014
Further reading
- Perez, Sandra K., & Anthony K. Sarris, eds. (1995) Technical Report for IRDS Conceptual Schema, Part 1: Conceptual Schema for IRDS, Part 2: Modeling Language Analysis, X3/TR-14:1995, American National Standards Institute, New York, NY.
- Halpin T, Morgan T (2008) Information Modeling and Relational Databases, 2nd edn., San Francisco, CA: Morgan Kaufmann.
External links
- A different point of view, as described by the "agile" community