Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Digital arkivdanning og -bevaring

Liknende presentasjoner


Presentasjon om: "Digital arkivdanning og -bevaring"— Utskrift av presentasjonen:

1 Digital arkivdanning og -bevaring
Databaser og Noark 5 ARK1400 Digital arkivdanning og -bevaring V 2018 Thomas Sødring P48-R407

2 Kjernen i arkivering Verdi som bevis Referanse Kontekst Proveniens
Integritet Autentisitet Referanse Proveniens Struktur Stabilitet Kontekst Arkivdoumenter er en entydig identifiserbare, det som er dupliakt eller versjon må skilles fra originalen Hvem som har skap materialet, historikken til det, hvem har laget et uttrekk og informasjon om prossesen Intern og ekstern kontekst. Elemtener av struktur (koblinger eller rekkefølge, gruppering)/kontekst (forfatter) I et dokument eller mellom dokumenter Stabilitet 'fryser' dokumentet for uautorisert endringer. Skal være mulig kontrollere dette (typisk gjordt med sjekksum) men kan også være signering via PKI. Disse elementene gir et nivå av integritet til materialet samtidig som det underbygger et nivå av autentisitet. Det er dette som gir materialet verdi som bevis. [d] Verdi som bevis

3 Ville du stolt på et dokument herfra?

4 Arkivet ble digital Men vi glemte kjernen i arkivering, vi glemte det som gir materialet verdi som bevis Vi har dannet rettighetsdokumentasjon i 30 år med forskjellige systemer og vi vet ikke hva vi har eller hva vi ikke har [d] [f]

5 Noark 5

6 Noark 5 indre kjerne Grunnlegende funksjonalitet for journalføring og arkivering Metadata Arkivstruktur Regelverk for arkiv Og krav til moduler Datafangst Søking / fremhenting / vising Administrasjon av kjernen Bevaring og kassasjon Avlevering

7 «Arkiv» oppleves som to distinkte faser
Arkivdanning Materialet oppstår og er i daglig bruk og fungerer som dokumentasjon Arkivbevaring Materialet er ikke lenger i daglig bruk, men fortsatt fungerer det som dokumentasjon og har også forskningsverdi To sider av samme sak

8 ? Danning og bevaring Vi kan kun bevare det vi danner
Er det danning som bestemmer bevaring? Er bevaring som skal bestemme danning Kun danne (i arkivet) det vi skal bevare (i arkivet) Danning og bevaring må sees som en felles prosess – ikke alle er enige ? arkivdanning arkivbevaring

9 Hva er Noark? Hovedmålene med Noark må være at arkivmateriale
arkivdel mappe registrering dokument beskrivelse object Electronic klassifikasjon klasse Hovedmålene med Noark må være at arkivmateriale har verdi som bevis kan trekkes ut og lagres på en kostnadseffektiv måte Rosa er en slags overodnet struktur, informasjon på en macro nivå. De gule sier noe mye mer detaljert om skasgangen. Strukturering av informasjon på micro nivå. Begge er kontekst, men det ligger også litt proveniens i de Electronic dokument er alt fra en Word dokument til en blogginnlgg, til en video, en facebook innlegg til en SMS/MMS. Jens Stoltenberg / Rune Bjerke dokument er ikke begrenset til en A4-ark. Det som er arkiverdig er teknologi uavhengig, men teknologi bryr seg ikke om arkiveringsbehov Det handler å sikre at materialet har value som bevis. En mappe av alle Stoltenberg sine SMSer vil ikke nødvendigvis ha value som bevis

10 Klassisk arkivstruktur
arkivdel Arkiv og arkivdel vil typisk danne en organisatorisk kontekst Klassifikasjon og klasse vil typisk danne en funksjonell kontekst Mappe og registrering danner en transaksjons kontekst Dokumentbeskrivelse and dokumentobjekt danner en dokument kontekst klassifikasjon klasse mappe registrering Rosa er en slags overodnet struktur, informasjon på en macro nivå. De gule sier noe mye mer detaljert om skasgangen. Strukturering av informasjon på micro nivå. Begge er kontekst, men det ligger også litt proveniens i de Electronic dokument er alt fra en Word dokument til en blogginnlgg, til en video, en facebook innlegg til en SMS/MMS. Jens Stoltenberg / Rune Bjerke dokument er ikke begrenset til en A4-ark. Det som er arkiverdig er teknologi uavhengig, men teknologi bryr seg ikke om arkiveringsbehov Det handler å sikre at materialet har value som bevis. En mappe av alle Stoltenberg sine SMSer vil ikke nødvendigvis ha value som bevis dokument beskrivelse dokument objekt Electronisk dokument

11 arkiv Arkiv er det øverste nivået i arkivstrukturen
Normalt vil det opprettes ett arkiv i løsning og inngå inndeling i form av arkivdel og bruken av klassifikasjonsystem Kjernen skal støtte underarkiv som er nyttig hvis feks flere kommuner deler samme løsning

12 Arkiv og arkivdel

13 Entydig identifikasjon av arkivenheter
Alle arkivenheter unntatt dokumentobjekt skal ha en entydig identifikasjon Identifikator skal være unik innenfor det arkivskapende organet Eksempel på gode identifikatorer? f81d4fae-7dec-11d0-a765-00a0c91e6bf6 Universally unique identifier (UUID) Behøver ikke være UUID men UUID vil være en god identifikator for Noark Lite sannsynlig at to arkivenheter i samme organisasjon vil få samme identifikator

