Introducció
PostgreSQL és un sistema de gestió de bases de dades relacionals (SGBDR) de codi obert, conegut per la seva robustesa, extensibilitat i conformitat amb els estàndards SQL. És una eina poderosa que permet emmagatzemar, gestionar i recuperar dades de manera eficient i segura.
Característiques clau de PostgreSQL
- Codi obert: PostgreSQL és completament gratuït i el seu codi font està disponible per a tothom. Això permet una gran comunitat de desenvolupadors que contribueixen a la seva millora contínua.
- Conformitat amb els estàndards SQL: PostgreSQL segueix els estàndards SQL, assegurant que les consultes i operacions siguin consistents i compatibles amb altres sistemes de bases de dades.
- Extensibilitat: Permet als usuaris definir nous tipus de dades, funcions, operadors, i molt més. Això fa que PostgreSQL sigui molt flexible i adaptable a diferents necessitats.
- Integritat de dades: Ofereix característiques avançades com les claus primàries, claus estrangeres, restriccions de verificació i triggers per assegurar la integritat de les dades.
- Suport per a transaccions: PostgreSQL suporta transaccions ACID (Atomicitat, Consistència, Aïllament, Durabilitat), assegurant que les operacions de la base de dades siguin fiables i segures.
- Escalabilitat: Pot gestionar des de petites aplicacions fins a grans sistemes amb milions de registres i múltiples usuaris concurrents.
- Funcionalitats avançades: Inclou suport per a JSON, XML, cerca de text complet, dades geoespacials amb PostGIS, i molt més.
Història de PostgreSQL
PostgreSQL té una llarga història que es remunta a la dècada de 1980:
- 1986: El projecte comença a la Universitat de Califòrnia, Berkeley, sota el nom de "POSTGRES", liderat pel Dr. Michael Stonebraker.
- 1996: El projecte es renombra a "PostgreSQL" per reflectir el seu suport per a SQL.
- Actualitat: PostgreSQL ha evolucionat constantment, amb noves versions que afegeixen funcionalitats i millores de rendiment.
Comparació amb altres SGBDR
Característica | PostgreSQL | MySQL | Oracle | SQL Server |
---|---|---|---|---|
Codi obert | Sí | Sí | No | No |
Conformitat SQL | Alta | Moderada | Alta | Alta |
Extensibilitat | Alta | Moderada | Alta | Moderada |
Suport per a JSON | Sí | Sí | Sí | Sí |
Suport per a transaccions ACID | Sí | Sí | Sí | Sí |
Escalabilitat | Alta | Alta | Alta | Alta |
Comunitat | Gran | Gran | Mitjana | Mitjana |
Exemples pràctics
Exemple 1: Creació d'una base de dades
Exemple 2: Creació d'una taula
Exemple 3: Inserció de dades
INSERT INTO usuaris (nom, email) VALUES ('Joan', '[email protected]');
Exemple 4: Consulta de dades
Exercicis pràctics
Exercici 1: Creació d'una base de dades i una taula
- Crea una base de dades anomenada
biblioteca
. - Dins de la base de dades
biblioteca
, crea una taula anomenadallibres
amb les següents columnes:id
(tipus SERIAL, clau primària)títol
(tipus VARCHAR(255))autor
(tipus VARCHAR(255))any_publicació
(tipus INTEGER)
Solució
CREATE DATABASE biblioteca; \c biblioteca CREATE TABLE llibres ( id SERIAL PRIMARY KEY, títol VARCHAR(255), autor VARCHAR(255), any_publicació INTEGER );
Exercici 2: Inserció i consulta de dades
- Insereix tres llibres a la taula
llibres
. - Consulta tots els llibres de la taula
llibres
.
Solució
INSERT INTO llibres (títol, autor, any_publicació) VALUES ('El Quixot', 'Miguel de Cervantes', 1605), ('Cien años de soledad', 'Gabriel García Márquez', 1967), ('1984', 'George Orwell', 1949); SELECT * FROM llibres;
Conclusió
En aquesta secció hem après què és PostgreSQL, les seves característiques clau, una mica de la seva història i com es compara amb altres sistemes de gestió de bases de dades relacionals. També hem vist alguns exemples pràctics i hem realitzat exercicis per reforçar els conceptes apresos. En el següent tema, explorarem com instal·lar PostgreSQL al nostre sistema.
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