Introduccin (1/7)
Dato:
Representacin simblica de un atributo o variable
cuantitativa.
Describen hechos empricos, sucesos y entidades.
Aisladamente pueden no contener informacin relevante.
Cuando un conjunto de datos se examina conjuntamente se
puede apreciar la informacin contenida en dichos datos.
Introduccin (2/7)
Base de datos (BD/DB):
Conjunto coleccin de datos almacenados en un medio
informtico no voltil.
Interrelacionados y estructurados de acuerdo con un modelo
capaz de recoger al mximo el contenido semntico.
Introduccin (3/7)
Fichero:
Uso desmedido de memoria
Tiempos de proceso
Inconsistencia de los datos
Difcil de explotar los datos
Difcil de mantener
Concurrencia
Introduccin (4/7)
Introduccin (5/7)
Base de datos:
Ventajas:
Introduccin (6/7)
Base de datos:
Desventajas:
Instalacin costosa
Personal especializado
Implementacin larga y difcil
Falta de rentabilidad a corto plazo
Desfase entre teora y prctica
Introduccin (7/7)
Tarjeta
perforada
(1890)
10
Cinta de
papel
perforado
(1940)
Disco
magntico
(1950)
Modelo
jerrquico-DB
(1960)
Modelo de red-DB
(1960)
Modelo
relacional
(1970)
11
Arquitectura de un SGDB
Esquema Interno: Describe la estructura fsica de almacenamiento
Arquitectura de un SGDB
13
Estructura de un SGDB
Administrador
USUARIOS
Programador
es
Usuarios
ADMINISTRADOR DE CONSULTAS
ADMINISTRADOR DE TRANSACCIONES
ADMINISTRADOR DE ALMACENAMIENTO
ndices
Archivos de datos
15
Datos estadsticos
Diccionario de datos
Sistema
Gestor de la
Base de
Datos
Almacenamiento
en disco
Administrador de almacenamiento
16
Administrador de transacciones
Una transaccin es una operacin que accede y actualiza una
de paralelismo).
Garantizar que la base de datos no sea daada en forma
irreparable (tcnicas de recuperacin).
17
Administrador de consultas
Conjunto de herramientas que permite a los usuarios extraer,
18
19
20
21
su nombre.
Atributo: Es un objeto de datos al que se le asigna un valor.
Interrelacin: Es un objeto de datos que hace posible la
seleccin de una entidad por medio de una referencia a un
atributo de otra entidad
22
EMPLEADO
NUM_EMPLEAD
O
NOMBRE
ES-UN
VENDEDOR
23
CAMION
OBRERO
DEPARTAMENTO
objetivos:
Captar y almacenar el universo del problema mediante una
descripcin rigurosa.
Aislar la representacin de la informacin de las exigencias de
cada usuario.
Independizar la definicin de la informacin de los SGBD
24
Modelo lgico
Convierte los esquemas conceptuales en un esquema
posteriores.
25
Modelo fsico
Especifica cmo se guardan los datos.
El diseador debe conocer muy bien toda la
26
27
28
29
NOMBRE
30
ATRIBUTO 1
ATRIBUTO 2
ATRIBUTO 3
ATRIBUTO N
Tupla 1
Tupla 2
Tupla N
31
Dominios
Nombres
Pases
Sectores
Mxico
USA
Blgica
XXXX
25
Alimenticio
Agropecuario
Telecomunicaciones
.
EMPRESA
EMP_NOMBRE
EMP_PAIS
EMP_SECTOR
BIMBO
MEXICO
ALIMENTICIO
AT&T
USA
TELECOMUNICACIONES
GRUPO MODELO
BELGICA
ALIMENTICIO
Cardinalidad: 4
Grado: 3
32
Atributos
T
u
p
l
a
s
Instancia
Aplicacin de un esquema a un conjunto de datos (contenido
33
EMP_NOMBRE
EMP_PAIS
EMP_SECTOR
BIMBO
MEXICO
ALIMENTICIO
AT&T
USA
TELECOMUNICACIONES
GRUPO MODELO
BELGICA
ALIMENTICIO
34
conjunto de entidades.
Relacin: asociacin o relacin matemtica entre varias
Entidades.
Conjunto de relaciones: Consiste en una coleccin, o
conjunto, de relaciones de la misma naturaleza.
35
36
37
Simbologa
38
39
Dependencias funcionales
Un conjunto de atributos (A) depende funcionalmente de
40
Ejemplo
41
42
Ejemplo
43
44
Ejemplo
45
46
Ejemplo
47
Cerradura
Sea F un conjunto de dependencias funcionales. Se denomina
48
49
Normalizacin
El proceso de normalizacin de bases de datos consiste en
50
1 Forma Normal
EMPRESA
EMP_ID
EMP_NOMBRE
EMP_CALLE
EMP_URL
EMP_SECTOR
CONTACTO
CNT_ID
51
CNT_NOMBRE
CNT_APP
CNT_APM
CNT_CORREO
2 Forma Normal
EMPRESA
EMP_ID
EMP_NOMBRE
EMP_CALLE
EMP_SECTOR
CONTACTO
CNT_ID
CNT_EMP_ID
CNT_NOMBRE
CNT_APP
CORREO
CRR_ID
CRR_CNT_ID CRR_CORREO
URL
URL_ID
52
URL_EMP_ID
URL_DIRECCION
CNT_APM
3 Forma Normal
EMPRESA
EMP_ID
EMP_NOMBRE
EMP_CALLE
EMP_SEC_ID
SECTOR
SEC_ID
SEC_NOMBRE
CONTACTO
CNT_ID
CNT_EMP_ID
CNT_NOMBRE
CNT_APP
CORREO
CRR_ID
CRR_CNT_ID CRR_CORREO
URL
URL_ID
53
URL_EMP_ID
URL_DIRECCION
CNT_APM
4 Forma Normal
ALUMNO
ALM_ID ALM_NOMBRE
ALM_APP
ALM_APM
GRUPO
GPO_ID
GPO_ALM_ID GPO_PRO_ID
HORARIO
HOR_ID
HOR_POR_ID
HOR_GPO_ID
PROFESOR
PRO_ID
54
PRO_NOMBRE
PRO_APP
PRO_APM
EMP_NOMBRE
EMP_CALLE
EMP_SEC_ID
BIMBO
FEMSA
GRUPO MODELO
CONTACTO
55
CNT_ID
CNT_EMP_ID
CNT_NOMBRE
CNT_APP
CNT_APM
FULANITO
RAMIREZ
SANCHEZ
SULTANITO
PEREZ
ORTIZ
CHANGUITO
LOPEZ
SALAS
EMP_NOMBRE
EMP_CALLE
EMP_SEC_ID
BIMBO
FEMSA
GRUPO MODELO
SECTOR
56
SEC_ID
SEC_NOMBRE
ALIMENTICIO
TURISTICO
INDUSTRIAL
EMP_NOMBRE
EMP_CALLE
EMP_SEC_ID
BIMBO
FEMSA
GRUPO MODELO
URL
57
URL_ID
URL_EMP_ID
URL_DIRECCION
bimbo.com.mx
gpobimbo.com.mx
femsa.com
CNT_EMP_ID
CNT_NOMBRE
CNT_APP
CNT_APM
FULANITO
RAMIREZ
SANCHEZ
SULTANITO
PEREZ
ORTIZ
CHANGUITO
LOPEZ
SALAS
CORREO
58
CRR_ID
CRR_CNT_ID
CRR_CORREO
fulanito@hotmail.com
sultanito@hotmail.com
sultanito@gmail.com
59
61
62
los
mtodos de sus superclases y los utilizan como si fueran
suyos. Sin embargo, en algunas ocasiones no es posible
escribir un mtodo genrico que pueda ser usado por todas
las subclases.
63
64
SQL Server
ObjectDB (Java)
Zope Object Database (Python)
66
SQL
Structured Query Language
estndar.
Soportado, por diferentes productos.
El SQL publicado por ANSI e ISO.
68
Clasificacin
Lenguaje de definicin de datos (DDL)
Create, Alter, Drop.
Control de transacciones
Commit, Rollback, Savepoint
Restricciones de integridad
Referencial, datos.
69
Usuarios
Conectarse:
SQL> CONN SYSTEM
C:\Documents and Settings\Usuario>sqlplus system/contarsea
Usuarios por defecto (administradores): sys / system
Ver usuario:
SHOW USER
Cambiar contrasea:
PASSW SYSTEM
Desconectarse:
SQL>DISC;
Salir de SQL:
QUIT
70
Usuarios
Crear usuario:
CREATE USER NOMBRE_CUENTA
IDENTIFIED BY CONTRASEA
DEFAULT TABLESPACE NOMBRE_ESPACIO_DE_TABLA;
SQL>CREATE USER CARLOS
IDENTIFIED BY CONTRASENIA
DEFAULT TABLESPACE USERS;
71
Privilegios de usuario
Conectarse:
Borrar usuario:
DROP USER CARLOS CASCADE;
72
Roles
CREATE ROLE programador;
GRANT CREATE session, CREATE table, CREATE view,
CREATE procedure,CREATE synonym, ALTER table,
73
Tablespace
Unidad lgica de almacenamiento dentro de una base de
datos.
Crear tablespace:
CREATE TABLESPACE tbs_01
DATAFILE 'tbs_f2.dat'
SIZE 40M
ONLINE;
74
Tablespace USERS
75
Tablas (1/4)
Cada usuario es dueo de sus tablas
FOR USUARIO.TABLA;
76
Tablas (2/4)
CREATE TABLE T_NOMBRE(
COL1 TIPO PRIMARY KEY,
COL2 TIPO,
COL3 REFERENCES T_REFERENCIA,
);
77
Tablas (3/4)
CREATE TABLE T_NOMBRE (
COL1 TIPO,
COL2 TIPO
);
Restricciones (Constraints)
ALTER TABLE T_NOMBRE
ADD CONSTRAINT PK_NOMBRE
PRIMARY KEY (COL);
ALTER TABLE T_NOMBRE
78
Tablas (4/4)
SELECT *FROM ALL_TABLES;
DESCRIBET_NOMBRE;
DROP TABLE T_NOMBRE;
79
Tipos de datos
VARCHAR2(size [BYTE | CHAR])
NVARCHAR2(size)
NUMBER [ (p [, s]) ]
FLOAT [(p)]
LONG
DATE
BINARY_FLOAT
BINARY_DOUBLE
TIMESTAMP
80
ndices
CREATE TABLE T_PEDIDOS(
NUMPEDIDO NUMBER PRIMARY KEY,
FECPEDIDO DATE,
NUMCLIENT REFERENCES T_CLIENTES
CONSTRAINT PK_PEDIDOS (NUMPEDIDO) USING
81
DELETE
INSERT
LOCK TABLE
ROLLBACK
SAVEPOINT
SELECT
TRUNCATE
UNION
UPDATE
WHERE
82
Insert - Insercin
INSERT INTO T_NOMBRE
83
Update - Modificacin
UPDATE T_NOMBRE
84
Delete - Borrar
DELETE FROM T_NOMBRE
[WHERE CONDICIN]
85
Select - Consulta
SELECT */ COL1, COL2,....
FROM T_NOMBRE
[WHERE condicin]
[GROUP BY COL1, COL2.... ]
[HAVING condicin-seleccin-grupos ]
[ORDER BY COL1 [ASC], COL2 [DESC]... ]
86
Funciones
COUNT(*) o COUNT(DISTINCT columna)
SUM(columna)
AVG(columna)
MIN(columna)
MAX(columna)
87
Subselects
FROM [SELECT]
WHERE COL1 = [SELECT];
88
Where - Condicin
Select, Update, Delete
Operadores:
Aritmticos: =,<>,>,>=,<,<=
Booleanos: AND, OR, NOT
Especiales como: BETWEEN, IN, LIKE, IS NULL, EXISTS, ...
89
intervalo de valores.
de ellos.
90
determinada columna.
C_NOMBRE IS NULL
EXISTS: Devuelve TRUE si una subconsulta devuelve al menos una fila.
NOT: Todas las condiciones que se pueden utilizar, pueden negarse
91
Algebra relacional
El lgebra relacional se inspira en la teora de conjuntos para
92
Union
Es una operacin que, a partir de dos relaciones, obtiene una
93
94
Interseccin
Es una operacin que, a partir de dos relaciones, obtiene
95
96
97
98
Diferencia
Es una operacin que, a partir de dos relaciones, obtiene una
99
100
Producto cartesiano
Es una operacin que, a partir de dos relaciones, obtiene una
101
102
Seleccin
Operacin que sirve para elegir algunas tuplas de una
103
104
Proyeccin
Operacin que sirve para elegir algunos atributos de una
105
106
Combinacin
Operacin que, a partir de dos relaciones, obtiene una nueva
107
108
Procedimientos almacenados
Se almacena en la base de datos para ser ejecutados
109
posteriormente.
Tiene acceso directo a los datos.
Presenta una comunicacin ms simple con el usuario.
Libera de trabajo al servidor de aplicaciones.
La implementacin varia dependiendo el SGBD.
Pueden incluir validacin de datos integrados a la estructura de la
DB (triggers )
Permiten encapsular un proceso grande y complejo.
Los procesos son ms rpidos.
Representa un ventaja cuando la DB es manipulada por varios
sistemas
Procedimientos almacenados en
MySQL
110
Procedimientos almacenados en
Oracle
111
Procedimientos almacenados en
Oracle
112
Ejecutar un procedimiento
almacenado
113
114
Cursores
115
Activar PUT_LINE
116
Tarea
Qu son las funciones?
Qu son los disparadores?
disparadores?
117
Transacciones
Consistencia: si un dato es modificado y este se encuentra en
119
Ejemplo de transaccin
Transferencia de dinero entre dos cuentas bancarias.
120
121
(commit).
Fracaso: Si una operacin falla, los cambios realizados no se
reflejan en la BD, regresndola a su estado antes de la
transaccin (rollback).
122
123
LOG de la BD
Guarda todas las transacciones realizadas en la BD.
Control de privilegios
Un SGDB tiene diferentes tipos de autorizacin:
Explicita: que sujetos pueden acceder a ciertos objetos, utiliza
autorizacin.
Autorizacin negativa: es la denegacin explicita de una
autorizacin.
125
operaciones.
Tipos:
Acceso discrecional (DAC, Discretionary, Access Control):
los usuarios se encargan de establecer el control a travs de
privilegios.
Acceso obligatorio (MAC, Mandatory Access Control): son
ofrecidos por SGDB multinivel
126
SGDB Multinivel
Ofrece datos con diferentes niveles o clases de
clasificado.
No jerrquico.
Los datos tienen un nivel de seguridad por si mismos
BD.
Archivos de control: describen nombre, contenido y
localizacin de diversos archivos usados por el SGDB.
Dependiendo de la falla y del SGDB es el tipo de recuperacin.
128
Causa de fallas
Fsicas: fallas de hardware.
temperatura.
129
Tipos de respaldos
Fsicos: se copian los archivos que soportan la BD. Entre
130
Respaldo del SO
Ms sencillo.
Ms tardado.
Sin acceso al sistema.
Pasos:
Detener la BD y el SO.
Iniciar el SO en modo SU.
Realizar respaldo de todos los archivos del SO.
Arrancar SO normalmente y luego la BD.
131
Respaldo de la BD en fro
Implican parar la BD en modo normal y copiar todos los
132
Respaldo de la BD en caliente
Se realiza mientras la BD est abierta y funcionando en
133
Respaldos lgicos
Estas utilidades permiten al DBA hacer copias de
134
Recuperacin
Recuperacin de bloques: es el ms simple, se realiza automticamente. Se
que una instancia muere dejando abierto un thread, entonces se restauran los
bloques de datos modificados que estaban en el cache de la instancia muerta, y
cerrando el thread que estaba abierto. La recuperacin se efecta
automticamente cuando la BD se levanta.
utiliza para convertir los archivos de backup en actuales, o para restaurar los
cambios que fueron perdidos cuando un archivo de datos fue puesto offline sin
un checkpoint, aplicando los archivo redo log archivados y en lnea.
135
Tarea
Oracle.
136
Replicacin
Mecanismo utilizado para propagar y diseminar datos en
137
Protocolos
Protocolos de replicacin.
Protocolos de recuperacin
Tarea:
Investigar los tipos de replicas.
138
139
Consulta
Resultados
Visualizacin del documento completo
Informacin general
Ayudas.
bsquedas avanzadas.
Sencillez y Simplicidad
140
usuarios.
Consulta avanzada o combinada: integran ms de un campo de
la DB.
Consulta de los ndices: consulta por medio de los ndices de los
campos.
Consulta por tema: Los datos son presentados en una
organizacin temtica.
Identificacin de la pgina: incluir un titulo que indique cual es
la pgina en la que se encuentra el usuario.
141
142
Administracin de catlogos
La administracin de catlogos puede volverse complicada o
143
Posible solucin
Solo cuando los catlogos son pequeos.
144
Control de transacciones
Termina la
transaccin
Comienza la
transaccin Transaccin
activa
Abortar
145
Comprometida
parcialmente
Comprometida
Abortar
Fall
Fin
Abortada
Generadores de reportes
Representacin con formato de la informacin de la DB.
146
Generadores de reportes
Estructura:
Cabecera de pgina:
Encabezado del reporte: Contiene informacin que ir al principio del reporte.
Encabezado de pgina: Contiene informacin que aparecer en todas las pginas del
reporte, pueden ser las etiquetas de los campos.
Encabezado de grupo: Cuando el informe est dividido en grupos, aparecern los datos
del grupo.
Detalles: despliega los registros de una base de datos a partir de los criterios
Pie de grupo: Contiene la informacin que va al final del grupo, puede ser un valor
calculado.
Pie de pgina: Contiene la informacin que se requiere que aparezca en todas las
pginas, como lo es el nmero de pgina.
Pie de reporte: Contiene la informacin que va al final de todo el reporte, como puede
ser las sumas totales y nombres del responsable del reporte.
147
Generadores de reportes
iReports, JasperReports
iText
Oracle Reports
DBxtra
148
Bibliografa
J. C. Date. Introduccin A los sistemas de bases de datos Sptima
149
Referencias
Ayuda para Oracle, fuente: http://ora.u440.com/, fecha de
150