TUC i Helsingborg: DATA25HEL
Sammanfattning
10 kurser
183 avsnitt
TUC i Helsingborg: DATA25HEL
Mentor:
David Hankin
Madelene Larneby
Värmt välkommen till plugga.tech!
Bootcampsinnehåll
Överblick |
Vad är en databas? |
Varför databaser? |
Databas vs kalkylblad |
Typer av databaser |
Databasens historia |
När används vilken databastyp? |
Databaser i applikationer |
Centrala begrepp |
2/2 - Presentationen |
Vad är en relationsdatabas? |
Vad och varför? |
SQL - språket för relationsdatabaser |
Övning: Tänka som en databas |
Vad är ett ER-diagram? |
Primärnycklar (PK) och främmande nycklar (FK) |
Relationstyper och notation i ER-diagram |
Övning: testa att rita ett ER-diagram |
Vad SQL används till |
SQL är Deklarativt |
CRUD – grundläggande operationer på data |
Hur CRUD uttrycks med SQL |
SQL-kommandon och deras roller |
Vanliga SQL-delar och hur de används |
Kärnkommandon – fördjupning |
SQL för databasstruktur |
AI som stöd vid arbete med relationsdatabaser |
Kom igång med ett webbaserat SQL-verktyg |
Övning - Arbete med data i SQLite |
Installera SQLite Browser |
Kom igång med DB Browser for SQLite |
Övning - Bygg en enkel 3-tabellsdatabas med DDL |
Övning - Arbeta med en större databas |
2/2 - Presentation |
SQL fil och kommandos |
Quiz frågår och queries |
Gruppuppgift |
Vad är en dokumentdatabas? |
När och Varför? |
Frågor (queries) i dokumentdatabaser |
Övning: Tänka som en dokumentdatabas |
Struktur och modellering i dokumentdatabaser |
Nyckel–värde-par |
Introduktion till JSON |
JSON – struktur och datatyper |
Hur man designar en dokumentdatabas |
Relationer och referenser i dokumentdatabaser |
Kombinera Relationsdatabas och Dokumentdatabas |
Ansvar i dokumentdatabaser |
Övning: Modellera ett bibliotekssystem som JSON-dokument |
Modellering utifrån användning och läsmönster |
Normalisering vs dokumentstruktur |
Likheter med SQL och relationsdatabaser |
Hur CRUD uttrycks i dokumentdatabaser |
Olika sätt att uttrycka frågor i dokumentdatabaser |
Filter, urval och resultat |
Uppdateringar som förändringar av dokument |
Introduktion till MongoDB |
MongoDB – operatorer uttryckta som JSON |
Vad kan inte uttryckas som JSON i MongoDB |
Handling och beskrivning – MongoDB jämfört med SQL |
Aggregation i MongoDB |
Kom igång med MongoDB Atlas |
Övningar i MongoDB Atlas |
AI och dokumentdatabaser |
Arbeta lokalt med MongoDB Compass |
Mongosh |
Övningar – MongoDB lokalt med Compass |
9/2 - presentation |
Gruppuppgift: Utveckla ert system med dokumentdatabas(er) |
Quiz frågor |
Vad är en grafdatabas? |
När och varför används grafdatabaser? |
Övning: Identifiera grafproblem i vardagssystem |
Noder, relationer och egenskaper |
När och hur skapas relationer i grafdatabaser? |
Att modellera data som graf |
Fler exemplar på grafmodeller |
Tre databasmönster – tre sätt att tänka |
Hur man ställer frågor till en graf |
Traversering och vägar |
Kortaste väg i grafdatabaser: steg, kostnad och vikt |
Jämförelse: samma fråga i tre datamodeller |
Varför JOIN-tunga frågor passar dåligt för graf |
Övning: Resonera kring databastyp |
GQL och Cypher – bakgrund |
Cypher: grunder och tankesätt |
Cypher-syntax: Hur en graf-fråga byggs upp |
Startdataset för Cypher-övningar |
MATCH och RETURN |
CREATE: skapa data |
MERGE: skapa bara om det saknas |
WHERE: filtrera resultat |
Aggregat i Cypher: COUNT och DISTINCT |
Vägar och djup i Cypher |
Uppdatera och ta bort data |
Constraints och index |
Mini-case: frågor först, modell sen |
Arbeta med Neo4j Aura (Cloud) |
Arbeta med Neo4j lokalt |
Grafdatabaser presentationer |
Övning - Designa en datasystem |
Vad är en Key/Value-databas? |
Varför behövs Key/Value-databaser? |
Typiska användningsområden |
Grundprincipen: Nyckel → Värde |
Datatyper i Key/Value-system |
Nyckeldesign och namngivningsstrategier |
TTL och temporär data |
Persistens vs cache |
Begränsningar i modellen |
När ska man välja Key/Value? |
När ska man inte välja Key/Value? |
Key/Value som komplement (Polyglot persistence) |
Cache-lager i arkitektur |
Trade-offs: prestanda vs funktionalitet |
Grundkommandon (SET, GET, DEL) |
Arbeta med Hashes |
Arbeta med Lists |
Arbeta med Sets |
Räknare och inkrementering |
TTL och expiration (praktiskt arbete) |
Mönster: Sessionshantering |
Mönster: Cache |
Mönster: Rate limiting |
Redis Insight |
Bygg ett mini-system i Redis |
Presentation Key/Value |
Vad är en objektdatabas? |
Objektmodellen och lagringsprinciper |
Design, arkitektur och strategiska överväganden |
Jämförelse och helhetsförståelse |
Reflektion och begreppsfördjupning |
Objektidentitet och persistens |
Persistens av objekt |
Objektgraf och navigering |
Direkta referenser istället för JOIN |
Arv i databasen |
Inkapsling och beteende |
Transaktioner och konsistens i OODBMS |
Skillnad mot dokumentdatabaser |
Skillnad mot relationsdatabaser |
När kan en objektdatabas vara lämplig? |
När bör man inte välja objektdatabas? |
Domäntunga system och komplexa modeller |
Prestanda vid djupa objektgrafer |
Skalbarhet och distribution |
Standardisering och vendor lock-in |
ORM som kompromisslösning |
Är objektdatabaser nisch eller framtid? |
Presentation 23/2 - Objekt |
Operativa vs analytiska databaser |
OLTP vs OLAP |
Vad är Big Data? (3V-modellen) |
Vad är en Data Lake? |
Vad är ett Data Warehouse? |
Hur hänger Data Lake, Data Warehouse och analys ihop? |
Trade-offs och arkitekturval |
Vad är Google BigQuery? |
BigQuery som analytisk databasmotor |
Kom igång med BigQuery Sandbox |
Skapa din första tabell i BigQuery |
Infoga data och köra din första SELECT-fråga |
Arbeta med ett större dataset (publik data) |
Förstå kostnad och prestanda i BigQuery |
Från rådata till insikt – Vad visar datan? |
Grundidé |
Skapa en Raw Zone |
Vad är en Data Lake egentligen? |
Hur ser en Data Lake ut i verkligheten? |
Från rådata till strukturerad data (Transformation) |
Skapa ett strukturerat analyslager |
Warehouse-principer |
Varför är Data Warehouses ofta relationella? |
Stjärnschema |
Faktatabeller – vad mäts? |
Dimensioner – vad beskriver vi? |
ETL – från Raw till Warehouse |
Vad gör data “big”? |
Batch vs Streaming |
Distribuerad lagring |
Partitionering och klustring |
Praktik: Partitionerad tabell |
Plugga.tech™
Allt material på denna sida är skyddat enligt lagen om upphovsrätt. Det innebär att endast du får använda kurserna och dess material. Det är inte tillåtet att kopiera, ladda ned och dela med sig av material till andra. Du får inte använda något av detta innehåll i kommersiellt syfte.
Postadress
H5 Förnyelsebyrå AB
Box 8000, 501 18 Borås
Org nr: 556970-4371
Powered by @HiveAndFive
© Plugga.tech™







