Just another Mnesia question.

Ulf Wiger <>
Mon Apr 26 22:39:09 CEST 1999


This is also known as "non-first normal form".
The normal forms are a set of design standards for relational databases.
They are formulated in a way as to ensure the integrity of the database.

Taken from the "SQL Practical Handbook, Second Edition":

"At each row-and-column intersection, there must be one and only one
value"

This is one of the things that make RDBMSes a bit clumsy for
applications like CAD, where you want to be able to store the vertices
of a polygon in one data object, and not as a relation between two
tables.

Another example could be storing phone numbers as a list in one person
object, instead of having a phone_numbers table with objects like
{{person_name, number_type}, number}.

#person{name = "Uffe", 
        tfn = [{wk, "+4687198195"},{mob, "+4685198195"}]}

/Uffe


Mickael Remond wrote:
> 
> Sorry to bother you again, but I think I need some explaination about a
> particular concept in Mnesia.
> 
> In the Mnesia doc, you can read :
> "What makes the Mnesia data model an extended relational model is the
> ability to store arbitrary Erlang terms in the attribute fields. One
> attribute value could for example be a whole tree of oids leading to
> other terms in other tables. This type of record is hard to model in
> traditional relational DBMSs."
> 
> This sentence is particularly abstract to me. Could someone explain this
> concept or give me some concret examples.
> 
> thanks in advance.
> 
> Mickael Remond

-- 
Ulf Wiger, Chief Designer AXD 301     <>
Ericsson Telecom AB                          tfn: +46  8 719 81 95
Varuvägen 9, Älvsjö                          mob: +46 70 519 81 95
S-126 25 Stockholm, Sweden                   fax: +46  8 719 43 44



More information about the erlang-questions mailing list