Arch Reactor Library/Database
From St. Louis Hackerspace Wiki
This page is a child page part of the Arch Reactor Library page.
Initially the Database will be stored in an Excel Spredsheet but eventually be transfered to an SQL database.
This section will describe the databases design in the near future.
Contents |
Table Diagrams
|
|
| ||||||
|
Tables
- book - Books - For books, manga (since it is generally pubished in book format), and graphic novels
- zine - Periodicals - Magazines, Newspapers, Comics
- media - Other Media (Movies, Video games, music)
- member - Members - Contributor/Member Information
- items - Items. - The Status of items and who has them.
- author - Authors - Author Information
- pub - Publishers - Publisher Information
- exchange - Exchages - List of items currently being exchanged.
- checkout - Checkouts - List of items that are currently checked out.
- request - Requests - List of requested items
- hold - Holds - Items that are on hold
Fields
Books
- book.id - Book Item ID number. Somebooks may not have ISBN numbers. This field should take care of that issue.
- book.cid - Contributor ID. Who contributed this media. (Reference to members.member_id)
- book.isbn - The ISBN number of a book (if there is one)
- book.class - The Book's Library of Congress Classification Number
- book.title - Books that start with an article, should be moved to the end. Such that "The House on Haunted Hill" is entered "House on Haunted Hill, The".
- book.author - The book's primary author, in Last_Name, First_Name format.
- book.author2 - The book's secondary authors, in First_Name Last_name format.
- book.pub - The Book's Publisher. Ignore inserting words like "Press", "Publishing", "Book", "Inc.", "Co.", etc. at the end.
- book.year - The year the book was published.
- book.ed - The Books edition. (This should be a string not a number type.)
- book.digital - Is the book physical or digital? (If digitial, list the format it is in. (.epub, .pdf, etc.))
- book.cost - The price of the book. If the book is ever lost, stollen, or damaged the price of the book will indicated how much it will cost to replace that material. Some books might not have this.
- book.notes - Any physical remarks about this book. (Does it have dogears, highlighting, sticky notes, a plastic cover, etc.)
Periodicals
- zine.id - Periodical Item ID number.
- zine.cid - Contributor ID. Who contributed this media. (Reference to members.member_id)
- zine.isbn - ISBN number of the publication. (This might be identical with similar titles. Fortunately, there is the zine.id field to distingush issues.)
- zine.title - Title of the periodical
- zine.pub - Name of the publisher (Same rules as the book.pub apply)
- zine.year - Year the periodical was published.
- zine.date - Date or month or season the periodical was published.
- zine.vol - Periodical volume number
- zine.num - Periodical issue number
- zine.digital - Is the periodical physical or digital? (Same rules as the book.digital apply)
- zine.cost - The price of the periodical. (Same rules as the book.cost apply)
- zine.notes - Any physical remarks about this periodical?
Other Media
- media.id - Media Item ID number
- media.cid - Contributor ID
- media.isbn - Media ISBN number
- media.title - Title of the Media
- media.pub - Media publisher (Movie studio, record label, videogame publisher)
- media.year - Year the item was published
- media.digital - Is the item physical or digital?
- media.cost - The price of the item.
- media.notes - Any phsyical remarks about the item.
Members/Contributors
- member.cid - Member/Contributor ID number
- member.username - Username (should be the same as the one used on the forum, wiki, and IRC. We should find a way to unify all of that.)
- member.firstname - First Name
- member.lastname - Last Name
- member.status - Is the user a member of Arch Reactor? (This may also be used to indicate what level of membership)
- member.email - Member's email address.
- member.phone - Member's phone number.
- member.contributions - How many items the user has contributed (SELECT COUNT(member.cid) FROM book WHERE book.cid = member.cid)
- member.requests - How many items the user has requested
- member.holds - How many items the user has on hold.
- member.exchanges - How many items the user has exchanged.
- member.checkouts - How many items the user has checkd out.
- member.fines - Any fines against the user? (We shouldn't charge late fees, but if items are lost or damaged, the user may be charged, unless the item belongs to that user in the first place.)
LOC or Dewey?
I'm in favor of LOC. --MrHacks 17:44, 8 February 2010 (UTC)
Wikipedia has a comparison of the two classification systems.
Author and Publisher Information
Information about authors and publishers will probably find their own tables/spredsheets respectively.
Digital Media
Where should digital media fit in?
- The solution: Indicate whether I an item is in digital format or physical format.
Other media like movies, CDs, and video games should be listed at physical unless they were burned to another medium or obtained through digital download.
Consolidating data/tables?
I'm wondering if the Books, Periodicals, and Other Media tables should be consolidated.

