---
# System prepended metadata

title: Övningar databasdesign
tags: [övningsuppgifter]

---

# Övningar databasdesign

### 1. Skapa ett ER-diagram

Tänk dig att du ska skapa nya facebook, dvs en social-media-platform med användare som kan bli vänner med varandra, göra inlägg och kommentera på varandras inlägg. Databasen för platformen ska hantera

* Användare (användar-ID, namn, e-post, registreringsdatum)
* Inlägg (inlägg-ID, innehåll, tidpunkt, användar-ID)
* Kommentar (kommentar-ID, inlägg-ID, användar-ID, innehåll, tidpunkt)
* En användare kan ha många vänner, och vänskap är en relation mellan två användare.
* En användare kan skapa flera inlägg och kommentera på andras inlägg.
* Ett inlägg kan ha flera kommentarer, men en kommentar tillhör bara ett inlägg.

Skapa ett ER-diagram över databasen. Fundera på vad som är entiteter, attribut och relationer, och använd *Crow's notation*. Gör diagrammet med papper och penna eller med draw.io.

### 2. Översätta ett diagram till SQL

I diagrammet nedan syns en modell över skidorter. I modellen finns data för orter, bergstoppar, pistar, skidliftar, anläggningar, liftkort och säsonger. Skapa en databas och skriv SQL-queries för att skapa upp alla nödvändiga tabeller. Tänk på att diagrammet inte nödvändigtvis visar alla kolumner och tabeller, så tänk igenom relationerna som illustreras och vad som krävs för att representera dem. 

![1_9wiBoMLVv43wwJmB0EIjLg](https://hackmd.io/_uploads/rJZuTK_Kkg.jpg)

