Install Jd (addon data/jd) with JAL/Package Manager. Jd requires J64 (803 or later) on Windows, Linux, or Mac.
There is a slight preference for JHS as the front end. Running Jd tutorials in jconsole is awkward. Eventually your Jd systems are likely deployed in servers (perhaps in a cloud) and JHS makes secure remote management and development a natural continuation of using Jd on your own local machine. If not already familiar with the JHS front end, time spent getting familiar is time well spent.
load'data/jd' ... welcome message ...
The welcome message tells you if you require a license key and how to get one.
Be sure to browse and bookmark the documentation url given in the welcome.For a new install and after updates it is a good idea to run
jdtests''to validate the installation and create demo databases.
The welcome message suggests how to get started. In particular how to list and run tutorials and examples.
jd'...' NB. perform Jd user op
jd'reference a b c d' === jd'reference';'a';'b';'c';'d' jd'insert f a';23 === jd'insert';'f';'a';23
jd'createtable f a int,b byte 4' jd'createtable f a int',LF,'byte 4' jd'createtable';'f';'a int';'b byte 4' jd'createtable f a';'a int';'b byte 4'
jd'reads /lr /e f' === jd'reads';'/lr';'/e';'f' jd'createtable /a 1 2 3 f a int' === jd'createtable';'/a';'1';'2';'3';'f';'a int'
RESERVEDCHARS_jd_are not allowed in names
RESERVEDWORDS_jd_are not allowed
jd'createtable f a int 2,b byte 4' NB. n,2 int and n,4 byte
Database structure maps directly to folder structure. A database is a folder, a table is a folder in a database, and a column is a folder in a table.
A db/table/col drop can't be undone. It would be unfortunate to inadvertantly drop something that was hard to recover.
Restrictions while building a database can be a nuisance, but when things are stable it can be nice to disallow drops. This can be done with jdaccess but that is perhaps more mechanism than warranted.
jddropstop provides an easy way to prevent bad drops.
A db/table/col drop uses utility jddeletefolder. This utility is also used in other admin activities. For example, deleting folders of csv files that have been processed.
A jddeletefolder can't be undone. It would be unfortunate to inadvertantly delete something that was hard to recover.
jddeletefolder allows delete only if certain criteria are met and this can prevent an unintended delete.