Database Design

From Furaffinity Wiki
Revision as of 04:20, 26 September 2024 by Macro (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Home

This is a work in progress. The following is based on the 2016 code leak. Please note this is the worst database design ever witnessed. Nothing is marked as a primary key or foreign key and each column is ambiguous. If there was an award for worst database design, this would win it. Relationships are not shown yet. It is written in a generic ERDL format.

So How bad is it? If this was submitted on an A-F grading scale: It would get a D score.

What's wrong with it?

  • Ambiguities in Columns. Data Columns are too generic. Example: entity_id, lower
  • Redundant data: Why is lower of username in database when a function can be done in code?
  • Composite Primary Keys: Autoincrementing keys needs to be added in some tables.
  • Improper and missing labels of Primary and Foreign Keys, keys should be labeled _pk or _fk
  • Too generic of database column names. Example: entity_id row_id
  • Database is not normalized. Redundant data, poor performance.
  • Redundant Fields.
  • Possibly Missing Indexes. Poor performance
  • Not Maintained, old columns are not deleted, like ICQ AIM or YIM.
  • User_ids stored with numbers and UUID. Mixed data source.

Last update 9-25-2024 About 90% complete. Missing some relationships. File:Erdl.txt