Puppy Database

Under development: PCMCIA, wireless, etc.
Post Reply
Message
Author
User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#16 Post by Lobster »

Someone suggested this copyrighted source code might be of interest
http://www.ocelot.ca/download.htm

On our previous forum (or I think it might have been the very earliest one) there was a link to a small and simple command line database

I tried this and it set up fields and then created a flat file text file. It was 22k if I remember rightly - seems to have been lost in the puppy archives?

I looked at Quisp and could not make head nor tales worth telling . . .

Warren is right. Front end for the quiche eating hordes . . .
Last edited by Lobster on Sat 20 Dec 2008, 14:50, edited 1 time in total.
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#17 Post by muggins »

this file here is a ready to run executable of tksqlite:

http://reddog.s35.xrea.com/software/tks ... bin.tar.gz

when extracted the actual binary is about the same size as the .tar.gz file as it's made from
a tcl/tk starkit. it contains within itself sqlite, tcl/tk, tktable, and other libraries required for it's use. to see inside of it you need tclkit & sdx.kit:

http://www.equi4.com/pub/tk/8.5a4/tclkit-linux-x86.gz

http://www.equi4.com/pub/sk/sdx.kit

these can be renamed to tclkit & sdx respectively, both given executable permissions, then moved to /usr/bin. then if you're in the same directory as tksqlite & do:

Code: Select all

sdx unwrap tksqlite
, this unwraps the result to directory tksqlite.vfs.

as puppy already has tcl/tk environment & sqlite, maybe we could remove some stuff from tksqlite.vfs & wrap it again, resulting in a smaller binary?

Komodo
Posts: 20
Joined: Fri 30 Mar 2007, 13:03

#18 Post by Komodo »

WhoDo wrote
What I need, and I guess most of the Puppy users I deal with need, is to have someone create a nice, easy GUI frontend for SQLite3 so we don't have to use tcl/tk, gins, puppybasic, gtk et al to create forms and reports.
Hello WhoDo. I'll second that. A form and report designer is a huge undertaking though. Even more so when the next requirement would be easy data binding to these. GnomeDB has this for forms and grids and can use SQLite3. A report designer is in the works but who knows when that will be ready. Then you still have to code with C or C++ to get a working application. Glom looks good but who can get it to work in Puppy? Plus it requires PostgreSQL.

Komodo

rmockler
Posts: 38
Joined: Tue 30 May 2006, 22:55
Location: Florida

#19 Post by rmockler »

Raffy,
Thanks for your excellent suggestion. I downloaded TkSQlite around 10:00 am and by lunch time, I had created a database, built three tables and populated them, and I am now already well on my way to completing a golf handicapping system for my league's tournaments. However, I will admit I had a head start on this task from developing the handicapping system a few years ago on Windows with Ocelot SQL DBMS. I really miss the absence of Ocelot on Puppy, but I believe that with extra effort I can accomplish the same result with TkSQlite.
Thanks again,
~Dick

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#20 Post by BarryK »

I looked at the requirements for TkSqlite. Puppy already has most of it. Extra stuff needed are Tcl/Tk library packages:
Tile 0.7+, TkTable 2.9+, Dict 8.5+, TableList 4.5+, and optionally some bits out of Trf and Tclib.
All up, that shouldn't add much to the size.
Note, Tclib is a collection of libraries, and we can pull out the ones needed.

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#21 Post by muggins »

barry,

the TKSqlite binary already contains all the necessary files...(Tile 0.7+, TkTable 2.9+, Dict 8.5+, TableList 4.5+ etc). it's a tcl starkit archive. two other similar tcl starkit sql packages are Daft & dgDBBrowser:

http://daft.sourceforge.net/

http://wiki.tcl.tk/17720

not knowing much about sqlite i don't know what best option is. also the sqlitebrowser is only about 230k, after being upx'ed.

http://sqlitebrowser.sourceforge.net/development.html

also it says on their website:
SQLite is not used as a shared library: it is built from source code included in this package (sqlite_source directory), and linked as a static library into the executable.
i've uploaded it here:

http://www.murga-linux.com/puppy/viewtopic.php?t=18877

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#22 Post by BarryK »

Okay, I've created PET packages for TkSqlite:
tablelist-4.6.pet (102K)
tile-0.7.8.pet (122K)
tktable-2.9.pet (62K)
trf-2.1p2.pet (62K)
tksqlite-0.4.5.pet (71K)

That's all you need for running in Puppy. Since they're not in the packages database for 2.16, you will have to download and click on them. (I have uploaded them to ibiblio pet_packages-2 directory)

In total, that would add about 0.4M to the live-CD.

