Lite om databasdesign och modellering



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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Databaser design och programmering. Design processen ER- modellering

Databaser design och programmering. Fö 2: Design processen, ER-modellering

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

Modul DB1-1 Databasmodellering

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

Databasdesign. E-R-modellen

Logisk databasdesign

Relationsdatabasdesign

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema

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

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

Ett arbetsexempel Faktureringsrutin

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

Objektorientering. Grunderna i OO

Grunderna för relationsmodellen!

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

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

Logisk modell. Fysisk modell. Datamodeller Konceptuell modell

Webbprogrammering, grundkurs 725G54

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

Normalisering. Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info.

Databasteori. Övningar

Inkapsling (encapsulation)

Databaser. Vad du ska lära dig: Ordlista

(Data)Modellering. nikos dimitrakas rum 2423

Konceptuella datamodeller

Tentamen EIT:DB Databastmetodik 11/ kl Lösningsförslag

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

GIS, databasteknik och kartografi. Databasmodellering

Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5

Frågor och svar till tentamen i Kravhantering

Databaser och databasdesign, 7,5 hp

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

Konceptuell modellering

Objektorienterad analys och design

Lösningsförslag Tentamen, 25 april 03

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Modul DB1-2 Datamodellering

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Relationsmodellen. Relations modellen är idag den mest änvända datamodellen för kommersiella

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

Föreläsning 6: Normalisering & funktionella beroenden

Databaser och Datamodellering Foreläsning IV

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Laboration 1, Datamodellering. Observera. Tips. Förberedelse. Genomförande

Del 2: ER-modellering och överföring till Databasstruktur v0.9

Tentamen plus lösningsförslag

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

Objektorientering Klasser

Abstraktion. Objektorientering. Kartor. Kartor. Hus. Generalisering

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

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

MEBS MediCarriers elektroniska beställningssystem

Databasdesignspecifikation för Mätvärdeshanteringssystem

Databaser Design och programmering

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

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

Tentamen ISGB01, ISGB24. Databasdesign 7,5 Poäng

Concepts learned this far. ER till relationer. ER till relationer. ER till relationer. TDDD12 Database Technology

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

INTRODUKTION TILL ER ENTITY-RELATIONSHIP

Konceptuell modellering. Formalisering, automatisering och effektivisering

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

1. Gå till webbadressen 2. Klicka på fliken WEBBSHOP(längst till höger) 3. Logga in med de uppgifter ni erhållit från oss(rp Frukt).

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Objektorientering Användning

Tentamen DATABASTEKNIK - 1DL116

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Informationssystem och Databasteknik

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

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

Universitetet: ER-diagram

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

Analytisk relationsdatabasdesign

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

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng

Kursvärdering 1DV405 Databasteknik LP3 2014

Exempel1 Enklast möjliga import av kund

Exempel-Tentamen III

Design och underhåll av databaser

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

Informationssystem och databasteknik

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året

Alternativ till låsning. Optimistik approach TimeStamp

Så beställer du via ny och enkel e-handel

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

Mitthögskolan ITM Telefon Access. Laborationskompendium för grunderna i databasen Microsoft Access. Detta exemplar tillhör:

1 Modelleringsterminologi enligt IRM

NORMALISERING. Mahmud Al Hakim

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl

Transkript:

