Está en la página 1de 23

Sentencias DDL y DML

PostgreSQL
PostgreSQL
PostgreSQL es un servidor de base de datos relacional libre bajo la licencia BSD.
Es una alternativa a otros sistemas de bases de datos de código abierto (como
MySQL, Firebird y MaxDB), así como sistemas propietarios como Oracle o DB2.

Algunas de sus principales características son:

– Claves ajenas también denominadas llaves ajenas o llaves Foráneas (foreign keys)
– Disparadores (triggers)
– Vistas
– Integridad transaccional
– Acceso concurrente multiversión (no se bloquean las tablas, ni siquiera las filas,
cuando un proceso escribe)
– Capacidad de albergar programas en el servidor en varios lenguajes.
– Herencia de tablas
– Tipos de datos y operaciones geométricas
Tipos más comunes de datos
categoría tipo descripción

Cadena de CHAR(long) Long. fija de almacenam.


caracteres VARCHAR(long) Long. variable de
almacenamiento
Número INTEGER Entero, +/- 2 billones
FLOAT Punto decimal, 15 dígitos
NUMERIC(precisión Número usando una definición
, decimal) de precisión y de número de
decimales.
Fecha/hora DATE Fecha
TIME Hora
TIMESTAMP Fecha y hora
SENTENCIAS DDL

• Las sentencias DDL (Lenguaje de Definición de Datos) son


CREATE, ALTER y DROP. Siempre se usan estas sentencias
junto con el tipo de objeto y el nombre del objeto.

• CREATE. Crea una base de datos o un objeto.


• ALTER. Modifica la estructura de una base de datos o de un
objeto.
• DROP. Elimina una base de datos o un objeto.
Create table

CREATE TABLE empleados (


id serial NOT NULL ,
nombre varchar(50),
fecnac date,
sucursal varchar(30),
sueldo money NOT NULL,
CONSTRAINT id_pkey PRIMARY KEY (id),
CONSTRAINT empleados_id_key UNIQUE (id)
);
Serial
• Serial
La declaración serial es un caso especial, ya que no se trata de
un nuevo tipo. Cuando se utiliza como nombre de tipo de
una columna, ésta tomará automáticamente valores
consecutivos en cada nuevo registro.
Que es el OID
• Las tablas creadas en PostgreSQL incluyen, por defecto,
varias columnas ocultas que almacenan información acerca
del identificador de transacción en que pueden estar
implicadas, la localización física del registro dentro de la
tabla (para localizarla muy rápidamente) y, los más
importantes, el OID y el TABLEOID.Estas últimas columnas
están definidas con un tipo de datos especial
llamadoidentificador de objeto (OID) que se implementa
como un entero positivo de 32 bits. Cuando se inserta un
nuevo registro en una tabla se le asigna un número
consecutivo como OID, y el TABLEOID de la tabla que le
corresponde.
Valores Default
• Cuando no se da un valor a la columna se le asigna un NULL.
• Cuando creamos una tabla, con la palabra clave DEFAULT en la
columna, podemos dar un valor cuando no se asigne alguno.
• Por ejemplo, para la columna timestamp el valor de default
puede ser una variable interna de PostgrSQL que regresa la
fecha y la hora actual.
Otro ejemplo
CREATE TABLE cuenta (
nombre VARCHAR(20),
balance NUMERIC(16,2) DEFAULT 0,
activa CHAR(2) DEFAULT 'SI',
creada TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Claves Foráneas y Restricciones
CREATE TABLE carreras
(
idcarrera serial NOT NULL,
nombrecarrera varchar(50),
CONSTRAINT carreras_pkey PRIMARY KEY (idcarrera),
CONSTRAINT carreras_idcarrera_key UNIQUE (idcarrera)
);

CREATE TABLE personas


(
idpersona varchar(15) NOT NULL,
paterno varchar(50),
materno varchar(50),
nombres varchar(50),
CONSTRAINT personas_pkey PRIMARY KEY (idpersona),
CONSTRAINT personas_idpersona_key UNIQUE (idpersona)
Claves Foráneas y Restricciones
CREATE TABLE universitarios
(
cu varchar(15) NOT NULL,
idpersona varchar(15) NOT NULL,
idcarrera int4,
CONSTRAINT universitarios_pkey PRIMARY KEY (cu),
CONSTRAINT universitarios_idpersona_fkey FOREIGN KEY (idpersona)
REFERENCES personas (idpersona) ON UPDATE CASCADE ON DELETE NO
ACTION,
CONSTRAINT universitarios_idcarrera_fkey FOREIGN KEY (idcarrera)
REFERENCES carreras (idcarrera) ON UPDATE CASCADE ON DELETE NO
ACTION,
CONSTRAINT universitarios_cu_key UNIQUE (cu)
);
Modificar Una tabla

• alter table Persona drop constraint monogamia


• alter table add constraint monogamia unique (pareja);
• alter table persona add edad int ;
• ALTER TABLE products DROP COLUMN description;
Modificar Una tabla

• alter table persona rename direccion to dir;

• alter table persona rename to personal;


Eliminar una tabla
Drop
¿Cómo Agregar Datos a la Base de Datos?

INSERT INTO nombre_tabla (columna1, columna2)


VALUES (valor1,valor2)
Actualizar Datos

UPDATE nombre_tabla SET Col1=valor1, Col2=Valor2

Mujer
Eliminar Datos
DELETE FROM nombre_tabla
Si la CONDICIÓN no es especificada, todas las filas serán
eliminadas.

Examen

También podría gustarte