14 UUID Baksiden av UUID er at det er uten referanse til arkivskaper feks Trondheim kommune Men saksmappe eller journalpost er også det, du må jo vite konteksten til materialet du ser på

15 Metadata for arkiv Nr. Navn Forek. Datatype M001 systemID 1
Tekststreng M020 tittel M021 beskrivelse 0-1 M050 arkivstatus M300 dokumentmedium M301 oppbevaringssted 0-M M600 opprettetDato Dato og klokkeslett M601 opprettetAv M602 avsluttetDato M603 avsluttetAv

16 DDL arkiv CREATE TABLE arkiv ( systemID CHAR(36),
tittel VARCHAR(100) NOT NULL, beskrivelse VARCHAR(100), arkivstatus CHAR(20), dokumentmedium VARCHAR(50), opprettetDato DATETIME NOT NULL, opprettetAv VARCHAR(100) NOT NULL, avsluttetDato DATETIME, avsluttetAv VARCHAR(100) ) ;

17 DDL arkiv med primærnøkkel
CREATE TABLE arkiv ( systemID CHAR(36) PRIMARY KEY, tittel VARCHAR(100) NOT NULL, beskrivelse VARCHAR(100), arkivstatus CHAR(20), dokumentmedium VARCHAR(50), opprettetDato DATETIME NOT NULL, opprettetAv VARCHAR(100) NOT NULL, avsluttetDato DATETIME, avsluttetAv VARCHAR(100) );

18 DDL arkiv med primærnøkkel
CREATE TABLE arkiv ( systemID CHAR(36), tittel VARCHAR(100) NOT NULL, beskrivelse VARCHAR(100), arkivstatus CHAR(20), dokumentmedium VARCHAR(50), opprettetDato DATETIME NOT NULL, opprettetAv VARCHAR(100) NOT NULL, avsluttetDato DATETIME, avsluttetAv VARCHAR(100), PRIMARY KEY (systemID) );

19 Noen spørsmål Hvorfor bruker vi DATETIME?
Hva med DATE, TIME eller TIMESTAMP? CHAR eller VARCHAR? Hvorfor har noen NOT NULL Hva er implikasjonen av NOT NULL?

20 arkivskaper Arkiv skapes tradisjonelt sett av organisasjoner men med elektronisk arkivdanning er det enklere for arkivdanning på tvers av organisasjoner Utlendingsforvaltningen (som er en funksjon) kan utgjøre et arkiv hvor organene Utlendings­ direktoratet, Utlendingsnemnda, Integrerings- og mangfoldsdirektoratet, utenriksstasjonene og politiet sammen er arkivskapere

21 Metadata for arkivskaper
Nr. Navn Forek Avl Datatype M006 arkivskaperID 1 A Tekststreng M023 arkivskaperNavn M021 beskrivelse 0-1

22 arkivdel Arkivdeler brukes for å dele opp eller gruppere arkivet etter noen overordnede kriterier Skille mellom aktivt arkiv og avsluttede arkivperioder Viktige funksjoner i forbindelse med periodisering og produksjon av avleveringsuttrekk er knyttet til dette Skille mellom mapper (saker) som skal periodiseres etter forskjellige prinsipper Mange ønsker f.eks. å beholde personalmapper i et aktiv arkiv så lenge en person er ansatt

23 arkivdel Skille mellom saker som er klassifisert etter forskjellige prinsipper Dette er mest aktuelt ved fysisk arkivering Feks hvor saksmapper og personalmapper oppbevares på forskjellig sted Ved elektronisk arkivering vil inndeling i forskjellige klassifikasjonssystemer ivareta dette behovet

24 arkivdel Skille mellom elektronisk arkiv og fysisk arkiv
Hovedregelen er at hele mapper må enten være fysiske eller elektroniske Men dersom et stort vedlegg (f.eks. en trykksak) ikke er blitt skannet, kan også fysiske dokumenter forekomme sammen med elektroniske dokumenter i samme registrering (journalpost)

25 arkivdel Skille mellom sakarkiv og andre typer arkiver, f.eks. arkiver tilknyttet fagsystemer Noen vil ha behov for et klart skille mellom de administrative sakene og fagsakene Det vil også være et behov for å skille ut møtedokumenter Skille mellom dokumenttyper som skal bevares og dokumenter som skal kasseres

26 Metadata for arkivdel Nr. Navn Forek Datatype M001 systemID 1
Tekststreng M020 tittel M021 beskrivelse 0-1 M051 arkivdelstatus M300 dokumentmedium M301 oppbevaringssted 0-M M600 opprettetDato Dato og klokkeslett M601 opprettetAv M602 avsluttetDato M603 avsluttetAv M107 arkivperiodeStartDato Dato M108 arkivperiodeSluttDato M202 referanseForloeper arkivdel.systemID M203 referanseArvtaker

27 DDL arkivdel CREATE TABLE arkivdel ( systemID CHAR(36),
tittel VARCHAR(100) NOT NULL, beskrivelse VARCHAR(100), arkivdelstatus CHAR(20) NOT NULL, dokumentmedium VARCHAR(50), opprettetDato DATETIME NOT NULL, opprettetAv VARCHAR(100) NOT NULL, avsluttetDato DATETIME, avsluttetAv VARCHAR(100), arkivperiodeStartDato DATE, arkivperiodeSluttDato DATE, referanseForloeper CHAR(36), referanseArvtaker CHAR(36), PRIMARY KEY (systemID) );

28 1 1..* arkiv arkiv arkivdel klassifikasjons system arkivdel klasse
mappe registrering dokument beskrivelse dokument objekt elektronisk dokument

