2. Objekt, operatorer och integritetsregler 3. Databasobjekt

Relevanta dokument
1. SQL DDL (Data Definition Language) 2. Skapa tabell

2. Redundans 3. Normalformer

1. SQL DML (Data Manipulation Language) 2. Lägga till data. 4. Uppdatera data 5. Aktivera default value 6. Hantera datum 7.

1. PLSQL 2 2. Select into

Design och underhåll av databaser

1.Lär känna MS SQL Observera. Tips. Förberedelse

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

9. :new och :old -värden 10. Triggerns olika delar 11. Olika typer av triggrar 12. Kodexempel. Pär Douhan,

Övningar i SQL. SQLAccess.doc Ove Lundgren

Starta MySQL Query Browser

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

1. Datamodellering 2. Hierarkier 3. S

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?

Kompendium till databaser och informationssystem 10p för SY2 2000

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Structured query language (SQL)

1. SQL 2. Utsökningar mot flera tabeller. 4. IN-operatorn 5. Join 6. Kartesisk produkt 7. Tabellalias

Informationssystem och Databasteknik

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Sample exam questions. Database exam TIG058

Modul DB1-1 Databasmodellering

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

TENTAMEN DATABASKUNSKAP ITEK12

9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Analytisk relationsdatabasdesign

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Relationsmodellen och syntetisk databasdesign

Det är fullt tillåtet att göra laborationen innan laborationstillfället.

Lite om databasdesign och modellering

Karlstads Universitet, Datavetenskap 1

Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index

Laboration 2, MS SQL. Observera. Tips. Förberedelse. Genomförande

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

(Data)Modellering. nikos dimitrakas rum 2423

Databaser - Design och programmering

Inga hjälpmedel är tillåtna

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Relationsdatabasdesign

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

732G16: Databaser - Design och programmering

Lösningsförslag, tentamen i Databaser

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

IT i organisationer och databasteknik

WCMS-15, Webbutvecklare CMS

9. Anonyma block 10. Clean code och läsbarhet 11. Variabeltyper och variabeldeklaration 12. Olika loopar: Basic, while och for loop

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

MySQL - testmiljöer på minuter. Thomas Johansson IT-avdelningen

Tentamen DATABASTEKNIK - 1DL116

Databaser och Datamodellering Foreläsning IV

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor

2. Säkerhet 3. Autentisering. 5. Dataintegritet 6. Data privacy 7. PuL 8. Personuppgifter 9. Säkerhetspolicy. Pär Douhan,

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in.

Tentamen för DD1370 Databasteknik och informationssystem

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

Databaser och. SQL, utsökningar mot flera tabeller TENTA. # radnr (#) studnr (#) kursnr * tentadatum * betyg

Databasdesign. E-R-modellen

Kursplan. IK1051 Behörighetsgivande kurs i databassystem för masterprogram i Business Intelligence. 7,5 högskolepoäng, Grundnivå 1

Konceptuella datamodeller

Föreläsning 3 Dagens föreläsning går igenom

Databaser och. SQL, utsökningar mot en tabell

Tentamen NDA01G Öppen för alla. Tentamenskod: Inga hjälpmedel är tillåtna

Tentamen DATABASTEKNIK - 1DL116, 1MB025

Exempel-Tentamen III

Tentamen i Databasteknik

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Grunderna för relationsmodellen!

FÖ 13: Databaskursen. Pär Douhan,

Vyer, Prepared Statements, Triggers

Databashantering och Beslutsstöd

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen. TDDB38 - Databasteknik

Det finns även möjlighet att göra "Java - kopplingar" mot DB2 enligt diverse standarder som ODBC, SQLj mm.

Skapa exempeldatabasen

Föreläsning 2: Översikt över ett databassystem

TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18

VAD GÖR DU / VEM ÄR DU?

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Tentamen för DD1370 Databasteknik och informationssystem

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2)

3. Dynamiska webbplatser, 20 Yhp (4 v)

Transkript:

FÖ 3: Databaskursen 1. Relationsdatabaskomponenter 2. Objekt, operatorer och integritetsregler 3. Databasobjekt 4. Objektet tabell 5. Synonymer 6. Schema 7. Integritetsregler och constraints: PK, FK, Unique, Check och not null 8. Lagringsarkitektur g 9. Tablespace och datafiler 10. Konceptuella modeller 11. Objektmodeller 12. Datamodeller 1 Pär Douhan, pdo@du.se

