Tutorial
Modelado, Diseo y Manejo de Base de Datos
Profesor
Dr. Herman Aguilar Mayo
herman_aguilar1@hotmail.com
www.hermanaguilar1.blogspot.com
Obje;vo del Material
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Presentacin
Programa Anal;co
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Temario
I Fundamentos (parcial 1)
II Modelos de Datos (parcial 1)
III Modelo Relacional y Proceso de Normalizacin (parcial 2)
IV Creacin de un Esquema de Bases de Datos (parcial 2)
V Manejo de Bases de Datos (parcial 3)
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Pol;cas
Evaluacin
3 parciales (30% c/u)
Par;cipacin (10%)
Exentos >=8.0 sobre parciales
Asistencia
Reglamento
Laboratorio
Cubrir cuota
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Dato o Valor
Conjunto de caracteres con algn signicado, pueden ser
numricos, alfab;cos, o alfanumricos.
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Informacin
Es un conjunto ordenado de datos los cuales son manejados
segn la necesidad del usuario, para que un conjunto de datos
pueda ser procesado ecientemente y pueda dar lugar a
informacin, primero se debe guardar lgicamente en archivos.
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Campo
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Registro
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Archivo o Tabla
Ejemplos:
ANDRES EDUARDO CHAN MAGAA
5 COAHUILA ROSA MARA RUBIO DAZ
6 COLIMA D A N I E L M A T A
C O M P U T A D O R A 6 9 9 0 H E R N N D E Z M A R I A N A
7 CHIAPAS T E L E V I S O R L C D 5 7 9 5 VALOS GARCA
T E L E V I S O R 1 9 9 5
V I D E O C A M A R A 2 7 9 0
MINICOMPONENTE 1995
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Base de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Base de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Base de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Esquema
conceptual
Esquema
interno
Base
de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
SQL Historia
Los orgenes del SQL estn ligados a los de las bases de datos
relacionales. En 1970 E. F. Codd propone el modelo relacional y
asociado a este un sublenguaje de acceso a los datos basado en
el clculo de predicados. Basndose en estas ideas, los
laboratorios de IBM denen el lenguaje SEQUEL (Structured
English Query Language) que ms tarde sera ampliamente
implementado por el sistema de ges;n de bases de datos
(SGBD) experimental System R, desarrollado en 1977 tambin
por IBM. Sin embargo, fue Oracle quien lo introdujo por
primera vez en 1979 en un programa comercial.
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
SQL Historia
Sin embargo, este primer estndar no cubre todas las
necesidades de los desarrolladores e incluye funcionalidades de
denicin de almacenamiento que se consider suprimirlas. As
que, en 1992, se lanz un nuevo estndar ampliado y revisado
del SQL llamado "SQL-92" o "SQL2".
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
SQL Historia
En la actualidad el SQL es el estndar de facto de la inmensa
mayora de los SGBD comerciales, aunque la diversidad de
a a d i d o s p a r ; c u l a r e s q u e i n c l u y e n l a s d i s ; n t a s
implementaciones comerciales del lenguaje es amplia, el
soporte al estndar SQL-92 es general y muy amplio.
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Categoras de SQL ?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Categoras de SQL ?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Categoras de SQL ?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Categoras de SQL ?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Tipos de llaves
Primaria
Candidata
Fornea
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Llave primaria
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Llave candidata
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Llave fornea
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Simple
Compuesta
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Llave simple
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Marco Tecnolgico
Bases de Datos
Llave compuesta
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Normalizacin
Consiste en aplicar una serie re reglas a las relaciones de una
base de datos.
Obje;vos:
Evitar redundancia
Disminuir problemas de actualizacin
Proteger la integridad de los datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Normalizacin
Formas normales
Son 6 y deben ser aplicadas a cada tabla o relacin dentro de la
base de datos.
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Normalizacin
Formas normales
Segn se creador Edgar Frank Codd, en general las primeras tres
formas, son sucientes para cubrir las necesidades de las
mayoras de las bases de datos y/o sistemas de informacin.
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Normalizacin
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Normalizacin
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Normalizacin
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Normalizacin
Modelado de Base de Datos Nancy Greenberg y Priya Nathan Oracle University Luis Garca Roque 05/09/15 08/10/15
Java Experto Luis Joyanes aguilar, Ramalho McGraw Hill Juan Prez Gmez 01/09/15 10/09/15
Variable Compleja Murray Spiegel McGraw Hill Roca Rene 21/09/15 02/10/15
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Universidad Jurez Autnoma de Tabasco
Divisin Acadmica de Inform;ca y Sistemas
Tutorial
Programacin en Bases de Datos
DML
Profesor
Dr. Herman Aguilar Mayo
herman_aguilar1@hotmail.com
www.hermanaguilar1.blogspot.com
Bases de Datos
DML
DML?
Sentencias ?
Insert
Update
Delete
Select
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Lenguaje de Manipulacin de Datos
Insert
Update
Delete
Select
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Lenguaje de Manipulacin de Datos
PK
UK Adems la base de datos
FK verica la sintaxis de la
sentencia
Check
NN
TD
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Insert
En qu consiste?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Insert
Sintaxis
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Insert
Ejercicios
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Insert
Insert into estados (estado_id, nombre ) values (8, TABASCO);
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Insert
Insert into estados (estado_id, nombre ) values (8, null);
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Insert
S la base de datos est vaca, en cules tablas se pueden
insertar registros ?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Insert
Cul es la tabla en la que se insertan registros a lo l;mo?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Update
En qu consiste?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Update
Sintaxis
Update tabla set
campo1 = valor1,
campo2 = valor2,
campoN = valorN
[where condicion ];
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Update
Ejercicio
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Update
Update municipios set nombre=CRDENAS where nombre=BALANCN
1 BALANCN
CRDENAS 8 6 COLIMA
2 REFORMA 7 7 CHIAPAS
8 TABASCO
3 CUNDUACN 8
4 COMALCALCO 8
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Update
Update municipios set nombre=CRDENAS where nombre=BALANCAN
1 BALANCN 8 6 COLIMA
2 REFORMA 7 7 CHIAPAS
8 TABASCO
3 CUNDUACN 8
4 COMALCALCO 8
No hay ninguna
modicacin
Cumple todas las validaciones?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Update
Update estados set estado_id = 8, nombre=TABASCO
1 BALANCN 8 6
8 COLIMA
TABASCO
2 REFORMA 7 7
8 CHIAPAS
TABASCO
8 TABASCO
3 CUNDUACN 8
4 COMALCALCO 8
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Update
Debido a que ya paso la temporada decembrina y se cuenta con
sobre inventario, los precios de electrnica bajaran un 15%
Cul sera?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Delete
En qu consiste?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Delete
Sintaxis
Delete from tabla [where condicion ];
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Delete
Ejercicio
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Delete
Delete from municipios where nombre=BALANCN
1
2 BALANCN
REFORMA 8
7 6 COLIMA
2
3 REFORMA
CUNDUACN 7
8 7 CHIAPAS
8 TABASCO
3
4 CUNDUACN
COMALCALCO 8
4 COMALCALCO 8
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencia Delete
Delete from estados where estado_id = 7;
1 BALANCN 8 6 COLIMA
2 REFORMA 7 7 CHIAPAS
8 TABASCO
3 CUNDUACN 8
4 COMALCALCO 8
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Sentencias DML
Aplicacin de las restricciones
Insert Update Delete
PK
X
UK
X
FK
Check
X
NN
X
TD
X
Sintaxis
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Conversin Implcita
10 + 5 = ? 15
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Tipos de Datos
NUMBER (Numrico): Almacena nmeros enteros o de punto
otante, precisin mxima de 36.
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Tipos de Datos
Varchar2 (Carcter de longitud variable): Almacena datos de _po
carcter empleando slo la can_dad necesaria an cuando la
longitud mxima sea mayor. Mximo 4000
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Tipos de Datos
Date (longitud ja): Almacena fechas incluyendo ao, mes, da,
hora, minutos y segundos. Se manejan como cadenas con
almacenamiento interno propio. Se puede hacer operaciones
sobre ellas.
-- Date
Fecha date;
/* Indica que puede almacenar fechas */
05/02/2013 +1 = ? 06/02/2013
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operaciones Cules conoces?
Aritm;cos
Boleanas
Lgicas
Cadenas
Fechas
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operadores
Aritm;cos
+ Suma
- Resta
* Mul;plicacin
/ Divisin
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operadores
Aritm;cos con valores nulos
10 + 0 = ? 10
10 + null = ? null
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operadores
Relacionales
= Igual
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
<> != Diferente o dis;nto
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operadores
Otros Relacionales en Oracle y Bases de Datos
Like
Determina si una cadena de caracteres coincide con un patrn
especicado.
Se usa % para el patrn
Valor like %patron%
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operadores
Otros Relacionales en Oracle y Bases de Datos
IN
Permite determinar sin un valor est en una lista.
Calicacion in (6,7,8,9,10)
Ms adelante se ver
Calicacion in (query)
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operadores
Otros Relacionales en Oracle y Bases de Datos
Between
Permite determinar sin un valor est en un rango.
Calicacion between 6 and 10
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operadores
Otros Relacionales en Oracle y Bases de Datos
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operadores
Lgicos
And
Or
Not
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operadores
Cadenas
Juan||Lpez ? JuanLpez
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Operadores
Asignacin
= en contexto de sql
:= en contexto de pl/sql
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Conceptos Bsicos en Oracle
Qu es una condicin?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones
Funcin?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Predenidas
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Predenidas
Las podemos clasicar por su ;po de datos
Numricas
Varchar
Date
Nulos
Otras
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Predenidas
Sintaxis para usar una funcin
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Predenidas
Cmo usarlas?
X := suma(5,10); P:=promedio(matricula);
Prin(%d,suma(5,10)); P:=precio(producto_id);
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Predenidas
Cmo usarlas?
MATRICULA PROMEDIO
1 8.85
2 9.0
3 6.5
P:=promedio(matricula);
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Varchar
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Varchar
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Varchar
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Varchar
Length(Programacin) ?
12
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Varchar
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Varchar
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Varchar
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Numricas
ROUND(8.239,2) ?
8.24
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Numricas
Trunc(8.239) ?
8
Trunc(8.239,2) ?
8.23
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Numricas
Floor(8) ?
8
Floor(8.99) ?
8
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Numricas
Ceil(8.99) ?
9
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones Numricas
mod(10,null)
null
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Otras Funciones Numricas
Funcin Descripcin
POWER(valor,exponente) Eleva el valor al exponente indicado
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones de Fecha
Add_months(28/02/2013,36)
29/02/2016
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones de Fecha
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones de Fecha
Round( fecha [, formato]) Redondea una fecha a un formato.
YEAR ao ms cercano HH24 hora ms cercano
MONTH mes ms cercano DAY da ms cercano (default)
Round (01/07/2013 15:23:32', YEAR) 01/01/2014
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones de Fecha
Trunc( fecha [, formato]) Corta una fecha a un formato.
YEAR ao actual HH24 hora actual
MONTH mes actual DAY da actual (default)
Trunc(01/07/2013 15:23:32', YEAR) 01/01/2013
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones de Nulos
NVl(valor1, valor2) Regresa valor1 si es no nulo, si no regresa valor2.
Nvl( 0 , 0) Nvl( null , 0)
0 0
Nvl( 0 , null) Nvl( null , null)
0 null
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones de Conversin
To_char( valor, Formato) Convierte el valor a varchar segn el
formato especicado.
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Funciones de Conversin
Formato Descripcin Formato Descripcin
YY Ao en 2 dgitos DDD Da del ao en 3 dgitos
MON Las tres primeras letras del SSSSS Segundos transcurridos desde la medianoche
nombre del mes
MONTH Nombre completo del mes AM / PM Indicador AM/PM
Select
Profesor
Dr. Herman Aguilar Mayo
herman_aguilar1@hotmail.com
www.hermanaguilar1.blogspot.com
Bases de Datos
Select
DML Select
Sentencia para recuperar los datos de las tablas
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select
Select
Query
Consulta
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select
Sintaxis SqlServer
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select
Sintaxis MySql
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select
Sintaxis Oracle
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select
Consultas Sencillas
De una tabla
Sin agrupaciones
Sin operaciones relacionales
Consultas Complejas
De varias tabla
Con agrupaciones
Con operaciones relacionales
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Sencillas
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Sencillas
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Sencillas
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Sencillas
Cul es la consulta de la siguiente tabla?
NOMBRE APEPAT APEMAT
LUISA HERNNDEZ HERNNDEZ
ALEJANDRA LOPEZ REYES
ANDRES EDUARDO CHAN MAGAA
ROSA MARA RUBIO DAZ
DANIEL MATA HERNNDEZ
MARIANA VALOS GARCA
SILVIA GIL LVAREZ
CARMELA ZURITA MARTNEZ
HCTOR ALVARADO PREZ
JESS EDUARDO VELEZ GUTIRREZ
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Sencillas
Cul es la consulta de la siguiente tabla?
NOMBRE
Daniel Mata Hernndez
Luisa Hernndez Hernndez
Jess Eduardo Velez Gu_rrez
Rosa Mara Rubio Daz
Alejandra Lopez Reyes
Mariana valos Garca
Silvia Gil lvarez
Carmela Zurita Marnez
Hctor Alvarado Prez
Andres Eduardo Chan Magaa
select initcap(nombre||' '||apepat||' '||apemat) as nombre
from personas
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Sencillas
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Sencillas
Cul es la consulta de la siguiente tabla?
NOMBRE APEPAT APEMAT
ANDRES EDUARDO CHAN MAGAA
ROSA MARA RUBIO DAZ
DANIEL MATA HERNNDEZ
CARMELA ZURITA MARTNEZ
HCTOR ALVARADO PREZ
JESS EDUARDO VELEZ GUTIRREZ
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Sencillas
Cul sera el resultado de la siguiente consulta?
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Sencillas
Cul sera el resultado de la siguiente consulta?
Select nombre
from municipios
Where nombre like %A%A%;
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Complejas
Sintaxis ml;ples tablas
Select {*|valores }
From tabla1 [alias], tabla2 [alias],, tablaN [alias]
[Where Condicion]
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Complejas
Al consultar de varias tablas el resultado de la proyeccin
(registros) es:
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Complejas
Eliminando producto cartesiano Cul es el registro correcto?
ESTADO_ID NOMBRE MUNICIPIO_ID NOMBRE ESTADO_ID
5 COAHUILA 2 CRDENAS 27
6 COLIMA 2 CRDENAS 27
7 CHIAPAS 2 CRDENAS 27
8 CHIHUAHUA 2 CRDENAS 27
9 DISTRITO FEDERAL 2 CRDENAS 27
16 MICHOACN 2 CRDENAS 27
25 SINALOA 2 CRDENAS 27
26 SONORA 2 CRDENAS 27
27 TABASCO 2 CRDENAS 27
28 TAMAULIPAS 2 CRDENAS 27
29 TLAXCALA 2 CRDENAS 27
30 VERACRUZ 2 CRDENAS 27
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Complejas
Eliminando producto cartesiano Cul es el registro correcto?
ESTADO_ID NOMBRE MUNICIPIO_ID NOMBRE ESTADO_ID
5 COAHUILA 158 PICHUCALCO 7
6 COLIMA 158 PICHUCALCO 7
7 CHIAPAS 158 PICHUCALCO 7
8 CHIHUAHUA 158 PICHUCALCO 7
9 DISTRITO FEDERAL 158 PICHUCALCO 7
16 MICHOACN 158 PICHUCALCO 7
25 SINALOA 158 PICHUCALCO 7
26 SONORA 158 PICHUCALCO 7
27 TABASCO 158 PICHUCALCO 7
28 TAMAULIPAS 158 PICHUCALCO 7
29 TLAXCALA 158 PICHUCALCO 7
30 VERACRUZ 158 PICHUCALCO 7
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Complejas
Eliminando producto cartesiano Cul sera la condicin?
Select *
From estados, municipios
Where ?
estados.estado_id = municipios.estado_id
Usando alias
Select *
From estados e, municipios m
Where e.estado_id = m.estado_id
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Complejas
Eliminando producto cartesiano, observando el modelo
select initcap(p.nombre||' '||p.apepat||' '||p.apemat) as nombre,
e.nombre as estado
, colonias c, municipios m
from personas p, estados e
Where p.colonia_id = c.colonia_id
And c.municipio_id = m.municipio_id
And m.estado_id = e.estado_id
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo
Bases de Datos
Select - Complejas
Conclusin para eliminar producto cartesiano
Cuando las llaves que relacionan las tablas sea simples podemos
recordar los siguiente:
Tutorial de Modelado, Diseo y Manejo de Base de Datos UJAT - DAIS Profesor Dr. Herman Aguilar Mayo