29 DDL arkivdel med fremmednøkkel
CREATE TABLE arkivdel ( systemID CHAR(36), tittel VARCHAR(100) NOT NULL, beskrivelse VARCHAR(100), arkivdelstatus CHAR(20) NOT NULL, dokumentmedium VARCHAR(50), opprettetDato DATETIME NOT NULL, opprettetAv VARCHAR(100) NOT NULL, avsluttetDato DATETIME, avsluttetAv VARCHAR(100), arkivperiodeStartDato DATE, arkivperiodeSluttDato DATE, referanseForloeper CHAR(36), referanseArvtaker CHAR(36), referanseArkiv CHAR(36), PRIMARY KEY (systemID) ); Ikke en del av Noark standarden

30 Noen spørsmål referanseForloeper or referanseArvtaker
arkivperiodeStartDato arkivperiodeSluttDato Hva er disse sammenlignet med opprettetDato 1 2 3

31 opprettet og avsluttet
Hva egentlig er opprettetDato og avsluttetDato For arkiv, arkivdel osv Det sier noe om når informasjonen ble lagt inn i databasen Duranti påpeker langt flere datoer som er viktig Opprettet, sist tilgang, sist endring

32 klassifikasjonssystem
arkiv arkivdel arkivdel 1..* klassifikasjons system 0 ..* klassifikasjonssystem klasse 1 mappe 1..* klasse registrering dokument beskrivelse ????? dokument objekt elektronisk dokument

33 DDL arkivdel med fremmednøkkel
CREATE TABLE arkivdel ( systemID CHAR(36), tittel VARCHAR(100) NOT NULL, beskrivelse VARCHAR(100), arkivdelstatus CHAR(20) NOT NULL, dokumentmedium VARCHAR(50), opprettetDato DATETIME NOT NULL, opprettetAv VARCHAR(100) NOT NULL, avsluttetDato DATETIME, avsluttetAv VARCHAR(100), arkivperiodeStartDato DATE, arkivperiodeSluttDato DATE, referanseForloeper CHAR(36), referanseArvtaker CHAR(36), referanseArkiv CHAR(36), referanseKlassifikasjonssystem CHAR(36), FOREIGN KEY (referanseArkiv) REFERENCES arkiv (systemID), FOREIGN KEY (referanseKlassifikasjonssystem) REFERENCES klassifikasjonssystem (systemID), PRIMARY KEY (systemID) );

34 Klassifikasjonssystem
Moderne arkivteori sier at arkivdanningen er utført med en funksjonsbasert klassifikasjonssystemet Dette hierarkiet av funksjoner, underfunksjoner og aktiviteter skal gjenspeiles i et funksjonsbasert klassifikasjonssystem Dokumenter som tilhører samme aktivitet knyttes sammen Forenkler gjenfinning Styre tilgang til dokumenter Brukes som utgangspunkt i bevaring og kassasjon

35 Klassifikasjonssystem
En annen sentral klassifikasjonssystem er objektbasert klassifikasjon Disse vanligvis består av bare ett nivå Objekter kan være Personer Virksomheter Eiendommer

36 Metadata for klassifikasjonssystem
Nr. Navn Forek Avl Datatype M001 systemID 1 A Tekststreng M086 klassifikasjonstype 0-1 A Tekststreng M020 tittel 1 A Tekststreng M021 beskrivelse 0-1 A Tekststreng M600 opprettetDato 1 A Dato og klokkeslett M601 opprettetAv 1 A Tekststreng M602 avsluttetDato 0-1 A Dato og klokkeslett M603 avsluttetAv 0-1 A Tekststreng

37 Klasse Et klassifikasjonssystem består vanligvis av klasser
Med funksjonsbasert klassifikasjon inngår klassene vanligvis i et hierarki tre eller fire nivåer er det vanlige Hierarki i klassifikasjon Nivå en beskriver typiske hovedfunksjoner Nivå to kan beskrive underfunksjoner Nivå tre prosessene eller aktiviteter som stadig gjentas Eksempel på identifikasjon og tittel på klasser og underklasser i statens fellesnøkkel: Første nivå: 2 Stillinger og personell Andre nivå: 2.3 Lønn og pensjon Tredje nivå: Arbeidsgiveravgift

38 Klassifikasjonssystem og klasse

39 DDL klassifikasjonssystem
CREATE TABLE klassifikasjonssystem( systemID CHAR(36), klassifikasjonstype VARCHAR(100), tittel VARCHAR(100), beskrivelse VARCHAR(100), opprettetDato DATETIME, opprettetAv VARCHAR(100), avsluttetDato DATETIME, avsluttetAv VARCHAR(100), PRIMARY KEY (systemID) );

40 Metadata for klasse Navn Forek Avl. Datatype systemID 1 A Tekststreng
klasseId tittel beskrivelse 0-1 opprettetDato Dato og klokkeslett opprettetAv avsluttetDato avsluttetAv

41 DDL klasse CREATE TABLE klasse ( systemID CHAR(36) NOT NULL,
klasseId CHAR(36) NOT NULL, tittel VARCHAR(100), beskrivelse VARCHAR(100), opprettetDato DATETIME NOT NULL, opprettetAv VARCHAR(100) NOT NULL, avsluttetDato DATETIME, avsluttetAv VARCHAR(100), referanseKlassifikasjonssystem CHAR(36), FOREIGN KEY (referanseKlassifikasjonssystem) REFERENCES klassifikasjonssystem (systemID), PRIMARY KEY (systemID) );