Komponenter Relationsdatabaskomponenter Objekt Operatorer > = <> < Integritetsregler 2

Databasobjekt Objekt Hur skapar vi objekt? Vi gör det med SQL DDL Exempel: Skapa en användare Tabell Funktion Procedur Trigger Sekvens Vy Index User etc. create user h14kandr identified by "123AwRR67" default tablespace data temporary tablespace temp quota 24576 k on data account unlock; 3

En tom tabell KUND kundnr password fnamn enamn email regdatum mobil 1. Ovan finns en tom tabell med namnet kund 2. Tabellen har kolumner som är namngivna. I detta exempel finns kolumnerna: kundnr, password, fnamn, enamn, email, regdatum och mobil 3. Kolumnerna är av en viss datatyp: number, date eller kanske varchar2 4. Kolumnerna kan liknas vid variabler 5. Tabellen kan liknas vid en klass. I detta fall klass = kund 6. Tabellen innehåller ingen data ännu 7. Vi har i detta läge endast metadata 4

En tabell med data KUND kundnr password fnamn enamn email regdatum mobil 56482 OLee45 Rolf Björk rb@gmail.com 20150214 0730211142 89658 PPkkAQW Malin Ek maek@du.se 20141223 58476 YyYp345 Jossef Mdoud jossef@du.se 20130212 0730533347 1. Det finns nu tre rader eller objekt (= kundobjekt) i tabellen 2. Dessa tre rader utgör tabellens data 3. Data i kombination med metadata medför att tabellen innehåller information. Information om kunder närmare bestämt 4. Tabellens minsta beståndsdel kallas för cell 5. En cell är en korsning mellan en rad och en kl kolumn 6. Om vi tittar i kolumnen mobil för kund med kundnr = 58476 7. Så ser vi att det står 0730533347 som värde i den cellen 5

NULL KUND kundnr password fnamn enamn email regdatum mobil 56482 OLee45 Rolf Björk rb@gmail.com 20150214 0730211142 89658 PPkkAQW Malin Ek maek@du.se 20141223 NULL 58476 YyYp345 Jossef Mdoud jossef@du.se 20130212 0730533347 1. Kund med kundnr = 89658 saknar mobil 2. Cellen är därför tom 3. Cellen innehåller ett null-värde 4. Null är inte samma sak som 0 (noll) 5. Null är ej definierat. Jämför med matematikens 1/0 6. Null är inte lika med null 7. Null + 100 =? 8. Null + 100 = null 9. Om vi har 100 och lägger till något som inte är definierat så får vi null 6

Synonymer svenska engelska formellt the 1960's tabell table relation file rad row tuple record kolumn column attribute field 7

Lagringsarkitektur i Oracle Logisk del Fysisk del Oracle instance 1 M Tablespace 2 16 2 10 Data files Segment Saker vi lagrar data i, t. ex. tabeller och index Extent Data block OS block 8

Söka i Data Dictionary Kontrollera vilka tablespace och datafiler som finns genom att söka i data dictionary select tablespace_name, file_name from dba_data_files order by tablespace_name; TABLESPACE_NAME FILE_NAME SYSAUX C:\ORACLE12SA\ORADATA\OSRVDB\DATAFILE\O1_MF_SYSAUX_BGCBVOO2_.DBF SYSTEM C:\ORACLE12SA\ORADATA\OSRVDB\DATAFILE\O1_MF_SYSTEM_BGCBZ9CT_.DBF UNDOTBS1 C:\ORACLE12SA\ORADATA\OSRVDB\DATAFILE\O1_MF_UNDOTBS1_BGCC2YR4_.DBF USERS C:\ORACLE12SA\ORADATA\OSRVDB\DATAFILE\O1_MF_USERS_BGCC2X5M_.DBF Ser till att nya datafiler hamnar på rätt ställe: alter system set DB_CREATE_FILE_DEST = 'C:\ORACLE12SA\ORADATA\OSRVDB\DATAFILE'; system SET altered. 9

