Entity-Relationship Model [ HP System Dictionary XL Gen. Ref. Vol. 1 ] MPE/iX 5.0 Documentation
HP System Dictionary XL Gen. Ref. Vol. 1
Entity-Relationship Model
System Dictionary uses a simple but powerful entity-relationship (E-R)
model in which the central components are entities, relationships between
entities, and attributes that define and characterize entities and
relationships. You can use the System Dictionary E-R model to describe
the real-world objects of an information network, and to define logical
connections between these objects.
Entities and Relationships
Entities and relationships are the definitions that are stored in and
retrieved from the dictionary. Entities are dictionary definitions that
refer to objects in the real world of an information network. An entity
has attribute values that further define the real-world object or that
describe the entity itself. A relationship is an ordered list of
entities. Relationships express logical connections between real-world
objects. Most relationships involve two entities and are called binary
relationships. System Dictionary also supports N-ary relationships
involving three to six entities. Relationships have attribute values
that in some cases describe the dictionary definition itself and in other
cases describe one of the entities in the relationship. Therefore, you
can use relationship attribute values to document an entity in a
particular context or usage.
Structures
The System Dictionary E-R model provides a set of structures that support
the creation and retrieval of entities and relationships. Entity types
are structures that define, categorize, and qualify entities. For
example, IMAGE-DATABASE is a System Dictionary entity type that defines
entities that describe IMAGE databases. Relationship types are
structures that define, categorize, and qualify relationships.
IMAGE-DATABASE contains IMAGE-DATASET is a System Dictionary relationship
type that defines relationships between an IMAGE database and data set.
Attributes are structures that define the attribute values of entities
and relationships. IMAGE-DATASET-TYPE is a System Dictionary attribute
associated with the IMAGE-DATASET entity type. CAPACITY is an attribute
associated with the IMAGE-DATABASE contains IMAGE-DATASET relationship
type.
In System Dictionary, each entity type and relationship type has an
attribute list. Attributes are associated with the entity type or
relationship type by a structural component called a type-attribute
association. When an attribute is associated with an entity type or
relationship type, each entity or relationship of that type must have a
value for the attribute.
System Dictionary supports six attribute types. Five of the types are
fixed-length:
* Alias--A 32-byte character value
* Boolean--A 1-byte true or false value
* Character--A 1 to 255-byte, inclusive, alphanumeric value
* Floating--A 32-bit or 64-bit floating-point format
* Integer--A 16-bit or 32-bit binary value
The remaining attribute type is variable. Alias and variable types are
free-floating, in that they are never assigned to entity types or
relationship types, but you can assign values for them to any entity or
relationship. An alias attribute contains an alias value for an entity
or relationship. An attribute of type variable, also referred to as a
variable-length attribute, has no maximum length, and normally stores
descriptions, edit masks, default values, long names, and other
variable-length values. Since not every entity or relationship needs
alias and variable-length attributes, System Dictionary sets aside
storage space for them only if you explicitly assign them. When you
delete an alias or variable-length attribute, the storage space is
released.
A relationship class is a name, like contains or uses that describes that
action or connection of a relationship. In System Dictionary, a
relationship type belongs to a relationship class. The relationship
types RECORD contains ELEMENT and FORM contains ELEMENT, for example,
belong to the contains relationship class. In some cases, a relationship
class serves as a qualifier for a relationship type. For example, System
Dictionary has three relationship types that involve element pairs:
ELEMENT contains ELEMENT
ELEMENT redefines ELEMENT
ELEMENT references ELEMENT
The first type creates relationships between parent and child entities.
The second type indicates that two elements share common storage in a
program. The third type documents an element that references another
element, as in a Pascal type reference. These ELEMENT ELEMENT
relationship types are qualified by a relationship class.
Extensibility
System Dictionary provides a built-in set of structures called the core
set. The core set includes entity types, relationship types,
relationship classes, attributes, and type-attribute associations. You
can extend your dictionaries by creating new entity types, relationship
types, relationship classes, attributes, or type-attribute associations.
You are also allowed to make limited changes to the core set, such as
changing the external names of structures. The extensibility feature
allows you to customize the dictionary. It also allows Hewlett-Packard
to localize System Dictionary to your native language, and to update the
core set as new subsystems are added to MPE.
Domains and Versions
In System Dictionary, you can divide a single physical dictionary into
multiple, logically separate domains. A domain is a name space that
contains entities and relationships. You typically use domains to keep
the entity and relationship definitions of one application group separate
from others. You can also use domains to avoid naming conflicts. Every
System Dictionary has a built-in domain called the common domain. The
common domain is always present and is always public. You can add your
own domains, called local domains, and assign them a sensitivity level of
public or private.
You can further subdivide domains into named partitions called versions.
Versions allow you to designate one set of entities and relationships in
a domain as the current production version, and other sets as test or
archival versions. Unlike domains, which are considered separate name
spaces, you should think of versions as complete copies of the entities
and relationships in a domain. In a version of test status, you can add
or delete entities and relationships, or change their attribute values.
You cannot modify an archival version, and you usually keep this version
for historical purposes. Also, you cannot modify a production version.
System Dictionary allows only one production version in a given domain.
The version feature allows you to maintain a stable production version
while you experiment with other versions. It also allows you to
reactivate an archival version if it becomes necessary to return to a
previously used set of definitions.
An important function of a data dictionary is to ensure the
standardization and integrity of the definitions you use in an
information system. The domain and version features allow you to
experiment with new definitions and maintain separate sets of
definitions. System Dictionary has security features that prevent
unauthorized users from creating domains and versions, and that prevent
one user from creating new versions of an entity or relationship that
another user owns.
Dictionary Security
System Dictionary provides a comprehensive security scheme consisting of
scopes, sensitivity levels, and scope associations.
A scope is a dictionary user name with a password and a set of
capabilities called scope rights. The System Dictionary scope rights
determine whether you can create or merely read entities and
relationships, extend the dictionary structure, create scopes and obtain
information about dictionary security, and create domains and versions.
Scopes own entities, relationships, structures, domains, versions, and
other scopes. Some operations require you to be the owner of the
dictionary object on which the requested operation is to be performed.
Every dictionary has a built-in scope named CORESET that owns the entity
types, relationship types, and other structures of the core set. When
you create a dictionary, you name and assign a password to a Dictionary
Administrator (DA) scope. The DA scope automatically has all scope
rights plus other capabilities not available to other scopes.
Each entity and relationship has a sensitivity level that determines
whether other scopes can read or modify it. Domains also have
sensitivity levels that designate them as public or private.
If an entity or relationship has a sensitivity level of read or private,
its scope-owner can grant a higher level of access to a selected scope by
creating a scope association.
MPE/iX 5.0 Documentation