42 Veldig mye gjenbruk .. systemID, tittel, beskrivelse, opprettetDato, opprettetAv, avsluttetDato, avsluttetAv Hva slags verdi (arkiv) har disse feltene? I forhold til de forskjellige kontekstene vi har snakket om

43 arkiv arkivdel klassifikasjons system klasse mappe registrering
1 1 klassifikasjons system klasse 1 1 0..* mappe 0..* 1 0..* registrering 0 ..* 0..* dokument beskrivelse dokument objekt elektronisk dokument

44 Mappe En mappe grupperer dokumenter som på en eller annen måte hører sammen Dokumentene i en mappe bør utgjøre en instans av en aktivitet (med en definert begynnelse og slutt) feks enkeltsaker i sakarkiv Kan også legge alle dokumenter som omhandler et objekt i én mappe feks personalmapper Mapper må ha en egen identifikasjon som er unik innenfor arkivet (ikke organisasjonen?) Anbefales at saksmapper følger Noark 4 identifisering år/sekvensnummer Feks 2011/3869

45 Mappe og undermappe En mappe må støtte undermapper
Mest aktuelt å bruke undermapper i fagsystem som ofte grupperer etter innhold, ikke aktivitet f.eks. fakturaer, ordrer, korrespondanse osv Saksmappe og møtemappe er spesifisert, det kan komme flere spesialiseringer i senere versjoner av Noark ansettelsessak, byggesak, møte/utvalgssak, delingssak, plansak, landbrukssak osv

46 Mappe

47 Metadata for mappe Nr. Navn Forek Datatype M001 systemID 1 Tekststreng
mappeID M020 tittel M025 offentligTittel 0-1 M021 beskrivelse M022 noekkelord 0-M M300 dokumentmedium M301 oppbevaringssted M600 opprettetDato Dato og klokkeslett M601 opprettetAv M602 avsluttetDato M603 avsluttetAv M208 referanseArkivdel arkivdel.systemID M711 virksomhetsspesifikke Metadata Vilkårlig struktur

48 DDL mappe CREATE TABLE mappe ( systemID CHAR(36) NOT NULL,
mappeId CHAR(36) NOT NULL, tittel VARCHAR(100), offentligTittel VARCHAR(100), beskrivelse VARCHAR(100), dokumentmedium VARCHAR(50), opprettetDato DATETIME NOT NULL, opprettetAv VARCHAR(100) NOT NULL, avsluttetDato DATETIME, avsluttetAv VARCHAR(100), referanseArkivdel CHAR(36), referanseKlasse CHAR(36), FOREIGN KEY (referanseKlasse) REFERENCES klasse (systemID), FOREIGN KEY (referanseArkivdel) REFERENCES arkivdel (systemID), PRIMARY KEY (systemID) );

49 Mappe og arv

50 Metadata for saksmappe
Inkluderer all metadata fra Mappe Nr. Navn Forek Avl Datatype M011 saksaar 0-1 A Heltall M012 sakssekvensnummer M100 saksdato 1 Dato M305 administrativEnhet Tekststreng M306 saksansvarlig M308 journalenhet M052 saksstatus M106 utlaantDato M309 utlaantTil M209 referanseSekundaer Klassifikasjon 0-M klasse.systemID

51 Metadata for møtemappe
Nr. Navn Forek Avl Datatype M008 moetenummer 1 A Tekststreng M370 utvalg M102 moetedato Dato M371 moetested 0-1 M221 referanseForrigeMoete mappe.systemID M222 referanseNesteMoete Definert i ytrekjerne

52 referanseArkivdel Husk at Noark datamodellen er ikke begrenset til relasjonsmodellen, derfor er ikke referanse feltene markert blått i disse foilene en del av standarden Allikevel er referanseArkivdel en del av Noark 5 datamodellen og er en 0..M felt Dette betyr at den aktuelle enheten kan kobles til flere arkivdeler Jeg oppfatter referanseArkivdel mer som en sekundær struktur Hvordan slår det ut med periodisering?

53 registrering En aktivitet kan deles opp i flere trinn eller transaksjoner En registrering er en transaksjon (?) Vil ikke en mappe dokumentere en transaksjon? Innkommende brev Vurdering og godkjenning Utgående brev Registreringer må ha en egen identifikasjon som er unik innenfor arkivet (ikke organisasjonen?) Anbefales at journalposter følger Noark 4 og arver identifisering sekvensnummer/år-# Feks 3869/2011-8 Arkivdokumentet som dokumenter transaksjonen

54 Registrering Registrering bruker også arv
Registrering -> BasisRegistrering -> Journalpost Registrering -> BasisRegistrering -> MøteRegistrering En Registrering inneholder all metadata som er nødvendig for å knytte registreringen til arkivstrukturen Kan brukes for arkivering uten journalføring Slike dokumenter skal ikke kunne søkes fram etter innhold ikke inngå i den ordinære identifikasjonen (nummereringen) av journalposter Ikke komme på offentlig journal Men skal inngå i uttrekk hvis de har bevaringsverdi

55 Basisregistrering/Journalpost
Journalposten inneholder bl.a. metadata om korrespondanseparter (avsender og mottaker), og om saksbehandlere Journalpost er obligatorisk for sakarkiver Alle journalføringspliktige dokumenter i offentlig forvaltning skal registreres som journalposter og inngå i sakarkiv Basisregistrering en generell "innføring" i alle typer arkivsystemer, også de som ikke inneholder korrespondansebaserte dokumenter

56 registrering

