20TD02U_ForAlle_Blooms_Side_52_Database_SQL - itnett/FTD02N GitHub Wiki
For å gi en grundig, programmatisert tilnærming til emnet "SQL" (Structured Query Language), vil vi strukturere læringen basert på Blooms taksonomi. Denne tilnærmingen dekker grunnleggende til avanserte konsepter innen SQL, og inkluderer programmatiske, logiske, og praktiske tilnærminger som tar leseren fra videregående skole til universitetsnivå. Fokus vil være på IT-drift og sikkerhet, med en fullstendig innføring i SQL for databaser.
Videregående Skole Nivå
1. Kunnskap (Remembering)
Emne: Grunnleggende SQL-kommandoer
- Logisk tilnærming: Start med å lære grunnleggende SQL-kommandoer som
SELECT
,INSERT
,UPDATE
,DELETE
. - Programmatisk tilnærming: Bruk Python for å kjøre SQL-kommandoer på en SQLite-database.
- Praktisk tilnærming: Installer SQLite og bruk det til å lage en enkel database som inneholder informasjon om elever. Skriv SQL-kommandoer for å legge til, oppdatere, slette og hente data fra databasen.
2. Forståelse (Understanding)
Emne: Filtrering og Sortering av Data
- Logisk tilnærming: Forstå hvordan man bruker
WHERE
,ORDER BY
, ogLIMIT
for å filtrere, sortere og begrense resultater i SQL. - Programmatisk tilnærming: Implementer filtrering og sortering i Python ved å bruke SQL-spørringer på en SQLite-database.
- Praktisk tilnærming: Utfør praktiske øvelser ved å skrive SQL-spørringer som henter spesifikke data fra databasen basert på kriterier som alder eller navn, og sorter resultatene etter navn eller alder.
Høyskole Nivå
3. Anvendelse (Applying)
Emne: Joins og Relasjoner
- Logisk tilnærming: Forstå hvordan man bruker
JOIN
-kommandoer til å kombinere data fra flere tabeller basert på relasjoner mellom dem. - Programmatisk tilnærming: Bruk SQL til å opprette flere tabeller i en SQLite-database og koble dem sammen ved hjelp av
INNER JOIN
,LEFT JOIN
,RIGHT JOIN
. - Praktisk tilnærming: Skriv SQL-spørringer som kombinerer data fra tabellene
elever
,klasser
, ogfag
for å vise hvilke elever som tar hvilke fag.
4. Analyse (Analyzing)
Emne: Aggregatfunksjoner og Gruppering
- Logisk tilnærming: Forstå hvordan man bruker SQL-aggregeringsfunksjoner som
COUNT
,SUM
,AVG
,MAX
,MIN
sammen medGROUP BY
for å oppsummere og analysere data. - Programmatisk tilnærming: Implementer SQL-spørringer som grupperer og oppsummerer data fra tabeller i SQLite.
- Praktisk tilnærming: Analyser data ved å telle antall elever i hver klasse, beregne gjennomsnittsalder i hver klasse, eller finne den eldste eleven i hver klasse.
Universitets Nivå
5. Syntese (Synthesizing)
Emne: Underforespørsler og Kompleks SQL
- Logisk tilnærming: Lær hvordan man skriver komplekse SQL-spørringer som bruker underforespørsler (subqueries) for å trekke ut mer komplekse data.
- Programmatisk tilnærming: Implementer SQL-spørringer med underforespørsler for å løse komplekse dataproblemer i SQLite.
- Praktisk tilnærming: Skriv SQL-spørringer som finner elever som er eldre enn gjennomsnittsalderen i klassen deres ved å bruke underforespørsler.
6. Evaluering (Evaluating)
Emne: Databaseytelse og Indeksering
- Logisk tilnærming: Forstå hvordan indeksering påvirker ytelsen til SQL-spørringer, og hvordan man kan optimalisere spørringer.
- Programmatisk tilnærming: Opprett indekser på tabeller og sammenlign ytelsen til spørringer før og etter indeksering.
- Praktisk tilnærming: Bruk SQL-verktøy som
EXPLAIN
for å analysere ytelsen til SQL-spørringer og optimaliser dem ved å legge til indekser.
7. Skapelse (Creating)
Emne: Sikkerhet og Brukeradministrasjon i SQL
- Logisk tilnærming: Forstå hvordan man implementerer sikkerhetsfunksjoner i SQL, inkludert tilgangskontroll og kryptering.
- Programmatisk tilnærming: Opprett brukere med forskjellige tilgangsnivåer og implementer kryptering av sensitive data i en SQL-database.
- Praktisk tilnærming: Konfigurer en SQL-server for å beskytte sensitive data ved
å kryptere felt som inneholder personnummer, og administrere brukertilgang med roller og rettigheter.
Konklusjon
Denne programmatiske tilnærmingen til SQL dekker alle nivåer fra videregående skole til universitetsnivå, basert på Blooms taksonomi. Ved å bruke praktiske, logiske og programmatiske eksempler, vil du utvikle en dyp forståelse for hvordan SQL fungerer, samt hvordan det kan brukes til å manipulere, analysere, og beskytte data i en database. Denne kunnskapen er avgjørende for å håndtere komplekse databaseløsninger innen IT-drift og sikkerhet.
Denne veiledningen er designet for studenter, utviklere, og IT-fagfolk som ønsker en grundig og strukturert tilnærming til læring og anvendelse av SQL.