- 论坛徽章:
- 2
|
What is a Notes Database
A Lotus Notes database generally has a file extension of ".nsf". Within that file, there can be data, design elements, and programming code. Each database file also has its own security in the form of an Access Control List (ACL). Visually, you can imagine a Notes database file like this:
A brief discussion of the elements of a database is below.
DATA
The data inside a Notes database is stored as a set of records -- each record is referred to as a Document. The information in a Document consists of one or more fields, which can be in any number of formats. Text, numbers, and dates are the basic data types, but you can also store things like formatted rich text and file attachments in a field.
A Notes database can also access data from other databases. These databases can be other Notes databases, or any kind of database that is accessible via ODBC. In this way, Notes can act as a front-end to other data sets, even relational databases.
DESIGN
Data is available using any of a number of different design elements that are stored in the database. On a basic level, you use Forms to access, modify, and create records/Documents, and Views to sort and categorize data sets into tabular form. There are also things like Navigators and Outlines, that allow you to create visual interfaces to other design elements and aid in navigation.
Virtually all of the design elements in a database can be viewed using either a Notes client or a web browser. The Notes/Domino server can natively translate these things and present them as web pages, which makes it quite easy to turn a Notes database into a web site. A Notes designer can even add web-specific design enhancements like CSS and DHTML to a Form, View, Navigator, etc.
CODE
In order to provide programmatic manipulation of data, a designer can embed many different types of code in a database. Notes has native support for a Formula (macro) language, LotusScript (very similar to Visual Basic), Java, and JavaScript. This code can be placed directly on design elements such as Forms and Views, or it can be placed in modules called Agents.
The code in a database can manipulate data within the database, but it can also interact with the user, the operating system, and external data and processes as well. For example, using LotusScript you can access DLL functions, COM objects, and OLE objects. Using Java, you have a rich set of tools for working with sockets, threads, and GUI components (among other things). Notes even has an exposed API layer that can be accessed via C and C++ libraries.
SECURITY
Wrapped around all of these database elements, Notes provides a strong security layer called an Access Control List (ACL). This allows a database designer or administrator to fine tune what different users are allowed to do within the database. On a global level, users have access types such as "Author", "Editor", and "Designer", which indicate what they are allowed to change within the database. On a slightly more specific level, users can be granted or denied access to do things like delete Documents or create Agents. On a much more granular level, the designer of a database can grant or deny access to Views, Forms, sections of Forms, and even individual Documents based on the ACL. |
|