The three-schema approach . The
three-schema approach in software engineering is an approach to building information systems and systems information management, that promotes the
conceptual model as the key to achieving
data integration. A
schema is a
model, usually depicted by a
diagram and sometimes accompanied by a language description. The three schemas used in this approach are: • External schema for user views •
Conceptual schema integrates external schemata • Internal schema that defines physical storage structures. At the center, the conceptual schema defines the
ontology of the
concepts as the
users think of them and talk about them. The physical schema describes the internal formats of the
data stored in the
database, and the external schema defines the view of the data presented to the
application programs. The framework attempted to permit multiple data models to be used for external schemata.
Modeling guidelines The modeling process can be divided into five stages of model developing. ;Phase zero – project Initiation :The objectives of the project initiation phase include: :* Project definition – a general statement of what has to be done, why, and how it will get done :* Source material – a plan for the acquisition of source material, including indexing and filing :* Author conventions – a fundamental declaration of the conventions (optional methods) by which the author chooses to make and manage the model. ;Phase one – entity definition :The objective of the entity definition phase is to identify and define the entities that fall within the problem domain being modeled. ;Phase two – relationship definition :The objective of the relationship definition phase is to identify and define the basic relationships between entities. At this stage of modeling, some relationships may be non-specific and will require additional refinement in subsequent phases. The primary outputs from phase two are: :* Relationship matrix :* Relationship definitions :* Entity-level diagrams. File:A3 4 Entity Relationship Matrix.jpg|Entity relationship matrix File:A3 5 Entity Level Diagram.jpg|Entity level diagram File:A3 6 Phase Two (Entity Level) Diagram Example.jpg|Entity level diagram example File:A3 7 Reference Diagram (FEO).jpg|Reference diagram ;Phase three - key definitions :The objectives of the key definitions phase are to: :* Refine the non-specific relationships from phase two :* Define key attributes for each entity :* Migrate primary keys to establish foreign keys :* Validate relationships and keys. File:A3 8 Example Reference Diagram.jpg|Example reference diagram File:A3 9 Non-Specific Relationship Refinement.jpg|Non-specific relationship refinement File:A3 10 Scope of a Function View.jpg|Scope of a function view File:A3 11 Attribute Examples.jpg|Attribute examples File:A3 16 No-Repeat Rule Refinement.jpg|No-repeat rule refinement File:A3 17 Rule Refinement.jpg|Rule refinement File:A3 19 Path Assertions.jpg|Path assertions File:A3 21 Example of Phase Three Function View Diagram.jpg|Example of phase three function view diagram ;Phase four - attribute definition :The objectives of the attribute definition phase are to: :* Develop an attribute pool :* Establish attribute ownership :* Define non-key attributes :* Validate and refine the data structure. File:A3 23 Phase Four - Applying the No Repeat Rule.jpg|Applying the no repeat rule File:A3 24 Example of Phase Four Function.jpg|Example of phase four function
IDEF1X meta model A meta model is a model of the constructs of a modeling system. Like any model, it is used to represent and reason about the subject of the model - in this case IDEF1X. The meta model is used to reason about IDEF1X, i.e., what the constructs of IDEF1X are and how they relate to one another. The model shown is an IDEF1X model of IDEF1X. Such
meta models can be used for various purposes, such as repository design, tool design, or in order to specify the set of valid IDEF1X models. Depending on the purpose, somewhat different models result. There is no “one right model.” For example, a model for a tool that supports building models incrementally must allow incomplete or even inconsistent models. The meta model for formalization, however, emphasizes alignment with the concepts of the formalization and hence incomplete or inconsistent models are not allowed. Meta models have two important limitations. First, they specify syntax but not semantics. Second, a meta model must be supplemented with constraints in natural or formal language. The formal theory of IDEF1X provides both the semantics and a means to precisely express the necessary constraints. A meta model for IDEF1X is given in the adjacent figure. The name of the view is
mm. The domain hierarchy and constraints are also given. The constraints are expressed as sentences in the formal theory of the meta model. The meta model informally defines the set of valid IDEF1X models in the usual way, as the sample instance tables that correspond to a valid IDEF1X model. The meta model also formally defines the set of valid IDEF1X models in the following way. The meta model, as an IDEF1X model, has a corresponding formal theory. The semantics of the theory are defined in the standard way. That is, an interpretation of a theory consists of a domain of individuals and a set of assignments: • To each constant in the theory, an individual in the domain is assigned • To each
n-ary function symbol in the theory, an
n-ary function over the domain is assigned • To each
n-ary predicate symbol in the theory, an
n-ary relation over the domain is assigned. In the intended interpretation, the domain of individuals consists of views, such as production; entities, such as part and vendor; domains, such as ; connection relationships; category clusters; and so on. If every axiom in the theory is true in the interpretation, then the interpretation is called a model for the theory. Every model for the IDEF1X theory corresponding to the IDEF1X meta model and its constraints is a valid IDEF1X model. == See also ==