You are on page 1of 28

Base de Datos II

Ing. Lidia Quionez


lquinonez@utic.edu.py
lidiaqcris@gmail.com
Contenido

1 Introduccin a Base de Datos

2 Introduccin al SQL

3 Componentes del SQL

4 Creacin de Base de Datos y Tablas


INTRODUCCIN A BASE DE DATOS

Base de Datos
Es un conjunto de datos almacenados entre
los que existen relaciones lgicas y ha
sido diseada para satisfacer los
requerimientos de informacin de una
empresa u organizacin.

En una base de datos, adems de los datos,


tambin se almacena su descripcin.
INTRODUCCIN A SQL

SQL (Lenguaje de consultas estructurado)


SQL es una herramienta para organizar, gestionar y
recuperar datos almacenados en una base de
datos informtica.
SQL es a la vez un lenguaje fcil de aprender y una
herramienta completa para gestionar datos.
Las peticiones sobre los datos se expresan
mediante sentencias, que deben escribirse de
acuerdo con unas reglas sintcticas y semnticas
de este lenguaje.
INTRODUCCIN A SQL

Componentes del SQL


El lenguaje SQL est compuesto por
comandos, clusulas, operadores y
funciones de agregado. Estos elementos
se combinan en las instrucciones para
crear, actualizar y manipular las bases
de datos.
COMANDOS
DDL Data Definition Language (Lenguaje
para definicin de Datos)
Permiten permite definir la estructura y
organizacin de los datos almacenados y de las
relaciones entre ellos, definir nuevos objetos o
destruir objetos mediante las sentencias
CREATE y DROP, establecer restricciones a los
campos de las tablas con NOT NULL, CHECK y
CONSTRAINT; y establecer relaciones entre las
tablas (PRIMARY KEY, FOREIGN KEY y
REFERENCES)
COMANDOS
DML Data Manipulation Language (Lenguaje
para Manipulacin de Datos)
Permite actualizar la BD aadiendo nuevos
datos, suprimiendo datos antiguos y
modificando datos previamente almacenados.
Las sentencias incluidas son INSERT, UPDATE y
DELETE.
COMANDOS

DCL Data Control Language (Lenguaje


para control de datos)
Permiten controlar la confidencialidad de
los datos permitiendo conceder o retirar
permisos de accesos a los objetos de la
base de datos. Las sentencias contenidas
en l son GRANT y REVOKE
COMANDOS

TCL CONTROL DE TRANSACCION


Se utiliza para controlar el
procesamiento de transacciones de una
base de datos.
Ejemplos: COMMIT,ROLLBACK,SAVEPINT.
CLUSULAS

Las clusulas son condiciones de modificacin


utilizadas para definir los datos que desea
seleccionar o manipular.

Clusula Descripcin

Utilizada para especificar la tabla de la cual se van a seleccionar


FROM los registros

Utilizada para especificar las condiciones que deben reunir los


WHERE registros que se van a seleccionar
Utilizada para separar los registros seleccionados en grupos
GROUP BY especficos
Utilizada para expresar la condicin que debe satisfacer cada
HAVING grupo

Utilizada para ordenar los registros seleccionados de acuerdo con


ORDER BY un orden especfico
OPERADORES LGICOS

Operador Uso

Es el "y" lgico. Evala dos condiciones y devuelve un


AND valor de verdad slo si ambas son ciertas.

Es el "o" lgico. Evala dos condiciones y devuelve un


OR valor de verdadero si alguna de las dos es cierta.

Negacin lgica. Devuelve el valor contrario de la


NOT expresin.
OPERADORES DE COMPARACIN

Operador Uso

< Menor que

> Mayor que

<> Distinto de

<= Menor Igual que

>= Mayor Igual que

= Igual que

BETWEEN Utilizado para especificar un intervalo de valores.

LIKE, ILIKE Utilizado en la comparacin de un modelo

In Utilizado para especificar registros de una base de datos


OPERADORES NUMERICOS

Operador Uso

+ Sumar

- Restar

* Multiplicar

/ Dividir

^ Exponenciacin
FUNCIONES DE AGREGADO
Las funciones de agregado se usan dentro de
una clusula SELECT en grupos de registros
para devolver un nico valor que se aplica a un
grupo de registros.

Funcin Descripcin
Utilizada para calcular el promedio de los valores de un campo
AVG determinado

COUNT Utilizada para devolver el nmero de registros de la seleccin


Utilizada para devolver la suma de todos los valores de un
SUM campo determinado
Utilizada para devolver el valor ms alto de un campo
MAX especificado
Utilizada para devolver el valor ms bajo de un campo
MIN especificado
POSTGRESQL

PostgreSQL es un sistema de gestin de bases de datos


objeto-relacional, distribuido bajo licencia BSD y con su cdigo
fuente disponible libremente.

Funciona muy bien con grandes cantidades de datos y una


alta concurrencia de usuarios accediendo a la vez a el
sistema.

PostgreSQL utiliza un modelo cliente/servidor y usa


multiprocesos en vez de multihilos para garantizar la
estabilidad del sistema. Un fallo en uno de los procesos no
afectar el resto y el sistema continuar funcionando.
CREAR BD Y TABLAS

Crear la Base de Datos : BDII


Comandos

CREATE DATABASE
CREATE SCHEMA
CREATE TABLE
DDL PRACTICA 1
DDL PRACTICA 1
EJERCICIOS SQL

INSERT, UPDATE y DELETE en las tres tablas.


