Search DominoPower's 11,441 Lotus-related article archive 
Home
EasyPrint
News details Click here for the RSS feed's XML code. This is not a browser URL.
Articles-only Click here for the RSS feed's XML code. This is not a browser URL.
Twitter Feed Click here for the Twitter feed.
Notes is not a relational database (continued)

Some application developers who have created API code have developed ways of keeping that code in the database too, as attachments, and having it detached automatically by the Notes application, so leveraging the replication model to distribute non-Notes application components.

2. Notes has no schema, and does not implement Referential Integrity
Notes doesn't have a schema. It has no concept of tables or keys, and so cannot implement referential integrity. As far as Notes is concerned, all data notes are data notes; differentiation between them is down to their contents only, and not to any structural attributes.

For example, the field FORM is used by the Notes UI to tell what Notes form -- screen mask -- is to be used to display note data on the screen. Another example: views, which act as database indexes, have a selection formula; the developer uses this to select the data notes that are to be included in that view.

Commonly the Form field value is used, which is about as close as Notes gets to an RDBMS table. A view can be sorted, and the first sorted column is about as close as Notes gets to table keys.

Because of this, Notes does not have Referential Integrity, and could not. If it is required in an application, standard Notes design and programming techniques are used to create an RI model for the application. The only structural relationship that Notes implements is the Response Hierarchy, which provides a parent-child relationship of documents.

For example, this is used in discussion type applications so that views, which can be made sensitive to this relationship, will generate and display threads of responses. It's implemented by a pointer field in the response which points to its immediate parent. It does not have any rules attached to it, so that it is entirely possible to delete any document in the thread, and so logically break the thread. It's up to the application developer either to prevent this happening, or to write code that repairs the thread.

A complete Notes application may also be several Notes databases. Notes of itself does not have any mechanism for management of relationships between these databases. For sure, there are programming fundamentals and tools for building multi-database applications, so that one database can look up, use and update data in another one, but Notes of itself does not know of, understand or maintain these for itself. If required, they have to be programmed.

3. Notes may keep Data as part of Design.
The most obvious implementation of this is the Notes keyword field. This is a partial implementation of constraint tables, in that it is used to provide a fixed list of values that can be entered into a field, but does not stop non-listed values being inserted into the field programmatically, because the keyword list is part of the UI object used to display the data, and isn't an attribute of the storage of the data itself.

Keyword fields have a variety of implementations, in that choices can be a fixed or extendable list, can be displayed as a list choice, radio or checkboxes. The keyword list data can be canned in the design or looked up elsewhere in the same or another Notes application, or, with appropriate drivers, in an external database. Note that this last is not a good implementation choice, because it's hard to distribute.


« Previous  ·  1  ·  2  ·  3  ·  4  ·  5  ·  6  ·  Next »
Other articles you might like
Home > Social Computing (25 articles)
   Integrating Twitter with an IBM internal social network
   Fun with Sametime and Skype
   More thoughts on social computing and Lotus
Home > Lotus Technologies > Notes (84 articles)
   A walk down Memory Lane with Lotus Notes
   An application for scanning physical mail and distributing it virtually
   Managing Notes deployments with Teamstudio Build Manager
Home > Strategies > Best Practices (11 articles)
   Managing Notes deployments with Teamstudio Build Manager
   Managing production Notes deployments
   Using Balsamiq Mockups to create low-fidelity prototypes
Get Weekly Email Updates
Subscribe to our regular weekly email newsletter. It's packed with tips, reviews, deep analysis, and the latest news.
 
Recent DominoPower Articles
Application development, William Shatner, and the origin of the universe
Learn Domino Designer 8.5 for free
The (near) future of Sametime, Quickr, Connections, and Symphony
Inside the IBM Innovations lab
Lotusphere 2010: Hot fixes and cool news for Notes, Domino, and LotusLive
Lotusphere 2010: mobility and collaboration
2010: A Lotusphere of change
Latest Lotus Headlines
Xpages not loading? JVM errors? - Solution
How to implement an iCalendar feed into your Notes calendar with XPages
DWA Hotfixes for Domino 8.5.1FP1 - A Gotcha
IBM Adds DB2 to Lotus Foundations SMB Package
SNTT : XPages onclick Ghosts in the machine
Ports used by Lotus Sametime 8.5 servers
Exploring a Domino Date Bug
>> Read all the news
More from the ZATZ journals
Computing Unplugged: The iPad defenders have spoken
David Gewirtz Online: CNN commentary and analysis
OutlookPower: More about disappearing text
-- Advertisement --

Learn Notes and Domino 8 at your place and pace!
Learn Notes and Domino in your office and/or home! TLCC's highly acclaimed distance learning courses for users, developers, and admins will enhance your career and your resume.

The many included activities and demos will make you a pro! Expert instructor help is a click away.

Click here to try a FREE demo course!!

-- Advertisement --

Struggling with exporting Notes data to spreadsheets? No More!
Try IntelliPRINT, The world's leading Reporting, Dashboards, and Analysis solution for Notes & Domino

  • Don't spend unproductive time maintaining different versions of the same spreadsheet
  • Preserve data integrity and security in multi-user environments
  • Create reports in minutes INSIDE Notes
  • Get freedom from iterative report requests, deliver self-serve capabilities

Experience Reporting, Dashboards, and Analysis INSIDE Notes.

Try IntelliPRINT NOW!

ZATZ Home  ·  News  ·  Back Issues  ·  Credits/Trademarks ·  Link To Us
Copyright © 1998-2010, ZATZ Publishing. All rights reserved worldwide.
Editor's Login