[Tutor] looking but not finding

Dennis Lee Bieber wlfraed at ix.netcom.com
Thu Jul 13 13:03:16 EDT 2023


On Wed, 12 Jul 2023 17:59:45 -0500, o1bigtenor <o1bigtenor at gmail.com>
declaimed the following:


>Spent some time looking to see the difference between regular and irregular
>data - - - another set of terms used commonly and just not defined!
>(Or at least not well or perhaps only hard to find!)

	"Regular", as used here, means that EVERY record has the same layout.
You may have columns that permit NULLs, but all the columns are in each
record, and the columns are in the same order from record to record.
Classic relational database theory (besides SQL, you'd want to study the
first three Codd Normal Forms -- short summary, not in NF order: no column
has repeating data; if you did have repeating data it gets split into a
second relation with a foreign key [link] back to the parent relation
unique ID, and if order matters, a sequence value added to the second
relation for sorting; all data should be dependent upon the primary key, if
you find you are repeating the same information over and over it should go
into another relation and link to it replaces the column(s) in the main
relation}

uniqueID | timestamp | sensornumber | sensorreading | etc.

{My practice is to always put an auto-incrementing ID field, even if
[timestamp|sensornumber] might be sufficient to uniquely identify one
reading}

	At the most gross level, irregular data would be a system that might
store a Word document next to an Excel spreadsheet next to... There is no
regularity (no tabular representation) of the data. Some such may be
described as "document" databases.

Per https://en.wikipedia.org/wiki/MongoDB MongoDB is a document oriented
system using JSON format "documents"

https://en.wikipedia.org/wiki/Zope_Object_Database ZODB is a persistence
scheme for Python objects -- uses pickle so essentially only Python code
can read/write the contents.

	SQLite, (Windows) Access/JET, M$ SQL Server, MySQL/MariaDB, Oracle,
PostgreSQL, Firebird are all relational database management systems. Most
offer command line tools for simple queries. SQLite and Access/JET are
"file server" RDBMs -- your code actually links to the database runtime and
directly opens the database files. SQL Server, MySQL/MariaDB, Oracle,
PostgreSQL, and Firebird are "client/server" RDBMs -- there is a
server/engine running on some machine which is responsible for opening the
database files, and your code sends SQL statement to that server for
processing.



More information about the Tutor mailing list