57 Registrering og arv

58 Metadata for registrering
Nr. Navn Forek Avl Datatype M001 systemID 1 A Tekststreng M600 opprettetDato 1 A Dato og klokkeslett M601 opprettetAv 1 A Tekststreng M604 arkivertDato 1 A Dato og klokkeslett M605 arkivertAv 1 A Tekststreng M208 referanseArkivdel 0-M A arkivdel.systemID

59 DDL registrering CREATE TABLE registrering ( systemID CHAR(36),
opprettetDato DATETIME NOT NULL, opprettetAv VARCHAR(100) NOT NULL, arkivertDato DATETIME, arkivertAv VARCHAR(100), referanseArkivdel CHAR(36), referanseMappe CHAR(36), referanseKlasse CHAR(36), FOREIGN KEY (referanseArkivdel) REFERENCES arkivdel (systemID), FOREIGN KEY (referanseMappe) REFERENCES mappe (systemID), FOREIGN KEY (referanseKlasse) REFERENCES klasse (systemID), PRIMARY KEY (systemID) ); #Dette er 0-1, ikke 0-M

60 1..* 0 ..* 1 0 ..* arkiv registrering arkivdel klassifikasjons system
dokumentbeskrivelse klasse 1 mappe 0 ..* dokumentobjekt registrering dokument beskrivelse dokument objekt elektronisk dokument

61 Dokumentbeskrivelse/dokumentobjekt
Dokumentbeskrivelse er obligatorisk dersom en registrering kan inneholde mer enn ett enkeltdokument et enkeltdokument kan være knyttet til forskjellige registreringer Dokumentbeskrivelse kan inneholde en eller flere dokumentobjekter Feks et hoveddokument med flere vedlegg

62 Dokumentobjekt/Dokumentfil
Dokumentobjekt er det laveste metadatanivået i arkivstrukturen Et Dokumentobjekt skal referere til kun en dokumentfil Hvis det finnes flere versjoner av en dokumentfil så skal de lagres i hver sin Dokumentobjekt/Dokumentfil kobling Dokumentfiler vil enten lagres i databasen eller i et felleskatalog område

63 Dokumentbeskrivelse dokumentobjekt

64 Metadata for <dokumentbeskrivelse>
Nr. Navn Forek Datatype M001 systemID 1 Tekststreng M083 dokumenttype M054 dokumentstatus M020 tittel M021 beskrivelse 0-1 M024 forfatter 0-M M600 opprettetDato Dato og klokkeslett M601 opprettetAv M300 dokumentmedium M301 oppbevaringssted M208 referanseArkivdel arkivdel.systemID M217 tilknyttetRegistreringSom M007 dokumentnummer Heltall M620 tilknyttetDato M621 tilknyttetAv

65 DDL dokumentbeskrivelse
CREATE TABLE dokumentbeskrivelse ( systemID CHAR(36), dokumenttype VARCHAR(100) NOT NULL, dokumentstatus VARCHAR(100) NOT NULL, tittel VARCHAR(100), beskrivelse VARCHAR(100), forfatter VARCHAR(255), opprettetDato DATETIME, opprettetAv VARCHAR(100), dokumentmedium VARCHAR(50), referanseArkivdel CHAR(36), tilknyttetRegistreringSom VARCHAR(100) NOT NULL, tilknyttetDato DATETIME, tilknyttetAv VARCHAR(100), dokumentnummer INT, referanseMappe CHAR(36), referanseRegistrering CHAR(36), FOREIGN KEY (referanseMappe) REFERENCES mappe (systemID), FOREIGN KEY (referanseRegistrering ) REFERENCES registrering (systemID), PRIMARY KEY (systemID) ); #Dette er 0-1, ikke 1-M

66 Metadata for <dokumentobjekt>
Nr. Navn Forek. Datatype M005 versjonsnummer 1 Heltall M700 variantformat Tekststreng M701 format M702 formatDetaljer 0-1 M600 opprettetDato Dato og klokkeslett M601 opprettetAv M218 referanseDokumentfil Tekststreng (filkatalogstruktur + filnavn) M705 sjekksum M706 sjekksumAlgoritme M707 filstoerrelse

67 DDL dokumentobjekt CREATE TABLE dokumentobjekt( systemID CHAR(36),
versjonsnummer INT NOT NULL, variantformat VARCHAR(255) NOT NULL, format VARCHAR(255) NOT NULL, formatDetaljer VARCHAR(255) , opprettetDato DATETIME NOT NULL, opprettetAv VARCHAR(255) NOT NULL, referanseDokumentfil VARCHAR(255) NOT NULL, sjekksum VARCHAR(255) NOT NULL, sjekksumAlgoritme VARCHAR(255) NOT NULL, filstoerrelse VARCHAR(255) NOT NULL, referanseDokumentbeskrivelse CHAR(36), PRIMARY KEY (systemID), FOREIGN KEY (referanseDokumentbeskrivelse) REFERENCES dokumentbeskrivelse (systemID) );

68 INSERT INTO TABELL (attributtliste) VALUES (verdiliste);

69 INSERT arkiv INSERT INTO arkiv ( systemID, tittel,
beskrivelse, arkivstatus, dokumentmedium, opprettetDato, opprettetAv) VALUES ( "b1b6b3f b3d9-4ebf c", "HiOA Arkivet", "Test arkiv for kurs", "Opprettet", "Elektronisk arkiv", " ", "admin" );

