# Relationer

\[ [Installera verktyg](/sqlite/installera-sqlite-verktyg.md) | [Kommandon](/sqlite/kommandon.md) | [**Relationer**](/sqlite/relationer.md) | [Joins](/sqlite/joins.md) ]

Nedanstående tabeller är ett exempel på en 1:N-relation.

**students**

<table><thead><tr><th width="85.33333333333331">id🔑</th><th width="132">name</th><th width="134">surname</th><th>pnumber</th><th>classid</th></tr></thead><tbody><tr><td>1</td><td>Mikael</td><td>Bergström</td><td>XXXXXX-XXXX</td><td>1</td></tr><tr><td>2</td><td>Mohammad</td><td>Mohammadi</td><td>XXXXXX-XXXX</td><td>2</td></tr><tr><td>3</td><td>Anna-Karin</td><td>Karlsson</td><td>XXXXXX-XXXX</td><td>1</td></tr></tbody></table>

**classes**

<table><thead><tr><th width="88.33333333333331">id🔑</th><th width="141">name</th><th>mentor</th></tr></thead><tbody><tr><td>1</td><td>TE00A</td><td>Mira Belle</td></tr><tr><td>2</td><td>TE00B</td><td>Kevin McAllister</td></tr></tbody></table>

Här är relationen att kolumnen **classid** i tabellen **students** innehåller siffror som hör ihop med kolumnen **id** i tabellen **classes**. Observera att det är classes-tabellens **primärnyckel** som används.

För att hindra användare från att lägga in icke-giltiga värden classid-kolumnen så kan relationen skrivas in i tabellens definition när den skapas (det kan också göras i efterhand via [ALTER TABLE](/sqlite/kommandon.md#alter-table)):

```sql
CREATE TABLE classes (
	id INTEGER PRIMARY KEY AUTOINCREMENT,
	name TEXT NOT NULL,
	mentor TEXT NOT NULL
);

CREATE TABLE students (
	id INTEGER PRIMARY KEY AUTOINCREMENT,
	name TEXT NOT NULL,
	surname TEXT NOT NULL,
	pnumber TEXT NOT NULL,
	class_id INTEGER NOT NULL,
	FOREIGN KEY(classid) REFERENCES classes(id)
);
```

Med andra ord lägger man helt enkelt till `FOREIGN KEY(x) REFERENCES table(y)` för att koppla kolumnen x till kolumnen y i tabellen "table"


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://db.progdocs.se/sqlite/relationer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
