📘 CodingMarble Learn

Concetti di database: DBMS, relazioni e chiavi

Tenere i dati in file separati causa duplicati, incoerenze e poca sicurezza. Un database conserva dati collegati in un unico posto ordinato, e un DBMS (come MySQL) è il software che lo gestisce. Nel modello relazionale i dati stanno in tabelle (relazioni) fatte di colonne (attributi) e righe (tuple); il dominio è l'insieme dei valori ammessi per una colonna. Una chiave candidata identifica ogni riga in modo unico; una viene scelta come chiave primaria e le altre sono chiavi alternative.

🎬 Storia passo dopo passo

  1. I file separati ripetono i dati e finiscono per non essere più allineati. Un database tiene una sola copia.
  2. Un DBMS sta tra gli utenti e i dati e gestisce tutto.
  3. Una tabella è una relazione: le colonne sono gli attributi, le righe sono le tuple.
  4. Il dominio è l'insieme dei valori che una colonna può assumere.
  5. Le chiavi candidate identificano ogni riga. Una diventa la chiave primaria, le altre sono chiavi alternative.
  6. Tocca a te: prova ogni colonna e scopri se può essere una chiave.

Suggerimento: trascina la scena 3D per ruotarla. Usa due dita per zoomare.

🤔 Dubbi comuni, chiariti

Un foglio di calcolo non è già un database?

Un foglio di calcolo può contenere una tabella, ma un DBMS aggiunge l'uso condiviso da molti utenti insieme, regole (chiavi, domini), sicurezza e interrogazioni potenti.

Perché le righe si chiamano tuple?

In matematica un insieme ordinato di valori è una tupla. Ogni riga è un insieme ordinato di valori, uno per ogni attributo.

Chi decide il dominio?

Il progettista del database, in base a regole reali (classe 9–12, voti 0–100). Poi il DBMS rifiuta i valori fuori dal dominio.

Se AdmNo ed Email sono entrambi unici, perché scegliere AdmNo?

È corto, non cambia mai e ogni studente ce l'ha. Le email possono cambiare o mancare.

Una chiave può essere fatta di due colonne?

Sì. Quando nessuna colonna da sola è unica, un insieme come (Class, RollNo) può essere la chiave. Si chiama chiave composta.

Perché ci serve un database?

In un file system ogni ufficio tiene i propri file. Questo crea dei problemi:

Un database è una raccolta ordinata di dati collegati, conservati in un solo posto, in modo che possano essere condivisi, mantenuti coerenti e protetti.

Sistema di gestione di basi di dati (DBMS)

Un DBMS è un software per creare, salvare, aggiornare, cercare e gestire un database, e per controllare chi può usarlo. Esempi: MySQL, Oracle, PostgreSQL, SQLite, Microsoft Access.

Vantaggi: meno ridondanza, coerenza, condivisione tra molti utenti, sicurezza con password e permessi, backup e ripristino, e ricerca facile con un linguaggio di interrogazione (SQL).

Usi di tutti i giorni: banche, prenotazione dei treni, registri scolastici, acquisti online, ospedali.

Modello relazionale: relazione, attributo, tupla, dominio

Nel modello relazionale i dati sono tenuti in tabelle.

Regole: ogni colonna ha un nome unico; l'ordine di righe e colonne non conta; due righe non sono mai identiche; ogni cella contiene un solo valore (oppure NULL, che significa sconosciuto).

Le chiavi: candidata, primaria e alternativa

Esempio: STUDENT(AdmNo, Name, Class, Email). Name si ripete e Class si ripete, quindi non sono chiavi. AdmNo ed (se è sempre compilata e diversa per tutti) Email sono chiavi candidate. Scegli AdmNo come chiave primaria; Email diventa la chiave alternativa.

Utili da sapere: una chiave composta usa due o più colonne insieme (come Class + RollNo); una chiave esterna è una colonna di una tabella che fa riferimento alla chiave primaria di un'altra tabella e collega le due.

