Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
hekate:attributes [2008/11/19 19:02] ligeza |
hekate:attributes [2019/06/27 15:49] (current) |
| |
**Version**: Draft 2008Q3 | **Version**: Draft 2008Q3 |
| |
| //Please put bigger remarks/discussusion, to the [[hekatedev:attributes|attributes development page]]// |
| |
===== Introduction ===== | ===== Introduction ===== |
Currently there are no plans to support regions algebra, that is to allow treating the value set as an ordord one (a list). | Currently there are no plans to support regions algebra, that is to allow treating the value set as an ordord one (a list). |
| |
==== ND and NULL ==== | ==== NULL ==== |
To provide the proper semantics: "no value", "unset", "not defined yet", etc. | To provide the proper semantics: "no value", "unset", "not defined yet", etc. |
the special value //ND// (NOT_DEFINED) is introduced. | the special value //NULL// is introduced. |
| |
Following the RDBM convention and logic, a //NULL// attribute value is possible. | Following the RDBM convention and logic, a //NULL// attribute value is possible. |
| |
The semantics can be: "no value", "unset", "not defined yet", etc. | The semantics can be: "no value", "unset", "not defined yet", etc. |
In his case this is simply //ND//. | Yes; to me, we should accept //NULL// exactly as it is in RDB systems. This allows to import data //as they are//. |
| |
However, we could consider //another// semantics, such as "unknown" | See here for the [[hekate:alsvfd#any_and_null|binding resolution]]. |
| |
| However, we could consider //another// semantics, such as "unknown", see below. |
| |
| ==== ND or NA ==== |
| On the other hand, we can consider introducing //ND// or //NA// as for example the capacity of and electric engine, |
| meaning "does not apply", e.g. "maiden name" in case of a male. |
| |
FIXME ALi | |
NULL as "unknown" should be treated as an extension. | NULL as "unknown" should be treated as an extension. |
Its use should be explictly allowed in the attribute specification. | Its use should be explicitly allowed in the attribute specification. |
| |
Yes; to me, we should accept //NULL// exactly as it is in RDB systems. This allows to import data //as they are//. | |
| |
On the other hand, we can consider introducing //ND// as for example the capacity of and electric engine. | |
| |
==== Explicit Notation ==== | ==== Explicit Notation ==== |
| |
==== Implicit Notation ==== | ==== Implicit Notation ==== |
FIXME ALi | |
For setting attribute value the same implicit notation as for the domains should be used (a sum of ranges or values), | For setting attribute value the same implicit notation as for the domains should be used (a sum of ranges or values), |
''i.e. S=<5,8>u{3}.'' | ''i.e. S=<5,8>u{3}.'' |
at both the HML and HMR levels. | at both the HML and HMR levels. |
| |
| I agree. We should define the rules for well-formed expressions (enabling unique calculation of values), and allow for using it. This should be based on set algebra and incorporate the notational variants, such as ''A > 5'' (which in fact means ''A={6,7}'' if the domain of A is {1,2,3,4,5,6,7}. |
| |
| So we use the //sum// SetTheory operator and sets of values. |
| |
| Syntactic suger on the interface level, |
| consider attribute T, domain {0,50}, we mean, t=<10, the tool sould hint, t=<0,10>, |
| in //STATE// we store t=<0,10>, see above. |
| |
| |
| |
//Symbol// might also be called //String//. | //Symbol// might also be called //String//. |
| |
| check types in Hibernate!!! FIXME |
| |
Basic types in other languages (also called primitive types): | Basic types in other languages (also called primitive types): |