Solved

Easy Question

Posted on 1998-10-15
11
197 Views
Last Modified: 2013-12-18
I am VERY new to Lotus Notes, but not to relational databases and the like .... how does Notes store its information .... are there tables within the databases?  Underneath the pretty pictures is there a relational database, one big table???????????  Sorry for my green-ness.
0
Comment
Question by:tmjp26
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
11 Comments
 
LVL 12

Expert Comment

by:fulscher
ID: 1117555
Notes stores documents (internally called "notes") in an unspecified format in its "databases". I don't have detailed information about it, but it appears that a note basically consists of a list of pairs <fieldname, value>, a database consists of a list of such notes. There is also some index information in the database. When you change the definition of a note (the corresponding form), the contents does _not_ change.

_Every_ item in a Notes database is a note: the documents you're reading, forms, views, etc.

Hope this helps

0
 

Author Comment

by:tmjp26
ID: 1117556
It seems like the form defines a database .... however, when you delete the form, the documents based on it still remain as do the fields.  Odd.


0
 
LVL 12

Expert Comment

by:fulscher
ID: 1117557
In a database, you can have many forms and documents with inhomogeneous stucture. In fact, Notes decides at run time which form to use for a specific document (if you double-click on a document in a view, Notes reads this document and searches for a a special field with title "Form" (with the value "Memo", let's say). It then searches for a form with name "Memo", loads it and uses it to show the document. Thus, you can change the form a document used by changing the "Form" field.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Expert Comment

by:PsychoEffer
ID: 1117558
Basically the foundation of a Notes database is the document.  Forms basically act as templates for documents.  Views sort the display of those documents to show them in different orders, or to display different fields.

Notes is not a relational database at all.  If you change a field in one document, only that document is changed.
0
 

Author Comment

by:tmjp26
ID: 1117559
Isn't it plausible to suggest that the generation of a FORM in NOtes is equivalent to the generation of a table?  All docs created from that form are rows in that table.  When a new form is created, so is a new table.  If a form is deleted, the docs, ie the table structure, remains.  Just a thought.
0
 
LVL 12

Expert Comment

by:fulscher
ID: 1117560
Actually, comparing Notes to a relational DB is highly misleading. Any table structure would imply that all rows have a common format; this is not the case. If you create a form and then create 10 documents with this form, later change the data type of one of the form's fields and again create 10 documents, the first set of 10 will have a different structure than the second set of 10. A document is just a list of field names and values, that's all.
0
 

Author Comment

by:tmjp26
ID: 1117561
I was suggesting that a form was the structure of the table.  If you create 10 documents, you create 10 rows in that table.  If you return to the original form and change a datatype, you have then created another table structure and all forms based on it will be part of that new structure and so on.

?
0
 
LVL 12

Expert Comment

by:fulscher
ID: 1117562
In a table, you'd normally store field _values_ only. In Notes, the field _name_ is part of the document - this makes it different.

With a view, you select all document that meet certain criteria, e.g. that contain a "subject" field. However, they could have been created using different forms. If a document is selected, it will still show up with the "correct" form (the one it was created with).

Thus, you can write applications containing a number of forms which are not related to each other (different "tables").

When I was new to Notes, I tried to understand it in terms of tables too. However, once you accept that the idea of a table is just not applicable, you begin to understand the power of Notes.


0
 
LVL 1

Accepted Solution

by:
Joshua111197 earned 50 total points
ID: 1117563
A Notes database is a set of documents.

Documents contain fields. But every document can contain other fields than the other documents. Some fields are mandatory, others can be added.

Forms are used to add fields with specific names and values to a document. The values are stored in the document.

Documents do not interact with other documents. Thats, why it is not a relational but a documentbased Database. An example: When you have documents with Cities and ZIP and you use this data to autmically insert the Cityname in your addressbook in relation to the entered ZIP, the document will not show a different City, when you change the first document (ZIP/city). OK, there are some ways to realize this, too. But that's not the way to create complex relations.

A view just make fields visible in a way very similar to a table. But: Every document can be shown in the view, wheter any field is displayed in the view or not. So a view is NOT table like in a relational database.

A hint: Do not try to use Notes like a relational database, and don't teach a cow to fly... The better way is, if the funcionality is needed, to connect a relational database to your notes database.

I hope this will help you understanding the notes basics.
0
 

Expert Comment

by:kenjones
ID: 1117564
Go to the Notes Design website,  http://www.notesdesign.com/  , and read the Notes tutorial.
0
 

Expert Comment

by:MrGrinch
ID: 1117565
Given your relational background, I'd suggest thinking of a Notes  database as a bunch of flat files.  I've heard the views in Notes defined as "a pre-defined query".  It's not relational in the sense of data normalization.  Each document (flat file) can pull information from other sources similar to a relational table (@DBLookup is a command that can do that).  But unlike a relational model, an update to the source table doesn't update the document (flat file).  Hope that helps.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For Desktop Techs: How to retain a user's Notes configuration data when swapping out the end user's computer. (Assuming that you are not upgrading to a completely different version of Notes client) All you need to do is: 1) install Notes o…
  In today’s Arena we can’t imagine our lives without Internet as we are highly used to of it. If we consider our life style just for only 2 min we found that face to face communication is swapped by e-communication.  Every Where from Works place to…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question