You will design and construct a database pertaining to your
research work, research work in your lab, or some area of interest
within the topic areas of the course. This project will use the
ACeDB database system. The final product will be a database, which
should be clearly organized, internally consistent and well
1) Try out
the demonstration ACeDB database. Explore the sample database to
get a feeling for how it works. To run the demonstration, type 'acedemo' at the command line.
Design a schema using the
schema_template.odg as a starting point. Send the schema to Dr. Fristensky
for comment before you implement. Update your schema in the file
Loading a database, modifying models, and entering data
4) Create your database, using
existing classes from the sample data base as templates for your
own customized classes:
a) Start by deleting the existing
database directory and creating a new, empty database directory.
Make sure this directory is world-readable and world-executable.
5) Populate the
database with your data. Depending on the data, you can either add
data using the graphic interface, or by creating and reading .ace
files, as shown in the tutorial. You don't need to create a large
database. Just make sure that each class has at least a few
objects to illustrate how your data classes look and how they fit
b) Make a
copy of wspec/models.wrm (eg. models.wrm.bak). You can use this
file to copy classes. Now, delete all classes from models.wrm.
(You can leave in the comment lines at the beginning of the file
if you wish).
c) Start up
as4db and reinitialize. An empty database will be created.
d) One at a
time, add classes to models.wrm. You can copy classes from
models.wrm.bak and modify them. At first, it may be best to not
even include all data fields in a class, but to slowly add data
fields and read in the models each time.
e) During the addition
of models, you may discover flaws in your schema, or things that
just make more sense if done another way. Modify your schema,
and modify the models to match the schema.
adding classes until all classes have been successfully read.
database at each step.
At any time, if you make a
major error, you can exit as4db without saving, and the error
will not be written to the database.
add data, you may discover that the database would work better
if you change one or more models. Again, update the schema and
the models. When you change a model, the data fields that no
longer fit the model will be 'grandfathered'. That is, the data
will be retained in separate fields. If this occurs, you should
re-enter the grandfathered data into the new fields, and then
delete the old fields.
6) When your
database is complete do the following steps:
sure that all files and directories in the database directory
chmod a+r *
make sure that all files in your wspec directory are
chmod a+r *
sure that the final version of your schema is on your web
- You may
also wish to write an introductory paragraph or two explaining
what your database is trying to represent.
Criteria for evaluation will include:
is a natural representation of real data
- Data is not
duplicated in two different classes
kept as small as is reasonable
minimize use of Text and LongText, where data could be
represented in more 'machine-readable' ways
- (10 points) Database
database files must be world-readable
database must launch correctly from your as4db script
database must be consistent with the schema
possible, links that can be made should be made. For
example, in the sample database, each Genotype object
should point to a Species object, because all Genotype
objects belong to a Species.
links work, All data should fit the models ie. no
grandfathered data should be present from earlier
versions of the models.
recording the same piece of information twice in the
hints on some common database operations:
The only really complete and (almost) up to date manual on