Introducció

El model relacional és un dels models de bases de dades més utilitzats i es basa en la teoria de conjunts i la lògica de predicats. Va ser proposat per Edgar F. Codd el 1970 i ha estat la base per a molts sistemes de gestió de bases de dades (SGBD) comercials.

Conceptes Clau

  1. Taula (Relació)

  • Definició: Una taula és una col·lecció de dades organitzades en files i columnes.
  • Files (Tuples): Cada fila representa un registre únic.
  • Columnes (Atributs): Cada columna representa una característica del registre.

  1. Esquema de Relació

  • Definició: L'estructura d'una taula, incloent els noms de les columnes i els seus tipus de dades.
  • Exemple:
    Estudiants(Nom, Cognom, Edat, Curs)
    

  1. Clau Primària (Primary Key)

  • Definició: Un atribut o conjunt d'atributs que identifica de manera única una fila en una taula.
  • Exemple:
    Estudiants(ID_Estudiant, Nom, Cognom, Edat, Curs)
    

  1. Clau Forana (Foreign Key)

  • Definició: Un atribut o conjunt d'atributs en una taula que fa referència a la clau primària d'una altra taula.
  • Exemple:
    Matrícules(ID_Matrícula, ID_Estudiant, ID_Curs)
    

  1. Integritat Referencial

  • Definició: Assegura que les relacions entre taules es mantinguin consistents.
  • Exemple: Si un estudiant és eliminat de la taula Estudiants, totes les seves matrícules haurien de ser eliminades de la taula Matrícules.

Exemples Pràctics

Creació de Taules

CREATE TABLE Estudiants (
    ID_Estudiant INT PRIMARY KEY,
    Nom VARCHAR(50),
    Cognom VARCHAR(50),
    Edat INT,
    Curs VARCHAR(50)
);

CREATE TABLE Matrícules (
    ID_Matrícula INT PRIMARY KEY,
    ID_Estudiant INT,
    ID_Curs INT,
    FOREIGN KEY (ID_Estudiant) REFERENCES Estudiants(ID_Estudiant)
);

Inserció de Dades

INSERT INTO Estudiants (ID_Estudiant, Nom, Cognom, Edat, Curs) VALUES
(1, 'Joan', 'Garcia', 20, 'Informàtica'),
(2, 'Maria', 'López', 22, 'Matemàtiques');

INSERT INTO Matrícules (ID_Matrícula, ID_Estudiant, ID_Curs) VALUES
(1, 1, 101),
(2, 2, 102);

Consulta de Dades

SELECT Estudiants.Nom, Estudiants.Cognom, Matrícules.ID_Curs
FROM Estudiants
JOIN Matrícules ON Estudiants.ID_Estudiant = Matrícules.ID_Estudiant;

Exercicis Pràctics

Exercici 1: Creació de Taules

  1. Crea una taula Professors amb els següents atributs: ID_Professor (clau primària), Nom, Cognom, Departament.
  2. Crea una taula Assignatures amb els següents atributs: ID_Assignatura (clau primària), Nom_Assignatura, ID_Professor (clau forana que fa referència a Professors).

Exercici 2: Inserció de Dades

  1. Insereix tres registres a la taula Professors.
  2. Insereix tres registres a la taula Assignatures.

Exercici 3: Consulta de Dades

  1. Realitza una consulta per obtenir el nom dels professors i les assignatures que imparteixen.

Solucions

Exercici 1: Creació de Taules

CREATE TABLE Professors (
    ID_Professor INT PRIMARY KEY,
    Nom VARCHAR(50),
    Cognom VARCHAR(50),
    Departament VARCHAR(50)
);

CREATE TABLE Assignatures (
    ID_Assignatura INT PRIMARY KEY,
    Nom_Assignatura VARCHAR(50),
    ID_Professor INT,
    FOREIGN KEY (ID_Professor) REFERENCES Professors(ID_Professor)
);

Exercici 2: Inserció de Dades

INSERT INTO Professors (ID_Professor, Nom, Cognom, Departament) VALUES
(1, 'Anna', 'Martínez', 'Informàtica'),
(2, 'Pere', 'Sánchez', 'Matemàtiques'),
(3, 'Laura', 'González', 'Física');

INSERT INTO Assignatures (ID_Assignatura, Nom_Assignatura, ID_Professor) VALUES
(1, 'Bases de Dades', 1),
(2, 'Àlgebra', 2),
(3, 'Física Quàntica', 3);

Exercici 3: Consulta de Dades

SELECT Professors.Nom, Professors.Cognom, Assignatures.Nom_Assignatura
FROM Professors
JOIN Assignatures ON Professors.ID_Professor = Assignatures.ID_Professor;

Conclusió

El model relacional és fonamental per a la gestió de bases de dades i proporciona una manera estructurada i lògica d'emmagatzemar i recuperar dades. Comprendre els conceptes clau com les taules, les claus primàries i foranes, i la integritat referencial és essencial per treballar amb bases de dades relacionals. Els exercicis pràctics proporcionen una oportunitat per aplicar aquests conceptes i reforçar l'aprenentatge.

© Copyright 2024. Tots els drets reservats