/
Lägga till gemensamma uppslagstabeller för SIV

Lägga till gemensamma uppslagstabeller för SIV

Här samlas de SQL frågor som behövs för att skapa gemensamma uppslagstabeller för SIV

Öppna databas där SIV finns. I detta exempel har Dbeaver används som verktyg men PSQL går lika bra

Schema skfab innehåller SIV databasen. Temporärt schema matchning skapas

create schema matchning; --drop schema matchning cascade;

Skadekategorier

Tabell för att lagra gemensamma kategorier (categories_generic). De finns på svenska , norska och engelska

/* create and update table matchning.categories_generic */ create table matchning.types_generic ( id serial, namn_sv text, namn_no text, namn_en text ); -- drop table matchning.types_generic

De vanligast förkommande categorizer hämtas in från SIV kategorier. De som förkommer mer än tre gånger. Översättning sker till norska och svenska. Norska orden används också vid konverteringen

INSERT INTO matchning.categories_generic (namn_sv) select q.name from ( select name, count(1) as number from skfab.damage_categories c group by 1 order by 2 desc ) q where number > 2 and name <> '-odefinierad-' update matchning.categories_generic set namn_no = 'Uhell', namn_en ='Accident' where namn_sv = 'Olyckshändelse' update matchning.categories_generic set namn_no = 'Ansvar', namn_en ='Liability' where namn_sv = 'Ansvar' update matchning.categories_generic set namn_no = 'Egendom', namn_en ='Property' where namn_sv = 'Egendom' update matchning.categories_generic set namn_no = 'Med overlegg', namn_en ='Intent' where namn_sv = 'Uppsåt' --select * from matchning.categories_generic

Tabellen som skapas ser ut så här

Id

namn_sv

namn_no

namn_en

Id

namn_sv

namn_no

namn_en

4

Olyckshändelse

Uhell

Accident

1

Ansvar

Ansvar

Liability

3

Egendom

Egendom

Property

2

Uppsåt

Med overlegg

Intent

Nästa steg är att skapa en kors-referens-tabell med hjälp av befintlig kategoritabell (skfab.damage_categories) och sen lägga till en kolumn med referens till den generiska tabellen

Uppdaterakors-referens-tabell categories_crossref så att all kategorier matchar varandra

För att testa att allt är matchat så används

Skadetyper

Samma procedur används för skadetyper

Tabellen ser ut så här

id

namn_sv

namn_no

namn_en

id

namn_sv

namn_no

namn_en

1

Skadegörelse

Vandalism

Vandalism

2

Vatten

Vann

Water

3

Glaskross

Glassknuser

Glass breaker

4

Klotter

Doodle

Doodle

5

Inbrott

Innbrudd

Burglary

6

Ansvar

Ansvar

Liability

7

Brand

Brann

Fire

8

Stöld

Tyveri

Theft

9

Övrigt

Annet

Other

10

Skada

Skade

Damage

Skapa en kors-referens-tabell med hjälp av befintlig typ-tabell

Uppdatera de vanligaste och komplettera sen uppdateringen med de udda

Verksamheter

Generiska verksamheter har tagits fram genom att titta på kommunernas hemsidor och använda samma och ganska grova indelning.

Generisk tabell för verksamheter skapas och där de framtagna verksamheterna läggs in

En referenstabell skapas och kommunerna befintliga verksamheter matchas med de generiska. Detta är ett tolkningsarbete

Tabellerna skfab.damage_categories, skfab.damage_types och skfab.operation_types uppdateras alla med en ny kolumn generic. Värden från den tillfälliga tabellerna matchning.categories_crossref och matchning.types_crossref uppdaras till skfab.damage_categories och skfab.damage_types

Redigerings- och sökformulär måste också uppdateras

Generiska tabeller flyttas till skfab

Testning

Nu testas att skriva ut skador med generiska kategorier och typer

Grupper på kategorier och typer med antal och total skadekostnad

Stäng och ta bort tillfälligt schema

Med cascade tas både schema och dess tabeller bort

Related content

Admin: uppdatering av SIV 2024
Admin: uppdatering av SIV 2024
More like this
Lägga till Regso och Deso
Lägga till Regso och Deso
More like this
Konfiguration
Konfiguration
More like this
Metada för skador
Metada för skador
More like this
Lantmäteriet Data Connection
Lantmäteriet Data Connection
More like this
Uppdateringar av InternGIS plattform
Uppdateringar av InternGIS plattform
More like this