2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 1 DAV B04 - Databasteknik !#"%$& ' 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 2 Databaser och databashanteringssystem ( En databas (DB) är en samling av relaterad data ) representerar någon aspekt av verkligheten; minivärlden eller University of Discourse (UoD) ( Databashanteringssystem (DBHS) ) programvarusystem som används för att skapa och ) 2003-01-20 underhålla databaser ”Ett filhanteringssystem som kan hantera komplexa relationer mellan data och hämta och uppdatera data enkelt och effektivt” KaU - Datavetenskap - DAV B04 - MGö Karlstads Universitet, Datavetenskap 3 1 2003-01-20 Databas-system Ett databas-system (DBS) består av DBHSmjukvaran tillsammans med själva databasen (applikationer, användare) 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 4 Egenskaper hos databas-system Data är integrerad och delad I DBHS lagras en beskrivning av databasen struktur, integritetsregler mm Visst mått av dataoberoende 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 5 Datamodell Används för att gömma implementationsdetaljer ge användarna en konceptuell vy av databasen Stödjer många olika vyer av databasen 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö Karlstads Universitet, Datavetenskap 6 2 2003-01-20 (Andra) fördelar med databassystem ( Redundansen kan minskas ( Säkerheten kan förbättras ( Flera olika användargränssnitt ( Integriteten kan upprätthållas ( Stöd för återhämtning av data ( Tiden för applikationsutveckling kan minskas 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 7 Nackdelar med databas-system Ofta höga kostnader för hårdvara, mjukvara och utbildning Komplexiteten hos ett DBHS kan ibland vara onödig eller ge för låg prestanda 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 8 Användare av databas-system Databasadministratörer (DBA) Applikationsprogrammerare Slutanvändare 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö Karlstads Universitet, Datavetenskap 9 3 2003-01-20 Olika typer av databas-system 1965-1980 främst hierarkiska databaser och nätverksdatabaser Från ca 1980 de flesta nya databas-system varit relationsdatabaser Från ca 1990 objektorienterade och objektrelationella databaser 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 10 Datamodeller En samling koncept för att beskriva databasens struktur De integritetsregler den måste följa Oftast också de operationer som går att göra på databasen 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 11 Högnivå-modeller Använder koncept som ligger nära hur användare förstår data. Används ofta vid databasdesign. 2003-01-20 Exempel E/R-modellen KaU - Datavetenskap - DAV B04 - MGö Karlstads Universitet, Datavetenskap 12 4 2003-01-20 Logiska modeller Använder koncept som kan förstås av användare Ligger inte alltför långt ifrån hur data organiseras i databasen 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 13 Lågnivå-modeller Använder koncept som beskriver i detalj hur data är lagrad rent fysiskt 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 14 Databasens schema Beskrivningen av databasen Kan visas i ett schemadiagram 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö Karlstads Universitet, Datavetenskap 15 5 2003-01-20 Exempel på schemadiagram E x te r n n iv å 1 E x te r n n iv å 2 S A L A R IE S E n o P ay E M P L O Y E E S E m p nr D ep n r K o n c e p tu e ll n iv å E M P L O Y E E S E m p lo y e e _ n u m b e r D e p a rtm e n t_ n u m b e r s a la ry I n te r n n iv å S T O R E D _ E M P P R E M D E P A - - E F IX P # P T # Y L E N G T H T T T T Y Y Y Y P P P P E E E E = = = = = 2 0 B Y T E (6 B Y T E (6 B Y T E (4 W O R D , ), ), ), O O O O F F F S E F F S E F F S E F S E T T T T = = = = 1 20 6 , IN D E X 12 6 = E M P X S y s te m e t la g r a r in fo r m a tio n o m s a m m a p o s t i tr e o lik a n iv å e r . S y s te m e t m å s te o c k s å k ä n n a till a tt t e x e m p n r i d e n e x te r n a n iv å n m o ts v a ra r e m p lo y e e _ n u m b e r p å d e n k o n c e p tu e lla n iv å n . D e s s a m o ts v a rig h e te r e lle r m a p p n in g a r ä r o c k s å la g ra d e i s y s te m e t. 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 16 Databasens gränssnitt Varje användare kommunicerar med databasen m h a ett språk Programmerare: konventionellt programspråk (C eller Pascal) Slutanvändare: något frågespråk (SQL), eller kommunicerar med databasen genom något specialdesignat menysystem 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 17 Språk Varje språk inkluderar ett underspråk (data sublanguage eller DSL) 2003-01-20 som sägs vara inbäddat i värdspråket (host language) KaU - Datavetenskap - DAV B04 - MGö Karlstads Universitet, Datavetenskap 18 6 2003-01-20 Dataoberoende Logiskt dataoberoende Det går att göra ändringar i det konceptuella schemat utan att det påverkar de externa schemana eller applikationsprogrammen Fysiskt dataoberoende Det går att göra ändringar i det interna schemat utan att det påverkar det konceptuella schemat 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 19 Beståndsdelar DSL Data Definition Language (DDL) den del av språket som används för att definiera de olika objekten som databasen består av Data Manipulation Language (DML) 2003-01-20 den del av språket som används för att manipulera eller utföra operationer på sådana objekt KaU - Datavetenskap - DAV B04 - MGö 20 Applikationer skrivna av användaren Skrivna i något programspråk (t ex C) med inbäddad SQL eller applikationer skrivna i SQL 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö Karlstads Universitet, Datavetenskap 21 7 2003-01-20 Applikationer skrivna av någon leverantör (tools) Kompilatorer för något frågespråk, rapportgeneratorer, grafiska användargränssnitt, kalkylprogram, statistikprogram, 4GL-kompilatorer, CASEverktyg 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 22 Program som används för att administrera databasen Laddningsprogram, backup-program, reorganisationsprogram, statistik- och analysprogram 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 23 Katalogen (Data Dictionary) Ett DBHS måste innehålla en katalog eller ett data dictionary, där detaljerad information om systemets olika delar lagras information om tabeller, index, användare, integritets- och säkerhetsregler 2003-01-20 lagras också som tabeller, så att det går att ställa frågor till katalogen på samma sätt som till databasen KaU - Datavetenskap - DAV B04 - MGö Karlstads Universitet, Datavetenskap 24 8 2003-01-20 Översikt av kursen Genomgång av relationsmodellen Genomgång av SQL + praktiska övningar Konceptuell databasdesign Fysisk databasdesign Transaktionshantering Databassäkerhet Web-databaser och distribuerade databaser Laborationer: teori, design, implementation och användargränssnitt 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö Karlstads Universitet, Datavetenskap 25 9