The Structure
A picture is worth a thousand words, so a study of the Entity-Relation Diagram
for this database may be enlightening!
This diagram shows the entity relations for the whole database.
The following notes should help in the understanding of some of
the more peculiar choices made when setting up this structure.
Coded fields
- There are a relatively small number of formations and variations
on the number of people in a dance. Consequently, these fields
have been represented with a code to allow more compact storage
and greater efficiency. It also improves the consistency of the
database and increases the ability to validate the information.
The database includes relations to map between these codes and
a textual representation of the information.
Owner defined codes
- A secondary entity has been introduce to link records and
owners, making it possible to allow each owner to have an owner
defined code for a particular record. This was introduced to
caters for some of the clubs where I call, which use an index
number for each of their records. You may also find this useful.
Uniquely identifying dances and music
- The name of a dance or a piece of music is not sufficient
to uniquely identify a particular dance or tune, since the folk
process has often resulted in variations in names. In addition,
there are occasionally totally different dances or tunes with
the same name. For this reason the database uses a triad of domains
to uniquely identify each dance or tune -- the name, a number
which allows distinction between totally different entities of
the same name and a number for the version which allows for distinction
between similar versions of the same entity.
- Although the database includes this capability, the current
version makes very little use of it: distinguishing between
versions require a lot more time than I have been able to put
in.
- Due to the ridiculously comprehensive U.K. data protection
laws it is not legally possible for me (or you) to store personal
information without registering (and paying a fee) for the privilege,
even with the subject's permission. I believe that some of the
information that ought to be contained in the source_owner,
record_owner and owners
relations may be covered by the D. P. Act, and so I cannot hold
it or pass it on to you. I do not believe that information about
institutions is covered, so at least I can pass on the information
about libraries. For the moment at least, those of you who receive
this database on paper can, of course, receive, maintain and
pass on this 'personal' information: a ridiculous situation isn't
it?
-
- This database structure shown
in the diagram results
in the following relations and domains:
|
Relation |
Comment |
Domains (Fields) |
|
couple_map |
Maps the coding to a text description of the number of people |
couple_code, couples |
|
danceAltName_dance |
Alternative titles for dances |
alt_dance_name, main_dance_name, dance_different |
|
dance_comment |
Comments on a dance |
dance_name, dance_different, dance_version, dance_comment, dc_author |
|
dance_music |
Links a dance to a particular piece of music |
dance_name, dance_different, dance_version, music_name, music_different,
music_version, phrases, bibtex_key |
|
dance_source |
Links a dance to the sources in which it is published |
dance_name, dance_different, dance_version, bibtex_key, location |
|
dances |
The information about a particular dance |
dance_name, dance_different, dance_version, couple_code, formation_code,
dance_level, dance_type, dance_author, dance_props, bars, music_type |
|
formation_map |
Maps the coding for a formation to a textual description |
formation_code, formation |
|
musicAltName_music |
Alternative titles for pieces of music |
alt_music_name, music_name, music_different |
|
music_comment |
Comments on a piece of music |
music_name, music_different, music_version, music_comment, mc_author |
|
music_source |
Links a piece of music to the sources in which it is published |
music_name, music_different, music_version, bibtex_key, location,
key |
|
musics |
The information on a particular piece of musics |
music_name, music_different, music_version, music_type, phrase_length,
music_props, composer |
|
owners |
The people whose collections I have catalogued |
owner_name, full_name |
|
record_owner |
Links a record to the person who owns it |
record_code, owner_name, owner_code |
|
recordings |
Links a piece of music to a recording of it |
music_name, music_different, music_version, record_code, side,
track |
|
records |
Information on records (CDs etc.) |
record_code, record_name, artist, medium |
|
source_owner |
Records who owns which sources |
bibtex_key, owner_name |
|
sources |
Information on a printed source |
bibtex_key, full_name |
|
tracks |
Gives details of the pieces of music on a particular record |
record_code, side, track, track_name, style, music_type, intro,
times, bars, outro |
- The various domains are described in the next section on
the data dictionary.
|