Skapa ett nytt tablespace Skapa tablespace: create tablespace data extent management local segment space management auto online; tablespace data created. lägg till datafiler: alter tablespace data add datafile 'data01.dbf' size 1024m; tablespace data altered. alter tablespace data add datafile 'data02.dbf' size 1024m; tablespace data altered. 10

Kontrollera Kontrollera att tablespace och datafiler blev skapade: select tablespace_name, file_name from dba_data_files order by tablespace_name; TABLESPACE_NAME FILE_NAME DATA C:\ORACLE12SA\PRODUCT\12.1.0\DBHOME_1\DATABASE\DATA01.DBF DATA C:\ORACLE12SA\PRODUCT\12.1.0\DBHOME_1\DATABASE\DATA02.DBF DATA C:\ORACLE12SA\ORADATA\OSRVDB\DATAFILE\OSRVDB\DATAFILE\O1_MF_DATA_BGPD2H1W_.DBF SYSAUX C:\ORACLE12SA\ORADATA\OSRVDB\DATAFILE\O1_MF_SYSAUX_BGCBVOO2_.DBF SYSTEM C:\ORACLE12SA\ORADATA\OSRVDB\DATAFILE\O1_MF_SYSTEM_BGCBZ9CT_.DBF UNDOTBS1 C:\ORACLE12SA\ORADATA\OSRVDB\DATAFILE\O1_MF_UNDOTBS1_BGCC2YR4_.DBF BGCC2YR4 USERS C:\ORACLE12SA\ORADATA\OSRVDB\DATAFILE\O1_MF_USERS_BGCC2X5M_.DBF Det verkar ok! Vi har nu 2 datafiler på 1024 MB styck. Detta ger 2048 MB i totalt lagringsutrymme för vårt tablespace som heter DATA. 11

Schema create table kund... create table kund... user "karin" user "erik" Tablespace data Segment: karin.kund Segment: erik.kund Alla objekt som användaren erik skapar kommer att tillhöra schemat erik. 12

Integritetsregler Integritetsregler (integrity rules) hjälper till att: 1. Skydda data i en produktionsdatabas * 2. Hjälpa optimizer i ett Data Warehouse ** ** 13 *

Integritetsregler Integritetsregler tets e upprätthålls med constraints ts "I have a very simple rule: Put dates in dates, numbers in numbers, and strings in strings. Never use a datatype to store something other than what it was designed d for, and use the most specific type possible. " (Tom Kyte, Oracle) Datatyper är constraints! Varning för dumheter! Varchar2(4000) a date, hiding in a number, hiding in a string 42 FEB 2014 Use the right data types! "The difference between a question completing in a couple of minutes, or never completing." (Tom Kyte, Oracle) 14

Constraints Det finns fem olika typer av constraints för tabeller: 1. PK, Primary key 2. FK, Foreign key 3. Check 4. Unique 5. Not null Oracle kommer att lagra metadata om alla skapade constraints i data dictionary. 15

Primary key PK, Primary aykey eller e primärnyckel När man i praktiken väljer eller utformar identifierande variabler, kan man välja mellan helt konstruerade, artificiella identifikationsbegrepp och mer eller mindre naturliga. Under alla omständigheter är det viktigt, att identifikationerna är stabila på instansnivå. D.v.s. att de inte under några som helst omständigheter förändras under objektens (radernas) livsförlopp. Exempel på dåliga konstruktioner är informationsbärande identifikationsbegrepp, där den inbyggda informationen inte är garanterat stabil (t. ex. personnummer). Exempel på bra konstruktioner är nuvarande registreringsnummer för bilar, som är informationslöst men ändå lätt att uppfatta och memorera (t. ex. AKM445). Enligt definitionen är ett värde på en identifierande variabel en lokalt unik identifikation. Eftersom den entydigt pekar ut en viss objektinstans inom en given objekttyp (klass). (= en unik rad i en tabell) 16

Primary key KUND kundnr password fnamn enamn email regdatum mobil 56482 OLee45 Rolf Björk rb@gmail.com 20150214 0730211142 89658 PPkkAQW Malin Ek maek@du.se 20141223 58476 YyYp345 Jossef Mdoud jossef@du.se 20130212 0730533347 Vi kan skapa en primary key och koppla den till kolumnen kundnr i vår kundtabell. Denna PK constraint t kommer att medföra följande begränsningar: 1. Det kommer alltid att finnas unika värden i kolumnen kundnr 2. Det kan aldrig finnas två kundnr som är lika 3. Det kommer aldrig att finnas ett null-värde i kolumnen kundnr 17

