28.07.2013 Views

Introduktion till Systemering - Högskolan i Gävle

Introduktion till Systemering - Högskolan i Gävle

Introduktion till Systemering - Högskolan i Gävle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Per Aspenberg ©<br />

Göran Sundberg ©<br />

DATABAS-FILOSOFIN<br />

Kurskompendium <strong>Introduktion</strong> <strong>till</strong> <strong>Systemering</strong><br />

En databas brukar ofta definieras som en samling relaterade data eller bland datamänniskor<br />

mer konkret ett antal relaterade poster av olika typ med minimal redundans. Databasen<br />

innehåller förutom själva datafilerna även ”metadata” (databas-scheman, data dictionary,<br />

systemkatalog), dvs data om hur datafilerna ser ut och hur de kan kopplas samman. Det<br />

innebär att man kan skapa en hög grad av frikoppling (”data-oberoende”) mellan<br />

<strong>till</strong>ämpningsprogram som arbetar mot databasen och själva databasen. Databasen kan alltså<br />

ändras utan att det behöver påverka programmen särskilt mycket.<br />

Det program som hanterar alla uttag ur databasen (och även omstruktureringar av den) kallas<br />

databashanteraren (DBHS) eller på engelska Data Base Management System (DBMS)<br />

Ett databashanteringssystem är en programvara, som man ganska givet köper, dvs sällan eller<br />

aldrig <strong>till</strong>verkar själv, och som hjälper <strong>till</strong> med organisation, lagring och åtkomst av data. Ett<br />

databashanteringssystem för en relationsdatabas brukar benämnas RDBMS och genom att<br />

använda ett sådant kan du organisera dina data efter ämne (t ex kund), så de är lätta att komma<br />

åt och du kan lagra information om hur olika ämnen förhåller sig (är relaterade) <strong>till</strong> varandra<br />

(t ex kund <strong>till</strong> order) så att data om olika ämnen kan "paras ihop".<br />

Databashanterarens hjälper <strong>till</strong> med att:<br />

- Integrera information, dvs hjälpa <strong>till</strong> att ta fram data från olika databasfiler.<br />

- Skapa dataoberoende, dvs ändringar i datastrukturen ska inte medföra programändringar.<br />

REDUNDANS<br />

Vid designen av en relationsdatabas brukar systemutvecklarna se <strong>till</strong> att dubbellagringen av<br />

data minimeras. Redundansen kan annars medföra flera problem i databasen:<br />

1. Inkonsistens i data, vilket betyder att man skulle få olika aktualitet på data. Exempel: Tänk<br />

dig att man har ett kundregister både på Marknadsavdelningen och på Ekonomiavdelningen.<br />

Otvivelaktigt kommer detta att medföra att de båda registren kommer att innehålla olika<br />

uppgifter efter ett tag.<br />

2. Merarbete vid uppdatering. När filerna ska underhållas måste man uppdatera samtliga filer<br />

som innehåller den dubbellagrade informationen.<br />

3. Onödiga minnesresurser. Dubbellagring medför att man utnyttjar hårddiskresurser som<br />

egentligen inte skulle behövas. Denna punkt känns kanske inte så angelägen idag, eftersom<br />

hårddiskarna rymmer mer och mer och <strong>till</strong> ett väsentligt lägre pris än för några år sedan.<br />

Ett exempel du kan jämföra med är om du t.ex. har dina telefonnr, leverantörer,<br />

produktinformation, fakturor etc. i en enda stor tabell. Med en sådan databas kommer du att<br />

dubbellagra en hel del information. Varje gång du ska lägga <strong>till</strong> en ny produkt så kanske du<br />

också vill lägga <strong>till</strong> leverantörens telefonnr. Om du köpt tio produkter från samma leverantör<br />

innebär det att du måste lagra samma telefonnr tio gånger. Din databas kommer då snabbt att<br />

bli väldigt stor och kräva mycket utrymme på hårddisken samtidigt som du får problem när du<br />

vill ändra detta telefonnr. Då måste det också göras tio gånger.<br />

29

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!