Could someone do an install and test it? An evaluation of its usefulness as a possible standard app in Puppy would be good.
muggins has also posted another for us to compare, but of course with that one we would have to thrown in the Qt lib.

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#23 Post by Lobster »

I looked at Muggins download. My impression is that it is entirely usable by a beginner to databasing and idiotic cructaceans. It seemed obvious and straightforward.

What I will do is unload Muggins download - set up Barrys. Then I will catalogue the packages available in the package manager - or at least make a start

Now we are talking . . . Does that make some sort of sense for a possible SQL enhancement to the package manager?

Suggested Fields

Category
Function
Version
Description
Links

Anyways I will see how I get on :)

Update

The program installed under "personal" on the menu (using IceWm)
When loading the database it tried to load "test2.db" - only on first load

Creating the database was easy but eh :oops: how do I add data?
Do I have to create it in a text editor? Do I use the SQLBrowser Muggins created, which seems to have an option to add records . . . ?
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#24 Post by BarryK »

Heh heh, a real time-waster that was, I shouldn't be going off on tangents when I've got so much else to do ...I compiled Qt 3.3.6 to create static library, then compiled sqlitebrowser against that ...the sqlitebrowser executable ended up at 6165K after stripping!

Lobster, how easy is it for an ordinary person to whip up a database using these products, then having done so, how easy to use it.

One issue though. These tools can create a personal database, but how is it shared? A product like sqlitedbms uses a web browser as both a creation and access tool so works over the Internet.
I don't know much about databases, but isn't this what we would want in such a tool, not just a little thing that creates a personal-only database?

User avatar
WhoDo
Posts: 4428
Joined: Wed 12 Jul 2006, 01:58
Location: Lake Macquarie NSW Australia

#25 Post by WhoDo »

BarryK wrote:Lobster, how easy is it for an ordinary person to whip up a database using these products, then having done so, how easy to use it.
I'm not Lobster, Barry, but I've had a quick look at the SQLite offerings and they don't look particularly easy or useful from a novice perspective. :cry: Sure I can create a simple data file, but for all its usefulness I could have done it much quicker and easier using scalc, for example, and had a far more usable outcome IMHO.

I'd like to take another run at Glom, but the list of dependencies for compiling appears a little daunting. :? On the plus side, it would run under MU's Gnome environment in Puppy, once compiled, and would be a much easier package for novices to use.

Just my $0.02c worth.
[i]Actions speak louder than words ... and they usually work when words don't![/i]
SIP:whodo@proxy01.sipphone.com; whodo@realsip.com

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#26 Post by Lobster »

Image

It's easy.

The fish can stop laughing at me

The files Barry provided + one Window user (my sister) who managed to easily fathom how to add records . . . and we have a database
:D
Basically
File / Create NewSqlite database
Database / Create table (to add fields)

then double click on the table icon
and the table appears in Table Edit Window
ctrl + n or right clicking Table edit Window to add a row (data entry right click on field)

:)

Warren goes on to discuss the sqlite capacity. Be interesting how others get on :)

From a basic database perspective this seems good and small enough for Puppy?
Last edited by Lobster on Sat 09 Jun 2007, 12:14, edited 1 time in total.
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#27 Post by muggins »