FK, Foreign key FK, Foreign key eller främmande nyckel 1. Kll Kallas även för Rf Referential ilintegrityi eller referensintegritet i 2. Tabeller kan relateras till varandra genom att använda en foreign key constraint 3. En FK placeras på en kolumn i child-tabellen 4. Som en del av constraintdefinitionen i child-tabellen, så refereras en kolumn i en annan tablell, parent-tabellen Parent Table AVDELNING PK avdnr avdnamn Child Table PERSONAL PK anstnr fnamn enamn lön FK avdnr Om en rad stoppas in i child-tabellen, med ett icke-null-värde i FK-kolumnen, så måste det finnas en rad i parent-tabellen bll som har samma värde äd i den refererade kolumnen. 18

Parent-child och Master-detail AVDELNING # avdnr * avdnamn Denna tabell kan kallas för: Parent Eller: Master 1 M PERSONAL # anstnr (#)avdnr * fnamn * enamn * lön Vi kan alltså prata om Master-Detail eller Parent-Child föhållanden mellan tabeller. Denna tabell kan kallas för: Child Eller: Detail 19

FK, Foreign key exempel AVDELNING PERSONAL (PK) avdnr avdnamn anstnr fnamn enamn lön (FK) avdnr 100 Ekonomi 200 Produktion 300 Marknadsföring 125 Olov Andersson 29000 300 126 Lars Larsson 34000 300 101 Lena Ek 35000 200 Om vi försöker lägga till en ny rad i tabellen personal: insert into personal(anstnr,fnamn,enamn,lön,avdnr) lö values(158,'arman','kricic',36500,'400'); Kommer detta att fungera? Nej! Giltiga värden för FK kolumnen PERSONAL(avdnr) finns i den mängd av värden som existerar för PK kolumnen AVDELNING(avdnr) d.v.s (100, 200, 300) i vårt exempel 20

Unique KUND kundnr password fnamn enamn email regdatum mobil 56482 OLee45 Rolf Björk rb@gmail.com 20150214 0730211142 89658 PPkkAQW Malin Ek maek@du.se 20141223 58476 YyYp345 Jossef Mdoud jossef@du.se 20130212 0730533347 Vi kan skapa en unique constraint och koppla den till kolumnen email i vår kundtabell. Denna unique constraint kommer att medföra följande begränsningar: 1. Det kommer alltid att finnas unika värden i kolumnen email 2. Det kan aldrig finnas två emailadresser som är lika 3. Det kan förekomma null-värden i kolumnen email 4. Detta följer logiskt av att null inte är lika med null 21

Check AVDELNING PERSONAL (PK) avdnr avdnamn anstnr fnamn enamn lön (FK) avdnr 100 Ekonomi 200 Produktion 300 Marknadsföring 125 Olov Andersson 29000 300 126 Lars Larsson 34000 300 101 Lena Ek 35000 200 check(lön between 15000 and 150000) Vi kan skapa en check constraint och koppla den till kolumnen lön i vår personaltabell. Denna check constraint kommer att medföra följande begränsningar: 1. Det kommer alltid att finnas löner i intervallet 15 000 till 150 000 2. Det kommer inte att gå att ge någon en lön på t.ex. 12 500 eller 185 000 22

Not null KUND kundnr password fnamn enamn email regdatum mobil 56482 OLee45 Rolf Björk rb@gmail.com 20150214 0730211142 89658 PPkkAQW Malin Ek maek@du.se 20141223 58476 YyYp345 Jossef Mdoud jossef@du.se 20130212 0730533347 Vi kan skapa en not null constraint och koppla den till kolumnen email i vår kundtabell. Denna not null constraint kommer att medföra följande begränsningar: 1. Det kommer aldrig att finnas ett null-värde i kolumnen email 23

Konceptuella modeller Man bör inleda den infologiska delen av systemutvecklingsarbetet genom att modellera det stycke verklighet som IS (informationssystemet) ska handla om, och den verksamhet som IS ska understödja. Denna verklighet och verksamhet kallar vi också för objektsystemet. Objektsystemet t t = Object system = Reality of interest t = Universe of Discourse 24

