I opgaven her skal I prøve at opsætte jeres måske første database - vi bruger Postgres :postgres: til opgaven og prøver at opsætte den i forskellige relationer.
<aside> <img src="notion://custom_emoji/78111fd7-5d55-4196-af1c-1918b8dd24a0/1cbdab5c-a237-805c-9322-007ac7d4c483" alt="notion://custom_emoji/78111fd7-5d55-4196-af1c-1918b8dd24a0/1cbdab5c-a237-805c-9322-007ac7d4c483" width="40px" />
Inden at man begynder på følgende opgave anbefaler vi at have tager Khan Academy’s kursus i SQL : https://www.khanacademy.org/computing/computer-programming/sql
</aside>
Der er flere forskellige måder at køre en Postgres Database - det første store valg vi skal tage er om det skal være lokalt eller i skyen. Til jeres introduktion anbefaler vi at bruge en i skyen, specielt hvis I skal lave et større projekt!
Neon tilbyder gratis postgres-databaser som kører på enten AWS eller Azure. Det kræver ikke noget kreditkort eller betaling for at få adgang, bare en email-konto. Generelt anbefaler vi den til langt de fleste hovedforløb og har ikke haft problemer med plads eller ydeevne endnu!
I skal starte med at logge ind - vi anbefaler at bruge en delt mail, hvis man arbejder i gruppe ellers kan man med fordel bruge GitHub!
Herfra skal vi vælge hvilken database vi vil opsætte og her vælger vi følgende konfiguration!
Vi har et godt dashboard med flere funktioner som vi ikke udforsker i følgende guide. Herfra skal vi have en connection-string for at få forbindelse til databasen. Vi trykker på connect og for en på følgende format!
postgresql://DBOpgave_owner:Password
@ep-gentle-frog-a94r7jor-pooler.gwc.azure.neon.tech/DBOpgave?sslmode=require
At opsætte en database lokalt kan også være en fordel, postgres er opensource, derfor kan man frit hente den og køre lokalt! I skal starte med at hente den her - https://www.postgresql.org/download/
Vi anbefaler følgende video som forklare hvordan man henter det og forbinder med vores fortrukne klient - pgAdmin - Det mest omfangsrige værktøj til PostgreSQL
https://www.youtube.com/watch?v=dsfcg695l-8
På Linux kan vi ligeledes hente den gennem hjemmesiden https://www.postgresql.org/download/ - her anbefaler vi dog at installere den med Docker som beskrevet på siden her: DH-DC Ubuntu2404
Aspire er .NET’s cloudnative runtime - her har man mulighed for at starte en Postgres database lokalt op med Docker. Vi anbefaler dog kun at gøre det, hvis man har erfaring med C#, .NET og en smule Docker! I kan se hvordan her - https://github.com/Mercantech/Aspire-Exampels
Neon :neon-tech: har en indbygget SQL-klient som I skal være velkommen til at bruge, til de fleste andre databaser er det dog bedst at bruge en ekstern klient til at få forbindelse til ens database. Her kommer lidt anbefalinger om hvilken klient man kan vælge - dog tager opgaver udgangspunkt i pgAdmin
pgAdmin har alle funktioner man kunne ønske sig til at håndtere ens database, fra monitorering til at oprette SQL-statements.
Vi kommer til at bruge den i opgaven her, til screenshots og generelt som et værktøj I kan følge med I!
De eneste negative omkring pgAdmin er at værktøjer godt kan være lidt stort, specielt som nybegynder. Derfor har vi en liste af alternativer herunder!
Opgaven bruger pgAdmin 4-9.2 og Postgres 17, dog anbefaler vi altid at hente den nyeste fra hjemmesiden! En guide til installation kan findes her - https://www.youtube.com/watch?v=dtcCXV1AWX4
Synes man pgAdmin er lidt stort og svært at finde rundt i, er TablePlus et godt alternativt, hvor man nemt kan forbinde til et hav af forskellige typer af databaser! Det er ikke open-source som pgAdmin, dog har de en rigtig fin gratis version som sagtens kan få jer igennem opgaverne her!
https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools
Hvis man bruger VSCode som ens IDE, kan man også hente en extension som hedder SQLTools, her kan man forbinde til flere forskellige database-typer og der findes drivers til de mest populære.
Den store fordel her er at vi kan skrive vores kode direkte i VSCode og køre den derfra.
https://www.jetbrains.com/datagrip/
JetBrains som en del af jer bruger, har et IDE som hedder DataGrip - personligt synes jeg det er en god blanding mellem at være simpel og have komplekse og avancerede løsninger som pgAdmin. Den kræver dog licens, som I kan få igennem GitHub med jeres studiefordele Studiekort + GSDP!
Når I har valgt en klient, skal vi forbinde til jeres database. I opgaven bruger vi en neon :neon-tech: database sammen med pgAdmin.
Her er der 3 dele hvor vi skal skrive ind for at få forbindelse
Den første er bare vores personlige navn på database-serveren. Det kan være hvad som helst
Nu har I en fungerende database, men den mangler en masse. Vi skal have oprettet tabeller, data og views på vores data! Opgaven her stille en masse krav op som I skal prøve at opfylde, udover det linker den til den officielle dokumentation af Postgres, som I skal øve jer I at bruge! https://www.postgresql.org/docs/17/index.html