[Mystara Database] Sources

Home of Thorf's myriad Secret Projects.

Moderators: Havard, agathokles, Thorf

Post Reply
User avatar
Thorf
Cartomancer
Posts: 2483
Joined: Fri May 23, 2008 2:41 am
Gender: male
Location: Akita, Japan
Contact:

[Mystara Database] Sources

Post by Thorf » Sat Jun 28, 2008 5:11 pm

I seem to have caused some confusion over posting about the Source Types without any details on the rest of the tables for Sources, so here is some stuff about the sources in general.

The Sources section is one of the most important in the database, because almost everything else refers back to the sources. It is also an opportunity for us to collect information on the sources themselves, including their backgrounds and authors.

I've been reading over the old design documents. The following is a modified form of Brian's design from last time:

The Sources section will consist of three main tables: One holding the actual source/product information (mdb_source), one holding information about authors and designers (mdb_author), and one binding the two tables together (mdb_source_author_linkage).

The layout of the three tables are:

mdb_source
UID
Official/unofficial
Name
Code
Abbreviation
Source Type @mdb_source_type
Series @mdb_source_series
Game System @mdb_game_system
Setting @mdb_campaign_setting
Release date (month and year together or separately)
Release date source @mdb_source
Format
Blurb
Description
URL to source

mdb_author
UID
Name
Aka
Aka 2
Aka 3
Aka 4
Biography
Home Page URL
Notes

mdb_source_author_linkage
UID
UID_mdb_source
UID_mdb_author
Author Type @mdb_author_type

@ represents a reference to another table

The details for the reference tables I am proposing:

mdb_author_type
UID
Author Type
Description

mdb_source_type
UID
Source Type
Description

mdb_source_series
UID
Source Series
Description

mdb_game_system
UID
Game System
Description

mdb_campaign_setting
UID
Campaign Setting
Description

The last one, Release Date Source, actually refers back to the Source table itself.

User avatar
Thorf
Cartomancer
Posts: 2483
Joined: Fri May 23, 2008 2:41 am
Gender: male
Location: Akita, Japan
Contact:

Re: [MDB] Sources

Post by Thorf » Mon Jun 30, 2008 2:28 am

Here are some example entries. First, GAZ6 and its main author, Aaron Allston:
mdb_source record for GAZ6
UID - 324
Official/unofficial - Official
Name - The Dwarves of Rockhome
Subtitle - NA
Parent Source - NA
Code - 9227
Abbreviation - GAZ6
Source Type - Accessory
Series - Gazetteer
Game System - OD&D
Setting - Mystara
Release date - 1988/05
Release date source - Dragon 133, Dragon 134
Format - Staple-bound booklet with detachable cover
Blurb - "Dwarves have a reputation that is both good and bad. ... ... ..."
Description - A guide to the Kingdom of Rockhome, birthplace of Mystara's dwarves. Blah blah blah.
URL to source - NA
mdb_author record for Aaron Allston
UID - 148
Name - Aaron Allston
Aka - NA
...
Biography - "I was born in 1960 in Corsicana, TX. ... ... ..."
Home Page URL - http://www.aaronallston.com/
Although Aaron Allston has no aliases, some other authors have multiple aliases. Ideally I would like to be able to specify which alias they appear as in which source, just as the IMDB does, but it's not a huge priority either.
mdb_source_author_linkage entry for Aaron Allston, author of GAZ6
UID - 168
UID_mdb_source - 324
UID_mdb_author - 148
Author Type - Author ("By")
Each of the various people involved with GAZ6 have their own linkage table entry like this one.

Now let's look at the record for a Dragon Magazine article:
mdb_source record for The Voyage of the Princess Ark, Part 21
UID - 875
Official/unofficial - Official
Name - The Voyage of the Princess Ark
Subtitle - Part 21: The Savage Baronies
Parent Source - Dragon 174
Code - NA
Abbreviation - [VotPA]
Source Type - Magazine Series
Series - Dragon
Game System - OD&D
Setting - Mystara
Release date - 1991/10
Release date source - Dragon 174
Format - Magazine article
Blurb - "Raman does a good deed - for the wrong creature."
Description - Raman encounters an Errant Soul, and the Princess Ark escapes a Vilaverdan trap. Blah blah blah.
URL to source - NA
So far I have assembled the following types for classifying magazine articles:
  • Magazine Adventure
  • Magazine Article
  • Magazine Ecology
  • Magazine Editorial
  • Magazine Fiction
  • Magazine Forum
  • Magazine Letters
  • Magazine NPC
  • Magazine Preview
  • Magazine Review
  • Magazine Series
