Databasadministration Läst systemvetenskap vid Luleå Tekniska Universitet IT-konsult Ronny Hansson 31 år gammal Systemvetenskap med inriktning mot informatik Utbildare Främst utbildad i konstruktion av databaser på det logiska och konceptuella planet Nås säkrast via epost [email protected] Kan även nås via min mobil: 070 – 34 32 972 Vid sjukdom eller annan frånvaro Anmäl till mig via mail eller mobiltelefon Kursen Databasadministration Syfte Kursen syftar till att ge studenterna kunskap om databaser, databashanterare och språket SQL. Kursen Databasadministration Mål Kursen skall ge studenterna kunskaper om hur en databas fungerar, färdigheter i att skapa och hantera relationsdatabaser samt administration av databashanterare. BETYG För G: Ha ett snitt på G i samtliga moment och uppgifter. Ha maximalt 5 % ogiltig frånvaro Visa engagemang för lektionerna INFORMATION VS DATA INFORMATION Alla information i världen gör dig ingen nytta om du inte kan hitta det du behöver. För att underlätta sökandet kan man använda databaser. DATA OCH INFORMATION Data är uppgifter av olika slag. Ibland skiljer man data från information, som är data som man gett en tolkning. Alltså är 23 ett exempel på data, medan det är information om vi vet att det är 23 grader varmt ute. Ibland talar man också om kunskap, som i "kunskapsbaserade system". Kunskap är anvisningar om beteende, exempelvis regler för hur datorn ska dra slutsatser. SKILLNADEN MELLAN STRUKTURERAD OCH ICKE-STRUKTURERAD INFORMATION Dessa två exempel belyser skillnaden mellan strukturerad och icke-strukturerad information STRUKTURERAD INFORMATION Om vi står i ett bibliotek och jag ber er hämta Jan Guillous bok Ondskan så går ni till rätt avdelning, sedan till bokhyllan där G ligger och söker er sedan fram till nästa bokstav osv. ICKE-STRUKTURERAD INFORMATION Förställ er nu istället att alla bibliotekets böcker ligger i högar på golvet, slumpvis staplade och jag vill fortfarande ha Jan Guillous Ondskan, hur gör ni nu? DATABASER I DAGLIGT LIV VILKA DATABASER RÅKAR NI UTFÖR ELLR ANVÄNDER NI I ERT DAGLIGA LIV. SKILLNADEN MELLAN STRUKTURERAD OCH ICKE-STRUKTURERAD INFORMATION Dessa två exempel belyser skillnaden mellan strukturerad och icke-strukturerad information VAD ÄR EN DATABAS Innehåll Databaser Vad? Varför? Hur? Databas – vad är det? Med ordet databas brukar man avse en samling data som: hör ihop Databas – vad är det? Med ordet databas brukar man avse en samling data som: som visar en modell av en del av världen, till exempel ett företag och dess verksamhet Databas – vad är det? Med ordet databas brukar man avse en samling data som: inte försvinner när man avslutar programmet eller stänger av datorn, dvs är persistent Databas – vad är det? När man jobbar med databasteknik brukar man också mena att en databas ska: Databas – vad är det? När man jobbar med databasteknik brukar man också mena att en databas ska: ha ett schema, dvs det ska finnas en beskrivning av vad det är för data Databas – vad är det? När man jobbar med databasteknik brukar man också mena att en databas ska: vara konsistent eller logiskt koherent, dvs den får inte innehålla motsägelser Databas – vad är det? När man jobbar med databasteknik brukar man också mena att en databas ska: lagras och hanteras i en dator. Databas – varför? Minimera risken för fel Minimera lagringsplats Öka sökbarheten Öka kontrollen Databas – varför? Minimera risken för fel har man bara en liten mängd information så kan man klara sig utan en databas. Man kan tex gå och handla hem varor utan att göra en inköpslista, men då kommer du troligen att glömma köpa någonting som du normalt inte har hemma Databas – varför? Minimera lagringsplats Genom att organisera informationen så undviker man dubbellagring av information Databas – varför? Öka sökbarheten genom att exempelvis lagra en butiks sortiment i en databas kan man enkelt kontrollera om man har turkisk yoghurt i sitt sortiment Databas – varför? Öka kontrollen en butik måste kunna kontrollera sitt lagersaldo, och då de flesta butiker i dagsläget har EANkodsläsare så kan man lätt koppla så att försäljning av vara X ger minskning av saldot av vara X med lika stort antal som säljs. Databas – hur fungerar det? Strukturerad samling av data Möjlighet att söka och filtrera Presentera vald information Databas – hur fungerar det? Strukturerad samling av data • Datan i databasen skall tillsammans bilda information av värde. • Datan måste på något sätt höra ihop med varandra Databas – hur fungerar det? Möjlighet att söka och filtrera • Datan måste vara indexerad på ett sökbart sätt • Datan måste kunna sorteras • Datans typ måste vara enhetlig Databas – hur fungerar det? Presentera vald information • Datan ska presenteras på ett tydligt sätt • De efterfrågade dataenheterna ska kunna bilda en meningsfull informationssträng till den som efterfrågat dem DEN VANLIGASTE TYPEN AV DATABAS RELATIONSDATABASER RELATIONSDATABASER Den vanligast förekommande typen av databaser RELATIONSDATABASER Består av tabeller, där varje tabell har relationer till andra tabeller Varje tabell kallas tabell eller relation. Jag kommer försöka vara konsekvent och kalla dem tabeller. RELATIONSDATABASER HELA samlingen av tabeller kallas databas. RELATIONSDATABASER En relation definieras som en mängd av poster som har samma attribut. RELATIONSDATABASER Detta representeras oftast i form av en tabell i vilken data är organiserad i rader och kolumner. RELATIONSDATABASER I en relationsdatabas måste alla data i en viss kolumn vara av samma domän, det vill säga ha samma datatyp. RELATIONSDATABASER I relationsmodellen bör poster inte ha någon specifik ordning, och attributen bör inte ha någon ordning inom en post. RELATIONSDATABASER Varje POST är en förekomst i databasen RELATIONSDATABASER Varje förekomst kallas RAD, POST eller TUPEL Jag kommer försöka vara konsekvent med POST RELATIONSDATABASER Varje kolumn kallas ATTRIBUT Vi återkommer till detta när vi kommer till ER-modelleringen RELATIONSDATABASER Det är lätt att föreställa sig en relation om man föreställer sig att varje post är en rad och varje attribut en kolumn. Så brukar det också presenteras på skärmen. Exempel på en Relationsdatabas Efternamn Nilsson Svensson Andersson Förnamn Nils Sven Anders Telefon 08 – 12345 08 – 67890 08 – 15973 Här är ett enkelt exempel på en relationsdatabas, man skulle kunna söka på Efternamn eller Förnamn eller Telefonnummer. Exempel på en Relationsdatabas Efternamn Nilsson Svensson Andersson Förnamn Nils Sven Anders Telefon 08 – 12345 08 – 67890 08 – 15973 Man kan även kombinera två eller fler kolumner vid en sökning. Exempel på en Relationsdatabas Efternamn Nilsson Svensson Andersson Förnamn Nils Sven Anders Telefon 08 – 12345 08 – 67890 08 – 15973 Denna enkla lilla databas innehåller tre poster, varje post har tre kolumner. RELATIONSDATABASER NYCKLAR Nycklar möjliggör sökandet mellan de olika relationerna. Det är mellan de olika typerna av nycklar som man uppnår sökbarheten i databasen RELATIONSDATABASER NYCKLAR En post motsvarar ofta något objekt och information förknippad med det, oavsett om objektet är ett fysiskt objekt eller ett abstrakt koncept. En nyckel är en slags restriktion som ser till att objektet eller kritisk information om ett objekt inte dupliceras RELATIONSDATABASER NYCKLAR Till exempel kan man inom en familj ha restriktionen att inga två familjemedlemmar har samma förnamn. Om information om denna familj lagrades i en relationsdatabas skulle förnamnen kunna användas som nyckel. RELATIONSDATABASER NYCKLAR Dessvärre är förnamn inte unika över större mängder, som till exempel hela Sveriges befolkning. Därför tilldelas svenska medborgare ett personnummer, som är unikt för varje person i Sverige, och som används som nyckel i både privata och offentliga relationsdatabaser. RELATIONSDATABASER NYCKLAR Primärnyckel Naturlig nyckel Surrogatnyckel Främmande nyckel Kandidatnycklar Sammansatta nycklar Sammansatta främmande nycklar RELATIONSDATABASER NYCKLAR De flesta relationer har åtminstone en nyckel, den så kallade PRIMÄRNYCKELN. RELATIONSDATABASER NYCKLAR Om nyckeln är faktiskt intressant data med logisk anknytning till posten (som förnamnet i familjeexemplet ovan) kallas den NATURLIG NYCKEL. RELATIONSDATABASER NYCKLAR Om nyckeln istället är automatiskt genererad och inte har en djupare anknytning till resten av objektets attribut (oftast i form av ett serienummer) kallas den SURROGATNYCKEL. RELATIONSDATABASER NYCKLAR För att koppla ihop tabellerna så flyttar man med en tabells primära nyckel till en annan tabell. Den primära nyckeln i tabell A blir en FRÄMMANDE NYCKEL i tabell B RELATIONSDATABASER NYCKLAR Att utse en primärnyckel är inte alltid ett lätt val, man kan sitta med flera olika alternativ till primärnyckel. Dessa alternativ kallas KANDIDATNYCKLAR. Mer om detta när vi kommer till datamodellering RELATIONSDATABASER NYCKLAR Ibland kan man inte hitta något bra sätt att bara få ett attribut att bli en nyckel. Man kan då antingen skapa ytterliggare ett attribut (typ serienummer) eller välja att två attribut tillsammans bildar en unik nyckel. Att sätta samman två attribut till en nyckel bildar en SAMMANSATT NYCKEL. RELATIONSDATABASER NYCKLAR Om man får en kopplingstabell, en tabell som bara kopplar samman två andra tabeller, i relationsdatabasen så kommer deras primära nycklar bilda en SAMMANSATT FRÄMMANDE NYCKEL. Mer om detta när vi kommer till Normalisering Rangordna följande databaser utifrån storlek, antalet användare och marknadsdominas, 30 min. Oracle MSSQL MySQL