File: NoSQL-1.html

package info (click to toggle)
nosql 0.9-0
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 1,364 kB
  • ctags: 225
  • sloc: perl: 3,766; sh: 476; makefile: 41
file content (120 lines) | stat: -rw-r--r-- 4,822 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Draft//EN">
<HTML>
<HEAD>
<TITLE>NoSQL: Foreword and Introduction</TITLE>
</HEAD>
<BODY>
Previous
<A HREF="NoSQL-2.html">Next</A>
<A HREF="NoSQL.html#toc1">Contents</A>
<HR>
<H2><A NAME="s1">1. Foreword and Introduction</A>  </H2>

<H2><A NAME="ss1.1">1.1 Copyright</A>
        </H2>

<P>NoSQL RDBMS, Copyright (C) 1998 Carlo Strozzi, with
permission from the original RDB author, W.Hobbs.
<P>This program comes with ABSOLUTELY NO WARRANTY; for details
refer to the GNU General Public License.
<P>A copy of the GNU General Public License is included in the 
appendix, at the end of this document.
<P>
<H2><A NAME="ss1.2">1.2 Preface</A>
    </H2>

<P>This working draft describes, and provides instructions for
the use of, NoSQL (I personally like to pronounce it
<EM>noseequel</EM>), a close derivative of the RDB DataBase
system.
The original RDB system was (and still is) developed
at RAND Organization by Walter V. Hobbs. Most of the NoSQL
code, as well as the text of this document, have been taken
directly from RDB, so most of the credit for it goes to the
original author.
<P>NoSQL uses exactly the same table format as RDB, and therefore
tables are called 'rdbtables' also in the NoSQL context.
<P>NoSQL's major differences over the original code are:
<UL>
<LI>The documentation has
been re-written in SGML for the sake of portability.</LI>
<LI>All the operators and utilities have been renamed
to prevent conflicts with other system
commands with the same name.  </LI>
<LI>Removed some old-fashioned and less portable components,
namely the curses/cterm data entry interface and the old RDB
terminal interface. A new RDB terminal interface 'rdbi' has now
been developed by W.Hobbs and it has been included in NoSQL
with the name of 'nsq'.</LI>
<LI>NoSQL comes with tools that translate tables
between /rdb and RDB/NoSQL formats. This makes it usable with
<B>Dbedit</B>, a WWW form interface to rdbtables. More
details at:
<P>
<A HREF="http://admin.gnacademy.org:8001/HyperNews/get/tech/dbedit.html">http://admin.gnacademy.org:8001/HyperNews/get/tech/dbedit.html</A><P>
</LI>
<LI>Added extra utilities and operators.</LI>
<LI>NoSQL tends to be biased in favour of Linux.
This means that, wherever it applies, NoSQL makes use of the GNU
versions of the various UNIX commands, as those are the ones
normally found on this UNIX workalike.</LI>
</UL>
<P>Other major contributors to the original RDB system, besides the
author, were:
<P>Chuck Bush
<P>Don Emerson
<P>Judy Lender
<P>Roy Gates Rae Starr
<P>
<H2><A NAME="ss1.3">1.3 Introduction</A>
    </H2>

<P>A good question one could ask is "With all the relational
database management systems available today, why do we need
another one ?" There are five reasons. They are:
<OL>
<LI>NoSQL is easy to use by non-computer people. The concept
is straight forward and logical. To select rows of data,
the 'nsq-row' operator is used; to select columns of
data, the 'nsq-col' operator is used.</LI>
<LI>The data is highly portable to and from other types of
machines, like Macintoshes or MSDOS computers.
</LI>
<LI>The system will run on any UNIX machine (that has the PERL
Programming Language).
</LI>
<LI>NoSQL essentially has no arbitrary limits, and can work where
INGRES can't.  For example there is no limit on data field
size, the number of columns, or file size.</LI>
</OL>
<P>The data is contained in regular UNIX ASCII files, and so
can be manipulated by regular UNIX utilities, e.g. ls, wc,
mv, cp, cat, more, less, editors like 'vi', head, RCS, etc.
<P>The form of each file of data is that of a relation, or table,
with rows and columns of information.
<P>To extract information, a file of data is fed to one or more
"operators" via the UNIX Input/Output redirection mechanism.
<P>There are also programs to generate reports, and to generate,
modify, and validate the data.
A more through discussion of why this type of relational
database structure makes sense is found in the book, "UNIX
Relational Database Management", Reference #2.
<P>It is assumed that the reader has at least a minimum
knowledge of the UNIX Operating System, including knowledge
of Input/Outout redirection (e.g., STDIN, STDOUT, pipes).
<P>This document presents information in the following order:
The DATA section describes the structure of the data, with
examples.  There is a general discussion about operators in
the section on OPERATORS, followed by several sub-sections,
one for each operator in alphabetic order. Each has detailed
instructions for use, and examples.  There are sections
describing selection of information using multiple operators,
producing reports, and generating new rdbtables (data files
in NoSQL format).
<P>
<HR>
Previous
<A HREF="NoSQL-2.html">Next</A>
<A HREF="NoSQL.html#toc1">Contents</A>
</BODY>
</HTML>