We may want to divide this further into Source Type: Magazine, and make Article, Ecology, etc. a list of sub-types specific to Source Type: Magazine.

I don't intend to index all of the Dragon and Dungeon articles - just those that are relevant to Mystara. On the other hand, it might be good to include all the necessary fields to handle such an index, in case someone wants to work on it more.

In making these examples, I have added some elements to the design. Most notable are the fields for Subtitle - absolutely necessary for archiving Dragon articles, most of which have one - and Parent Source, which allows us to place a source within a source. This is actually necessary for box sets which have multiple books; it is useful to be able to refer to a specific book, and also the credits for each book are often slightly different.

This whole section is still being designed, so please feel free to comment and criticise.

User avatar
Thorf
Cartomancer
Posts: 2483
Joined: Fri May 23, 2008 2:41 am
Gender: male
Location: Akita, Japan
Contact:

Re: [MDB] Sources

Post by Thorf » Mon Jun 30, 2008 5:11 am

Thorf wrote:
  • Magazine Adventure
  • Magazine Article
  • Magazine Ecology
  • Magazine Editorial
  • Magazine Fiction
  • Magazine Forum
  • Magazine Letters
  • Magazine NPC
  • Magazine Preview
  • Magazine Review
  • Magazine Series
We may want to divide this further into Source Type: Magazine, and make Article, Ecology, etc. a list of sub-types specific to Source Type: Magazine.
I'm replying to myself here, but it just occurred to me that fan articles may follow the same categories as magazine articles (or a similar enough set that the lists can be combined). In that case, it would definitely be better to share the categories rather than making duplicates such as Magazine Article and Fan Article.

Let's look at the very basic elements - it might help to make things clearer.

First, we have a table of sources. Each source on that list is a primary source, to which the rest of the database will refer. That means everything we want to refer to as a source needs to be on this table.

In order to achieve this, we introduce parent and child sources, i.e. nested sources. A parent source would be a boxed set, any single-volume book or supplement, a magazine, a web site (e.g. pandius.com), etc. (Single-volume books are perhaps more like child sources with no parents, but they can still be thought of as parent sources, or un-nested sources, with no problems.)

Child sources are parts within one of the parent sources. For example, a book within a boxed set, an article within a book, an article within a magazine, or a page (or article) within a web site. We probably wouldn't document articles within most sources unless they were very different from the overall content, and needed to be referred to specifically - as with for example most Dragon Magazine articles.

So, we have parent and child sources. But they both reside on the same table, and share the same fields. Some information may be duplicated for both parent and child sources, but it's always possible to limit results or display to just parent sources.

This means that we need to work out a single table that covers all the relevant factors of each of our many and varied kinds of sources. One way to do that is to start collecting data on a sample of those sources, and see what categories are needed. This is what I started to do in my previous post.

User avatar
Thorf
Cartomancer
Posts: 2483
Joined: Fri May 23, 2008 2:41 am
Gender: male
Location: Akita, Japan
Contact:

Re: Sources

Post by Thorf » Thu Jul 24, 2008 8:52 am

Revised Sources Design

mdb_source
id
name
mdb_source_id @ (parent source)
code
abbreviation
release_date (month and year together or separately)
mdb_source_series_id @
mdb_game_system_id @
mdb_campaign_setting_id @
mdb_format_id @
mdb_officialness_id @
blurb
description
url

mdb_source_author_linkage
id
mdb_source_id @
mdb_author_id @
mdb_author_type_id @

mdb_source_release_ref (release date source - usually there are multiple sources)
id
mdb_source_id @
mdb_ref_id @
notes

mdb_source_type
id
source_type
description

mdb_source_type_linkage (because a source can be multiple types at once)
id
mdb_source_id @
mdb_source_type_id @

mdb_source_series
id
source_series
description

mdb_game_system
id
game_system
description

mdb_campaign_setting
id
campaign_setting
description

Post Reply

Return to “Thorf's Projects”