Verificar que Las reglas de integridad esten correctas y
probar las mismas.
Agregar el Campo emp_fingreso de tipo Fecha a
Empleados
Actualizar los registros cargados con el nuevo campo
Eliminar el Campo creado
Agregar los campos emp_telefono Tipo Carcter,
emp_direccion Tipo Carcter.
EJERCICIOS SQL
Agregar Campo empl_sexo y que solo permita ingresar M
o F.
Agregar Validacion que el salario no puede superar
5000000
Renombar la columna empl_sexo por emp_sexo.
Mostrar los Cargos que no estn en Empleados.
Consultar los datos de las Tablas nacionalidad y cargos,
asignandoles alias a los campos.
Consultar los datos de Empleados con las descripciones
de nacionalidad y cargos respectivos.
Contar la cantidad de Empleados por cargos.(Mostrar la
descripcion).
Mostar los cargos que existen en Empleados
CAMPO AUTOINCREMENTADO
Una secuencia (sequence) se emplea para generar valores enteros
secuenciales nicos y asignrselos a campos numricos; se utilizan
generalmente para las claves primarias de las tablas garantizando
que sus valores no se repitan (normalmente utilizamos la definicin
de un campo serial, este tiene asociado una secuencia en forma
automtica).

Una secuencia es una tabla con un campo numrico en el cual se


almacena un valor y cada vez que se consulta, se incrementa tal
valor para la prxima consulta.
Sintaxis general:
create sequence
NOMBRESECUENCIA
start with VALORENTERO
increment by VALORENTERO
maxvalue VALORENTERO
minvalue VALORENTERO
cycle;
CAMPO AUTOINCREMENTADO
La clusula "start with" indica el valor desde el cual comenzar la
generacin de nmeros secuenciales. Si no se especifica, se
inicia con el valor que indique "minvalue".
La clusula "increment by" especifica el incremento, es decir, la
diferencia entre los nmeros de la secuencia; debe ser un valor
numrico entero positivo o negativo diferente de 0. Si no se indica,
por defecto es 1.
"maxvalue" define el valor mximo para la secuencia. Si se
omite, por defecto es 9223372036854775807.
"minvalue" establece el valor mnimo de la secuencia. Si se
omite ser -9223372036854775808.
La clusula "cycle" indica que, cuando la secuencia llegue a
mximo valor (valor de "maxvalue") se reinicie, comenzando con
el mnimo valor ("minvalue") nuevamente, es decir, la secuencia
vuelve a utilizar los nmeros. Si se omite, por defecto la secuencia
se crea "nocycle", lo que produce un error si supera el mximo
valor.

Si no se especifica ninguna clusula, excepto el nombre de la


secuencia, por defecto, comenzar en 1, se incrementar en 1, el
mnimo valor ser -9223372036854775808, el mximo ser
9223372036854775807 y "nocycle".
CAMPO AUTOINCREMENTADO

En el siguiente ejemplo creamos una secuencia llamada


"ciudades_ciu_codigo_seq", estableciendo que comience en 1, sus
valores estn entre 1 y 99999 y se incrementen en 1, por defecto, ser
"nocycle"

Creamos la tabla ciudades y asociamos a la columna ciu_codigo la


secuencia ciudades_ciu_codigo_seq :
CAMPO AUTOINCREMENTADO
Truncate
Obs: Borra todos los registros sin reiniciar el valor serial, Mucho
cuidado con este comando
truncate ciudades;
--Borra todos los registros y reinicia el valor serial
truncate ciudades RESTART IDENTITY;

Tambien se puede reiniciar desde X numero la secuencia del Serial,


solo hay que identificar cual es la secuencia y ejecutar:

ALTER SEQUENCE ciudades_ciu_codigo_seq RESTART WITH 10


CAMPO AUTOINCREMENTADO
Retorna el ltimo valor de la secuencia.
SELECT last_value FROM nombre_secuencia;
Retorna el valor del ltimo nmero de la secuencia y lo incrementa en 1.
SELECT nextval('nombre_secuencia');
Reiniciar una secuencia
ALTER SEQUENCE nombre_secuencia restart .
Eliminar una secuencia
DROP SEQUENCE nombre_secuencia;
Modificar una secuencia

ALTER SEQUENCE nombre_secuencia


start with VALORENTERO
increment by VALORENTERO
maxvalue VALORENTERO
minvalue VALORENTERO
cycle;
PRCTICA 2
1. Modificar la secuencia ciudades_ciu_codigo_seq el mximo valor
debe ser 30 e incrementado de 2 en 2;
2. Insertar 2 registros en la tabla
3. Volver a modificar la secuencia iniciando la numeracin en 10.
4. Insertar datos en la tabla.
5. Crear una secuencia con el nombre de pais_pa_cod con las
siguientes caractersticas: iniciado en 1, incrementado de a uno y
que permita ingresar hasta 10 registros.
6. Crear la tabla pas con los campos de cdigo y nombre asignarle
por defecto la secuencia creada anteriormente para incrementar el
cdigo.
7. Agregar CONSTRAINT a la tabla pas en la columna nombre que no
permita duplicar los datos.
8. Eliminar el CONSTRAINT creado a la columna nombre.
GLOSARIO
Diferencia entre multitarea y multihilo:
La computacin paralela extiende las ideas de
Multitarea y Multihilos. Multitarea (Multitasking) es la
habilidad de un nico procesador de dar la apariencia
de estar realizando varias tareas a la vez. Lo que en
realidad ocurre, es que el procesor cambia de una
tarea a otra tan rpidamente, que pareciera estar
realizando todas las tareas al mismo tiempo. Multihilos
(Multithreading) consiste en dividir el trabajo de un
programa en diferentes hilos de ejecucin. Los hilos
pueden correr en procesadores separados,
incrementando de esta manera el desempeo de la
aplicacin.

You might also like