Generic PersonCompany DEV

From AniDB
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Concerns and Goals

As the CharDB, OstDB, MangaDB and AniDB's producers all tend to include data about individuals or companies it would be a good idea to extract the generic data for individuals and companies into two separate tables which are then used by all other parts.

I.e. instead of having all the data inside the producer table, it would only include those data fields which are producer specific and would refer to a person or company table for the general data.

The question is, which fields can be considered generic (and should thus be listed in the person/company table) and which fields are specific.

And also which relations should be possible between entries.

  • person<=>company relations? (works/ed for?)
  • company<=>company relations?
  • person<=>person relations? (married?)

And multiplicities, i.e. has each producer only one person/company related to it, or multiple ones? - Each producer as only one entity assigned to it. Although one of those entities is Collaboration which can hold multiple companies and/or persons.

Also, should names be a separate table (like anime titles) or are there only a small number of names we'd want to store per person/company? - Names have their own table for every Entity that has titles.

Is mangaka sufficiently different from producers? Or should mangaka simply be stored/handled like producers?

The concept of pseudonyms is still very unclear, what is the multiplicity? And are they also related to producers? Or persons? Also how are matching pseudonyms (they're not unique, are they?) handled?

The big picture

Warning: Image doesn't reflect the current layout.

  • To Fix:
    • Add missing Collaboration and CollaborationEntities tables
    • Add missing PersonTitle table
    • Decide if we actually need the Pseudonym table

Data Fields

Generic Fields

Generic Fields - Person

  • image
  • url (en)
  • url (jp)
  • url wiki (en)
  • url wiki (jp)
  • birth place
  • birth date
  • death date
  • gender
  • blood type
  • nationality
  • place of residence
  • description (extra data goes here)

Generic Fields - PersonTitle

  • title - some title, like: phd, bsc, etc
  • [name] - this is LASTNAME firstname for oriental names and firstname LASTNAME for western names
  • firstname - also know as Personal names
  • lastname - also know as Family name
  • lang - language of title
  • type - type of title
    • 1 - Main title
    • 2 - Alias
    • 3 - Maiden name
    • 4 - Nickname
  • verified

Generic Fields - Company

  • image
  • type - type of company
    • 1 - Company
    • 2 - Organization
  • url (en)
  • url (jp)
  • wiki (en)
  • wiki (jp)
  • date founded
  • date closed down
  • description - other stuff goes here

Generic Fields - CompanyTitle

  • name - name of the company
  • lang - language of title
  • type - type of title
    • 1 - Main title
    • 2 - Synonyms
    • 3 - Short
  • verified

Generic Fields - Collaboration

  • type - collaboration type
    • 1 - joint work
    • 2 - .. ?
  • url (en)
  • url (jp)
  • wiki (en)
  • wiki (jp)
  • start date
  • end date
  • description - other stuff goes here

Generic Fields - CollaborationEntities

  • type - type of entity
    • 1 - company
    • 2 - person
  • relid - entity id
  • titleid - titles used by the entity

Specializations

Producer

  • relid - entity id
  • typeid - type of entity
    • 1 - company
    • 2 - person
  • titleid - titles used by the entity
  • start date - if different from underlying entity
  • end date - if different from underlying entity
  • description - producer specific information
  • [ratings&co] - not implemented in the ui

Seiyuu

(unspecified at the moment)

Artist

(unspecified at the moment)

Mangaka

(unspecified at the moment)

System

This details a bit of what is done and what we are aiming at

Generic

Person

  • Persons need one main title, made from [title] firstname lastname (lang defaults to transcription)
  • Persons can have one maiden name, made from [title] firstname lastname (lang defaults to transcription)
  • Persons can have multiple alias, made from [title] firstname lastname (lang defaults to transcription)
  • Persons can have multiple nickanmes, made from lastname (lang defaults to transcription)

Company

  • Companies can either be of type Company or Organization
  • Companies need one main title (lang defaults to transcription)
  • Companies can have multiple synonyms (lang defaults to transcription)
  • Companies can have multiple short names (lang defaults to transcription)

Collaboration

Still very unspecified

  • Collaborations need a type (unspecified at the moment)
  • Collaborations aren't limited to either companies or persons but can be a mix of both (unspecified at the moment)

Specializations

Producer

  • One can make a producer either from a Person, a Company entry or a Collaboration entry.
  • One chooses from the related entry which names should the producer be known as.

Seiyuu

(unspecified at the moment)

Mangaka

(unspecified at the moment)

Artist

(unspecified at the moment)