Databasmodell

Här är ett förslag på SQL-kommandon för att skapa en databasmodell.

SQL-kommandona är automatgenererade och kan behöva trimmas och anpassas beroende på vilken databashanterare som används.

CREATE TABLE dokument (
hangar_id int,
dok_id nvarchar(255),
rm nvarchar(255),
beteckning nvarchar(255),
typ nvarchar(255),
subtyp nvarchar(255),
doktyp nvarchar(255),
typrubrik nvarchar(255),
dokumentnamn nvarchar(255),
debattnamn nvarchar(255),
tempbeteckning nvarchar(255),
organ nvarchar(255),
mottagare nvarchar(255),
nummer int,
slutnummer int,
datum datetime,
systemdatum datetime,
publicerad datetime,
titel nvarchar(255),
subtitel nvarchar(255),
status nvarchar(255),
htmlformat nvarchar(255),
relaterat_id nvarchar(255),
source nvarchar(255),
sourceid nvarchar(255),
dokument_url_text nvarchar(255),
dokument_url_html nvarchar(255),
dokumentstatus_url_xml nvarchar(255),
utskottsforslag_url_xml nvarchar(255),
html ntext
);

CREATE TABLE dokutskottsforslag (
hangar_id int,
punkt int,
rubrik nvarchar(255),
forslag nvarchar(255),
beslutstyp nvarchar(255),
motforslag_nummer int,
motforslag_partier nvarchar(255),
votering_id nvarchar(255),
votering_sammanfattning_html nvarchar(255),
votering_url_xml nvarchar(255),
rm nvarchar(255),
bet nvarchar(255),
vinnare nvarchar(255)
);

CREATE TABLE dokmotforslag (
hangar_id int,
nummer int,
rubrik nvarchar(255),
partier nvarchar(255),
typ nvarchar(255),
utskottsforslag_punkt int,
);

CREATE TABLE dokaktivitet (
hangar_id int,
kod nvarchar(255),
namn nvarchar(255),
datum datetime,
status nvarchar(255),
ordning nvarchar(255),
process nvarchar(255)
);

CREATE TABLE dokintressent (
hangar_id int,
intressent_id nvarchar(255),
namn nvarchar(255),
partibet nvarchar(255),
ordning int,
roll nvarchar(255)
);

CREATE TABLE dokforslag (
hangar_id int,
nummer int,
beteckning nvarchar(255),
lydelse nvarchar(255),
lydelse2 nvarchar(255),
utskottet nvarchar(255),
kammaren nvarchar(255),
behandlas_i nvarchar(255),
behandlas_i_punkt nvarchar(255),
kammarbeslutstyp nvarchar(255),
intressent nvarchar(255),
avsnitt nvarchar(255),
grundforfattning nvarchar(255),
andringsforfattning nvarchar(255)
);
CREATE TABLE dokuppgift (
hangar_id int,
kod nvarchar(255),
namn nvarchar(255),
text ntext,
dok_id nvarchar(255),
systemdatum datetime
);

CREATE TABLE dokbilaga (
hangar_id int,
dok_id nvarchar(255),
titel nvarchar(255),
subtitel nvarchar(255),
filnamn nvarchar(255),
filstorlek int,
filtyp nvarchar(255),
fil_url nvarchar(255)
);

CREATE TABLE dokreferens (
hangar_id int,
referenstyp nvarchar(255),
uppgift nvarchar(255),
ref_dok_id nvarchar(255),
ref_dok_typ nvarchar(255),
ref_dok_rm nvarchar(255),
ref_dok_bet nvarchar(255),
ref_dok_titel nvarchar(255),
ref_dok_subtitel nvarchar(255),
ref_dok_subtyp nvarchar(255),
ref_dok_dokumentnamn nvarchar(255)
);

