En aquesta secció, posarem en pràctica els conceptes apresos sobre SQL mitjançant una sèrie d'exercicis. Aquests exercicis estan dissenyats per reforçar els teus coneixements i habilitats en l'ús del llenguatge SQL per gestionar bases de dades relacionals.

Exercici 1: Creació de Taules

Descripció

Crea una base de dades per a una biblioteca. La base de dades ha de contenir les següents taules:

  1. Llibres

    • id (INT, PRIMARY KEY)
    • títol (VARCHAR(100))
    • autor (VARCHAR(100))
    • any_publicació (YEAR)
    • gènere (VARCHAR(50))
  2. Usuaris

    • id (INT, PRIMARY KEY)
    • nom (VARCHAR(100))
    • email (VARCHAR(100))
    • data_registre (DATE)
  3. Préstecs

    • id (INT, PRIMARY KEY)
    • id_llibre (INT, FOREIGN KEY referenciant Llibres(id))
    • id_usuari (INT, FOREIGN KEY referenciant Usuaris(id))
    • data_préstec (DATE)
    • data_retorn (DATE)

Solució

CREATE TABLE Llibres (
    id INT PRIMARY KEY,
    títol VARCHAR(100),
    autor VARCHAR(100),
    any_publicació YEAR,
    gènere VARCHAR(50)
);

CREATE TABLE Usuaris (
    id INT PRIMARY KEY,
    nom VARCHAR(100),
    email VARCHAR(100),
    data_registre DATE
);

CREATE TABLE Préstecs (
    id INT PRIMARY KEY,
    id_llibre INT,
    id_usuari INT,
    data_préstec DATE,
    data_retorn DATE,
    FOREIGN KEY (id_llibre) REFERENCES Llibres(id),
    FOREIGN KEY (id_usuari) REFERENCES Usuaris(id)
);

Exercici 2: Inserció de Dades

Descripció

Insereix les següents dades a les taules creades anteriorment.

  1. Llibres

    • (1, 'El Quixot', 'Miguel de Cervantes', 1605, 'Novel·la')
    • (2, '1984', 'George Orwell', 1949, 'Distopia')
    • (3, 'Cien años de soledad', 'Gabriel García Márquez', 1967, 'Realisme màgic')
  2. Usuaris

  3. Préstecs

    • (1, 1, 1, '2023-03-01', '2023-03-15')
    • (2, 2, 2, '2023-03-05', '2023-03-20')

Solució

INSERT INTO Llibres (id, títol, autor, any_publicació, gènere) VALUES
(1, 'El Quixot', 'Miguel de Cervantes', 1605, 'Novel·la'),
(2, '1984', 'George Orwell', 1949, 'Distopia'),
(3, 'Cien años de soledad', 'Gabriel García Márquez', 1967, 'Realisme màgic');

INSERT INTO Usuaris (id, nom, email, data_registre) VALUES
(1, 'Joan Pérez', '[email protected]', '2023-01-15'),
(2, 'Maria Garcia', '[email protected]', '2023-02-20');

INSERT INTO Préstecs (id, id_llibre, id_usuari, data_préstec, data_retorn) VALUES
(1, 1, 1, '2023-03-01', '2023-03-15'),
(2, 2, 2, '2023-03-05', '2023-03-20');

Exercici 3: Consultes Bàsiques

Descripció

Realitza les següents consultes a la base de dades:

  1. Obteniu tots els llibres publicats després de l'any 1950.
  2. Obteniu tots els usuaris que es van registrar el 2023.
  3. Obteniu tots els préstecs realitzats per l'usuari amb id 1.

Solució

-- 1. Llibres publicats després de 1950
SELECT * FROM Llibres WHERE any_publicació > 1950;

-- 2. Usuaris registrats el 2023
SELECT * FROM Usuaris WHERE YEAR(data_registre) = 2023;

-- 3. Préstecs realitzats per l'usuari amb id 1
SELECT * FROM Préstecs WHERE id_usuari = 1;

Exercici 4: Actualització de Dades

Descripció

Actualitza les següents dades a la base de dades:

  1. Canvia el gènere del llibre '1984' a 'Ciència-ficció'.
  2. Actualitza l'email de l'usuari 'Maria Garcia' a '[email protected]'.

Solució

-- 1. Canviar el gènere del llibre '1984'
UPDATE Llibres SET gènere = 'Ciència-ficció' WHERE títol = '1984';

-- 2. Actualitzar l'email de 'Maria Garcia'
UPDATE Usuaris SET email = '[email protected]' WHERE nom = 'Maria Garcia';

Exercici 5: Eliminació de Dades

Descripció

Elimina les següents dades de la base de dades:

  1. Elimina el llibre amb id 3.
  2. Elimina l'usuari amb id 1.

Solució

-- 1. Eliminar el llibre amb id 3
DELETE FROM Llibres WHERE id = 3;

-- 2. Eliminar l'usuari amb id 1
DELETE FROM Usuaris WHERE id = 1;

Resum

En aquesta secció, hem practicat la creació de taules, la inserció de dades, la realització de consultes bàsiques, l'actualització de dades i l'eliminació de dades utilitzant SQL. Aquests exercicis t'ajudaran a consolidar els teus coneixements i habilitats en la gestió de bases de dades relacionals. Assegura't de practicar regularment per mantenir i millorar les teves habilitats en SQL.

© Copyright 2024. Tots els drets reservats