Mitch Bradley wrote:
> It occurs to me that CAD libraries really should be stored in SQL 
> databases.

Funny, I always thought that it would be nice to have them
in a directory hierarchy, with one object (component or module)
per file :-)

> Traditional library formats tend to impose an artificial 
> structure that is too rigid.

Agreed. A file system hierarchy would solve this. If the
names of leaf objects are kept unique, one could also easily
change the hierarchy or establish alternative hierarchies.

I'm assuming here that user-visible representation follows
the internal structure of the database, e.g., that you'd
indeed see a hierarchy, in the case of a hierarchical
structure, or that you'd eventually get tables (perhaps a
bit similar to the Digi-Key online catalog, which is
probably as good as we could hope to get, but isn't all that
great if you don't have a pretty clear idea of what you're
looking for) in an SQL database.

One could of course obscure all this through a few more
layers of abstraction, but that would also increase the
risk of incorrect use. Since it's unlikely that there would
be a sole master author, and at best one master reviewer
and committer, making the database organization easily
understandable for contributors would seem a necessary
feature to me.

> Using a database would make it easier to 
> handle real-world problems such as multiple versions of the same part, 

But that's mainly an issue of choosing good keys, which
can also be turned into a naming issue. File names don't
have to be the only thing the user effectively sees,
although they should be reasonably close to that.

> providing flexible searching,

At the price of making the search operation per se more
complex for the user. I'd rather have a simple structure
with very quick navigation (multi-column directory/class
hierarchy browsers come to mind), plus a full-text search
as a fallback.

In fact, this browser would be the only new thing that's
needed to support a hierarchical structure based on the
directory hierarchy.

For this type of browser, a relatively narrow hierarchy
works best, because you're just one click away from the
next hierarchy level, but scrolling within a level takes
a lot more time.

> Most web hosting 
> services offer a database (e.g. MySQL) as part of the deal.

I think it would be a grave mistake to assume availability
of online access for the default mode of operation. There
are just too many situations where this isn't appropriate,
e.g., for people without an "always on" rate, when traveling,
in administratively restricted environments, when network
access is slow (and since every user would probably have to
go to the database quite often, there'd be a great bottleneck
by design. Also, when browsing the database, even small
delays become noticeable.), etc.

A database also has the problem of creating additional
dependencies on the software infrastructure, e.g., many
databases implement shared access through processes in an
administrative domain different from that of the user, so
additional installation effort is needed.

Of course, people call me a luddite ;-)

- Werner

-- 
  _________________________________________________________________________
 / Werner Almesberger, Buenos Aires, Argentina     [EMAIL PROTECTED] /
/_http://www.almesberger.net/____________________________________________/


------------------------ Yahoo! Groups Sponsor --------------------~--> 
Yahoo! Groups gets a make over. See the new email design.
http://us.click.yahoo.com/XISQkA/lOaOAA/yQLSAA/W4wwlB/TM
--------------------------------------------------------------------~-> 

Please read the Kicad FAQ in the group files section before posting your 
question.
Please post your bug reports here. They will be picked up by the creator of 
Kicad.
Please contribute your symbols/modules to the library folder in the group files 
section.
For building Kicad from source and other development questions visit the 
kicad-devel group at http://groups.yahoo.com/group/kicad-devel 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/kicad-users/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to