70 INSERT arkivdel INSERT INTO arkivdel ( systemID, tittel, beskrivelse,
arkivdelstatus, dokumentmedium, opprettetDato,opprettetAv, arkivperiodeStartDato, referanseArkiv ) VALUES ( "6cf257fc-262b-4a40-9e00-766d718d8a64", "Arkivdel 1", null, "Aktiv periode", "Elektronisk arkiv", " ", "admin", " ", "b1b6b3f b3d9-4ebf c" );

71 UPDATE SET WHERE;

72 UPDATE TABELL SET Attributt='verdi' WHERE;

73 UPDATE arkivdel UPDATE arkivdel SET
beskrivelse = "Oppdatert beskrivelse" WHERE systemID = "6cf257fc-262b-4a40-9e00-766d718d8a64"; arkivdelstatus = "Avsluttet periode" arkivdelstatus = "Aktiv periode";

74 DELETE FROM WHERE;

75 DELETE FROM TABELL WHERE;

76 DELETE arkivdel # Fungerer dette? DELETE FROM arkiv WHERE
systemID = "b1b6b3f b3d9-4ebf c"; # Hva med dette? DELETE FROM arkivdel WHERE systemID = "6cf257fc-262b-4a40-9e00-766d718d8a64";

77 SQL DISTINCT Det kan hende at du ønsker en liste over bare de forskjellige eller distinkte verdiene i en attributt / tabell Det er veldig nyttig å kunne identifisere de forskjellige filtypene i basen doc, docx, xls, pdf osv Det er også nyttig å kunne se hvilken status verdier er blitt brukt Liste over forskjellige dokumentstatus

78 SELECT med DISTINCT Lag en liste over filformater i databasen
SELECT DISTINCT format FROM dokumentobjekt; Lag en liste over dokumentstatus i databasen SELECT DISTINCT dokumentstatus FROM dokumentbeskivelse;

79 SELECT med ORDER BY DBHS returnerer resultater i samme rekkefølge som den henter data ut av tabellen Noen ganger er det ønskelig å kunne sortere disse resultatene

80 WHERE Attributt = 'verdi'
SELECT Attributt(er) FROM Relasjon WHERE Attributt = 'verdi' ORDER BY Attributt [ ASC | DESC ] ;

81 SELECT med Order By SELECT * FROM mappe WHERE opprettetDato
BETWEEN ' ' AND ' '; BETWEEN ' ' AND ' ' ORDER BY opprettetDato ASC; ORDER BY opprettetAv DESC;

82 SELECT og LIMIT Du kan begrense resultatsettet og spesifisere det maksimale antallet rader du vil ha tilbake SELECT * FROM mappe LIMIT 3 Du kan også feks begrense resultatsett ved å ignorere de første to og ta med de neste 5 SELECT * FROM mappe LIMIT 2,5

83 SQL GROUP BY En DBHS støtter en del innebygget beregningsfunksjoner
Disse er brukt sammen med GROUP BY klausulen AVG() MAX() MIN() COUNT() MySQL støtter langt flere enn disse Statistikk

84 SQL GROUP BY Dette er en veldig nyttig del av en DBHS og kan svare spørsmål som: Hvor mange biler er det for hver farge? Hvor mange biler av typen 'Volkswagen Golf' er det for hver farge? SELECT Farge, COUNT( * ) AS TOTAL FROM Bil GROUP BY Farge; SELECT Farge, COUNT( * ) AS 'Golf farger' FROM Bil WHERE Modell = 'Golf' GROUP BY Farge;

85 SQL og JOINs Så langt har vi sett på tabeller der all data er i en enkel tabell Dette tilsvarer jo flatefiler og viser ikke styrken i relasjonsmodellen som lar deg utføre spørringer som går på tvers av tabeller Data i tabeller kan kobles sammen på forskjellige måter Natural Join Anti Join Right Outer Join Left Outer Join Det er flere men vi holder oss til disse

86 SQL Natural Join En SQL Natural join mellom to tabeller A og B, er settet av alle kombinasjoner av tupler i A som har matchende tupler i B på felles attributten Lag en liste over registreringer og mapper SELECT * FROM registrering, mappe WHERE registrering.referanseMappe = mappe.systemID; eller SELECT * FROM registrering JOIN mappe ON registrering.referanseMappe = mappe.systemID;

87 SQL Natural Join ⋈ registrering mappe systemID Mappe 1 tittel Mappe 3
18f e a-eb448adcbcb6 opprettetDato systemID tsodring opprettetAv 4a56e5f7-5ced-4492-b5f3-e75e76d273f0 305f27f7-81df-4a91-bfdf-cdccf2030a33 55968a3c-62e8-4ab1-b3c0-473bd7c8314d 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 abab3072-bd8b-4987-b851-6bec28e4e992 2ee3f640-f9ce-4dda-a05b-285a6b28788d referanseMappe registrering 4a56e5f7-5ced-4492-b5f3-e75e76d273f0 mappe systemID Mappe 1 tittel 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 Mappe 3 2ee3f640-f9ce-4dda-a05b-285a6b28788d Mappe 2 4a56e5f7-5ced-4492-b5f3-e75e76d273f0 Mappe 1 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 Mappe 3 systemID tittel opprettetAv 18f e a-eb448adcbcb6 opprettetDato tsodring 305f27f7-81df-4a91-bfdf-cdccf2030a33 55968a3c-62e8-4ab1-b3c0-473bd7c8314d abab3072-bd8b-4987-b851-6bec28e4e992 2ee3f640-f9ce-4dda-a05b-285a6b28788d registrering referanseMappe registrering ⋈ mappe Mappe 2

