Modul 25. Mere database teori

Opgave

25.1 Forklar fagudtryk

Forklar fagudtrykkene her med dine egne ord. Du skal ikke copy-paste mine forklaringer fra bogen. Til gengæld må du må meget gerne give eksempler.

Gør noget ud af dit arbejde og gem resultatet. Spørgsmålene er direkte eksamensspørgsmål.

FAGUDTRYK/SPØRGSMÅLFORKLARING
Hvad er en database
Hvad bruger vi databaser til i 3-lags arkitekturen
Hvad indebærer normalisering
Nævn de trin, vi foretager os i normalisering
Primærnøgle
Fremmednøgle
Hvorfor er primærnøgler så nærmest sygeligt vigtige for os i databaser
Hvad er forskellen på en flad database og en relationsdatabase

25.2 SQL start

Gå ind på https://www.w3schools.com/sql/, så du ser nedenstående:

  • Under den 3. side SQL Syntax https://www.w3schools.com/sql/sql_syntax.asp prøv at finde ud af, hvad kommandoen “SELECT * FROM Customers;” kan
    • Hvordan skal vi forstå kommandoen
  • Under den 4. side SQL Select https://www.w3schools.com/sql/sql_select.asp find ud af, hvad kommandoen “SELECT CustomerName, City FROM Customers;” kan
    • Skriv en kommando, der kan vælge både CustomerName, City og Country. Noter koden ned
    • Skriv en kommando, der kan vise ContactName og City. Noter koden ned
    • Skriv en kommando, der kan vælge alle felterne på en gang. Noter koden ned
  • Under den 6. side SQL Where https://www.w3schools.com/sql/sql_where.asp find ud af, hvad kommandoen “SELECT * FROM Customers
    WHERE Country=’Mexico’;” kan
    • Skriv en kommando, der vælger alle kunder fra Danmark (Denmark) og noter koden ned
    • Skriv en kommando, der vælger ContactName, City og Country hvor landet er Tyskland (Germany). Noter koden ned

25.3 Sejere SQL. Du skal bl.a prøve indsæt, opdater og slet

VIGTIGT: Hvis du ikke kan få det til at virke, så prøv en anden browser. Hos mig virker Firefox ikke, mens det går fint med Microsoft Edge. Hvis det stadigvæk ikke virker, så prøv at løs opgaven teoretisk.

Indsæt: Se https://www.w3schools.com/sql/sql_insert.asp

  • Indsæt nedenstående kunde i tabellen “Customers”: Tip: Kik under INSERT INTO (Husk at sætte ‘…’ rundt om tekst): Furiosh Fashion. Anne Jensen. Vestergade 45, 5000, Odense C, Denmark
  • Lav herefter et SQL kald, der viser alle kunder i tabellen “Customers”, som kommer fra Danmark (Denmark). Noter koden ned og tag et skærmfoto af resultatet

Opdater. Se https://www.w3schools.com/sql/sql_update.asp

  • Forklar hvordan koden fungerer.
  • Ret tabellen, så kontaktpersonen ved nr. 2 kunde hedder “Beatriz Melo” i stedet for “Ana Trujillo”. Skriv koden ned
  • Lav et kald, så du tjekker, at navnet er blevet ændret. Tip: Prøv at hente hele tabellen.
  • Tag et skærmfoto af dit resultat

Slet. Se https://www.w3schools.com/sql/sql_delete.asp

  • Slet hele den post, hvori Sven Ottlieb indgår (Hint).
  • Noter koden ned
  • Lav et kald, så du tjekker, at Sven Ottlieb er fjernet fra listen. Tip: Prøv at hente alle kunder fra Danmark
  • Tag et skærmfoto af dit resultat

Optæl

  • Brug en SQLkode til at finde ud af mange produkter er der i tabellen “Products” (Hint)
  • Hvor mange kunder har adresse enten i London eller Berlin? (Hint).

25.4 Sejeste SQL

  • Forklar hvad denne kode gør (Hint):

SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
  • Lav en søgning med SQL, der giver dig denne tabel. Alle poster er ikke vist her (Hint):

25.5 SQL kørekort

Vi ønsker nu at trække data ud af databasen for “Sund og Grøn” vha. SQL. Vi siger, at vi har 2 tabeller. Tabellen “Leverandører” og tabellen “PostnummerBy”.

Databasen kunne se sådan her ud:

25.6 Ekstra opgave. Prøv noget mere SQL

Gå ind på W3schools og find nogle SQL kald. Prøv f.eks. at

  • Start på siden https://www.w3schools.com/sql/sql_select.asp og følg kurset
  • Når du finder noget spændende, så prøv det af i SQLite
  • Det giver plusser at prøve så mange SQL kommandoer af som muligt.

25.7 “Den gyldne dråbe”

Økobutikken “Den gyldne dråbe”, som sælger økologisk vin og ditto specialøl, planlægger en kundedatabase.

  • Lav et forslag i form af en tabel til, hvad du synes, at  de skal registrere om deres kunder. Det er et krav, at du har kundens email og saldo med. Lav tabellen f.eks. i Excel. Det er tilladt at genbruge tidligere arbejde. Du skal skrive, hvilken datatype du anvender. Se oversigt over datatyper herunder
  • Kom med mindst 3 gode forslag til, hvad de kan bruge en kundedatabase til.
  • Diskuter fordele og ulemper ved en elektronisk kundedatabase
  • Kun hvis du har lært om normalisering: Gennemfør normalisering. Du skal kunne forklare processen
  • Lav en forslag til en app til “Den gyldne dråbe” i App Lap, hvor de kan registrere leverandører. Nøjes med at lave et forslag i frontend, der er pænt, og som har de nødvendige felter. Dvs. ingen backend kode bortset fra, hvis du har brug for flere sider og skal bladre. Med andre ord, hvis du kan lide at designe, så er dette opgaven for dig.
  • Bonusopgave: Lav et login med adgangskode til appen til Sund og grøn, hvor adgangskoden så giver adgang til at se deres database
  • Bonusopgave. Lav en bagvedliggende database, som man så ser i app*en. F.eks. lige som du gjorde i opgave 23.2