SCM. Mapping. Simple Concept

         Use SCM

Simple Concept is a Concept º

Complex Concept is a Concept º

            <A concept is a simple one or complex one, not both.>

{Concept complexity lies in identification means. Complex concepts are identified by several attributes, and simple one – by one attribute.}

Simple Concept is part of a Complex Concept in a Position

            [Simple Concept º(Complex Concept)º Position]

<Positions are unique within each complex concept and are between 1 and positions quantity.>

<Between each existing couple of complex concept and its base simple concept there should be a part-whole connection (directed to a simple concept).>

{A constraint is imposed: for each attribute of a complex concept there should be a simple concept based on this attribute.}

{Positions also determine ordering of complex concepts.}

 

SCM. Mapping

         Use Relation

Relation reflects Connections ¬

            <Each relation should have PK attributes.>

Elementary Attribute Field reflects a Simple Concept –

<A connection is based on a complex concept containing simple concepts and is reflected by a relation. All or none of these simple concepts should be reflected by elementary attribute fields of the relation.> {Complex concepts should be reflected as a whole.}

            <If an elementary attribute field reflects more than one simple concept, the simple concepts are to form connected graph with one-field biequivalent connections.>

 

SCM. Mapping. Column Concept

Column Concept is a Simple Concept ®

Exclusive Column Concept is a Column Concept º

            <It is not nested to a complex concept.>

            <Each simple concept has only one exclusive column concept.>

Nested Column Concept is a Column Concept º

            <It is nested to a complex concept.>

            <Column concepts are exclusive or nested only.>

Nested Column Concept is nested to a Complex Concept ®

<There is one column concept for each simple concept within the complex concept for all complex concepts.>

Nested Column Concept has a Position ®

<Each nested column concept has the same position as a position of the appropriate simple concept within the complex concept.>

Connection is based on Column Concept Ü

<Column concepts of a connection only are: a) exclusive column concepts of its simple concepts; b) column concepts nested to its complex concepts.>

Elementary Attribute Field reflects Column Concepts –

<An elementary attribute field reflects simple concepts being column concepts in different connections. The elementary attribute field reflects these column concepts.>

Connection is based on Simple Concepts –

<A connection is based on those simple concepts which constitutes its column concepts.>

           

SCM. Mapping. State-based Connection

Reflected Connection is a Connection º

<Any connection reflected to a relation is reflected one.>

<Each reflected connection should be one of the types: biequivalent, part-whole, simply reflected, intersected functional, and partially intersected.>

Non-Reflected Connection is a Connection º

            <All connections that are not reflected are non-reflected ones.>

Reflected Connection is reflected to a Relation ®

Primary Key Based Connection is a Reflected Connection º

<A PK based connection is reflected to a relation having PK attributes consisting of elementary attribute fields. All these elementary attribute fields are to reflect simple concepts of the connection. All such connections are PK based.>

{If a connection is based on a unique key, but not primary key, it should be splitted on two connections: (PK, UK), (PK, other). This constraint can be eliminated in future by introducing Unique Key Based Connection.}

State-Based Connection is a Primary Key Based Connection º

<It’s simply reflected or it’s partially intersected. All such connections and only are state-based.>

Many-to-Many Connection is a State-Based Connection º

<A many-to-many connection is stored in elementary attribute fields (see below) being all PK attributes of the reflecting relation.>

Many-to-One Connection is a State-Based Connection º

            <It’s not many-to-many. All such connections and only are many-to-one.>

<Many-to-one connection should be general functional.>

Calculated Connection is a Reflected Connection º

            <It’s not state-based connection. All such connections and only are calculated.>

<Calculated connection is to be binary.>

 

SCM. Mapping. Fully Reflected Connection

Fully Reflected Connection is a Reflected Connection º

<A fully reflected connection is stored in elementary attribute fields which reflect all its simple concepts.>

<All reflected connections besides not fully reflected biequivalent ones should be fully reflected.>

 

SCM. Mapping. Connection

Intersected Connection is a Connection º

            <It’s binary.>

<It has complex concepts based on common simple concepts.>

<Intersected connection should be mandatory with both concepts.>

Part-Whole Connection is a Connection º

            <It’s binary.>

<A part-whole connection is based on one simple concept and one complex concept. The simple concept should be base for the complex concept.>

<Part-whole connection should be directed at simple concept.>

Non-Intersected Connection is a Connection º

<It’s not intersected or part-whole connection.>

<Each reflected connection should be either intersected, or non-intersected, or part-whole.>

Biequivalent Connection is a Connection º

<Biequivalent connection is to be calculated.>

<Biequivalent connection is based on two concepts. Both concepts should be complex or simple simultaneously. If concepts are complex, both should have the same quantity of nested simple concepts.> {Simple concepts of the same position should be comparable.}

            <Each row of its state has equal concept values sequences of the concepts.>

<Biequivalent connection should be mandatory.> {Else not mandatory cross-relation connection is to be mapped to a union, and not table selection.}

