Salta el contingut

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)

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