Lite om databasdesign och modellering Konceptuell databasdesign Med konceptuell databasdesign avses processen att konstruera en datamodell för en verksamhet, oberoende av fysiska villkor. Modelleringen genomförs i steg: - Identifiera centrala entiteter (objekt) i målverksamheten. För ett säljande företag kan det vara frågan om kunder, beställningar eller leverantörer - Identifiera relationer (kopplingar eller samband) mellan de identifierade objekten Hur hänger de ihop, hur relaterar eller förhåller sig objekten till varandra? - Identifiera objektens attribut - gemensamma egenskaper - t ex kundnummer, kundnamn och adress för ett objekt som Kund - (Fundera över domäner för attributen, dvs vilka typer av data ska lagras text, tal, etc?) - Bestäm primärnyckelattribut och främmande nycklar - Kontrollera att det inte finns omotiverad redundans i modellen, dvs att data inte dubbellagras i onödan - Validera den konceptuella modellen mot de operationer (transaktioner) som ska kunna utföras mot databasen - Utvärdera den konceptuella modellen med beställaren, t ex en kund, användare el dyl. Vad är en konceptuell modell? En konceptuell modell är ett resultat av modelleringsarbetet; en grafisk beskrivning som visar objekt, objekts attribut och relationer mellan objekt. Ett exempel på objekt (se modell 1a nedan) är Student. Exempel på objektsattribut är StudentID#, Fnamn, Enamn och ProgramID*. StudentID# är en s k primärnyckel och ProgramID* en s k främmande nyckel. I det här fallet ska personnummer användas som värde för StudentID# i det kommande databassystemet. Det för att unikt identifiera varje student. Notera att det under vissa omständigheter kan vara olagligt eller olämpligt att lagra personnummer i en databas (se Personuppgiftslagen, PUL). 1

Modell 1a enkel konceptuell modell Notationen är ett exempel på en av de tre olika notationerna i detta häfte. Modell 1b E/R-graf Ett annat exempel på en notation. 2

Modell 1c E/R-graf (UML-notation) Detta är den vanligaste notationen som ni bör använda, UML, som är de facto standard. Modellen till vänster är ett exempel på UML som ni ska använda er av i samband med CASET. Denna modell kunde förbättrats med att den konceptuella modellen även visar kopplingstabeller med främmande nycklar, mm då det är många till många samband. Ni kan även jämföra med kurslitteraturen där det finns mer exempel i kapitel 16 och 17. Modelleringsregler mm Hur identifierar man rätt objekt och objekts attribut eller egenskaper? Analysera verksamheten och identifiera de objekt databasen ska innehålla data om. Handlar det om utbildningsverksamhet kan t ex Kursdeltagare, Kurser eller Program vara centrala objekt (jfr. substantiv) Undersök vilka gemensamma kvaliteter eller egenskaper ett objekt beskrivs med (jfr. vilka data som ska lagras). Objektet Student har t ex gemensamma egenskaper som personnummer, namn, adress och tel. Instanser av objektet Kund har gemensamma egenskaper som kundnummer, namn, adress, osv Hur upptäcker man relationer eller samband? Genom associationer t ex att kunder gör beställningar Genom att söka strukturer t ex att beställningar innehåller artiklar Hur detaljerad ska man vara? Tillräckligt för kunna beskriva den aktuella verksamheten på den nivå som krävs - modellen ska gå att omvandla till en relationsdatabas i lägst 3NF Modellering av 1:M-relationen I en 1:M-relation "lånar" objektet på "många-sidan" det relaterade objektets identifierande egenskap (en primärnyckel). Den lånade nyckeln kallas främmande nyckel och utgör en referens till den relaterade tabellen. Relationen utläses: Många studenter kan läsa ett program, t ex VIP eller IT-ekonom, men en 3

student får bara läsa ett program åt gången (en verksamhetsregel). I den enkla modellen markeras en 1:M-relation genom att en gaffel sätts i objektet på många-sidan. Modelleringsregel 1:M-relation: exempel Student - Program Tabellexempel: Student - Program Modellering av M:M-relationen En M:M-relation kan ses som två 1:M-relationer som förutsätter ett tredje objekt; ett s k relationsobjekt eller en kopplingstabell. Relationen i exemplet nedan kan utläsas: En student kan läsa och få betyg på många kurser. En kurs kan läsas av många studenter, osv. För att lagra data om betyg skapar vi ett helt nytt objekt relationsobjektet Betyg. Exempel - relationsobjektet Betyg 4

Relationen i tabellexemplet nedan kan utläsas: En beställning kan innehålla många artiklar (eg. artikelnummer, inte artiklar i sig), och en artikel kan ingå i många beställningar. För att lösa detta skapar vi ett helt nytt objekt relationsobjektet Beställningsspecifikation. Tabellexempel relationsobjektet Beställningsspecifikation Relationsobjekt är inte alltid lika självklara eller enkla att hitta som t ex Student, Kurs eller Artikel; ibland krävs lite tankemöda innan man finner dem... 5