En aquest tema, aprendrem els conceptes fonamentals de SQL (Structured Query Language), que és el llenguatge utilitzat per interactuar amb bases de dades relacionals com PostgreSQL. Aquest mòdul és essencial per a qualsevol persona que vulgui treballar amb bases de dades, ja que proporciona les bases necessàries per a la manipulació i consulta de dades.
- Què és SQL?
SQL és un llenguatge de programació estàndard utilitzat per gestionar i manipular bases de dades relacionals. Amb SQL, podem:
- Crear i modificar estructures de bases de dades (taules, vistes, índexs, etc.).
- Inserir, actualitzar i eliminar dades.
- Consultar dades de les bases de dades.
- Controlar l'accés a les dades.
- Components principals de SQL
SQL es compon de diverses categories de sentències, cadascuna amb una funció específica:
2.1. DDL (Data Definition Language)
El DDL s'utilitza per definir i modificar l'estructura de la base de dades. Les sentències més comunes són:
CREATE
: Crea objectes de base de dades com taules, vistes, índexs, etc.ALTER
: Modifica l'estructura d'objectes existents.DROP
: Elimina objectes de la base de dades.
Exemple:
-- Crear una taula anomenada "usuaris" CREATE TABLE usuaris ( id SERIAL PRIMARY KEY, nom VARCHAR(100), email VARCHAR(100) UNIQUE );
2.2. DML (Data Manipulation Language)
El DML s'utilitza per manipular les dades dins de les taules. Les sentències més comunes són:
INSERT
: Insereix noves files en una taula.UPDATE
: Actualitza dades existents en una taula.DELETE
: Elimina files d'una taula.
Exemple:
-- Inserir un nou usuari INSERT INTO usuaris (nom, email) VALUES ('Joan', '[email protected]'); -- Actualitzar l'email d'un usuari UPDATE usuaris SET email = '[email protected]' WHERE nom = 'Joan'; -- Eliminar un usuari DELETE FROM usuaris WHERE nom = 'Joan';
2.3. DQL (Data Query Language)
El DQL s'utilitza per consultar dades de les taules. La sentència principal és:
SELECT
: Recupera dades de la base de dades.
Exemple:
-- Seleccionar tots els usuaris SELECT * FROM usuaris; -- Seleccionar usuaris amb un nom específic SELECT * FROM usuaris WHERE nom = 'Joan';
2.4. DCL (Data Control Language)
El DCL s'utilitza per controlar l'accés a les dades. Les sentències més comunes són:
GRANT
: Concedeix permisos a usuaris.REVOKE
: Revoca permisos d'usuaris.
Exemple:
-- Concedir permisos de selecció a un usuari GRANT SELECT ON usuaris TO usuari_lectura; -- Revocar permisos de selecció a un usuari REVOKE SELECT ON usuaris FROM usuari_lectura;
- Estructura bàsica d'una consulta SQL
Una consulta SQL típica segueix aquesta estructura:
3.1. SELECT
Especifica les columnes que es volen recuperar.
Exemple:
3.2. FROM
Especifica la taula de la qual es volen recuperar les dades.
Exemple:
3.3. WHERE
Especifica les condicions que han de complir les files seleccionades.
Exemple:
3.4. GROUP BY
Agrupa les files que tenen els mateixos valors en columnes especificades en grups.
Exemple:
3.5. HAVING
Especifica condicions per als grups creats per la sentència GROUP BY
.
Exemple:
3.6. ORDER BY
Ordena les files recuperades segons una o més columnes.
Exemple:
- Exercicis pràctics
Exercici 1: Crear una taula
Crea una taula anomenada productes
amb les següents columnes: id
(clau primària), nom
(cadena de text), preu
(decimal).
Solució:
Exercici 2: Inserir dades
Insereix tres productes a la taula productes
.
Solució:
INSERT INTO productes (nom, preu) VALUES ('Producte A', 10.50); INSERT INTO productes (nom, preu) VALUES ('Producte B', 20.00); INSERT INTO productes (nom, preu) VALUES ('Producte C', 15.75);
Exercici 3: Consultar dades
Recupera tots els productes amb un preu superior a 15.
Solució:
Exercici 4: Actualitzar dades
Actualitza el preu del Producte A
a 12.00.
Solució:
Exercici 5: Eliminar dades
Elimina el Producte B
de la taula productes
.
Solució:
Conclusió
En aquest tema, hem après els conceptes bàsics de SQL, incloent les categories principals de sentències SQL (DDL, DML, DQL, DCL) i l'estructura bàsica d'una consulta SQL. Aquests fonaments són essencials per treballar amb bases de dades relacionals i ens preparen per a temes més avançats en els següents mòduls.
Curs de PostgreSQL
Mòdul 1: Introducció a PostgreSQL
Mòdul 2: Operacions bàsiques de SQL
Mòdul 3: Consultes SQL avançades
Mòdul 4: Disseny de bases de dades i normalització
Mòdul 5: Funcionalitats avançades de PostgreSQL
Mòdul 6: Optimització i millora del rendiment
- Optimització de consultes
- Estratègies d'indexació
- Analitzant el rendiment de les consultes
- Vacuuming i manteniment
Mòdul 7: Seguretat i gestió d'usuaris
- Rols d'usuari i permisos
- Mètodes d'autenticació
- Encriptació de dades
- Còpia de seguretat i restauració
Mòdul 8: Treballant amb JSON i funcionalitats NoSQL
Mòdul 9: Extensions i eines avançades
- PostGIS per a dades geoespacials
- Cerca de text complet
- Wrappers de dades externes
- PL/pgSQL i altres llenguatges procedimentals