View Single Post
Old 02-20-2014, 10:17 PM   #1989
theducks
Well trained by Cats
theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.
 
theducks's Avatar
 
Posts: 31,166
Karma: 60406498
Join Date: Aug 2009
Location: The Central Coast of California
Device: Kobo Libra2,Kobo Aura2v1, K4NT(Fixed: New Bat.), Galaxy Tab A
Spreadsheets are 'Cell Oriented'
Databases are Record Oriented (a whole row) in a flat file
Calibre is a Relational database that is presented as a flat file.
The card analogy is close (dead on if calibre had been done as an inefficient Flat file)

(very simplified) You have :
Books (titles). Books Have Authors, Publishers, Tags and may belong to Series with a Index position. Each of these is represented by a Key number.
(the books table does not actually have the Publishers Name in it, it has the key number of the Publisher name that is in the Publishers table ( a Many to 1).
Tags is a little more tricky. There is an intermediate table that has a record (line) for each tag (again a Key # from the Tags Table) that is assigned to the book (which is a link key to the book (a 1 to Many))

In a spreadsheet: if you don't use care when you sort on a column, you scramble the column because the cell is not locked to the row
In a DB, the row is always kept together.

Kovid has done a very nice job here. The way custom columns was implemented is Brilliant because it attaches to the core DB rather than modify the basic DB (You probably don't care how,as long as it works )
theducks is offline