Metoder Det finns ett behov av en generell begreppsapparat och en generell metodik för att modellera en verksamhet, ett problemområde, eller helt enkelt ett stycke verklighet på ett sätt som är gemensamt och begripligt för de olika intressenterna i ett IS. En modell som tas fram med detta syfte kan kallas för en infologiskt orienterad verklighetsmodell (en objektmodell). Det finns olika metoder för att ta fram modeller. På denna kurs kommer du att komma i kontakt med: 1. OPR Framework 2. Action-oriented conceptual modelling Personligen tycker jag att det är bra att kombinera dessa metoder, då de kompletterar varandra. 25

OPR(t) Objektmodeller kan vi sedan transformera till datamodeller. Datamodeller kan vi implementera i en databas med SQL DDL (create tbl) table). OPR Framework 1. OPR står för Object-Property-Relationship eller Objekt-Egenskap-Relation 2. Ett objekt är en konkret eller abstrakt storhet som användarna av ett IS kan vara intresserade att ha information om 3. Några exempel på objekt kan vara: varor, produkter, tjänster, personer, familjer, företag, organisationer, geografiska områden, händelser, transaktioner, processer, aktiviteter, sjukdomar, behandlingar. 4. En egenskap beskriver ett objekt på ett sätt som är lämpligt för ett visst syfte. En person kan ha en ålder, en bostadsadress, en inkomst o.s.v. Egenskaper kan vara betecknande (allmänna) eller benämnande (identifierande) 5. En relation är en logisk koppling mellan två eller flera objekt. En person kan vara gift med en annan person, en person kan vara anställd av ett företag, en bil kan ägas av en person 6. Tid, tiden förkommer i infologiska modeller i form av tidpunkter och tidsintervall. Exempel på tidkopplingar: Ett objekt kan ha en viss egenskap under ett visst tidsintervall. Räntan på ett konto kan vara 2,1% mellan två tidpunkter. 26

Action-orientedoriented Action-oriented o ted Conceptual modelling 1. I denna metod fokuseras förutom objekten även handlingar 2. Några exempel på handlingar kan vara: registreringar, g anmälningar, bekräftelser, erbjudanden o.s.v. 3. I OPR modellen brukar man prata om att objektifiera en relation 4. Här identifierar man handlingen eller det kommunikativa objektet eller det institutionella objektet direkt istället för relationen 5. För att kunna utföra olika handlingar krävs objekt i form av aktörer 6. Det finns en tydlig koppling till processmodeller (handlingsgrafer) 27

Action-orientedoriented o o o o o o o I processmodellen (handlingsgrafen) kan vi direkt identifiera olika kommunikativa objekt (verb): Erbjudande (offert) Beställning Bekräftad beställning Leverans Betalning Ovanstående objekt kommer att finnas med i vår objektmodell 28

Process - datamodell Affärsprocess Datamodell o o o o o o Datamodellen ska utgöra ett stöd för affärsprocesserna Om det i affärsprocessen sker att en kund får en offert på en bil Så ska offertinformationen kunnas sparas ner i databasen Om en student anmäler sig till en tentamen Så ska denna information kunna sparas i databasen o.s.v. Man måste alltså känna till processer och begrepp för att kunna konstruera en objektmodell 29

Exempelmodell PERSON # persnr * fnamn * enamn o mobil ÄGARBYTE # id (#) persnr (#) regnr * datum FORDON # regnr * färg * märke * modell * datum modell # Primary key (#) Foreign key * Mandatory o Optional 1 1 1 M M M PK bildar FK i gaffelns riktning 30

Exempelmodell I början kan det vara bra att skapa tabeller med exempeldata så att man får en överblick och förstår den lagrade informationen. PERSON persnr fnamn enamn mobil 720217-7415 Carl Andersson 0730985475 840315-7140 Carina Larsson 0708365421 FORDON regnr färg märke äk modell ABC345 svart volvo v70 AKM454 blå audi a6 ÄGARBYTE id persnr regnr datum 24 720217-74157415 ABC345 20090201 365 720217-7415 AKM454 20110325 4265 840315-7140 ABC345 20130630 31