Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  



























Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Overview  



1.1  EXPRESS-G  







2 Simple example  





3 EXPRESS Building blocks  



3.1  Datatypes  





3.2  Entity-Attribute  





3.3  Supertypes and subtypes  





3.4  Algorithmic constraints  







4 See also  





5 References  





6 Further reading  














EXPRESS (data modeling language)






Français
Русский
Yorùbá
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
 


















From Wikipedia, the free encyclopedia
 


Fig 1. Requirements of a database for an audio compact disc (CD) collection, presented in EXPRESS-G notation.

EXPRESS is a standard for generic data modeling language for product data. EXPRESS is formalized in the ISO Standard for the Exchange of Product model STEP (ISO 10303), and standardized as ISO 10303-11.[1]

Overview[edit]

Data models formally define data objects and relationships among data objects for a domain of interest. Some typical applications of data models include supporting the development of databases and enabling the exchange of data for a particular area of interest. Data models are specified in a data modeling language.[2] EXPRESS is a data modeling language defined in ISO 10303-11, the EXPRESS Language Reference Manual.[3]

An EXPRESS data model can be defined in two ways, textually and graphically. For formal verification and as input for tools such as SDAI the textual representation within an ASCII file is the most important one. The graphical representation on the other hand is often more suitable for human use such as explanation and tutorials. The graphical representation, called EXPRESS-G, is not able to represent all details that can be formulated in the textual form.

EXPRESS is similar to programming languages such as Pascal. Within a SCHEMA various datatypes can be defined together with structural constraints and algorithmic rules. A main feature of EXPRESS is the possibility to formally validate a population of datatypes - this is to check for all the structural and algorithmic rules.

EXPRESS-G[edit]

EXPRESS-G is a standard graphical notation for information models.[4] It is a companion to the EXPRESS language for displaying entity and type definitions, relationships and cardinality.[5] This graphical notation supports a subset of the EXPRESS language. One of the advantages of using EXPRESS-G over EXPRESS is that the structure of a data model can be presented in a more understandable manner. A disadvantage of EXPRESS-G is that complex constraints cannot be formally specified. Figure 1 is an example. The data model presented in figure could be used to specify the requirements of a database for an audio compact disc (CD) collection.[2]

Simple example[edit]

Fig 2. An EXPRESS-G diagram for Family schema

A simple EXPRESS data model looks like fig 2, and the code like this:

SCHEMA Family;

ENTITY Person
   ABSTRACT SUPERTYPE OF (ONEOF (Male, Female));
     name: STRING;
     mother: OPTIONAL Female;
     father: OPTIONAL Male;
END_ENTITY;

ENTITY Female
   SUBTYPE OF (Person);
END_ENTITY;

ENTITY Male
   SUBTYPE of (Person);
END_ENTITY;

END_SCHEMA;

The data model is enclosed within the EXPRESS schema Family. It contains a supertype entity Person with the two subtypes Male and Female. Since Person is declared to be ABSTRACT only occurrences of either (ONEOF) the subtype MaleorFemale can exist. Every occurrence of a person has a mandatory name attribute and optionally attributes mother and father. There is a fixed style of reading for attributes of some entity type:

EXPRESS Building blocks[edit]

Datatypes[edit]

EXPRESS offers a series of datatypes, with specific data type symbols of the EXPRESS-G notation:[2]

A few general things are to be mentioned for datatypes.

Entity-Attribute[edit]

Entity attributes allow to add "properties" to entities and to relate one entity with another one in a specific role. The name of the attribute specifies the role. Most datatypes can directly serve as type of an attribute. This includes aggregation as well.

There are three different kinds of attributes, explicit, derived and inverse attributes. And all these can be re-declared in a subtype. In addition an explicit attribute can be re-declared as derived in a subtype. No other change of the kind of attributes is possible.

Specific attribute symbols of the EXPRESS-G notation:[2]

Supertypes and subtypes[edit]

An entity can be defined to be a subtype of one or several other entities (multiple inheritance is allowed!). A supertype can have any number of subtypes. It is very common practice in STEP to build very complex sub-supertype graphs. Some graphs relate 100 and more entities with each other.

An entity instance can be constructed for either a single entity (if not abstract) or for a complex combination of entities in such a sub-supertype graph. For the big graphs the number of possible combinations is likely to grow in astronomic ranges. To restrict the possible combinations special supertype constraints got introduced such as ONEOF and TOTALOVER. Furthermore, an entity can be declared to be abstract to enforce that no instance can be constructed of just this entity but only if it contains a non-abstract subtype.

Algorithmic constraints[edit]

Entities and defined data types may be further constrained with WHERE rules. WHERE rules are also part of global rules. A WHERE rule is an expression, which must evaluate to TRUE, otherwise a population of an EXPRESS schema, is not valid. Like derived attributes these expression may invoke EXPRESS functions, which may further invoke EXPRESS procedures. The functions and procedures allow formulating complex statements with local variables, parameters and constants - very similar to a programming language.

The EXPRESS language can describe local and global rules. For example:

 ENTITY area_unit
   SUBTYPE OF (named_unit);
 WHERE
   WR1: (SELF\named_unit.dimensions.length_exponent = 2) AND
        (SELF\named_unit.dimensions.mass_exponent = 0) AND
        (SELF\named_unit.dimensions.time_exponent = 0) AND
        (SELF\named_unit.dimensions.electric_current_exponent = 0) AND
        (SELF\named_unit.dimensions.
          thermodynamic_temperature_exponent = 0) AND
        (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND
        (SELF\named_unit.dimensions.luminous_intensity_exponent = 0);
 END_ENTITY; -- area_unit

This example describes that area_unit entity must have square value of length. For this the attribute dimensions.length_exponent must be equal to 2 and all other exponents of basic SI units must be 0.

Another example:

 TYPE day_in_week_number = INTEGER;
 WHERE
   WR1: (1 <= SELF) AND (SELF <= 7);
 END_TYPE; -- day_in_week_number

That is, it means that week value cannot exceed 7.

And so, you can describe some rules to your entities. More details on the given examples can be found in ISO 10303-41

See also[edit]

ISO related subjects
Other related subjects

References[edit]

Public Domain This article incorporates public domain material from the National Institute of Standards and Technology

  1. ^ ISO 10303-11:2004 Industrial automation systems and integration -- Product data representation and exchange -- Part 11: Description methods: The EXPRESS language reference manual
  • ^ a b c d Michael R. McCaleb (1999). "A Conceptual Data Model of Datum Systems". National Institute of Standards and Technology. August 1999.
  • ^ ISO International Standard 10303-11:1994, Industrial automation systems and integration — Product data representation andexchange — Part 11: Description methods: The EXPRESS language reference manual, International Organization for Standardization, Geneva, Switzerland (1994).
  • ^ 4 EXPRESS-G Language Overview Archived 2008-11-09 at the Wayback Machine. Accessed 9 Nov 2008.
  • ^ For information on the EXPRESS-G notation, consult Annex B of the EXPRESS Language Reference Manual (ISO 10303-11)
  • Further reading[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=EXPRESS_(data_modeling_language)&oldid=1184228028"

    Categories: 
    Data modeling
    Data modeling languages
    ISO 10303
    Modeling languages
    Hidden categories: 
    Webarchive template wayback links
    Articles with short description
    Short description matches Wikidata
    Commons category link is on Wikidata
    Wikipedia articles incorporating text from the National Institute of Standards and Technology
    Articles with J9U identifiers
    Articles with LCCN identifiers
     



    This page was last edited on 9 November 2023, at 03:14 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki