Está en la página 1de 47

Ingeniero Jose Luis

Ingeniero Jose Luis


Ingeniero Jose Luis
Ingeniero Jose Luis
Modelo Relacional - SQL -> DDL

Lenguaje estructurado para bases de datos - SQL

Temas Programacin en Bases de datos PL-SQL

Instalacin, configuracin, manejo de usuarios

Administracin de bases de datos

Ingeniero Jose Luis


Tema No. 1: Parte A - Modelo Relacional

Ingeniero Jose Luis


Ingeniero Jose Luis
Organizacin de los Datos:
-Informacin (Entidades, tablas)
-Relaciones

Aspectos
Modelo
Relacional

Manipulacin de los Datos:


Lenguaje estructurado y estndar SQL

Ingeniero Jose Luis


Objeto -> Almacenar informacin Campo
Campo Unidad de Informacin

Entidad-Tabla
Entidad-Tabla
Estructura de Datos: Tipo y longitud
Aspectos
Modelo Valor Nulo: Permiso campo vaco
Relacional
Dominio: Valores de un campo (Finito No Finito)

Llave Primaria: Campo Representativo - Unico

Ingeniero Jose Luis


Asociacin de 2 entidades

Cardinalidad: Un registro de una entidad Cuntos


produce Entidad relacionada (1 a 1) y ( 1 a N)
Relacin
Relacin
Tipo de Relacin: Sumatoria de cardinalidades (1 a 1),
(1 a N) y (M a M)

Aspectos
Modelo Llave Fornea: Campo de Relacin en la tabla hija
Relacional
Integridad Referencial: Manejo de Hurfanos

Operaciones: Cascada , Nulll, no permitirlas

Ingeniero Jose Luis


Tema No. 1: Parte B - SQL -> DDL

Ingeniero Jose Luis


Dueo(OWNER)
de las tablas Usuario

Tabla

Una Sola para


todas las tabla
Base de Datos

DBMS para desarrollo de aplicaciones de alta complejidad

Ingeniero Jose Luis


Lenguaje de Definicin de
DDL Datos

Mantenimiento

DML
Lenguaje de
Manipulacin Consulta
de Datos

Lenguaje Estructurado y Estndar para el manejo de B.D.

Ingeniero Jose Luis


Create Table Creacin de Base de Datos

Alter Table Modificar estructura de B.D.

Describe Visualizar estructura de tabla


Cambiar nombre a una tabla
Rename
Eliminar una tabla
Drop Table

Lenguaje de Definicin de Datos

Ingeniero Jose Luis


CREATE TABLE Nombre ( campo TIPO(LONG),
CONSTRAINT Reglas de Integridad );
Create Table

NOT NULL (Valores Nulos) Nombre: Tabla_Campo_nn

PRIMARY KEY (Llave Primaria) Nombre: Tabla_pk


CONSTRAINT
FOREIGN KEY (Llave Fornea) Nombre: Tabla_Campo_fk

UNIQUE (Valor sin duplicados) Nombre: Tabla_Campo_un

CHECK (Chequeo - Condiicones) Nombre: Tabla_Campo_ck

Creacin de Tablas

Ingeniero Jose Luis


CHAR(n): Alfanumrico (Reserva espacio de n)

VARCHAR(n): Alfanumrico (Solo usa los ocupados)


Tipos de
Datos NUMERIC(p,d): Numrico, p=dgitos, d:decimales

DATE: Fecha,Hora (Manejar formatos)

Creacin de Tablas

Ingeniero Jose Luis


Drop Table DROP TABLE Nombre;

Eliminar Tablas

Ingeniero Jose Luis


ALTER TABLE Nombre
ADD ( campo TIPO(LONG) NULO) ,
Alter Table
MODIFY ( campo TIPO(LONG) NULO);

Aadir ms campos
Modificar ancho columna, tipo de datos, restricciones.

Modificar estructura de Tablas

Ingeniero Jose Luis


ALTER TABLE Nombre
ADD COLUMN( campo TIPO(LONG) NULO) ,
Alter Table
DROP COLUMN ( campo TIPO(LONG) NULO);
RENAME COLUMN Nombre TO Nombre2

Aadir ms campos
Modificar ancho columna, tipo de datos, restricciones.

Modificar estructura de Tablas

Ingeniero Jose Luis


RENAME Tabla_Vieja TO Tabla_Nueva;

ADD CONSTRAINT (agrega la restriccin)


Otros
Comandos
DROP CONSTRAINT (elimina la restriccin)

Visualizar y Renombrar tablas

Ingeniero Jose Luis


Averiguar 1. Operaciones de las Relaciones en Postgres
con ejemplo 2. Manejo de consecutivos en cdigos

Tarea

Ingeniero Jose Luis


Ingeniero Jose Luis
Aadir un nuevo campo a una Tabla.

En determinados tiempos de la ejecucin de un


proyecto pueden surgir nuevos requerimientos o
variables de informacin que necesitan ser
almacenadas para su posterior procesamiento.

alter table camion


add velocidad numeric(10) not null;

Ingeniero Jose Luis


Borrar un campo de una tabla

Cuando una informacin deje de ser requerida


durante el proceso de diseo de el sistema de
informacin quiere decir que no se requiere tratar
y por ende no se debe almacenar, en este caso se
debe modificar la base de datos y eliminar el
campo que manipulaba dicha informacin.

alter table camion drop cantidad;

Ingeniero Jose Luis


Modificar un campo de una tabla

ALTER TABLE camion ALTER COLUMN modelo


Type varchar(10)

ALTER TABLE camion ALTER COLUMN modelo


Type numeric(10) using modelo::numeric

Ingeniero Jose Luis


Parte B
Tema No. 2:
SQL: Lenguaje Estructurado para el manejo de BD
DML - Actualizacin

Ingeniero Jose Luis


Mantenimiento
Operaciones Bsicas: Incluir, Modificar, Eliminar

Consulta
Recuperacin de Informacin

Ingeniero Jose Luis


Incluir registros
INSERT

UPDATE Modificar registros

Mantenimiento

DELETE Eliminar registros

Ingeniero Jose Luis


INSERT INTO Tabla (campo1,campo2,...,campoN)
VALUES (valor1,valor2,...,valorN);

INSERT
INSERT INTO Tabla
VALUES (valor1,valor2,...,valorN);

Incluir registros

Ingeniero Jose Luis


Alfanumrico (CHAR,VARCHAR2): Juan Prez

Tipos de Numrico (NUMERIC): 1000.00


Valores

Fecha (DATE): Manejar Formatos, fecha del sistema

Clusula INSERT

Ingeniero Jose Luis


Ejemplo

insert into libros (titulo,autor,editorial)


Values
('El aleph','Borges','Planeta');

Clusula INSERT

Ingeniero Jose Luis


UPDATE Tabla

UPDATE SET campo


WHERE Condicin;

Actualizar registros

Ingeniero Jose Luis


Ejemplo

UPDATE CUENTA
SET SALDO=SALDO * 1.15
WHERE SALDO>100000;

Clusula UPDATE

Ingeniero Jose Luis


DELETE FROM Tabla

DELETE WHERE Condicin;

Eliminar registros

Ingeniero Jose Luis


Ejemplo

DELETE FROM CUENTA


WHERE SALDO=0;

Clusula DELETE

Ingeniero Jose Luis


Ingeniero Jose Luis
La opcin cascada es la caracterstica que
tienen las bases de datos para hacer una
operacin masiva sin tener inconvenientes
con las llaves forneas.

Es decir si yo elimino el registro en la tabla


que el campo es la clave principal se
eliminaran todos los registros en donde ese
campo es llave fornea.

Pero esta caracterstica debe ser activada en


las bases de datos desde el punto de su
Ingeniero Jose Luis
A continuacin podemos empezar a ver un ejemplo
con una base de datos que contenga solamente dos
tablas:

Ejemplo

CREATE TABLE persona (


id_persona serial,
nombre varchar(60),
constraint persona_pk primary key(id_persona)
);

Ingeniero Jose Luis


CREATE TABLE telefono (
id_telefono serial,
numero numeric,
id_persona serial REFERENCES
persona ON DELETE CASCADE ON UPDATE CASCADE,
constraint telefono_pk primary
key(id_telefono),
constraint persona_telefono_fk foreign
key(id_persona) references persona (id_persona)
);

Ingeniero Jose Luis


Parte C
Tema No. 2:
SQL: Lenguaje Estructurado para el manejo de BD
DML - Consultas

Ingeniero Jose Luis


Bsicas

Funciones Agregadas

Agrupamiento

Consultas
Subconsultas

Unin e Interseccin

Recuperacin de informacin - Orden SELECT

Ingeniero Jose Luis


Tablas Involucradas en la
FROM consulta

WHERE Condiciones

Consultas
Bsicas
ORDER BY Ordenamiento

Consultas Bsicas - Clusula SELECT

Ingeniero Jose Luis


SELECT Campos a visualizar * =Todos los campos
FROM Tablas involucradas en la consulta
WHERE Condiciones
SELECT
ORDER BY Campos de ordenamiento DESC;

Si hay campos a visualizar de varias tablas con el mismo nombre =>


TABLA.CAMPO en el FROM la lista de tablas separadas por coma (,) y
en el WHERE se unen las tablas igualando los campos de enlace. Si hay
varios enlaces, utilizar el operador AND.

Consultas Bsicas - Estructura

Ingeniero Jose Luis


Operadores Relacionales: >,<,>=,<=,<>,=
Operadores Lgicos: AND, OR, NOT
Rango Intervalo de Valores: BETWEEN
Campo BETWEEN Valor1 AND Valor2
Tipos de
Rango de valores(Coincidencia): IN
Condiciones
WHERE Campo IN (Valor1,Valor2,...,ValorN)

Comparacin cadena de caracteres: LIKE

!:No,Fuera Campo LIKE C%, LIKE P[A-F###LIKE a?a

[!0-9No %=Sarta caracteres, ?=Un carcter, #=Dgito


Dgito
Valores Nulos: IS NULL, IS NOT NULL

Ingeniero Jose Luis


Otras Clusulas

DISTINCT: Omite duplicados en campos seleccionados

ALL: Defecto. Selecciona todos los registros que cumplan las condiciones

OTRAS CLAUSULAS BASICAS

Ingeniero Jose Luis


AVG Promedio de un campo

MAX,MIN Mximo y Mnimo

COUNT Contador

Funciones
Agregadas
SUM Suma

Funciones Agregadas - Clusula SELECT

Ingeniero Jose Luis


SELECT SUM(SALDO)
Ejemplo FROM CUENTAS
WHERE SALDO>0;

Funciones Agregadas - Ejemplo

Ingeniero Jose Luis

También podría gustarte