88 SQL Antijoin SELECT * FROM registrering
En SQL Antijoin mellom to tabeller A og B, er settet av alle kombinasjoner av tupler i A som ikke har matchende tupler i B på felles attributtet Denne typen join kan svare spørsmålet Hvilken registreringer har ingen mappe SELECT * FROM registrering WHERE (referanseMappe) NOT IN ( SELECT systemID FROM mappe);

89 Men først Men med referanseintegritet så kan ikke denne situasjonen oppstå Før vi går videre så er vi nødt til å slette en tuppel fra mappe tabellen Dette er imot referanseintegritet Vi må først fjerne begrensningen som ikke lar oss slette tuppelen DELETE FROM mappe WHERE systemID = '4a56e5f7-5ced-4492-b5f3-e75e76d273f0'; ALTER TABLE registrering DROP FOREIGN KEY registrering_ibfk_1;

90 Fjern Begrensing Hvis ALTER TABLE kommandoen ikke fungerte
Finn teksten med følgende CONSTRAINT _____ FOREIGN KEY Feks CONSTRAINT registrering_ibfk_1 FOREIGN KEY Utfør kommandoen: Nå kan du utføre: SHOW CREATE TABLE registrering; Disse skal være like!! ALTER TABLE registrering DROP FOREIGN KEY registrering_ibfk_1; DELETE FROM mappe WHERE systemID = '4a56e5f7-5ced-4492-b5f3-e75e76d273f0';

91 SQL AntiJoin ∆ registrering mappe systemID tittel Mappe 3 Mappe 2
18f e a-eb448adcbcb6 opprettetDato systemID tsodring opprettetAv 4a56e5f7-5ced-4492-b5f3-e75e76d273f0 305f27f7-81df-4a91-bfdf-cdccf2030a33 55968a3c-62e8-4ab1-b3c0-473bd7c8314d 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 abab3072-bd8b-4987-b851-6bec28e4e992 2ee3f640-f9ce-4dda-a05b-285a6b28788d referanseMappe registrering mappe systemID tittel 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 Mappe 3 2ee3f640-f9ce-4dda-a05b-285a6b28788d Mappe 2 registrering mappe registrering systemID systemID opprettetDato opprettetDato opprettetAv opprettetAv referanseMappe opprettetAv 18f e a-eb448adcbcb6 18f e a-eb448adcbcb6 tsodring tsodring 4a56e5f7-5ced-4492-b5f3-e75e76d273f0 4a56e5f7-5ced-4492-b5f3-e75e76d273f0 305f27f7-81df-4a91-bfdf-cdccf2030a33 305f27f7-81df-4a91-bfdf-cdccf2030a33 tsodring tsodring 4a56e5f7-5ced-4492-b5f3-e75e76d273f0 4a56e5f7-5ced-4492-b5f3-e75e76d273f0

92 SQL Left Outer Join En SQL Left Outer Join mellom to tabeller, A og B, er settet av alle kombinasjoner av tupler i begge tabeller (A og B) som er lik på felles attributtet og de tuplene i A som ikke har matchende tupler i B SELECT * FROM registrering LEFT OUTER JOIN mappe ON registrering.referanseMappe = mappe.systemID;

93 ⟕ SQL Left Outer Join registrering mappe systemID tittel Mappe 3
18f e a-eb448adcbcb6 opprettetDato systemID tsodring opprettetAv 4a56e5f7-5ced-4492-b5f3-e75e76d273f0 305f27f7-81df-4a91-bfdf-cdccf2030a33 55968a3c-62e8-4ab1-b3c0-473bd7c8314d 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 abab3072-bd8b-4987-b851-6bec28e4e992 2ee3f640-f9ce-4dda-a05b-285a6b28788d referanseMappe registrering mappe systemID tittel 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 Mappe 3 2ee3f640-f9ce-4dda-a05b-285a6b28788d Mappe 2 null 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 Mappe 3 systemID tittel opprettetAv 18f e a-eb448adcbcb6 opprettetDato tsodring 4a56e5f7-5ced-4492-b5f3-e75e76d273f0 305f27f7-81df-4a91-bfdf-cdccf2030a33 55968a3c-62e8-4ab1-b3c0-473bd7c8314d abab3072-bd8b-4987-b851-6bec28e4e992 2ee3f640-f9ce-4dda-a05b-285a6b28788d registrering referanseMappe registrering ⟕ mappe Mappe 2

94 SQL Right Outer Join En SQL Right Outer Join mellom to tabeller, A og B, er settet av alle kombinasjoner av tupler i begge tabeller (A og B) som er lik på deres felles attributtet og de tuplene i B som ikke har tilsvarende tupler i A SELECT * FROM registrering RIGHT OUTER JOIN mappe ON registrering.referanseMappe = mappe.systemID;