what i know about sql & relational databases would fit on 1/4 of a postage stamp...but i'm not sure what we're after here? i think either tksqlite or sqlitebrowser are both easier to use, for a novice, than doing it on commandline. but they don't have the browser capability that barry
mentions. (does the average user need such functionality? doesn't the OO dbase give this?)

i think the other two tclkit dbase files, linked to above, have browser capability.

warren, regarding glom, isn't it a front-end for PostgreSQL ? can it use sqlite?

what about this one:

http://www.dgroth.de/tcltk_dgsqlite.html

i just looked at that link again & saw last updated 2004, so maybe not very active.
Last edited by muggins on Sat 09 Jun 2007, 12:52, edited 1 time in total.

User avatar
WhoDo
Posts: 4428
Joined: Wed 12 Jul 2006, 01:58
Location: Lake Macquarie NSW Australia

#28 Post by WhoDo »

muggins wrote:i think either tksqlite or sqlitebrowser are both easier to use, for a novice, than doing it on commandline. but they don't have the browser capability that barry
mentions. (does the average user need such functionality? doesn't the OO dbase give this?)
Yes on all accounts. sbase does have the capacity to create custom forms and reports, but it isn't as easy to use as it should be, and is evidently limited when dealing with datasets of any significant size.
muggins wrote:i think the other two tclkit dbase files, linked to above, have browser capability.
Indeed, but unless you have an intimate knowledge of SQL commands, they don't allow you to create relationships, forms or reports. They just allow the creation of simple tables that are capable of indexing and sorting. If you want only that then scalc can easily handle that with autofilter.
muggins wrote:warren, regarding glom, isn't it a front-end for PostgreSQL ? can it use sqlite?
Yes it needs PostgreSQL, and no it can't use SQLite at the moment (maybe never, who knows). It only reads PostgreSQL databases it has created, too, because it only uses a subset of a full PostgreSQL database command set. Still, it will create forms and reports MUCH more easily than anything else we've looked at so far, including sbase.
muggins wrote:what about this one:

http://www.dgroth.de/tcltk_dgsqlite.html
Hmmmm...definitely not for the novice user I'm afraid.

As I see it there are 2 distinct questions here:

1. Can we get an easy-to-use database compiled for Puppy?

2. Can we get a small, light database that might be offered as standard in Puppy and is SQLite-based?

The answer to question 1 is yes, but not quickly or easily and certainly not without some overhead in terms of size and dependencies.

The answer to question 2 is yes, TkSQLite is already available, but what can it really do that makes it worth including in standard Puppy?

IMHO, the answer to "what can it do (sic)" is "not much". It would allow users to create SQL-based web pages that could query an SQLite database created with TkSQLite ... but IF the user had that sort of capability they probably wouldn't need TkSQLite to do the job!

For the average user, Gnumeric already supports autofiltering of a dataset, so I believe you could create a simple database much more quickly and easily using that than TkSQLite. Use it for storing your music file lists, or personal contacts or whatever. Why waste 0.4Mb of valuable Puppy real estate on TkSQLite if it can't really do anything more than that?

JMO, but I think we should be looking toward solving Problem 1 in the short to medium term, and ignoring Problem 2 as probably a wasted exercise for standard Puppy.
[i]Actions speak louder than words ... and they usually work when words don't![/i]
SIP:whodo@proxy01.sipphone.com; whodo@realsip.com

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#29 Post by muggins »

yes warren,

that makes sense. i suppose my thinking was that because tcl & sqlite are already in puppy
any dbase would have less "weight"if based around these.

Komodo
Posts: 20
Joined: Fri 30 Mar 2007, 13:03

#30 Post by Komodo »

Barry,
I installed the pet packages in puppy2.14 (HD install) and everything seems to work. I would vote yes to include it in the standard puppy release simply because it's a great tool for working with SQLite3 and many people would find it useful. If you decide not to do this then may I suggest that you make it a single file package a user could install from the Puppy package manager?

Warren,
If we could get Glom working for Puppy I would use it in a heart beat. Perhaps a dedicated thread could be started here or at the developer forum for this. I have a spare partition to use and would be willing to lend a hand.

Komodo

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#31 Post by BarryK »

Komodo, it doesn't have to be made into a single PET package. When Pup 2.17 is released, the TkSqlite PET package will be in the selection list and the information on dependencies is also there, so all those dependent packages will automatically get installed as well.
Or even if someone downloaded 'tksqlite-xxx.pet', the dependency info is in Puppy and also they will get auto-installed.

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#32 Post by BarryK »

How about this? Hop is a language for creating gui applications viewable in a web browser. It uses sqlite as a backend, so is effectively a tool for creating databases that can be served over the web. Hop is also intended as a replacement for the traditional gui widget tools (like GTK, Qt) for local applications.

Main page:
http://hop.inria.fr/#home-notepad=np:0

Technical details:
http://hop.inria.fr/usr/local/share/hop ... ticle.html

...it's not a gui database-creator-manager thingy though, which is what we have been discussing.

IvanF
Posts: 15
Joined: Mon 12 Dec 2005, 14:11
Location: W. Australia

PupBase

#33 Post by IvanF »

I can across NoSQL the other day.

Home page
http://www.scriptaworks.com/cgi-bin/wiki.cgi/NoSQL

A Great Tutorial
http://www.troubleshooters.com/lpm/200704/200704.htm

Another older tutorial
http://www2.linuxjournal.com/article/3294

NoSQL looks like it is built for Puppy. Somone with better unix skills than me may be able to create PupBase with it.

regards Ivan F

raffy
Posts: 4798
Joined: Wed 25 May 2005, 12:20
Location: Manila

interesting

#34 Post by raffy »

Both are very interesting, especially for database use in the future.

User avatar
JohnMurga
Site Admin
Posts: 555
Joined: Wed 04 May 2005, 04:26
Location: Far to the east
Contact:

#35 Post by JohnMurga »

Dunno if it'll be of interest, but I knocked up a quick tool for personal use ...

http://www.murga-projects.com/forum/sho ... hp?tid=118



Cheers
JohnM
Attachments
sqLiteMngr.PNG
(11.57 KiB) Downloaded 2037 times

Post Reply