Introduktion till Systemering - Högskolan i Gävle
Introduktion till Systemering - Högskolan i Gävle
Introduktion till Systemering - Högskolan i Gävle
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