95 ⟖ SQL Right Outer Join registrering mappe systemID tittel Mappe 3
opprettetDato systemID opprettetAv 55968a3c-62e8-4ab1-b3c0-473bd7c8314d tsodring 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 abab3072-bd8b-4987-b851-6bec28e4e992 2ee3f640-f9ce-4dda-a05b-285a6b28788d referanseMappe registrering mappe systemID tittel 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 Mappe 3 2ee3f640-f9ce-4dda-a05b-285a6b28788d Mappe 2 f2fcad90-5b8c-4a5b-8cb f1bd1a Mappe 4 registrering ⟖ mappe registrering systemID systemID opprettetDato opprettetDato opprettetAv opprettetAv opprettetAv referanseMappe systemID tittel 55968a3c-62e8-4ab1-b3c0-473bd7c8314d 55968a3c-62e8-4ab1-b3c0-473bd7c8314d tsodring tsodring 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 Mappe 3 abab3072-bd8b-4987-b851-6bec28e4e992 abab3072-bd8b-4987-b851-6bec28e4e992 tsodring tsodring 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 4e8491f4-65a9-4bf7-b776-cd2dbbe82621 Mappe 3 55968a3c-62e8-4ab1-b3c0-473bd7c8314d 55968a3c-62e8-4ab1-b3c0-473bd7c8314d tsodring tsodring 2ee3f640-f9ce-4dda-a05b-285a6b28788d 2ee3f640-f9ce-4dda-a05b-285a6b28788d 2ee3f640-f9ce-4dda-a05b-285a6b28788d Mappe 2 abab3072-bd8b-4987-b851-6bec28e4e992 abab3072-bd8b-4987-b851-6bec28e4e992 tsodring tsodring 2ee3f640-f9ce-4dda-a05b-285a6b28788d 2ee3f640-f9ce-4dda-a05b-285a6b28788d 2ee3f640-f9ce-4dda-a05b-285a6b28788d Mappe 2 305f27f7-81df-4a91-bfdf-cdccf2030a33 null null tsodring null null 4a56e5f7-5ced-4492-b5f3-e75e76d273f0 f2fcad90-5b8c-4a5b-8cb f1bd1a Mappe 4

96 Joins og uttrekk Har det noe å si hvilken join vi bruker?
Natural Join mellom Mappe og registrering Alle mapper som har en registrering Ingen tomme mapper eller 'foreldreløse' registreringer Left Outer Join mellom Mappe og registrering Alle mapper som har registrering og tomme mapper Right Outer Join mellom Mappe og registrering Alle mapper som har registrering Alle 'foreldreløse' registrering men ingen tomme mapper

97 Views En view er en lagret SQL spørring som ser ut som en tabell og blir en slags virtuell tabell En view kan brukes til å definere en undergruppe av tabeller / data koble data fra flere tabeller (JOIN) Brukere kan få tilgangen begrenset til kun en view View kan spesifiseres med lese eller skrive tilgang på dataene

98 View med lesetilgang View som gir gjestetilgang til alle mapper, men brukeren kan kun se offentligTittel og opprettetDato CREATE VIEW mappeOffentlig AS SELECT mappeId, offentligTittel, opprettetDato FROM mappe; GRANT SELECT ON noark5.mappeOffentlig TO gjest;

99 View for offentligjournal
En view som utgjør offentligjournal Holder det ikke med basis registrering??? CREATE VIEW offentligJournal AS SELECT jpst.journaldato, jpst.registreringsId, jpst.offentligTittel, jpst.beskrivelse, jpst.dokumentetsDato, saksmappe.saksansvarlig FROM journalpost AS jpst INNER JOIN saksmappe ON referanseSaksmappe = saksmappe.systemID;

100 Fellesfunksjonalitet til arkivstrukturen
Det er tre arkivenheter som ansees som fellesfunksjonalitet til arkivstrukturen Nøkkelord Kryssreferanse Merknad

101 Nøkkelord Du skal kunne legge til ett eller flere nøkkelord til en klasse, en mappe eller en basisregistrering Viktig at nøkkelord ikke blandes med emnebasert klassifikasjon Klassifikasjon sier noe om dokumentets kontekst, nøkkelord sier noe om dokumentets innhold Nøkkelord skal brukes til å forbedre søkemuligheter Valgfritt og kan forekomme en eller flere ganger i klasse, mappe eller basisregistrering

102 Kryssreferanse En kryssreferanse er en referanse som går på tvers av hierarkiet i arkivstrukturen Referansen går en vei, dvs. den kan kun være en referanse til en arkivenhet Referansen kan gå fra en klasse til en annen klasse en mappe til en annen mappe en registrering til en annen registrering en mappe til en registrering en registrering til en mappe

103 Kryssreferanse 0-M forekomster av kryssreferanse grupperes inn i 0-1 forekomster av klasse 0-M forekomster av kryssreferanse grupperes inn i 0-1 forekomster av mappe 0-M forekomster av kryssreferanse grupperes inn i 0-1 forekomster av basisregistrering Merk: En forekomst av kryssreferanse grupperes inn i en og bare en forekomst av klasse, mappe eller basisregistrering

104 Metadata for kryssreferanse
Nr. Navn Forek Avl Datatype M219 referanseTilKlasse 0-1 A klasse.systemID M210 referanseTilMappe mappe.systemID M212 referanseTilRegistrering registrering.systemID

105 Merknad Merknader kan brukes til å dokumentere spesielle forhold rundt saksbehandlingen og arkivering av dokumenter En eller flere merknader skal kunne knyttes til en mappe, basisregistrering eller en dokumentbeskrivelse Skal tas med i arkivuttrekket

106 Merknad 0-M forekomster av merknad grupperes inn i 0-M forekomst av mappe 0-M forekomster av merknad grupperes inn i 0-M forekomst av basisregistrering 0-M forekomster av merknad grupperes inn i 0-M forekomst av dokumentbeskrivelse

107 Metadata for merknad Nr. Navn Forek Avl Datatype M310 merknadstekst 1
Tekststreng M084 merknadstype 0-1 M611 merknadsdato Dato og klokkeslett M612 merknadRegistrertAv


Laste ned ppt "Digital arkivdanning og -bevaring"

Liknende presentasjoner


Annonser fra Google