CREATE TABLE debatt (
hangar_id int,
video_id nvarchar(255),
video_url nvarchar(255),
startpos int,
tumnagel nvarchar(255),
tumnagel nvarchar(255),
tumnagel_stor nvarchar(255),
anf_video_id nvarchar(255),
anf_hangar_id int,
anf_sekunder int,
anf_klockslag nvarchar(255),
datumtid datetime,
anf_datum datetime,
anf_typ nvarchar(255),
anf_text nvarchar(255),
anf_beteckning nvarchar(255),
anf_nummer nvarchar(255),
talare nvarchar(255),
intressent_id nvarchar(255),
parti nvarchar(255),
anf_rm nvarchar(255)
);

CREATE TABLE votering (
rm nvarchar(255),
beteckning nvarchar(255),
hangar_id int,
votering_id nvarchar(255),
punkt int,
namn nvarchar(255),
intressent_id nvarchar(255),
parti nvarchar(255),
valkrets nvarchar(255),
valkretsnummer int,
iort nvarchar(255),
rost nvarchar(255),
avser nvarchar(255),
votering nvarchar(255),
banknummer int,
fornamn nvarchar(255),
efternamn nvarchar(255),
kon nvarchar(255),
fodd int,
datum datetime
);

CREATE TABLE anforande (
dok_hangar_id int,
dok_id varchar(50),
dok_titel varchar(255),
dok_rm varchar(20),
dok_nummer int,
dok_datum datetime,
avsnittsrubrik varchar(255),
underrubrik varchar(255),
kammaraktivitet varchar(250),
anforande_id varchar(50),
anforande_nummer int,
talare varchar(250),
parti varchar(50),
anforandetext ntext,
intressent_id varchar(50),
rel_dok_id (varchar(50),
replik char(1),
systemdatum datetime
);

CREATE TABLE person (
intressent_id varchar(20),
född_år smallint,
kön varchar(6),
efternamn nvarchar(50),
tilltalsnamn nvarchar(50),
sorteringsnamn varchar(80),
iort varchar(40),
parti varchar(40),
valkrets varchar(50),
status varchar(100),
);

CREATE TABLE personuppdrag (
organ_kod varchar(20),
roll_kod varchar(40),
ordningsnummer int,
status varchar(20),
typ varchar(20),
[from] datetime,
tom datetime,
uppgift varchar(500),
intressent_id varchar(50)
);

CREATE TABLE personuppgift (
uppgift_kod varchar(50),
uppgift ntext,
uppgift_typ varchar(50),
intressent_id varchar(50)
);

CREATE TABLE planering (
nyckel int,
id varchar(50),
rm varchar(12),
typ varchar(40),
dokserie_id char(2),
subtyp varchar(40),
bet varchar(40),
tempbet varchar(40),
intressent varchar(80),
nummer int,
slutnummer int,
datum datetime,
publicerad datetime,
status varchar(40),
titel nvarchar(300),
subtitel nvarchar(255),
html ntext,
toc ntext,
refcss nvarchar(66),
url nvarchar(100),
uppdaterad datetime,
storlek int,
source varchar(20),
wn_expires datetime,
wn_cachekey varchar(50),
wn_status varchar(20),
wn_checksum varchar(40),
wn_nid int,
wn_RawUrl varchar(255),
wn_SourceID varchar(80),
timestamp datetime,
rel_id varchar(50),
klockslag varchar(10),
grupp varchar(20),
format varchar(20),
intressent_id char(13),
mottagare_id char(13),
mottagare varchar(80),
hangar_id int,
plats varchar(150),
slutdatum datetime,
webbtvlive tinyint
);

CREATE TABLE organ (
id int,
kod varchar(50),
namn varchar(100),
typ varchar(50),
status varchar(12),
sortering int,
namn_en varchar(100),
domän varchar(50),
beskrivning varchar(1000)
);

CREATE TABLE roll (
pk int,
kod varchar(50),
namn varchar(100),
sort int
);

CREATE TABLE riksmote (
pk int,
riksmote varchar(20),
id varchar(3),
start datetime,
slut datetime,
mandatperiod varchar(20)
);