POV-Ray : Newsgroups : povray.general : POVORAMA database, first rough draft : POVORAMA database, first rough draft Server Time
29 Jul 2024 02:33:31 EDT (-0400)
  POVORAMA database, first rough draft  
From: Jörg 'Yadgar' Bleimann
Date: 20 Apr 2013 20:41:38
Message: <517335c2$1@news.povray.org>
Hi(gh)!

As announced, here my first version of a relational database structure 
for images on p.b.i:

DATABASE SYSTEM: MySQL (preferably higher than 4.1, allowing subqueries)

TABLES:

images - with the following fields:
- ID (primary key, auto_increment)
- Filename (including path)
- Title
- POVerNick_ID <- table 'povernicks', n:1 relation
- Date (published on p.b.i)
- Format_ID <- table 'formats', n:1 relation
- Size (in bytes)
- Width
- Height
(Number of pixels and aspect ratio can be calculated within MySQL 
queries, therefore no explicit field is needed)
- POVVersion <- table 'povversions', n:1 relation
- ImageVersion
- PostProcessed
- (NumColors)
- (AvgBrightness)
- (AvgSaturation)
- (FreqHue0-35)
- (FreqHue36-71)
- (FreqHue72-107) ... (FreqHue324-359)
- (FreqBright0-10)
- (FreqBright11-20) ... (FreqBright91-100)
- (FreqSatur0-10)
- (FreqSatur11-20) .. (FreqSatur91-100)

(the entries for fields given in brackets are to be calculated by an 
external utility program)

povernicks (nicknames of POVers)
- ID (primary key, auto_increment)
- Nickname

poverreal (real names of POVers - if known!)
- ID (primary key, auto_increment)
- FirstName
- Surname

povernicks_poverreal (linking table between tables 'povernicks' and 
'poverreal', m:n relation)
- ID (primary key, auto_increment)
- POVerNicks_ID <- table 'povernicks'
- POVerReal_ID <- table 'poverreal'

formats
- ID (primary key, auto_increment)
- Extension
- Name

povversions
- ID (primary key, auto_increment)
- Name

keycont1st (content keywords, 1st hierarchy level)
- ID (primary key, auto_increment)
- Name

keycont2nd (content keywords, 2nd hierarchy level)
- ID (primary key, auto_increment)
- Name
- Keycont1st_ID <- table 'keycont1st', n:1 relation

keycont3rd (content keywords, 3rd hierarchy level)
- ID (primary key, auto_increment)
- Name
- Keycont2nd_ID <- table 'keycont2nd', n:1 relation

keycont (content keywords, base level)
- ID (primary key, auto_increment)
- Name
- Keycont3rd_ID <- table 'keycont3rd, n:1 relation

images_keycont (linking table between tables 'images' and 'keycont', m:n 
relation)
- ID (primary key, auto_increment)
- Images_ID <- table 'images'
- Keycont_ID <- table 'keycont'

keypov (POV features keywords)
- ID (primary key, auto_increment)
- Name

images_keypov (linking table between tables 'images' and 'keypov', m:n 
relation)
- ID (primary key, auto_increment)
- Images_ID <- table 'images'
- KeyPOV_ID <- table 'keypov'

scripts (scene files, include files)
- ID (primary key, auto_increment)
- Filename (including path)
- Type (main script vs. include)
- Size (in bytes)
- NumLines

images_scripts (linking table between tables 'images' and 'scripts', m:n 
relation)
- ID (primary key, auto_increment)
- Images_ID <- table 'images'
- Scripts_ID <- table 'scripts'

externalfiles (any non-script file used for the calculation of the 
scene, such as textures, heightfields, bumpmaps...)
- ID (primary key, auto_increment)
- Filename (including path)
- Type
- Format_ID <- table 'formats', n:1 relation
- Size (in bytes)

images_externalfiles (linking table between tables 'images' and 
'externalfiles', m:n relation)
- ID (primary key, auto_increment)
- Images_ID <- table 'images'
- Externalfiles_ID <- table 'externalfiles'

addsoftware (additionally used software, i. e. modellers, 
post-processing tools, script generators etc.)
- ID (primary key, auto increment)
- Name
- Link (to download, if freeware/OpenSource)

images_addsoftware (linking table between tables 'images' and 
'addsoftware', m:n relation)
- ID (primary key, auto_increment)
- Images_ID <- table 'images'
- AddSoftware_ID <- table 'addsoftware'

See you in Khyberspace!

Yadgar


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.