Offentligkonst.se/Om projektet/Teknisk dokumentation/Databas

Från Wikimedia
Hoppa till navigering Hoppa till sök
  Huvudsida     Donationer     Påverkan     Jag vill hjälpa till!     Om projektet     FAQ     In English    
  Projektet     2013     2015     2016     Tidslinje över stämningen     Tekniskt     FAQ     In English    
  Parametrar     Databas     Api     Wikipedianslutning     Licenser    

General

  • mySQL
  • engine=INNODB
  • CHARSET=utf8;

Tables

main

name type can be null? default references comment
id varchar(25) NOT NULL <none> Unikt id för konstverket
title varchar(255) NOT NULL "" Konstverkets namn
artist varchar(255) NOT NULL "" Konstnär(er)
descr text NOT NULL "" Beskrivning (fritext)
year smallint(4) NULL NULL årtal, NULL om okänd
year_cmt text NOT NULL "" Kommentar om årtalet. T.ex. uppförandeår, beställnigsår, ungefärligt, okänt.
type varchar(255) NOT NULL "" typ av konstverk
material varchar(255) NOT NULL "" material konstverket gjorts med/av
inside bit(1) NOT NULL <none> Flagga för inomhus eller utomhus, s/f =1/0 (för FoP)
address varchar(255) NOT NULL "" adress för konstverket
county varchar(2) NOT NULL <none> county.id länskod, 00 om okänd
muni smallint(4) NOT NULL <none> muni.id kommunkod, 0000 om okänd
district varchar(255) NOT NULL "" ort eller stadsdel
lat double NULL NULL WGS84 latitude (decimalform med . som decimaltecken)
lon double NULL NULL WGS84 longitud (decimalform med . som decimaltecken)
removed bit(1) NOT NULL 0 Flagga för om verket är borttagt, s/f =1/0
image varchar(255) NOT NULL "" Bildnamn på Commons
source varchar(25) NOT NULL <none> source.id Källa för info (organisation)
ugc bit(1) NOT NULL 0 Flagga för om det är originalinfo s/f =1/0
changed timestamp NOT NULL CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP Senast ändrad
created timestamp NOT NULL <none> Tidsstämpel för när objektet lades in i databasen (får rätt värde genom created_trigger)
wiki varchar(255) NOT NULL "" WikiData-id för konstverkets artikel
list varchar(255) NOT NULL "" Wikipedia-lista där konstverket nämns
commons_cat varchar(255) NOT NULL "" Objektspecifik kategori på Commons
official_url varchar(255) NOT NULL "" Officiell sida om objektet (på källans webplats)
same_as varchar(25) NULL NULL main.id Om samma objekt har två id (t.ex. kommit från både kommun- och länsdata)
free enum("","pd","cc","unfree") NOT NULL "" Om objektet är upphovsrättsligt fritt (i Sverige). "" om okänt.
owner varchar(255) NOT NULL "" Ägare av, eller ansvarig för, objektet
cmt text NOT NULL "" Kommentarer så som tillfälligt flyttad, stod tidigare någon annanstans

audit

name type can be null? default references comment
id varchar(25) NOT NULL <none> main.id Se motsvarande i main
title varchar(255) NOT NULL <none> Se motsvarande i main
artist varchar(255) NOT NULL <none> Se motsvarande i main
descr text NOT NULL <none> Se motsvarande i main
year smallint(4) NOT NULL <none> Se motsvarande i main
year_cmt text NOT NULL <none> Se motsvarande i main
type varchar(255) NOT NULL <none> Se motsvarande i main
material varchar(255) NOT NULL <none> Se motsvarande i main
inside bit(1) NOT NULL <none> Se motsvarande i main
address varchar(255) NOT NULL <none> Se motsvarande i main
county varchar(2) NOT NULL <none> county.id Se motsvarande i main
muni smallint(4) NOT NULL <none> muni.id Se motsvarande i main
district varchar(255) NOT NULL <none> Se motsvarande i main
lat double NULL <none> Se motsvarande i main
lon double NULL <none> Se motsvarande i main
source varchar(25) NOT NULL <none> source.id Se motsvarande i main
official_url varchar(255) NOT NULL <none> Se motsvarande i main
owner varchar(255) NOT NULL <none> Se motsvarande i main
cmt text NOT NULL <none> Se motsvarande i main
created timestamp NOT NULL CURRENT_TIMESTAMP tidsstämpel för när förändringen gentemot originalet skedde

artist