Prova tu: trova la chiave nella tua tessera

Guarda la tessera della tua scuola o un abbonamento dell'autobus. Elenca tutti i campi (nome, classe, numero di registro, matricola, telefono). Per ognuno chiediti due cose: due studenti possono avere lo stesso valore? Può essere vuoto? Scrivi quali sono chiavi candidate e quale sceglieresti come chiave primaria. Poi prova la stessa idea nel passo 6 del 3D.

Formule e definizioni chiave

Esempi svolti

1. Una tabella ha 5 colonne e 30 righe. Indica grado e cardinalità.

Grado = 5, cardinalità = 30.

2. Dopo aver aggiunto 2 righe e 1 colonna a una tabella 4 × 10 (grado 4, cardinalità 10), quali sono i nuovi valori?

Grado = 5, cardinalità = 12.

3. EMPLOYEE(EmpID, Name, Aadhaar, Dept). Individua chiavi candidate, primaria e alternativa.

EmpID e Aadhaar sono unici → chiavi candidate. Scegli EmpID come chiave primaria; Aadhaar è la chiave alternativa. Name e Dept possono ripetersi.

4. Perché Name non può essere la chiave primaria in STUDENT?

Due studenti possono avere lo stesso nome, quindi non identifica una riga in modo unico.

5. Indica il dominio di un attributo Gender salvato come una sola lettera.

{"M", "F", "O"} (o i codici che la scuola ammette).

Errori comuni

Quiz di allenamento

1. Una riga di una relazione si chiama:
2. Il numero di colonne di una relazione è il suo:
3. Una chiave candidata non scelta come chiave primaria è una:
4. Quale di questi è un DBMS?
5. Gli stessi dati salvati in molti file sono detti:

Esercizi: rispondi da solo

Scrivi o scegli la risposta, poi premi Controlla. Usa un suggerimento se sei bloccato; la soluzione completa appare dopo la tua risposta.

Domande frequenti

Perché serve un database?

Per evitare dati duplicati e incoerenti nei file separati e per condividere, proteggere e cercare i dati con facilità.

Qual è la differenza tra chiave candidata, primaria e alternativa?

Ogni chiave candidata può identificare le righe in modo unico; quella scelta è la chiave primaria; le altre sono chiavi alternative.

Che cosa sono grado e cardinalità?

Il grado è il numero di colonne (attributi); la cardinalità è il numero di righe (tuple) di una relazione.

Dove si studia

ItalySecondaria di secondo grado – classe 3ªTools and foundations
ItalySecondaria di secondo grado – classe 4ªTools and foundations
NetherlandsHAVO 5 (eindexamenjaar)Elective theme: Databases
NetherlandsVWO 6 (eindexamenjaar)Elective theme: Databases
PolandLiceum ogólnokształcące, klasa IIProgramming and solving problems with computers
RomaniaClasa a X-aDatabases
RomaniaClasa a XII-aModule 1: Databases (compulsory)
RomaniaClasa a XII-aModule 2: Database management systems (optional)
RomaniaClasa a XII-aModern user skills
RomaniaClasa a XII-aWorking with a database application
Ukraine9 класInformation systems and data management
Ukraine10 класBase module: database systems
CBSE (India)Class 11Database Concepts and SQL
CBSE (India)Class 11RDBMS
England (GCSE, A level)Year 113.7 Relational databases and SQL
Japan高校1年Networks and data
Japan高校(専門学科)1〜3年Using Software
Japan高校(専門学科)1〜3年Computer Systems Technology
Japan高校(専門学科)1〜3年Databases
South Korea고등학교 2학년Understanding data science
South Korea고등학교 3학년Data and information
Germany (Bavaria)Jahrgangsstufe 10Data modelling and relational databases
FranceSecondeThemes
FrancePremièreTabular data
FranceTerminaleSpecific option — management information systems
Russia9 классTheoretical foundations
Russia11 классInformation technologies

Da studiare prima

Da studiare dopo