<Biequivalent connection is to be equivalent.>

Simply Reflected Connection is a Non-Intersected Connection º

<It’s not biequivalent and is reflected. All such non-intersected connections are simply reflected.> {Biequivalent and binary equivalent connections are not the same. Biequivalent rows are not stored, only existent concept values are stored.}

 

Intersected Biequivalent Connection is a Biequivalent Connection º

<It’s intersected. All such biequivalent connections are intersected biequivalent.>

<Intersected biequivalent connection is to be based on complex concepts based on the same simple concepts placed in the same position order.>

Non-Intersected Biequivalent Connection is a Biequivalent Connection º

<It’s non-intersected. All such biequivalent connections are non-intersected biequivalent.>

Not Fully Reflected Biequivalent Connection is a Non-Intersected Biequivalent Connection º

<It’s reflected, but it’s not fully reflected connection. All such non-intersected biequivalent connections are not fully reflected biequivalent.>

Cross-Relation Biequivalent Connection is a Not Fully Reflected Biequivalent Connection º

<A cross-relation biequivalent connection is based on simple concepts reflected by any elementary attribute fields (but not fully reflected to one relation, see above). All such not fully reflected biequivalent connections are cross-relation.> {It’s not used for relational inheritance per se. Relational inheritance is cross-relation biequivalent and is based on all PK attributes of both relations.}

Hanging Biequivalent Connection is a Not Fully Reflected Biequivalent Connection º

<A hanging biequivalent connection is based on simple concepts. Not all of the simple concepts are reflected by any elementary attribute fields. All such not fully reflected biequivalent connections are hanging.>

<If hanging biequivalent connection is based on simple concepts, one of them should be reflected one and another should be not.>

<If hanging biequivalent connection is based on complex concepts, then simple concepts of one complex concept should be reflected, and of the other should be not.>

<Hanging biequivalent connection should be synonymic.>

Fully Reflected Biequivalent Connection is a Biequivalent Connection º

            <All biequivalent connections not being not fully reflected are fully reflected.>

<A non-intersected biequivalent connection is fully reflected or not fully reflected, not both.>

One-Field Biequivalent Connection is a Fully Reflected Biequivalent Connection º

<It’s based on simple concepts.>

<There is an elementary attribute field of reflecting relation mapped to both base simple concepts.>

<One-field biequivalent connection is to be mandatory with both mandatory concepts.>

Non-Biequivalent Connection is a Connection º

            <All connections not being biequivalent are non-biequivalent.>

 

Intersected Functional Connection is an Intersected Connection º

            <It’s a functional connection.>

<A functional intersected connection is based on complex concepts. Each of the complex concepts has its own simple concept set. One of the sets should be proper subset of another.>

Partially Intersected Connection is an Intersected Connection º

<It’s not a general functional connection.> {So, it’s not biequivalent or intersected functional.}

<Simple concept sets of complex concepts of a partially intersected connection should be intersected and not included one to another.>

 

SCM. Mapping. Reflected Connection Storing in Elementary Attribute Fields

Reflected Connection is stored in Elementary Attribute Fields –

<Reflected biequivalent connection and reflected non-biequivalent have elementary attribute fields assigned in different ways as described below.>

Reflected Connection has primary key Concepts –

<Those concepts of the connection which are reflected by elementary attribute fields being PK of the reflected relation.>

Reflected Biequivalent Connection is a Reflected Connection º

            <Any biequivalent connection that is reflected is reflected biequivalent.>

Reflected Biequivalent Connection has a base Concept ®

<The base concept is one of those on which the reflected biequivalent connection is based.>

<If the reflected connection is not fully reflected, then a base concept is that concept which is reflected to a relation, to which the connection is reflected too.>

<If the reflected connection is fully reflected with only one mandatory concept, then a base concept is the mandatory one.>

<If the reflected connection is fully reflected with both mandatory concepts, and only one of the concepts is PK concept of the connection, then a base concept is this PK concept.>

<If the reflected connection is fully reflected with both mandatory concepts, and both or none of the concepts are PK concepts of the connection, then the connection is to be one-field biequivalent.>

<If the reflected connection is one-field biequivalent, any of its concepts is base.>

Reflected Biequivalent Connection is stored in Elementary Attribute Fields –

<A reflected biequivalent connection has a base concept reflected by elementary attribute fields of a relation reflecting the connection. The connection is stored in the elementary attribute fields.>

Reflected Non-Biequivalent Connection is a Reflected Connection º

            <Any non-biequivalent connection that is reflected is reflected non-biequivalent.>

Reflected Non-Biequivalent Connection is stored in Elementary Attribute Fields –

<A reflected non-biequivalent connection is based on column concepts being simple concepts reflected by elementary attribute fields of a relation reflecting the connection. The elementary attribute fields stores the connection.>

 

SCM. Constraint Mapping

{Formalize mapping of constraints to not-null and references of relations.}

Mandatory Reflected Connection is a Reflected Connection º

            <It’s mandatory.>