Recursos del mòdul M0377
Aquesta pàgina recull els recursos de referència per al mòdul d'Administració de SGBD: documentació oficial, llibres, plataformes d'aprenentatge, imatges Docker i eines gràfiques d'administració.
1. Documentació oficial
PostgreSQL
La documentació oficial de PostgreSQL és considerada un referent de qualitat en el món del programari lliure. És completa, precisa i inclou exemples pràctics.
| Recurs | URL | Descripció |
|---|---|---|
| Documentació principal | postgresql.org/docs/current/ | Manual complet de la versió actual |
| Referència SQL | postgresql.org/docs/current/sql.html | Referència de totes les instruccions SQL |
| Paràmetres de configuració | postgresql.org/docs/current/runtime-config.html | Tots els paràmetres de postgresql.conf |
| Release Notes | postgresql.org/docs/release/ | Notes de cada versió |
| Wiki | wiki.postgresql.org | Recursos comunitaris, HowTos, FAQ |
| Planet PostgreSQL | planet.postgresql.org | Agregador de blogs de la comunitat |
Pàgina man en línia
Pots consultar qualsevol pàgina del manual de PostgreSQL directament des de psql amb \h NOM_COMANDA (per a comandes SQL) o \? (per a comandes de psql).
MySQL i MariaDB
MySQL i MariaDB tenen documentació separada, ja que han divergit des de la separació d'Oracle (2009).
| Recurs | URL | Descripció |
|---|---|---|
| MySQL 8.0 Reference Manual | dev.mysql.com/doc/refman/8.0/en/ | Documentació completa de MySQL 8.0 |
| MySQL 8.4 Reference Manual | dev.mysql.com/doc/refman/8.4/en/ | Documentació de MySQL 8.4 LTS |
| MariaDB Knowledge Base | mariadb.com/kb/en/ | Documentació de MariaDB (molt completa) |
| MySQL Performance Blog | percona.com/blog/ | Blog tècnic de Percona (MySQL/MariaDB) |
| MySQL Shell Docs | dev.mysql.com/doc/mysql-shell/ | Nova eina de línia de comandes |
SQL Server
Microsoft ofereix la documentació de SQL Server a través del seu portal Microsoft Learn, amb tutorials interactius i documentació tècnica.
| Recurs | URL | Descripció |
|---|---|---|
| SQL Server 2022 Docs | learn.microsoft.com/sql/sql-server/ | Documentació oficial SQL Server 2022 |
| T-SQL Reference | learn.microsoft.com/sql/t-sql/language-reference | Referència completa de T-SQL |
| SQL Server on Linux | learn.microsoft.com/sql/linux/ | Guia d'instal·lació i config. en Linux |
| SQL Server on Docker | learn.microsoft.com/sql/linux/sql-server-linux-docker-container-deployment | Desplega SQL Server amb Docker |
| Microsoft Learn (SQL) | learn.microsoft.com/training/browse/?products=sql-server | Cursos gratuïts Microsoft Learn |
Oracle Database
La documentació d'Oracle és extensa i inclou guies per a cada component. Cal registrar-se (gratuït) per accedir a alguns recursos.
| Recurs | URL | Descripció |
|---|---|---|
| Oracle Database 21c Docs | docs.oracle.com/en/database/oracle/oracle-database/21/ | Portal de documentació Oracle 21c |
| SQL Language Reference | docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/ | Referència SQL d'Oracle |
| PL/SQL Language Reference | docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/ | Referència completa de PL/SQL |
| Oracle XE Downloads | oracle.com/database/technologies/xe-downloads.html | Descàrrega d'Oracle XE (gratuït) |
| Oracle Live SQL | livesql.oracle.com | Sandbox SQL/PL/SQL en línia |
2. Llibres recomanats
Generals i multi-motor
| Títol | Autors | Editorial | Any | Idioma |
|---|---|---|---|---|
| Database System Concepts (7a ed.) | Silberschatz, Korth, Sudarshan | McGraw-Hill | 2019 | Anglès |
| Designing Data-Intensive Applications | Martin Kleppmann | O'Reilly | 2017 | Anglès |
| SQL Performance Explained | Markus Winand | Samostatno | 2012 | Anglès |
| Seven Databases in Seven Weeks | Redmond, Wilson | Pragmatic Programmers | 2018 | Anglès |
SQL Performance Explained
El llibre de Markus Winand és probablement el millor recurs disponible per entendre els índexos SQL de forma profunda i pràctica. L'autor també manté use-the-index-luke.com, disponible gratuïtament en línia.
PostgreSQL
| Títol | Autors | Editorial | Any |
|---|---|---|---|
| The Art of PostgreSQL (2a ed.) | Dimitri Fontaine | Lulu | 2021 |
| PostgreSQL: Up and Running (3a ed.) | Regina Obe, Leo Hsu | O'Reilly | 2017 |
| PostgreSQL High Performance Cookbook | Chitij Chauhan et al. | Packt | 2017 |
| Mastering PostgreSQL 15 | Hans-Jürgen Schönig | Packt | 2023 |
MySQL i MariaDB
| Títol | Autors | Editorial | Any |
|---|---|---|---|
| High Performance MySQL (4a ed.) | Schwartz, Zaitsev et al. | O'Reilly | 2022 |
| Learning MySQL (2a ed.) | Sasha Pachev | O'Reilly | 2021 |
| MariaDB Cookbook | Daniel Bartholomew | Packt | 2014 |
SQL Server
| Títol | Autors | Editorial | Any |
|---|---|---|---|
| Pro SQL Server on Linux | Bob Ward | Apress | 2018 |
| SQL Server Query Performance Tuning (5a ed.) | Grant Fritchey | Apress | 2018 |
| Inside SQL Server (SQL Server Internals) | Kalen Delaney | Microsoft Press | 2013 |
Oracle Database
| Títol | Autors | Editorial | Any |
|---|---|---|---|
| Expert Oracle Database Architecture (3a ed.) | Thomas Kyte, Darl Kuhn | Apress | 2014 |
| Oracle Database 12c DBA Handbook | Bob Bryla, Kevin Loney | McGraw-Hill | 2014 |
| Oracle PL/SQL Programming (6a ed.) | Steven Feuerstein | O'Reilly | 2014 |
3. Recursos d'aprenentatge en línia
Plataformes amb contingut gratuït
| Plataforma | URL | Contingut rellevant |
|---|---|---|
| pgExercises | pgexercises.com | Exercicis interactius de SQL i PostgreSQL |
| SQLZoo | sqlzoo.net | Tutorials SQL interactius, multi-motor |
| Mode SQL Tutorial | mode.com/sql-tutorial/ | SQL bàsic i avançat, molt visual |
| W3Schools SQL | w3schools.com/sql/ | Referència ràpida i exemples |
| Use The Index, Luke | use-the-index-luke.com | Guia profunda d'índexos SQL |
| PostgreSQL Tutorial | postgresqltutorial.com | Tutorials complets per a PostgreSQL |
| MySQL Tutorial | mysqltutorial.org | Tutorials per a MySQL/MariaDB |
| SQL Server Tutorial | sqlservertutorial.net | Tutorials per a SQL Server |
| Oracle Tutorial | oracletutorial.com | Tutorials d'Oracle i PL/SQL |
Plataformes amb contingut de pagament (subscripció)
| Plataforma | URL | Notes |
|---|---|---|
| Udemy | udemy.com | Cursos complets, sovint en oferta per <15€ |
| LinkedIn Learning | linkedin.com/learning | Accés amb compte LinkedIn Premium |
| Pluralsight | pluralsight.com | Molt bons cursos de SQL Server i Oracle |
| Coursera | coursera.org | Especialitzacions universitàries en BD |
Vídeos i canals YouTube
| Canal | URL | Especialitat |
|---|---|---|
| CMU Database Group | youtube.com/@CMUDatabaseGroup | Teoria avançada de SGBD (professors de la CMU) |
| Hussein Nasser | youtube.com/@hnasr | SGBD, networking, backend engineering |
| Percona | youtube.com/@PerconaMySQL | MySQL, MariaDB, PostgreSQL avançat |
| DBA Fundamentals | Cerca a YouTube | Conceptes de DBA per a principiants |
Fòrums i comunitats
| Comunitat | URL | Notes |
|---|---|---|
| Stack Overflow | stackoverflow.com/questions/tagged/sql | Preguntes tècniques generals |
| DBA Stack Exchange | dba.stackexchange.com | Especialitzat en administració de BD |
| r/PostgreSQL | reddit.com/r/PostgreSQL | Comunitat de Reddit sobre PostgreSQL |
| r/mysql | reddit.com/r/mysql | Comunitat MySQL/MariaDB |
| Pgsql-hackers | postgresql.org/list/ | Llista de correu de desenvolupadors de PG |
4. Imatges Docker oficials
Totes les pràctiques del mòdul usen Docker per garantir entorns reproduïbles. A continuació les imatges oficials de cada motor:
PostgreSQL
# Versió estable actual (16.x)
docker pull postgres:17
# o bé
docker pull postgres:17.4
# o una versió lleugera (alpine linux)
docker pull postgres:17-alpine
# Exemple d'execució
docker run --name postgres-m0377 \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD=secret123 \
-e POSTGRES_DB=curssgbd \
-p 5432:5432 \
-v pgdata:/var/lib/postgresql/data \
-d postgres:17
Imatge oficial: hub.docker.com/_/postgres
MySQL
# MySQL 8.4 (LTS)
docker pull mysql:8.4
# MySQL 9.x (Innovation, noves característiques)
docker pull mysql:9.2
# Per arrencar un MySQL 8.4 bàsic:
docker run --name el-meu-mysql -e MYSQL_ROOT_PASSWORD=secreta -p 3306:3306 \
-d mysql:8.4
Imatge oficial: hub.docker.com/_/mysql
MariaDB
# MariaDB 11.x (versió LTS actual)
docker pull mariadb:11.4
# Exemple d'execució
docker run --name mariadb-m0377 \
-e MARIADB_ROOT_PASSWORD=rootpass \
-e MARIADB_DATABASE=curssgbd \
-e MARIADB_USER=admin \
-e MARIADB_PASSWORD=secret123 \
-p 3307:3306 \
-v mariadbdata:/var/lib/mysql \
-d mariadb:11.4
Imatge oficial: hub.docker.com/_/mariadb
SQL Server
# SQL Server 2022 (última versió, versió Community/Developer gratuïta)
docker pull mcr.microsoft.com/mssql/server:2022-latest
# Exemple d'execució (requereix mínim 2 GB RAM)
docker run --name sqlserver-m0377 \
-e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=Admin1234!" \
-e "MSSQL_PID=Developer" \
-p 1433:1433 \
-v sqlserverdata:/var/opt/mssql \
-d mcr.microsoft.com/mssql/server:2022-latest
Imatge oficial: hub.docker.com/_/microsoft-mssql-server
Requisits de SQL Server
La imatge Docker de SQL Server requereix com a mínim 2 GB de RAM assignats al host Docker. En sistemes amb poca memòria, pot ser necessari augmentar el límit de memòria de Docker Desktop.
Oracle Database XE
# Oracle Database 21c XE (Express Edition — gratuïta)
docker pull container-registry.oracle.com/database/express:21.3.0-xe
# Cal acceptar les condicions d'ús al Oracle Container Registry:
# https://container-registry.oracle.com
# Exemple d'execució (requereix mínim 2 GB RAM)
docker run --name oracle-m0377 \
-e ORACLE_PWD=Oracle1234! \
-p 1521:1521 \
-p 5500:5500 \
-v oracledata:/opt/oracle/oradata \
-d container-registry.oracle.com/database/express:21.3.0-xe
Oracle i Docker Hub
Oracle no publica la seva imatge oficial a Docker Hub. Cal registrar-se al Oracle Container Registry (container-registry.oracle.com) i acceptar les condicions de la llicència Oracle XE. El registre és gratuït.
Docker Compose per al mòdul complet
# docker-compose.yml per a tenir els 4 motors alhora
version: '3.8'
services:
postgres:
image: postgres:17
container_name: m0377-postgres
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: secret123
POSTGRES_DB: curssgbd
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
mysql:
image: mysql:8.4
container_name: m0377-mysql
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: curssgbd
MYSQL_USER: admin
MYSQL_PASSWORD: secret123
ports:
- "3306:3306"
volumes:
- mysqldata:/var/lib/mysql
mariadb:
image: mariadb:11.4
container_name: m0377-mariadb
environment:
MARIADB_ROOT_PASSWORD: rootpass
MARIADB_DATABASE: curssgbd
MARIADB_USER: admin
MARIADB_PASSWORD: secret123
ports:
- "3307:3306"
volumes:
- mariadbdata:/var/lib/mysql
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: m0377-sqlserver
environment:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "Admin1234!"
MSSQL_PID: Developer
ports:
- "1433:1433"
volumes:
- sqlserverdata:/var/opt/mssql
volumes:
pgdata:
mysqldata:
mariadbdata:
sqlserverdata:
# Iniciar tots els serveis
docker compose up -d
# Verificar l'estat
docker compose ps
# Aturar tots els serveis
docker compose down
5. Eines gràfiques d'administració
DBeaver — Eina universal (recomanada per al mòdul)
DBeaver és l'eina recomanada per a aquest mòdul perquè suporta els quatre motors amb la mateixa interfície.
- URL: dbeaver.io
- Llicència: Community Edition gratuïta; Enterprise de pagament.
- Plataformes: Windows, macOS, Linux.
- Motors suportats: Tots els principals (PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, MongoDB, Redis...).
Funcionalitats principals: - Editor SQL amb autocompletat i resaltament de sintaxi. - Explorador visual d'esquemes, taules, índexos, procediments. - Diagrames ER automàtics. - Importació/exportació de dades (CSV, Excel, JSON). - Comparació d'esquemes entre bases de dades. - Gestió de connexions SSH tunneling.
# Instal·lació amb Docker (versió web)
docker run --name dbeaver-web \
-p 8978:8978 \
-v dbeaver-workspace:/opt/cloudbeaver/workspace \
-d dbeaver/cloudbeaver:latest
# Accés: http://localhost:8978
pgAdmin 4 — PostgreSQL
- URL: pgadmin.org
- Llicència: Open Source (PostgreSQL License).
- Especialitzat en: PostgreSQL exclusivament.
Funcionalitats principals: - Gestió completa de PostgreSQL (servidors, rols, tablespaces, replicació). - Query Tool amb EXPLAIN visual. - Gestió de backup/restore gràfica. - Dashboard de monitoratge en temps real. - Accessible via navegador web (disponible com a Docker image).
# pgAdmin 4 amb Docker
docker run --name pgadmin \
-e PGADMIN_DEFAULT_EMAIL=admin@sapalomera.cat \
-e PGADMIN_DEFAULT_PASSWORD=admin123 \
-p 5050:80 \
-d dpage/pgadmin4:latest
# Accés: http://localhost:5050
MySQL Workbench — MySQL i MariaDB
- URL: mysql.com/products/workbench/
- Llicència: GPL v2 (Community Edition gratuïta).
- Especialitzat en: MySQL (també funciona amb MariaDB amb limitacions).
Funcionalitats principals: - Disseny visual de bases de dades (forward/reverse engineering). - Editor SQL amb autocompletat. - Gestió de connexions i usuaris. - Anàlisi de rendiment (Performance Dashboard). - Migració de bases de dades (Migration Wizard).
MySQL Workbench i MariaDB
MySQL Workbench no és completament compatible amb MariaDB (especialment per a funcionalitats noves de MariaDB). Per a MariaDB, es recomana usar DBeaver o HeidiSQL (Windows).
SQL Server Management Studio (SSMS)
- URL: learn.microsoft.com/sql/ssms/
- Llicència: Gratuït (Microsoft).
- Plataformes: Únicament Windows.
- Alternativa multiplataforma: Azure Data Studio (azure.microsoft.com/products/data-studio).
Funcionalitats principals: - Gestió completa de SQL Server (instàncies, bases de dades, seguretat, HA). - Activity Monitor i Query Store integrats. - SQL Server Agent (tasques programades). - Integration Services, Reporting Services, Analysis Services. - Query Execution Plans visuals.
Azure Data Studio per a Linux/macOS
Si treballes a Linux o macOS, usa Azure Data Studio en comptes de SSMS. És gratuït, multiplataforma, basat en Visual Studio Code, i suporta PostgreSQL, MySQL i Oracle a més de SQL Server.
Oracle SQL Developer
- URL: oracle.com/database/sqldeveloper/
- Llicència: Gratuït (Oracle).
- Plataformes: Windows, macOS, Linux (requereix Java).
- Alternativa: Oracle SQL Developer Web (inclòs amb Oracle APEX i Oracle Cloud).
Funcionalitats principals: - Editor SQL/PL/SQL amb depurador integrat. - Explorador de diccionari de dades. - Migració de bases de dades (MySQL → Oracle, SQL Server → Oracle). - Gestió de DBA (tablespaces, usuaris, backup amb RMAN). - Reports i dashboards d'administració.
6. Extensions i eines addicionals
PostgreSQL
| Eina / Extensió | Descripció | URL |
|---|---|---|
| PostGIS | Extensions de dades geoespacials | postgis.net |
| pgvector | Vectors per a IA/ML (embeddings) | github.com/pgvector/pgvector |
| TimescaleDB | Sèries temporals sobre PostgreSQL | timescale.com |
| pgBouncer | Pool de connexions lleuger | pgbouncer.org |
| Patroni | Clúster HA per a PostgreSQL | github.com/patroni/patroni |
| pgBadger | Anàlisi de logs de PostgreSQL | pgbadger.darold.net |
| pg_activity | Monitor d'activitat tipus htop | github.com/dalibo/pg_activity |
MySQL / MariaDB
| Eina / Extensió | Descripció | URL |
|---|---|---|
| Percona Server | Fork de MySQL optimitzat per Percona | percona.com |
| Percona Toolkit | Eines d'administració avançada | percona.com/software/mysql-tools/percona-toolkit |
| ProxySQL | Proxy i pool de connexions per a MySQL | proxysql.com |
| Galera Cluster | Clúster multi-master per a MariaDB | galeracluster.com |
| mydumper | Backup paral·lel de MySQL | github.com/mydumper/mydumper |
| pt-query-digest | Anàlisi de slow query log | (inclòs a Percona Toolkit) |
Monitoratge (multi-motor)
| Eina | Descripció | URL |
|---|---|---|
| Prometheus + postgres_exporter | Mètriques PostgreSQL per a Prometheus | github.com/prometheus-community/postgres_exporter |
| Grafana | Dashboards de visualització | grafana.com |
| Percona Monitoring and Management (PMM) | Plataforma de monitoratge MySQL/MongoDB/PostgreSQL | percona.com/software/database-tools/percona-monitoring-and-management |
| SolarWinds DPA | Database Performance Analyzer | Comercial |
| Datadog | Monitoratge al núvol (SaaS) | datadoghq.com |