Version 51 of Metakit

Updated 2012-12-01 15:37:07 by pooryorick

http://www.equi4.com/images/metakit.gif

Attribtutes

location
github
location
[equi4.com ] (older)

Description

Metakit is a C++ database library, and is used as the persistence engine underneath WiKit. If it works as intended, you'll never have to deal with any of it, because one of its goals is to help you stay out of trouble.

It was developed, and is actively supported, by jcw.

Building

As of 2012-11-30, the most recent release, 2.4.9.7, does not build against Tcl-8.6. Use the latest repository code instead.

Usage

DGP For what it's worth, here are the points I found most useful in the Roseman intro:

  • Use properties that define as small a unit of information as possible.
  • Creating more views is a good thing. Do that, don't muck up a single view with special cases.
  • Moving data to/from a Tcl array is easy and familiar to Tclers.
  • Emphasis that restructuring of a view layout means you can continue revising your data model as you go. Just start coding; you can change it later.
  • Some discussion when subviews are good vs. additional views.

Software

OOMK ,the preferred oo metakit interface, written in Snit, giving many more facilities than vanilla mk4tcl.

Mk4tcl ,The Tcl binding to Metakit

mk4too ,an interface that exposes considerably more of the relational functionality of Metakit's C++ core engine

dgmkviewer, a metakit viewer/editor in Tcl

tsql4mk ,DDG: Tiny SQL for Metakit provides

See Also

Resources

Metakit for Tcl documentation

CMcC locally reformatted Metakit Documentation

MetaKit: Quick and Easy Storage for your Tcl Application1 ,a tutorial ,Mark Roseman ,2002-04-26

Relational Algebra & Metakit ,Brian Kelly ,Dr. Dobb's ,2004-12-01

Metakit C++ Tutorial , Riccardo Cohen ,2003-09-19

Historical

http://www.equi4.com/metakit/wiki.cgi/ was an official wiki for Metakit

Discussion


"... many of the integrity checks required in traditional database use are not required in Metakit, because Metakit offers nested views -- a cleaner way to represent the relationships often enforced by integrity constraints."


"cleaner" is a matter of opinion, ask a relational database theorist. I don't want to start those arguments here, just point out that if you use Metakit for a complex system, you should design first, and be very careful. - EMJ

DKF: "You should design first"? That's actually true of any non-trivial program, you know... ;^) An ounce of thought saves a ton of effort.

To Sort


alexshpilkin Metakit now has a extension for the Jim interpreter, too (not yet released as of Sep 3 2011, but available in Git) -- couldn't get in touch with jcw, so no search support for now. The documentation is at http://jim.berlios.de/documentation/metakit


09nov05 jcw - There were two pages called "Metakit" in this wiki, due to some old renaming glitches. I've manually adjusted things to resolve this (the "lost" copy was on page 478). Below is the original text.


Metakit was the persistence engine for Wikit

It was claimed here that Mk4tcl is part of the ActiveTcl Batteries included release. This does not appear to be the case as of 8.4.2, 9 May 2003 - Roy Terry. Metakit is included in lib/mk4tcl as of tcl 8.4.4, but without documentation, it seems (Hof).