name type can be null? default references comment
id int NOT NULL AUTO_INCREMENT Unikt id för konstnären
first_name varchar(255) NOT NULL <none> Förnamn (eller hela namnet om uppdelningen är okänd)
last_name varchar(255) NOT NULL "" Efternamn
wiki varchar(255) NOT NULL "" Wikidata-id för konstnärsartikeln
changed timestamp NOT NULL CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP Senast ändrad
birth_date date NULL NULL Födelsedatum (ÅÅÅÅMMDD)
death_date date NULL NULL Dödsdatum (ÅÅÅÅMMDD)
birth_year int(4) NULL NULL Födelsedatum (ÅÅÅÅ). Fylls automatiskt i om birth_date.
death_year int(4) NULL NULL Dödsår (ÅÅÅÅ). Fylls automatiskt i om death_date
creator varchar(255) NOT NULL "" Creator-mall på Commons
cmt text NOT NULL "" Kommentar om artisten (t.ex. källa för informationen etc.)

source

name type can be null? default references comment
id varchar(25) NOT NULL <none> Unikt id för källan
name varchar(255) NOT NULL <none> Källans hela namn
wiki varchar(255) NOT NULL "" Wikidata-id för källan
real_id bit(1) NOT NULL 1 Försåg de oss med egna id? s/f = 1/0
url varchar(255) NOT NULL "" Källans webbsida
changed timestamp NOT NULL CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP Senast ändrad
cmt text NOT NULL "" Kommentar om datakällan (t.ex. bara utomhusföremål, bara ägda av kommunene etc.)

muni

name type can be null? default references comment
id smallint(4) NOT NULL <none> Kommunkod
name varchar(255) NOT NULL <none> Kommunnamn (utan genitiv eller "kommun")
wiki varchar(255) NOT NULL "" Wikidata-id för kommunartikeln

county

name type can be null? default references comment
id varchar(2) NOT NULL <none> Länskod
name varchar(255) NOT NULL <none> Länsnamn (utan genitiv eller "län")
wiki varchar(255) NOT NULL "" Wikidata-id för länsartikeln

artist-links

name type can be null? default references comment
object varchar(25) NOT NULL <none> main.id objekt-id
artist int NOT NULL <auto-increment> artist.id Konstnärs-id

aka

name type can be null? default references comment
id int NOT NULL <auto-increment> aka-id
title varchar(255) NOT NULL <none> alternativ titel
main_id varchar(25) NOT NULL <none> main.id objekt-id

ugc

name type can be null? default references comment
num int NOT NULL <auto-increment> numerisk del av UGC-id
list varchar(255) NOT NULL <none> Listan där objektet först identifierades
same_as varchar(25) NULL NULL Värde för ersättande id. NULL för aktiv, tom för raderat objekt utan ersättare
changed timestamp NOT NULL CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP Senast ändrad

Triggers

created (main)

Denna aktiveras när ett nytt objekt läggs till i main.

Fyller i created med CURRENT_TIMESTAMP.

Används för att ta sig runt begränsningen i att enbart ett fält (changed) normalt sätt kan få värdet CURRENT_TIMESTAMP.

audit (main)

Denna aktiveras när ett objekt ändras i main.

  • Om ugc=0 före ändringen och inte source='UGC'.
    • Om något av fälten som finns i audit ovan har ändrats skapas ett identiskt objekt i audit-tabellen med samma id. ugc sätts till 1 och uppdateringen utförs.
    • Om enbart fält som ej finns i audit ändrats sker uppdateringen, audit-tabellen lämnas orörd och ugc förblir 0.
  • Om ugc=1 före ändringen.
    • Om alla värdena i audit-tabellen för samma id har samma värden som objektet efter uppdateringen raderas audit-objektet med detta id. ugc sätts till 0 och uppdateringen utförs.
    • Om något av värdena i audit-tabellen för samma id förblir olika sker uppdateringen, audit-tabellen lämnas orörd och ugc förblir 1.

Detta är mekanismen för att särskilja användargenererad (UGC) information från den "officiella" informationen.

date (artist)

Fyller automatiskt i birth_year/death_year om birth_date/death_date anges eller uppdateras.

Notera att om enbart år anges så förblir datum oifyllt.

Views

official_strict

Visar inte objekt med "source=UGC".

Om ugc=1 ger denna samma som audit men med image, wiki, list, removed, commons_cat, same_as och free="" samt ugc och created med samma värde som i main.

Om ugc=0 ger denna samma som main men med image, wiki, list, removed, commons_cat, same_as och free="".

official_enhanced

Visar inte objekt med "source=UGC".

Om ugc=1 ger denna samma som audit med den skillnad att fält som är tomma ersätts av värdet i main.

Om ugc=0 ger denna samma som main.

normal

Ger samma som main. Används i dagsläget inte, finns för kompatibilitetsskäl.