Documente Academic
Documente Profesional
Documente Cultură
INDICE
FACTURACIÓN.............................................................................................12
RENTA – CAR................................................................................................13
BIBLIOTECA..................................................................................................14
VENTA DE COMPUTADORAS......................................................................14
ALIMENTACIÓN............................................................................................15
INFORMACION.......................................................................................................................... 19
DEFINICIÒN DE REGISTRO..................................................................................................... 19
ENTIDAD................................................................................................................................... 19
TIPO DE ENTIDAD.................................................................................................................... 20
OCURRENCIA DE UNA ENTIDAD........................................................................................ 20
CONJUNTO DE ENTIDADES................................................................................................ 20
NOTACIÒN Y REPRESENTACIÒN GRAFICA......................................................................21
CONCEPTO DE RELACIÒN..................................................................................................... 21
TIPOS DE RELACION............................................................................................................... 21
CONJUNTO DE RELACIONES................................................................................................. 22
TIPOS DE RELACIONES.......................................................................................................... 23
Relación 1:1........................................................................................................................... 23
Relación 1: Muchos................................................................................................................ 23
Relación Muchos: Muchos..................................................................................................... 24
Relación 0: Muchos................................................................................................................ 24
Atributo:.................................................................................................................................... 25
1
BASE DE DATOS
PROPIEDADES DE UN ATRIBUTO.......................................................................................... 25
Atributo Simple o Repetitivo................................................................................................... 25
Atributo Elemental o compuesto............................................................................................ 25
Atributo Obligatorio o Facultativo.......................................................................................... 26
RESTRICCIONES DE INTEGRIDAD......................................................................................... 27
Restricciones de Integridad Estática.....................................................................................27
Restricciones de Integridad Dinámica....................................................................................27
Tipos de Conjuntos.................................................................................................................. 27
Diseño Lógico........................................................................................................................... 28
Tabla.......................................................................................................................................... 28
Clave Principal.......................................................................................................................... 28
Clave Foránea........................................................................................................................... 28
CONCEPTO DE NORMALIZACIÓN.............................................................28
Formas normales..................................................................................................................... 28
1ra Forma Normal.................................................................................................................. 28
2da Forma Normal................................................................................................................. 30
SQL................................................................................................................40
Create table nombre_tabla.............................................................¡Error! Marcador no definido.
EXPRESIONES ARITMÉTICAS....................................................................43
CONDICIONES MULTIPLES..................................................................................................... 43
AND........................................................................................................................................... 43
OR.............................................................................................................................................. 43
IN................................................................................................................................................ 44
BETWEEN................................................................................................................................. 44
2
BASE DE DATOS
VALORES NULL........................................................................................................................ 44
ORDER BY................................................................................................................................ 45
FUNCIONES.............................................................................................................................. 46
FUNCIONES DE CARACTERES:............................................................................................. 46
CHR........................................................................................................................................... 46
INITCAP..................................................................................................................................... 46
LOWER...................................................................................................................................... 46
LPAD.......................................................................................................................................... 47
LTRIM......................................................................................................................................... 47
RPAQ......................................................................................................................................... 47
SUBSTR..................................................................................................................................... 48
UPPER....................................................................................................................................... 48
INSTR......................................................................................................................................... 48
LENGTN..................................................................................................................................... 49
FUNCIONES ARITMÉTICAS.........................................................................49
GREATEST.............................................................................................................50
ARITMÉTICA DE FECHA.......................................................................................................... 51
FUNCIONES DE AGRUPACION:..................................................................52
SUM........................................................................................................................................... 52
AVG............................................................................................................................................ 52
MIN............................................................................................................................................. 52
COUNT:...................................................................................................................................... 53
STDDEV..................................................................................................................................... 53
VARIANCE:................................................................................................................................ 53
GROUP BY................................................................................................................................. 53
HAVING...................................................................................................................................... 54
3
BASE DE DATOS
OUTER JOINS...............................................................................................57
OPERADORES DE CONJUNTOS............................................................................................. 58
INTERSECT............................................................................................................................... 59
MINUS........................................................................................................................................ 59
ROLLBACK:.............................................................................................................................. 60
COMMIT..................................................................................................................................... 60
UPDATE..................................................................................................................................... 60
TRUNCATE................................................................................................................................ 60
VISTAS....................................................................................................................................... 61
INDICES................................................................................................................................ 61
REPORTE:............................................................................................................................. 61
4
BASE DE DATOS
PROGRAMAS
SISTEMA SISTEMA
SISTEMA DE
DE DE
AYUDA NOMINA
REGISTRO ECONOMICA
ARCHIVOS
BASE DE
DATOS
INTEGRADA
5
BASE DE DATOS
Los programas de aplicación que trata directamente con los archivos físicos
son dependientes de los datos, es decir dependen de características como el
formato de registros y la organización de los archivos, siempre que estas
características se cambian los programas deben modificarse.
6
BASE DE DATOS
SOLICITUD DESCRIPCION
DE UN REGISTRO
LOGICO SMBD DE LAS
CORRESPOND
ECIA
DE LOS DATOS
E/S FISICA
7
BASE DE DATOS
requisito
ESPECIALIDAD DESCRIPCIO DEPTO NUMERO
D N
especializado en
Estu
ID NOMBRE DIRECCIO ID NOMBRE DEPTO OFICINA
N
Estudiante Profesor asesor
8
BASE DE DATOS
Ejemplo de Esquemas
Grado Profesor
Profesor – Alumno
Profesor – Ocupación
Alumno
Alumno – Representante
Representante
Agencia de Viajes
Cliente
9
BASE DE DATOS
Rol de Pagos
Empleado
Empleado tiene carga Cargos
Jornada de Trabajo
Horario Departamento
Concepto Rol
Movimien. rol
Trans – Variables
10
BASE DE DATOS
Consultorio Médico
Paciente
Paciente – Médico
Médico
Facturación
Cliente Proveedores
Detalle Factura
Codigo Codigo
Hist - Prec Producto Producto
11
BASE DE DATOS
Renta – Car
Vehículo
Factura
Mantenimiento
Cliente
Cliente
Cliente – empleado
Empleado Garantía
12
BASE DE DATOS
Biblioteca
Libro
Usuario Préstamos
C.I. Nombre Dirección Telef. Curso Esp Cod Fecha Fecha Usuario
Prest Entrega
Empleado
Venta de Computadoras
Cliente Producto
Id. Cliente Fecha Fact RUC Nº Fact Cod Emp Cod Id. Cliente Cant
Prod
Alimentación
Paciente
Enfermedades
del Paciente Enfermedad
Cod. Fact. Cod. Enfer Fecha Inicio Cod Enf Nombre Status
14
BASE DE DATOS
Renta – Car
Cab Fact
Vehículo
Cliente Mantenimiento
Vendedor Garantía
Tiempo
Detalle
Horas Días Km/h
Cod Valor Id
Ven Cliente Historial - Precio
15
BASE DE DATOS
BANCO
Cliente
Pertenece al banco
CI Nombre Apellido Dirección Telef.
Banco
COD Nombre Dirección RUC Tipo Tiene la cuenta
Cuenta
Nomina Saldo CI Tipo cuenta
Trabajo
en
Empleado
Préstamo
CI Nombre Dep. Cargo Cod.
Número Valor
Cod Descripción
Empleado
Cod Nombre Dirección Télf. Sueldo paso
Empleado trabaja
Dto. de la empresa
Cod Nombre Asunto Tipo documento Fecha Empleado envía Tipo condición
BOLETOS DE TRANPORTES
Historial/precio
Cliente
Cod Ruta Precio Fecha
Cod. Nombre CI Telf. Dirección Compra de
boletos Precio de
Ruta cada ruta
Nº
Nº. Cod. Cod. Cod. Cod. Descripción Tiempo
Empleado . Cliente Empleado Ruta Ruta
Cod. Tipo de
vehículo vehículos
17
BASE DE DATOS
INFORMACION
DEFINICIÒN DE REGISTRO
Ejemplo:
PRODUCTO
Conceptos Básicos
ENTIDAD
Ejemplo
18
BASE DE DATOS
política y un nombre específico para este caso diremos que país es un tipo de
entidad.
Ejemplo
País TIPO DE ENTIDAD
La clase de todas las entidades posibles de este tipo es decir todas las
entidades posibles que verifiquen la definición de país.
TIPO DE ENTIDAD
Se clasifica todas las entidades posibles del mundo real que verifican la
definición constitutiva del tipo.
Ejemplo: País
PAIS
ECUADOR
COLOMBIA
BELGICA
EEUU.
CONJUNTO DE ENTIDADES
Clasifica las entidades del mismo tipo que existe en un instante particular
Países Bolivarianos
Unión Europea
Países de la OPEP
19
BASE DE DATOS
CONCEPTO DE RELACIÒN
Una relación está definida por una correspondencia entre 2 o varias entidades
no necesariamente distintas en donde cada una asume un rol dado si
quisiéramos registrar la información relativa a está correspondencia una
relación puede tener uno o varios atributos.
TIPOS DE RELACION
Clasifica todas las relaciones posibles de la realidad que verifica la definición
constitutiva del tipo.
Como para el tipo de entidad también utilizaremos las letras mayúsculas para
representar el nombre del tipo de relación llamaremos grado de tipo de relación
al número del tipo de entidad no necesariamente distintos entre los cuales el
tipo de relación es definida.
Ejemplo
20
BASE DE DATOS
CONJUNTO DE RELACIONES
Clasifica las relaciones del mismo tipo que existen en un instante particular
Ejemplos PAIS
RELACION REGION
P1R1 R1
P1 P1R2 R2
P2 P2R3 R3
P3 P2R4 R4
Existencia
País: Es considerado como país toda unidad de territorio con autonomía
política.
De este ejemplo se puede concluir que una ocurrencia de país puede existir sin
dar lugar a una división de regiones.
E1 E1D1 D1
E2 E2D1 D2
E3 E3D2 D3
E4 E4D3 D4
21
BASE DE DATOS
P1 P1C1 C1
P2 P1C2 C2
P3 P3C3 C3
TIPOS DE RELACIONES
Básicamente 3 tipos:
Relación 1:1 Una ocurrencia de una entidad se relaciona con una ocurrencia
de otra entidad.
22
BASE DE DATOS
Relación 0: Muchos
23
BASE DE DATOS
Ejemplo
PROPIEDADES DE UN ATRIBUTO
Ejemplo: Código de una tabla de referencia como sexo, tipo de sangre, etc.
NOMBRE CALLE
NUMERO EN LA CALLE
24
BASE DE DATOS
NOMBRE INTERSECCION
NOMBRE CIUDAD
Los tipos de relación que existen entre estos tipos de entidad y los
atributos que los caracteriza.
25
BASE DE DATOS
RESTRICCIONES DE INTEGRIDAD
DEFINICION
Una restricción de integridad (C.I.) es una propiedad, no representada por los
conceptos básicos del modelo que deben satisfacer las informaciones
pertenecientes a la base de datos.
Ejemplos
Población >0
Ejemplos
26
BASE DE DATOS
Diseño Lógico
Tabla
Columnas
No Name No
Concepto de Normalización
Podemos decir que es la guía para desarrollar un diseño lógico aceptable para
una correcta organización del modelo entidad relación
Formas normales
1ra Forma Normal Se dice que una relación esta en primera forma
normal si se ha eliminado campos repetitivos
27
BASE DE DATOS
Depart. Empleados
Persona Emp 31
Despacho Emp 51
28
BASE DE DATOS
Departamento KP Empleados KF
KP
No. Nombres Cod No.
No Cod No
Emp Nombre Trab Depat
030 Kwan 60 C01 No. Dept MGM
090 Henders 54 E11 Dept Nombre No.
130 Quintana 55 C11 C01 Infor 030
290 Parker 42 E11 E11 Oper 090
Smith 48 E11
300 Setrigh 43 E11
30
Ejemplo
Empleado
PROBLEMA:
SOLUCION
En este caso estos atributos deben ubicarse en otra tabla, por lo tanto se
tendría dos tablas Empleado y Utilitarios de oficina.
Empleado
No.
Emp Nombre
1 Smith
2 Jones
4 Smith
5 Brown
Utilitarios de Oficina
30
BASE DE DATOS
Formato uniforme de filas (toda tabla tiene una longitud de registro fija)
Menor actividad de actualización.
No dependencia de atributos de la clave principal
En cuanto al costo va a permitir muchas accesos a las diferentes
aplicaciones computacionales.
EJEMPLO
PROBLEMA
SOLUCION
31
BASE DE DATOS
Conclusiones:
Memo
Carta
Oficio
Comunicación
Fax
Normal
Secreta
Confidencial
32
BASE DE DATOS
DOCUMENTACION
Numero_doc: decimal(8)
Ccod_personal: numeric(2)
Cod_cargo: numeric(4)
Cod_dep: numeric(4) PERSONAL
Cod_tipo: numeric(4) Ccod_personal: numeric(2)
Cod_motivo: numeric(4) CARGO
Cod_cargo: numeric(4)
Cod_cargo: numeric(4)
Receptor: numeric(5) Cedula_identidad: numeric(10)
Fecha_ingreso: datetime Cargo: numeric(10) Descripcion: char(30)
Motivo: numeric(2) Nombre: char(30)
Tema: char(80)
Departamento: numeric(2)
Feha_fin: datetime MOTIVOS
Estado: char(1) Cod_motivo: numeric(4)
tipo_doc: char(1)
Descripcion: char(30)
ACCIONES
DEPARTAMMENTO
Secuencial: numeric(1)
Cod_dep: numeric(4)
Numero_doc: decimal(8)
Nombre: char(30) Ccod_personal: numeric(2)
Descripcion: char(30) TIPO_DOCUMENTO Cod_cargo: numeric(4)
Cod_dep: numeric(4)
Cod_tipo: numeric(4)
Cod_tipo: numeric(4)
Descripcion: char(30) Cod_motivo: numeric(4)
Fecha_inicio: datetime
Responsable: char(30)
Departamento: numeric(2)
Accion_Dada: ntext
33
BASE DE DATOS
NOMINA
34
BASE DE DATOS
EMPLEADO
PROVINCIA PROFESION
Cedula: decimal(10)
Cod_Prov: numeric(2) Cod_Prov: numeric(2) Cod_profesion: numeric(2)
Cod_canton: numeric(1) Descripcion: char(30) Descripcion: char(30)
Cod_parroq: numeric(2)
Cod_est_civ: numeric(1)
Cod_profesion: numeric(2)
Cod_puesto: numeric(1)
Cod_estado: numeric(1)
Cod_sex: numeric(1)
Nombre: char(30) ESTADO_CIVIL
Fecha_Nacimiento: datetime
Cod_est_civ: numeric(1)
Direccion: char(30)
Provincia: decimal(2) Descripcion: char(30)
Canton: decimal(1)
Parroquia: decimal(2)
CANTON
Profesion: decimal(2)
Numero_patronal: decimal(10) Cod_Prov: numeric(2)
Estado_Civil: decimal(1) Cod_canton: numeric(1) PUESTO
Puesto: decimal(1) Cod_puesto: numeric(1)
Descripcion: char(30)
Fecha_ingreso: datetime descripcion: char(30)
Fecha_Salida: datetime
Sueldo_base: decimal(12,2)
Estado: decimal(1) ESTADO
Sexo: char(1) Cod_estado: numeric(1)
Descripcion: char(30)
TRANSACCIONES_FIJAS
PARROQUIAS
Cod_concepto: numeric(2)
Cod_Prov: numeric(2) Cedula: decimal(10)
Cod_canton: numeric(1) Cod_Prov: numeric(2)
Cod_parroq: numeric(2) Cod_canton: numeric(1)
Descripcion: char(30) Cod_parroq: numeric(2)
Cod_est_civ: numeric(1)
Cod_profesion: numeric(2)
OTRAS_TRANSACCIONES Cod_puesto: numeric(1)
Cod_ot_transac: numeric(2) Cod_estado: numeric(1)
Cedula: decimal(10) Cod_sex: numeric(1)
Cod_Prov: numeric(2) cantidad: numeric(5)
TIPO_CARGAS__FAMILIARES Cod_canton: numeric(1)
Codigo_tipo_carga_f: numeric(1) Cod_parroq: numeric(2)
Cod_est_civ: numeric(1)
Descripcion: char(30)
Cod_profesion: numeric(2)
Cod_puesto: numeric(1)
Cod_estado: numeric(1)
Cod_sex: numeric(1)
valor: numeric(12,2)
CONCEPTOS_ROL
CARGAS_FAMILIARES codigo_concepto: numeric(2)
Cod_carga_familiar: numeric(1)
Descripcion: char(30)
Codigo_tipo_carga_f: numeric(1)
tipo_concepto: char(1)
Correlativos: numeric(2) aportable: char(1)
Nombre_carga_fam: char(30) tributable: char(1)
Fecha_nacimiento: datetime valor1: numeric(12,2)
Estado: char(1) valor2: numeric(12,2)
Cedula: decimal(10) estado: char(1)
Cod_Prov: numeric(2)
Cod_canton: numeric(1)
Cod_parroq: numeric(2)
Cod_est_civ: numeric(1)
Cod_profesion: numeric(2)
Cod_puesto: numeric(1)
Cod_estado: numeric(1)
Cod_sex: numeric(1) SEXO
Cod_sex: numeric(1)
35
BASE DE DATOS
RECAUDACION
36
BASE DE DATOS
Nombre: char(30)
Direccion: char(30) ESTADO_CIVIL
Telefono: numeric(10)
Cod_est_civ: numeric(1)
Estado_Civil: char(1)
Lugar_nacimiento: char(20) Descripcion: char(30)
Cedula: numeric(10)
Fecha_nacimiento: datetime
CONSULTA_EXTERNA
cod_consulta_externa: numeric(4)
Cod_medico: numeric(4) MEDICOS
Cod_Especiali: numeric(4)
Cod_estado: numeric(1) Cod_medico: numeric(4)
Cod_Especiali: numeric(4) ESPECIALIDAD
Fecha_consulta: datetime Cod_Especiali: numeric(4)
Hora_consulta: d Cedula_identidad: numeric(10)
estatus: char(10) Nombre: char(30) Descripcion: char(30)
Num_historia: numeric(5) Direccion: char(20)
Cod_est_civ: numeric(1) Telefono: numeric(10)
Cod_Prov: numeric(2) Mail: varchar(20)
Cod_canton: numeric(1)
Cod_parroq: numeric(2)
INTERNOS HABITACIONES
cod_internos: numeric(4) Cod_habitacion: numeric(4)
Fecha_ingreso: datetime Cod_tip_habi: numeric(2)
hora_ingreso: datetime Ala: numeric(1)
ESTADOS_ATENCION Cod_cama: numeric(4) Piso: numeric(3)
Cod_estado: numeric(1) Cod_habitacion: numeric(4)
Cod_tip_habi: numeric(2)
Descripcion: char(30)
cod_consulta_externa: numeric(4)
Cod_medico: numeric(4)
Cod_Especiali: numeric(4)
Cod_estado: numeric(1)
ENFERMEDAD
Cod_enfermedad: numeric(3)
Descripcion: char(30)
TIPO_HABITACION
Cod_tip_habi: numeric(2)
Descripcion: char(30)
INTERNOS_ENFERMEDAD
cod_internos: numeric(4)
Cod_enfermedad: numeric(3) CAMAS
Diagnostico: char(50) Cod_cama: numeric(4)
Cod_habitacion: numeric(4)
Cod_tip_habi: numeric(2)
Descripcion: char(30)
estado: char(15)
NACIDOS
cod_nacido: numeric(4)
cod_sexo_nacido: numeric(2)
Cedula_madre: numeric(10)
hora: datetime Sexo_nacido
Sexo: char(2) cod_sexo_nacido: numeric(2)
fecha: datetime
Peso: numeric(3,3) Descripcion: char(30)
Talla: numeric(2,3)
Observacion: char(30)
cod_internos: numeric(4)
Cod_enfermedad: numeric(3)
37
BASE DE DATOS
CORRECCION DE LA PRUEBA
38
BASE DE DATOS
SEGUNDO HEMISEMESTRE
SQL
Cláusulas de almacenamiento
STORAGE( Initial 50 M
Next 10 M
Pct free 0
Maxextents 100 )
Tablespace nombre del tablespace
Ejemplo
39
BASE DE DATOS
Parroquia Number(2);
Estado_Suscriptor Varchar(2);
Cicio Number(2)
Tarifa Number(3)
800.000 registro
Storage
Initial 40M
Next 4M
Potfree 0
Maxextents 100)
Tablespace User;
STORAGE (INITIAL 1M
NEXT 1M
PCTFREE 0
MAXEXTENTS 100)
TABLESPACE USER;
BASE DE REFERENCIA
Todas las tablas auxiliares que tienen código y descripción se llama Base de
referencia.
Ejemplo
Tabla de Contabilidad
Cuentas
Código Contable C(30)
Nombre Cuenta C(30)
Consultas
40
BASE DE DATOS
Sintaxis
Caso especial
Select *
Ejemplo
Select *
From Departament
SALIDA
Las columnas especificadas en las cláusulas where deben ser parte de las
tablas de la cláusula from
Las comparaciones de cadenas de caracteres especificadas en la cláusula
where requieren de un apostrofe al comienzo y final, comparaciones numèricas
no lo requieren. Los operadores binarios màs sencillos para comparar 2 valores
columnas o constantes son
= igual
where depto =10
|= diferente
where deptno |= 10
41
BASE DE DATOS
Ejemplo
EXPRESIONES ARITMÉTICAS
Sintaxis
Select Col1, Col2, ….Coln
From Table
Where Column2 Operador Expresión
And Column2 Operador Expresión
Ejemplo:
Consultar empleados activos, de la provincia del Guayas que su sueldo por una
año sea mayor que 10.000
CONDICIONES MULTIPLES
42
BASE DE DATOS
Ejemplo:
Empleando activo que sea de la provincia del Guayas o sueldo básico mayor
que 10.000
IN: Cuando una columna debe coincidir con un ítem de una columna dada,.
Funciona también con “NOT IN”.
VALORES NULL
El null implica ausencia de datos es diferente de ceros o de espacios el
operador IS es utilizado con la expresión NULL o también NOT NULL.
Ejemplo:
43
BASE DE DATOS
Ejemplo
Se necesita un reporte con todos aquellos empleados que se llaman Juan.
Select Nombre
From Empleado
Where Nombre Like ‘% Juan %’
Comodines
Se utiliza: El carácter “_” para 1 carácter y el “%” para uno o varios
caracteres.
Ejemplo
Listar los nombres de los empleados que termina con las letras s
Select Nombre
From Empleado
Where Nombre Like ‘ % s’
Select Nombre
From Empleado
Where Nombre Like ‘ __________’
ORDER BY: Permite que ORACLE ordene los registros seleccionados antes de
desplegar. Por DEFAULT despliega en orden ascendente.
Salida:
20 compras Quito
10 contables Quito
40 inventarios Guayaquil
30 sistemas
44
BASE DE DATOS
FUNCIONES DE CARACTERES
Salida:
10Contabilidad
20Compras
30Sistemas
40Inventarios
Salida:
CHR
d
INITCAP (cad).- convierte en mayúscula la primera letra de una cadena de
caracteres.
Select initcap (localización), dpto
From Departamento;
Salida:
Quito 10
Quito 20
Cuenca 40
Sistemas 30
Salida:
contabilidad
compras
45
BASE DE DATOS
sistemas
inventario
Salida:
w.w Contabilidad …………………..=32
w w Compras
w w Sistemas
w w Inventarios
Salida:
ntabilidad
mpras
Sistemas
Inventarios
RPAD(Cadena,m,{carácter})
Salida:
Contabilidad…………………. ww
Compras……………………… ww
Sistemas……………………….ww
Inventarios……………………. ww
46
BASE DE DATOS
From Departamento;
Compra
Contabilidad
Inventario
Sistema
Select Substr(Nombre, 1, 3)
From departamento;
Salida:
Com
Con
Inv
Sis
Salida:
67
Entrada
Contabilidad
Bodegas
Sistemas
47
BASE DE DATOS
Salida:
1
0
0
0
Salida:
7
7
7
7
SELECT TO_NUMBER(ROL)
FROM empleado
Where rol =’20514’
Salida:
---------------------------
20514
NOTA: La columna ROL de la tabla empleados es de tipo carácter.
FUNCIONES ARITMÉTICAS
Ejemplos
TRUNC ( 5.1793,2)=5.17
TRUNC( 236, -1) = 230
TRUNC ( 236, -2) = 200
48
BASE DE DATOS
EJEMPLOS
Select Cédula, nombre, sueldo, DECODE (sexo, ‘m’, ‘masculino’, ‘femenino’)
From empleado
GREATEST(expr1, …. exprn)
Retorna el mayor de una lista de valores
Ejemplo:
Select código_cuenta, nombre, GREATEST(demada-oh, demanda ot)
demanda_ contratada demanda
From Clientes;
Salida:
: 99
LEAST (exp1…………expn)
Retorna el valor menor de una lista
Ejemplo
49
BASE DE DATOS
ARITMÉTICA DE FECHA
Ejemplo
Salida:
01 – Feb-06
EXPRESIÓN DEFINICIÓN
Date + n Suma n días
Date + n/24 Suma n horas
Date + n/ (24 * 60) Suma n minutos
Date + n / ( 24* 60*60) Suman n segundos
Date – n resta n días
Date – n/ 24 Restan n días
Date – n / (24 * 60)) Resta n minutos
Date – n/ (24 * 60 * 60) Resta n segundos
Date –Date Diferencia en días (resultado números)
(date – date) * 24 Diferencia de horas (resultado número)
to _date(carater)
Convierte un caracter a fecha
Ejemplo:
FORMATOS DE FECHA
FORMATO RESULTADO
50
BASE DE DATOS
EJEMPLO:
- Sumatoria sueldo, clasificado por nombre, empleados con nombre
Pedro, sueldos no nulos.
FUNCIONES DE AGRUPACION:
Salida:
4800000
AVG: PROMEDIO
SELEC AVG(SALARIOS, 0)
FROM EMPLEADO:
51
BASE DE DATOS
Salida:
1200
Salida:
250
Salida:
4550
Salida:
Count (*)
14
STDDEV
Calcula la desviación estándar.
52
BASE DE DATOS
Ejemplos:
Salida:
Salida:
Salida:
Tarifa clientes
201 15000
715 47000
53
BASE DE DATOS
Salida:
Salida:
DEPARTAMENTO EMPLEADOS
5 56
6 67
Es una forma del comando select que combina información de dos o más
tablas. Además de las columnas a mostrar y de las tablas a combinarse, se
debe indicar un condición de combinación entre tablas. Dicha condición de
combinación se incluye en la cláusula WHERE principalmente.
Tipos de joins
- Simples(equijoin/non-equijoin):
-
Select columnas de las tablas referenciadas
From tabla1[alias], tabla2[alias],..................
Ejemplo:
PROVINCIA EMPLEADO
54
BASE DE DATOS
Salida:
EJERCICIOS:
Generar un reporte que determine el número de clientes de la Empresa
Eléctrica Quito por tarifa. Adicionalmente seleccionar aquellas tarifas que
tengan más de 100 clientes.
Salida:
TARIFA CLIENTES
Residencial 450.000
Comerial 75.000
Industrial 65.000
spool Reporte
set pagesize 64
set linesize 80
ttitle ‘ESTADISTICA DE EMPLEADOS POR ESTADO Y PROVINCIA’
break on report on estado nodup
compute sum of EMPLEADOS on ESTADO
compute sum of EMPLEADOS on report
SELECT a.descripcion ESTADO,
b.descripcion PROVINCIA,
count(*) EMPLEADOS
FROM estados a, provincias b, empleados c
Where c.coddepartamento in (‘SISTEMAS’,’INVENTARIOS’)
and c.estado=a.estadoemple
and c.provincia=b.codprov
GROUP BY a.descripcion,b.descripcion
Salida:
55
BASE DE DATOS
Activos Azuay 10
Guayas 5
Pichincha 25
-------------
Sum 40
Inactivos Azuay 5
Guayas 3
Pichincha 6
-------------
Sum 14
En liquidación Azuay 1
Guayas 1
Pichincha 1
-------------
Sum 3
-------------
Sum 57
OUTER JOINS
DESCRIPCION
Rol nombre Co AZUAY
prov ASOGUEZ
xxxxx 03
yyyyy 04
05
17
17 PICHINCHA
124 17
Salida:
3. xxxxx AZUAY
4. yyyyy ASOGUEZ
87. zzzzz
88. aaaaa PICHINCHA
124. bbbbb PIHINCHA
56
BASE DE DATOS
NON EQUIJOINS
<=
>=
BETWEEN
Sintaxis:
Select columnas
From tabla
Where condiciones1
Union
Select columnas
From tabla1
Where condiciones1
Ejemplo:
Spool reporte
Set linesize 80
Set pagesize 64
Ttitle ‘CLIENTES EEQ’
Select codigo_cuenta CLIENTE, nombre NOMBRE
From clientes_cm
Where estado_cliente=0
Union
Select codigo_convenido CLIENTE , nombre_convenido NOMBRE
From clients_sm
Were num_servicios>0
/
Spool off
57
BASE DE DATOS
Salida:
CLIENTES EEQ
PAG 1
CLIENTE NOMBRE
1101 Juan Pérez
2105 Jose Leiva
1407 Paul Salas
1521 Ricardo Díaz
1521 Luis Aguas
INTERSECT
Combina los resultados devolviendo sólo las filas que devuelven ambas
selecciones
CLIENTES ASIME
1101 JUAN PEREZ 1101 111
2105 222
Ejemplo:
Spool on
Salida:
58
BASE DE DATOS
CLIENTE
1101
Ejemplo:
- TRANSACCIONES
Ejercicios:
UPDATE
Crea una consulta de actualizaciòn que cambia los valores de los campos de
una tabla especificada basàndose en un criterio específico.
Su sintaxis:
UPDATE Tabla
Set Campo1=Valor1, Campo2=Valor2,............. CampoN=ValorN
Where Criterio;
Ejemplo:
UPDATE EMPLEADO
SET SUELDO=10000
WHERE DPTO=15;
59
BASE DE DATOS
TRUNCATE
Ejemplo:
ALTER TABLE
VISTAS
Nos permite el acceso mucho màs rápido para una consulta. Se lo puede
realizar con un select a una o varias tablas juntadas.
INDICES
Nos permiten un acceso rápido a la tabla, se crean cuando las tablas son muy
grandes
Ejemplo
60
BASE DE DATOS
REPORTES:
Select *
From empleado
UNION
Select *
From tercerizado
Select nombre
From empleado
UNION
Select nom_tercerizado
From tercerizado
Order by 1
61
BASE DE DATOS
From departamento_terc
62
BASE DE DATOS
JOIN sofi
comparación
expresión
instrucción sql
Es una instrucción SELECT, que sigue el mismo formato y reglas que cualquier
otra instrucción SELECT. Debe ir entre paréntesis.
Se puede utilizar el predicado ANY o SOME, los cuales son sinónimos, para
recuperar registros de la consulta principal, que satisfagan la comparación con
cualquier otro registro recuperado en la subconsulta.
Ejemplos:
SELECT *
FROM Productos
WHERE PrecioUnidad ANY
(SELECT PrecioUnidad FROM DetallePedido WHERE Descuento = 0 .25);
63
BASE DE DATOS
select *
from productos
where PrecioUnidad > all (select PrecioUnidad from DetallePedido where
descuento>=0.25)
SELECT *
FROM Productos
WHERE IDProducto IN (SELECT IDProducto FROM DetallePedido
WHERE Descuento = 0.25);
select *
from productos
where idproducto not in (select idproducto from DetallePedido where
descuento>=0.25)
64
BASE DE DATOS
ALTER TABLE
DROP TABLE
Sintaxis:
DROP TABLE Nombre_Tabla;
DELETE
Elimina los registros de una o más de las tablas listadas en la cláusula FROM
que satisfagan la cláusula WHERE
Sintaxis:
RENAME
Renombra u na Tabla
65
BASE DE DATOS
Sintaxis:
RENAME Nombre_Tabla TO Nuevo_Nombre;
Ejemplo:
INSERT INTO
Sintaxis:
INSERT INTO Tabla (campo1, campo2, .., campoN)
VALUES (valor1, valor2, ..., valorN)
Ejemplo:
INSERT INTO Empleados (Nombre, Apellido, Cargo)
VALUES ('Luis', 'Sánchez', 'Becario');
UPDATE
Crea una consulta de actualización que cambia los valores de los campos de
una tabla especificada basándose en un criterio específico.
Sintaxis:
UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, ... CampoN=ValorN
WHERE Criterio;
Criterios
Update para actualizar valores en los campos en registros existentes
Actualiza los registros que cumplen con el criterio de WHERE
Si se omite la clausula WHERE todos los registros son actualizados
Se puede actualizar una columna con null si la definicion de la tabla lo permite
Ejemplo:
Set col =null
Se puede actulizar una fila numeriaca utilizando los opreadores aritmeticos
+,-,*,/
Ejemplo:
UPDATE Empleados SET Grado = 5 WHERE Grado = 2;
VISTAS
Es una ventana a los datos que permte visualizar de diferentes maneras los
mismos datos como las vistas son ventanas a los datos, todos los cambios a
los datos, atraves de una vista son refjejadas a la tabla base y viseversa
Sintaxis:
CREATE VIEW Nombre_Vista AS sentencia SQL;
Ejemplo:
66
BASE DE DATOS
67
BASE DE DATOS
TERCER TRIMESTRE
BUSNESS INTELIGENT
I
N NIVEL
F ESTRATEGICO
O INDICES
DE
R GESTION
M
A
NIVEL DE
C DATAMAR
DATAWAREHOUSE GESTION
I
O
N
NIVEL
OPERATIVO
SIST, ECONOM, FINAC, FACT, NOMINA
FACT
TECNICO
ECONOM
FINANC
BODEGA RECURSOS
HUMANOS
68
BASE DE DATOS
BENEFICIOS
JUSTIFICACION
69
BASE DE DATOS
Esta orientado a una materia ya que organiza y orienta los datos desde
la perspectiva del usuario final.
Administra gran cantidad de información, los datawarehouse contienen
información histórica que nacen de los sistemas transaccionales.
Guarda información en diferentes medios de almacenamiento.
Comprende múltiples versiones de un esquema de base de datos en
que debido a que el datawarehouse almacena información histórica que
potencialmente puede generarse en varias versiones de base de datos.
Condensa y agrega información: con frecuencia los sistemas
operacionales o transaccionales guardan mucha información el
datawarehouse condensa la información y lo presenta amigable al
usuario.
Ingresa y acoge información de muchas fuentes ya que la información se
encuentra en múltiples aplicaciones en múltiples bases de datos se
requiere el datawarehouse recopilar y organizar la información en solo
lugar la información.
DECISION
Contenido de Valores concurrentes Archivos de datos, resumen de
Datos datos calculados
Organización Aplicación por Aplicación Sujeto a áreas de la empresa
de datos (datamart comercial, datamart
empresarial)
Naturaleza de Dinámico El datawarehouse es estático
datos hasta ser actualizado
Estructura de Complejo adecuado para Simples adecuado para el
los Datos computación operacional análisis de negocios.
(Formato)
Probabilidad Alta probabilidad de acceso Moderada o baja
de acceso
Actualización Actualización en la base Acceso y manipulación no se
de datos campo por campo actualiza directamente
Uso Altamente estructurado No estructurado proceso
procesos repetitivos analítico
70
BASE DE DATOS
71
BASE DE DATOS
HERRAMIENTAS
DE EXTRACCION t
DE
INFORMACION ANALISIS CONSULTAS Y
MULTIDIMENSIONAL REPORTES DATAMINING
COMPLEJOS
CONTROL DE CALIDAD
DICCIONARIO DE DATOS DE DATOS
DATAWARE HOUSE
BASE DE
DATOS
INTEGRACION
DE DATOS
Ejemplo:
Master Businnes
72
BASE DE DATOS
INFRAESTRUCTURA
La funcionalidad de dataware house se divide en 5 grades grupos, cada uno de
los cuales es responsable de un proceso específico:
Acceso a Fuentes
Carga de
Almacenamiento
Consultas
Metadatos
73
BASE DE DATOS
DISEÑO DE CONSTRUCCION
El Datawarehouse tiene un ciclo de vida similar a los sistemas de tipo
transacción oral. Las fases que comprende el ciclo de vida del Datawarehouse
son los siguientes.
1. Planeación
2. Requerimientos
3. Análisis
74
BASE DE DATOS
4. Diseño
5. Construcción
6. Despliegue o Pruebas
7. Expansión o Desarrollo
75
BASE DE DATOS
76
BASE DE DATOS
77
BASE DE DATOS
A pesar que el diseño del data warehouse es diferente al usado en los diseños
tradicionales, no es menos importante. El hecho que los usuarios finales tengan
dificultad en definir lo que ellos necesitan, no lo hace menos necesario. En la
práctica, los diseñadores de data warehouses tienen que usar muchos "trucos"
para ayudar a sus usuarios a "visualizar" sus requerimientos. Por ello, son
esenciales los prototipos de trabajo.
Esquema Estrella
78
BASE DE DATOS
Este es una extensión del esquema estrella en donde cada uno de los puntos
de la estrella se divide en más puntos. En esta forma de esquema, las tablas
de dimensión del esquema estrella contienen más normas.
79
BASE DE DATOS
Esquema Mixto
80
BASE DE DATOS
Ejemplo
PRESTAMOS DE CD’s
DISEÑO DEL DATA MART
CATEGORIA
Cod_categoria
descripcion
PRODUCTO
Fecha _ préstamo TIPOS
Cod_producto Cod_producto
Cod_cliente Cod_categoria Cod_tipo
Cod_tipo
Cantidad Descripción
Valor
CLIENTE
Cod_cliente
nombre
META DATOS
81
BASE DE DATOS
82
BASE DE DATOS
Los tipo de Objeto son plantillas que corresponden a abstracciones del mundo
real definidas a partir de los tipos de datos propios de Oracle y otros tipos de
datos de usuario, la estructura de datos que se ajusta a la plantilla se llama
objeto.
Tipo Colección
Los tipos colección pueden ser tipo arreglo/VARRAY o tipo tabla /TABLA
ANIDADA.
83
BASE DE DATOS
Un ejemplo Extendido
La segunda y tercera parte utilizan los tipos definidos por el usuario (UDTs)
para trasladar las entidades y relaciones directamente a un esquema de
objetos.
La Entidad Cliente tiene una relación uno a muchos con las Ordenes de
Compra, puesto que un cliente puede poner varias ordenes de Compra pero
una orden de compra corresponde solamente a un cliente.
84
BASE DE DATOS
El problema es que las entidades del mundo real son complejas, por lo que
requieren un conjunto complejo de atributos que representan su estructura de
datos. Una dirección contiene atributos tales como calle, ciudad, estado, y
código postal. Un cliente puede tener varios números telefónicos. La entidad de
línea de la lista de ítems es una entidad en su propio derecho pero además es
un atributo de la entidad orden de compra. Los tipos de datos propios de oracle
no pueden representar estos atributos en forma directa. La opción de objetos
hace posible manejar estas estructuras complejas.
Definición de Tipos
Una lista de Números de teléfono puede ser un arreglo o una tabla anidada, en
este caso la mejor opción es un arreglo, por las razones siguientes:
85
BASE DE DATOS
);
Cada objeto de este tipo tiene asociado un método de orden, unos de los dos
tipos de métodos de comparación. Siempre que ORACLE requiere comparar
dos Objetos del tipo CUSTOR_INFO_T, invoca el metodo CUST_ORDER para
hacerlo.
STOCKREF es una referencia al tipo objeto Stock_ info_ t que representa los
productos.
86
BASE DE DATOS
En este caso la tabla anidada es una mejor opción para representar la lista de
ítems de la orden que un arreglo VARRAY de objetos del tipo LINE_ITEM_T,
por las razones siguientes.
PURCHASE_ORDER_T
CREATE TYPE purchase_order_t AS OBJECT (
pono NUMBER,
custref REF customer_info_t,
orderdate DATE,
shipdate DATE,
line_item_list line_items_list_t,
shiptoaddr address_t,
MEMBER FUNCTION
Total_value RETURN NUMBER,
PRAGMA RESTRICT_REFERENCES (total_valu, WNPS)
);
87
BASE DE DATOS
Visto de esta manera cada tabla es un tipo implícito cuyos objetos (tuplas
especificas) tienen los mismos atributos (Columnas). La creación de tipos
explícitos de datos abstractos y de tablas objeto nos introducen en un nuevo
nivel de funcionalidad.
88
BASE DE DATOS
ANEXOS
Ejercicios de esquema de bases de datos
89
BASE DE DATOS
90
BASE DE DATOS
91
BASE DE DATOS
92
BASE DE DATOS
93
BASE DE DATOS
94
BASE DE DATOS
95
BASE DE DATOS
96
BASE DE DATOS
97