IT Flashcards
Hvad er Relational database management systems (RDBMS)? DBMS er også muligt.
Det er en software der bruges til at styre, query (spørge efter data) og hente data gemt i en relational database. Mysql er en RDBMS f.eks.
Hvad er entiteter og attributer?
Entiteter er de enheder du ønsker at have data på og “tracke” i en database. De er navneordene i systembeskrivelsen fra kunden. Eksempler i vores database er brugere, sprint, afdeling osv.
Som regel bliver listen af entitetter cuttet ned efter du har sorteret i, hvilke der er nødvendige i databasen.
Attributerne de forskellige egenskaber til hver entitet. Som i vores tilfælde er kan være en virskomheds CVR eller en brugers email.
I en tabel er attributerne kolloner mens dataen er i rækker.
At lave en database med entitetter og attributer er en iterativ process. Der bliver ændret ting hele tide.
Hvad er relationships?
Hvad er kardinalitetter og hvordan bruges de?
Relationships er de “verber” der beskriver, hvordan entitetter inteagere med hinanden. Hvordan forholdet er beskrives med kardinalitetter. Kardinalitter beskriver minimum og maximum antallet af “hændelser” der er tilladt på hver side af relationen.
en til mange forhold: F.eks. kunde til projekt tabellen. 1 projekt er kun forbundet til en kunde, men en kunde kan godt have flere projekter forbundet med sig.
Mange til mange: F.eks. Bruger til sprints. Et sprint kan godt have mange bruger forbundet med sig, men en bruger kan også være forbundet med flere sprints.
Der er også andre som “one and only one” og “Zero” som kan bruges til uddybe forholdet.
Hvilken kardinalittet bruges kommer an på hvordan den virkelig verden fungere i appens kontext. f.eks. en du “tracker” malerier ville man tænke der er et en til mange forhold. En kunster kan lave mange malerier, men et malerie er lavet af en kunster. Hvad hvis maleriet var et gruppe projekt og flere har malet en del af maleriet?
Hvad er en primary key?
Hvad er en foreign key?
Primary key’en er en speciel attribut der har en unik værdi for hver instance af en entitet. Den bruges til at identificere f.eks. bruger i vores database. Det er som regel et ID, men det kan også være et CVR eller brugernavn. Den kan ikke være tom og må aldrig ændres.
Foreign key’en bruges til at tracke tilbage til en unik entitet. f.eks. vi bruger kunde_id i vores projekt tabel til spore tilbage, hvilken specifik kunder er forbundet med dette projekt. Alt i alt tracker den relationer.
Hvorfor skal der værer en mellemtabel mellem mange til mange forhold?
Hvis man ikke laver et mange til mange forhold bryder man reglerne indenfor “nomalization” .
For det første ville du skulle tilføje en ekstra foreign key til hver tabel, hvlket gør det umuligt at refere det tilbage til en anden række i en database. Vi kan hellere ikke tilføje en ekstra id kollonne. Vi kan hellere ikke tilføje en ekstra række for så duplikere vi brugere.
Du bruger mellemtabellen til at fange Sprint og bruger primary key. Så har du ingen dupliketter og bryder ikke normaliserings regler.
Hvad er et Entity-relationship (ER) diagram?
Den modellere den del af omverdenen systemet skal afspejle. Samt forhold mellem entitetter.
Hvad er de forskellige query vi kan bruge for at samle data?
Vi bruger Joins til dette. Data i tabeller siger sjældent noget alene, men sammen er det værdifuldt.
Inner Join: Den vælger rekords der har matchende valgte værdier. F.eks. hvis du vil finde alle ordre en kunde har lavet.
Left Join: Tager alle records fra tabel 1 og alle værdier fra tabel 2 der møder join condition.
Right Join: tager alle records fra tabel 2 og alle værdier fra tabel 1 der møder join condition.
Full join: samler records fra tabel 1 og 2.
Hvad er forskellen på et ER diagram og den relationelle datamodel?
ER diagrammet opstiller en grafisk præsentation af, hvordan de forskellige elementer i databasen er opbygget og relatere til hinanden.
Den relationelle model repræsentere data og relation mellem disse data i form af tabeller.
ER-modellen specifikt beskæftiger sig med enheder og deres relationer. På den anden side beskæftiger den relationelle model sig med tabeller og sammenhængen mellem dataene i disse tabeller
Entitetter bliver til tabeller, attributer bliver til rækker. Forhold vises med PK og FK over kardinalitetter.
En relationaldatabase bryder data ned til sammenhængende datasæt, som kan være relateret til andre datasæt –det er en samling af informationer organiseret sådan at man hurtigt kan lave queries, sortere data, håndtere data og reorganisere data
Hvad er normalisering?
Hvad er de forskellige normaliseringsformer?
Normalisering gør databasen “let” (så den er hurtigere). Gør så man kan søge data på en hensigtsmæssig måde. Gør også så man opdatere/slette data på en hensigtsmæssig måde.
- normal form er typisk nok til at klare de fleste problemer der kan opstå i en database. De resterende er til at håndtere resterende problemer.
- normal form
- Hver celle må kun have en værdi.
- Hver indtastning i en kolonne skal være sammen type.
- Rækker skal kunne blive unikt identificeret (bliver gjort med PK)
- Normal form
- Alle attributer skal være afhængige af primary key’en. - normal form
- Alle kolloner kan kun blive bestemt af Key’en i den tabel og inden andre kollone. - Normal form
- Der må ikke være identiske værdier i samme kollonne (undtaget primary key)