data-design question

Dick Kriesel dick.kriesel at mail.com
Mon Sep 26 19:04:45 EDT 2005


Charles --

I see you've already received a lot of advice about implementation tools, so
instead I'll focus on metadata.  Maybe the metadata will influence your
choice of tools.

There seem to be several categories of relevant metadata.  As I see it, here
are at least some of them:
    album data
    track data
    composition data
    recording data
    performance data
    acquisition data
    importation data
    reference data

For some details about these categories, see the following notes.

To me, the richness of the metadata suggests there may be significant value
in further collaboration, such as in the Dublin Core Metadata Initiative.
Whether you want to engage in a core metadata initiative or not, your
perceptions of your needs will probably evolve significantly as you proceed.
So I suggest an important factor in selecting tools be your ease of changing
your metadata.

-- Dick

----------------------------------------------------------------------------
In the following notes,
    {} indicates multiplicity -- example: {genre}
    = indicates decomposition -- example: group = {person}
    -- indicates a comment -- example: this comment
----------------------------------------------------------------------------
album data =
    title
    label -- examples: Capitol, RCA
    series  -- families of albums on the same label
    release date
    {genre}
    medium -- examples: vinyl, CD
    copyright
    track data
    
track data =
    album
    track number
    composition data -- a composition may appear on more than one album
    recording data -- a recording may appear on more than one album

composition data =
    title
    music by {person}
    lyrics by {person}
    composition date
    {genre}
    variations on composition
    medley of {composition}
    copyright

recording data =
    composition
    recording date
    {genre}
    studio
    recording engineer

performance data =
    recording
    artist
    instrument -- examples: guitar, voice
    performance category -- examples: solo, lead, backup

acquisition data =
    album
        -- an album may have been acquired more than once because
        -- of damage to the media
    track
        -- individual tracks from the same album may have different
        -- acquisition dates and sources
    source -- examples: iTunes, Wherehouse
    acquisition date

importation data =
    recording
    bit rate
    encoding scheme
    importing date

reference data =
    persons
    groups -- group = {person}
    genres
    instruments
    performance categories
    media
    labels
    series
    studios
    sources
    encoding schemes
    bit rates
----------------------------------------------------------------------------
On 9/24/05 11:34 AM, "Charles Hartman" <charles.hartman at conncoll.edu> wrote:

> Many years ago I wrote a jazz-record-collection database program in C
> -- so many years ago that memory problems raised by sparse arrays of
> unpredictable size led me into baroque designs involving pointers-to-
> pointers-to-pointers . . . It occurs to me that Rev would make a nice
> front-end for this both easy and pretty. But I'm wondering what the
> best approach to the data structure(s) would be.
> 
> Assume that the basic record (in the database sense) is Album -- so
> the basic design is one card per Album. Each Album includes a list of
> Tunes (besides Artist/Group and Label/Date/EtcData). Each Tune is
> associated with one or more Writers, and also with a list of Players,
> each of whom is associated with an Instrument. So we've got at least
> four fundamental types of data lists -- player, instrument, tune-
> title, writer -- and some items that combine fundamental items in
> many-to-one relation.
> 
> The program would be useful (at least to me) only if it were possible
> to search it on any of those criteria. (Show me every Album including
> a Tune by Matt Dennis on which Steve Swallow is playing bass.)
> Obviously it's necessary to be able to add to each of the fundamental
> data lists -- which suggests combox-box menus -- and it would be
> important to have a series of defaults (same players for all tunes on
> an album, for example) to encourage data-entry.
> 
> Any suggestions about the best approach to the internals of this? I'm
> not clear whether, for example, custom properties are up to the
> demands of what's essentially a relational database . . .
> 
> Thanks for any help in thinking about this.
> 
> Charles Hartman
> 
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution





More information about the use-livecode mailing list