En aquest tema, aprendrem com crear bases de dades i taules en PostgreSQL. Aquest és un pas fonamental per començar a treballar amb qualsevol sistema de gestió de bases de dades, ja que les taules són les estructures on s'emmagatzemen les dades.

  1. Creant una base de dades

1.1. Comandament CREATE DATABASE

Per crear una nova base de dades en PostgreSQL, utilitzem el comandament CREATE DATABASE. La sintaxi bàsica és la següent:

CREATE DATABASE nom_de_la_base_de_dades;

1.2. Exemple pràctic

Suposem que volem crear una base de dades anomenada empresa. El comandament seria:

CREATE DATABASE empresa;

1.3. Connectant-se a la base de dades

Després de crear la base de dades, necessitem connectar-nos-hi per començar a crear taules i inserir dades. Utilitzem el comandament \c en la línia de comandes de PostgreSQL:

\c empresa

  1. Creant taules

2.1. Comandament CREATE TABLE

Per crear una taula, utilitzem el comandament CREATE TABLE. La sintaxi bàsica és la següent:

CREATE TABLE nom_de_la_taula (
    nom_de_la_columna tipus_de_dada [CONSTRAINTS],
    ...
);

2.2. Tipus de dades comuns

A continuació, es mostra una taula amb alguns dels tipus de dades més comuns en PostgreSQL:

Tipus de dada Descripció
INTEGER Enter de 4 bytes
SERIAL Enter autoincremental
VARCHAR(n) Cadena de text de longitud variable amb un màxim de n caràcters
TEXT Cadena de text de longitud variable
DATE Data (any, mes, dia)
BOOLEAN Valor booleà (TRUE o FALSE)

2.3. Exemple pràctic

Suposem que volem crear una taula anomenada empleats amb les següents columnes:

  • id: Enter autoincremental (clau primària)
  • nom: Cadena de text de fins a 50 caràcters
  • cognom: Cadena de text de fins a 50 caràcters
  • data_naixement: Data
  • actiu: Valor booleà

El comandament seria:

CREATE TABLE empleats (
    id SERIAL PRIMARY KEY,
    nom VARCHAR(50),
    cognom VARCHAR(50),
    data_naixement DATE,
    actiu BOOLEAN
);

2.4. Constraints (Restriccions)

Les restriccions són regles que s'apliquen a les columnes per assegurar la integritat de les dades. Algunes de les restriccions més comunes són:

  • PRIMARY KEY: Identifica de manera única cada fila en una taula.
  • NOT NULL: Assegura que una columna no pugui tenir valors NULL.
  • UNIQUE: Assegura que tots els valors en una columna siguin únics.
  • CHECK: Assegura que els valors en una columna compleixin una condició específica.
  • FOREIGN KEY: Assegura la integritat referencial entre dues taules.

2.5. Exemple amb restriccions

Afegim algunes restriccions a la taula empleats:

CREATE TABLE empleats (
    id SERIAL PRIMARY KEY,
    nom VARCHAR(50) NOT NULL,
    cognom VARCHAR(50) NOT NULL,
    data_naixement DATE CHECK (data_naixement < CURRENT_DATE),
    actiu BOOLEAN DEFAULT TRUE
);

  1. Exercicis pràctics

Exercici 1

Crea una base de dades anomenada biblioteca i connecta-t'hi.

Solució

CREATE DATABASE biblioteca;
\c biblioteca

Exercici 2

Crea una taula anomenada llibres amb les següents columnes:

  • id: Enter autoincremental (clau primària)
  • titol: Cadena de text de fins a 100 caràcters
  • autor: Cadena de text de fins a 50 caràcters
  • data_publicacio: Data
  • disponible: Valor booleà amb valor per defecte TRUE

Solució

CREATE TABLE llibres (
    id SERIAL PRIMARY KEY,
    titol VARCHAR(100) NOT NULL,
    autor VARCHAR(50) NOT NULL,
    data_publicacio DATE,
    disponible BOOLEAN DEFAULT TRUE
);

  1. Resum

En aquest tema, hem après com crear bases de dades i taules en PostgreSQL. Hem vist la sintaxi bàsica dels comandaments CREATE DATABASE i CREATE TABLE, així com alguns dels tipus de dades més comuns i les restriccions que podem aplicar a les columnes. També hem practicat amb alguns exercicis per reforçar els conceptes apresos.

En el següent tema, aprendrem com inserir dades a les taules que hem creat.

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

Mòdul 7: Seguretat i gestió d'usuaris

Mòdul 8: Treballant amb JSON i funcionalitats NoSQL

Mòdul 9: Extensions i eines avançades

Mòdul 10: Estudis de cas i aplicacions del món real

© Copyright 2024. Tots els drets reservats