concepts
This page describes the main concepts used by HERA. For each of these concepts, this page defines the vocabulary used. Where possible, alternative terms are given. These alternative terms are given to facilitate the understanding of the reader who already has experience in databases.
This chapter is aimed at readers with different technical backgrounds and experience. It explains each concept in (up to) 3 different ways: a description, the corresponding JSON data, and a UML class diagram.
Note
database
A database is a set of information structured to be easily accessible, organized and updated. It is a way to store and analyze information on a given theme.
The vocation of a database is not to model the entirety of reality, but only the concepts, or entities, necessary to represent a given theme. In this, and especially in a scientific context, a database also represents a vision, a certain way of approaching a research problem, intrinsically dependent of the team members who participate in its construction.
All entities in a database, along with their respective attributes, is called the schema of this database.
This schema represents the modeling of the specific theme, sometimes the answer to the problematic. It is the vision of the person or team who designed the database.
To be able to manage every database imaginable, HERA abstracts them as 5 main concepts : entity, property, attribute, item, metadata.
HERA: 5 concepts: property, entity, attribute, item, metadata
(UML) HERA: Class diagram : Property, Entity, Attribute, Item, Metadata
property
A property is a reusable characteristic that can be declared differently by one or more entities of a database.
Each property is defined by :
a label (name) to identify it;
a description to understand when to use it ;
a type which constrains the value it can take;
an URI to uniquely identify it.
(modèle JSON) A Property
(UML) HERA: Class diagram : Property
entity
An entity is a subject, a concept, related to the topic of the database it belongs to. An entity is characterized by attributes defining all information necessary to its description.
The list of attributes of an entity is not necessarily intended to be exhaustive. It is simply a matter of modeling what is needed in the context of a specific theme.
(modèle JSON) An entity list its attributes, each one is the concrete use of an abstract property by this entity
(UML) Class diagram: Property, Entity, Attribute
attribute
An attribute is the use by an entity of a particular property.
In addition to the entity and property it links, each attribute is defined by a cardinality telling whether it is repeatable (or not), and mandatory (or not).
An attribute can specialize (ie. overload) its corresponding property’s label, description or type. This doesn’t change the property in any way. This allows to make its usage clearer or make it easier to understand in the context of the entity.
(UML) Class diagram: Attribute
Note
In practice, the cardinality
of an attribute is represented by a minimum (min) and maximum (max) number of occurrences
of the relevant metadata for each element of the entity to which this attribute belongs.
For example:
if the metadata is mandatory for each element of this entity,
minis 1if the metadata is optional,
minis 0if the metadata is not repeatable,
maxis 1if the metadata is repeatable,
maxis … as many as you like!
item
An item is a composite piece of information. Each item is the concrete manifestation of one entity. Consequently, each of the entity’s attributes has a concrete value: the item’s metadata.
(modèle JSON) An Item is a container for its metadata ; each metadata is the concrete value of an abstract property.
(UML) Class diagram: Item, Metadata
metadata
A metadata is an atomic piece of information. It is necessarily relative to an attribute. It only has meaning if it is associated with other metadata; the aggregate thus formed is an item.
reference
A reference is a unique, direct link from one item to one other item. It is a specific type of metadata.
relationship
A relationship is an association between two items.