You are on page 1of 27

Proyecto de Base de Datos

Ing. José Arzamendia


arzamendia.jose@gmail.com
Contenido

1 Introducción a Base de Datos

2 Introducción al SQL

3 Componentes del SQL

4 Creación de Base de Datos y Tablas


INTRODUCCIÓN A BASE DE DATOS

Base de Datos
Es un conjunto de datos almacenados entre
los que existen relaciones lógicas y ha sido
diseñada para satisfacer los requerimientos
de información de una empresa u
organización.

En una base de datos, además de los datos,


también se almacena su descripción.
INTRODUCCIÓN A SQL

SQL (Lenguaje de consultas estructurado)


SQL es una herramienta para organizar, gestionar y
recuperar datos almacenados en una base de datos
informática.
SQL es a la vez un lenguaje fácil 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 sintácticas y semánticas
de este lenguaje.
INTRODUCCIÓN A SQL

Componentes del SQL


El lenguaje SQL está compuesto por
comandos, cláusulas, 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
definición de Datos)
Permiten definir la estructura y organización 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
Manipulación de Datos)
Permite actualizar la BD añadiendo 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.
CLÁUSULAS

Las cláusulas son condiciones de modificación


utilizadas para definir los datos que desea seleccionar
o manipular.

Cláusula Descripción

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


FROM 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 específicos

HAVING Utilizada para expresar la condición que debe satisfacer cada grupo

Utilizada para ordenar los registros seleccionados de acuerdo con


ORDER BY un orden específico
OPERADORES LÓGICOS

Operador Uso

Es el "y" lógico. Evalúa dos condiciones y devuelve un


AND valor de verdad sólo si ambas son ciertas.

Es el "o" lógico. Evalúa dos condiciones y devuelve un


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

Negación lógica. Devuelve el valor contrario de la


NOT expresión.
OPERADORES DE COMPARACIÓN

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 comparación de un modelo

In Utilizado para especificar registros de una base de datos


OPERADORES NUMERICOS

Operador Uso

+ Sumar

- Restar

* Multiplicar

/ Dividir

^ Exponenciación
FUNCIONES DE AGREGADO
Las funciones de agregado se usan dentro de una
cláusula SELECT en grupos de registros para devolver
un único valor que se aplica a un grupo de registros.

Función Descripción
Utilizada para calcular el promedio de los valores de un campo
AVG determinado

COUNT Utilizada para devolver el número de registros de la selección


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

PostgreSQL es un sistema de gestión de bases de datos


objeto-relacional, distribuido bajo licencia BSD y con su código
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 Carácter, emp_direccion
Tipo Carácter.
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 estén 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 asignárselos a campos numéricos; se utilizan
generalmente para las claves primarias de las tablas garantizando
que sus valores no se repitan (normalmente utilizamos la definición
de un campo serial, este tiene asociado una secuencia en forma
automática).

Una secuencia es una tabla con un campo numérico en el cual se


almacena un valor y cada vez que se consulta, se incrementa tal
valor para la próxima consulta.

Sintaxis general:
CREATE SEQUENCE nombresecuencia
START WITH valorentero
INCREMENT BY valorentero
MAXVALUE valorentero
MINVALUE valorentero
CYCLE;
CAMPO AUTOINCREMENTADO
• La cláusula "start with" indica el valor desde el cual comenzará la
generación de números secuenciales. Si no se especifica, se
inicia con el valor que indique "minvalue".
• La cláusula "increment by" especifica el incremento, es decir, la
diferencia entre los números de la secuencia; debe ser un valor
numérico entero positivo o negativo diferente de 0. Si no se indica,
por defecto es 1.
• "maxvalue" define el valor máximo para la secuencia. Si se
omite, por defecto es 9223372036854775807.
• "minvalue" establece el valor mínimo de la secuencia. Si se
omite será -9223372036854775808.
• La cláusula "cycle" indica que, cuando la secuencia llegue a
máximo valor (valor de "maxvalue") se reinicie, comenzando con
el mínimo valor ("minvalue") nuevamente, es decir, la secuencia
vuelve a utilizar los números. Si se omite, por defecto la secuencia
se crea "nocycle", lo que produce un error si supera el máximo
valor.

Si no se especifica ninguna cláusula, excepto el nombre de la


secuencia, por defecto, comenzará en 1, se incrementará en 1, el
mínimo valor será -9223372036854775808, el máximo 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 estén 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 número 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;
PRÁCTICA 2
1.Modificar la secuencia ‘ciudades_ciu_codigo_seq’ el máximo 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 numeración en 10.
4.Insertar datos en la tabla.
5.Crear una secuencia con el nombre de ‘pais_pa_cod’ con las siguientes
características: iniciado en 1, incrementado de a uno y que permita ingresar
hasta 10 registros.
6.Crear la tabla país con los campos de código y nombre asignarle por defecto
la secuencia creada anteriormente para incrementar el código.
7.Agregar CONSTRAINT a la tabla país en la columna nombre que no permita
duplicar los datos.
8.Eliminar el CONSTRAINT creado a la columna nombre.

You might also like