1Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Universidad de Buenos AiresFacultad de Ciencias Económicas
Tecnología de la Información
Profesor Adjunto
Dr. Anibal Mazza Fraquelli
Bases de Datos
File: 2-50000
2Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Una definición...
➢ "Colección de datos interrelacionados almacenados en conjunto sin redundacias perjudiciales o innecesarias; su finalidad es servir a una aplicación o más, de la mejor manera posible; los datos se almacenan de modo que resulten independientes de los programas que los usan; se emplean métodos bien determinados para incluir nuevos datos y para modificar o extraer los datos almacenados". (Martin, 1975).
3Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Una definición...
➢ "Colección o depósito de datos, donde los datos están lógicamente relacionados entre sí, tienen una definición y descripción comunes y están estructurados de una forma particular. Una base de datos es también un modelo del mundo real y, como tal, debe poder servir para toda una gama de usos y aplicaciones". (Conference des Statisticiens Européens, 1977).
4Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Una definición...
➢"Conjunto de datos de la empresa
memorizado en un ordenador, que es
utilizado por numerosas personas y
cuya organización está regida por un
modelo de datos". (Flory, 1982).
5Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Una definición...
➢"Conjunto estructurado de datos
registrados sobre soportes
accesibles por ordenador para
satisfacer simultáneamente a varios
usuarios de forma selectiva y en
tiempo oportuno". (Delobel, 1982).
6Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Una definición...
➢"Colección no redundante de datos
que son compartidos por diferentes
sistemas de aplicación". (Howe,
1983).
7Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Una definición...
➢"Colección integrada y generalizada
de datos, estructurada atendiendo a
las relaciones naturales de modo
que suministre todos los caminos de
acceso necesarios a cada unidad de
datos con objeto de poder atender
todas las necesidades de los
diferentes usuarios". (Deen, 1985).
8Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Una definición...
➢"Conjunto de ficheros maestros,
organizados y administrados de una
manera flexible de modo que los
ficheros puedan ser facilmente
adaptados a nuevas tareas
imprevisibles". (Frank, 1988).
9Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Una definición...
➢"Colección de datos
interrelacionados". (Elsmari y
Navathe, 1989).
10Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Una definición...➢ "Colección o depósito de datos integrados,
almacenados en soporte secundario (no volatil) y con redundancia controlada. Los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de ellos, y su definición (estructura de la base de datos) única y almacenada junto con los datos, se ha de apoyar en un modelo de datos, el cual ha de permitir captar las interrelaciones y restricciones existentes en el mundo real. Los procedimientos de actualización y recuperación, comunes y bien determinados, facilitarán la seguridad del conjunto de los datos". Microsoft
11Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Una definición...
Librería electrónica de una Organización
donde se almacena y manipulan los datos de
una manera conveniente
12Dr. Anibal Mazza Fraquelli – www.fraquelli.net
De nuevo...
Organización de Archivos
➢BIT: Binary Digit (0,1;S, N ; On, Off)
➢BYTE: Combinación de BITS que
representan un CARACTER.
➢CAMPO: Colección de BYTES que
representan un dato.
➢REGISTRO: Colección de CAMPOS que
reflejan una transacción
13Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Organización de Archivos
➢ARCHIVO: Una Colección de registros
similares.
➢Base de Datos: Librería “electrónica” de
archivos.
14Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Organización de Archivos
➢Entidad: Persona, Lugar, Cosa, Evento del
que se deben mantener datos .
➢Atributo: Descripción particular de una
entidad
➢Campo Clave: Campo Usado para
recuperar, actualizar y ordenar registros.
15Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Campo Clave – Key Field
➢El campo esta en cada registro
➢Identifica UNIVOCAMENTE al
registro para: Recuperar, Actualizar y
Ordenar los datos
16Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Organización de Archivos
Secuencial Vs. Directa
Secuencial
➢Cintas
➢Un archivo sigue a otros
➢Sigue una secuencia física.
➢Se lee todo el archivo
17Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Organización de Archivos
Secuencial Vs. Directa
Directa:
➢Discos
➢Accesible sin tener en cuenta su lugar físico.
➢Se lee lo que se necesita siguiendo el campo
clave
18Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Métodos de Almacenamiento de Archivos
➢INDEXED SEQUENTIAL ACCESS
METHOD (ISAM) :
➢Cada registro identificado por clave
➢Agrupado en bloques y cilindros
➢Clave en índices
19Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Métodos de Almacenamiento de Archivos
➢VIRTUAL STORAGE ACCESS
METHOD (VSAM) :
➢Memoria dividida en áreas e intervalos
➢Espacio de Archivo dinámico
➢VSAM usado en BD Relacionales
20Dr. Anibal Mazza Fraquelli – www.fraquelli.net
DIRECT FILE ACCESS METHOD
Método de Acceso de Archivos Directo
➢Cada registro tiene un campo clave
➢Cada clave participa de una Algoritmo
➢El algoritmo diseña la localización física del
registro (direccion del registro)
21Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢Redundancia de Datos
➢Programa / Dependencia de Datos
➢Falta de Flexibilidad
➢Pobre Seguridad.
➢Falta de disponibilidad y compartir los
datos.
Problemas del Ambiente Tradicional
Flat File - Archivo Plano
22Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Sistema de Manejo de
Bases de Datos (DBMS)➢Software para crear y mantener datos
➢Permite aplicaciones de negocios y la
extracción de datos.
➢Independiente de programas específicos
23Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Componentes del DBMS
➢DATA DEFINITION LANGUAGE - DDL:
➢Define los elementos de la Base de Datos
➢DATA MANIPULATION LANGUAGE - DML:
➢Manejo de los datos por las aplicaciones
➢DICCIONARIO DE DATOS:
➢Definición formal de las variables en la Base de Datos;
Control de contenido, tipos de campos, valores default,
etc.
24Dr. Anibal Mazza Fraquelli – www.fraquelli.net
STRUCTURED QUERY LANGUAGE (SQL)
➢Estándar = ANSI/92
➢Lenguaje de manipulación de datos de las
bases de datos relacionales
➢Usado en las principales BD de mercado
➢Es patron de referencia para los demas
comandos que cada proveedor de BD
desarrolla
25Dr. Anibal Mazza Fraquelli – www.fraquelli.net
ELEMENTOS SQL
➢SELECT: Lista columnas de las tablas que se desea
➢FROM: Tablas de las cuales leer datos
➢WHERE: Condiciones de seleccion y union de multiples tablas.
➢ORDER BY: Como se quiere ordenar los datos
➢Lo veremos más en detalle…
26Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Dos visiones de los datos
FISICA: Donde están los datos
físicamente?
➢Unidad, Disco, Superficie, Pista,
Sector (Bloque), Registro
➢Cinta, Bloque, # Registro (Clave)
27Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Dos visiones de los datos
LOGICA: Que datos se necesitan para la
aplicación?
➢Éxito: Hechos que se necesitan para
la aplicación.
➢Nombre, Tipo, y longitud del
campos
28Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Otros Sistemas
➢LEGACY: Viejos sistemas “legados”
➢OBJECT - ORIENTED DBMS (BD
orientada a Objetos): almacena datos y
objetos de procedimientos.
➢OBJECT - RELATIONAL DBMS (BD
relacionales por objetos): hibridos
29Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Ventajas de DBMS
➢Reducir Complejidad
➢Reducir redundancia de datos e
inconsistencia.
➢Control central de la creación de datos y
definiciones.
➢Reducir la dependencia de los datos de los
programas.
30Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Ventajas de DBMS
➢Reduce Costos de Desarrollo /
Mantenimiento
➢Mejora la Flexibilidad de un Sistema
➢Incrementa el acceso y disponibilidad de la
Información
31Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Ambientes BD
Reportes
Reportes
DBMS
Programa A
Programa X
Usuarios
Query
Actualizacion
Database
.
.
.
32Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Base de Datos Distribuida
Telecomunicacion
En red
Sitio 1 Sitio 3
Sitio 2A traves de la red
Se puede acceder
A toda la base de
datos
Fragmento 3
Fragmento 1
Fragmento 2
.
.
.
.
.
.
33Dr. Anibal Mazza Fraquelli – www.fraquelli.net
BD Jerarquicas
CLASE
275-33 1 1 LMJ 21-23
PROFESOR
Numero
Profesor
Nombre
Profesor
4011 Fraquelli 102579 Perez
802311 Gomez
601171 Fernandez
Registro Nombre
Numero CursoSecction
Aula Dias Horario
Alumno
Alumno
Alumno
34Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Puntero
➢Un campo en un registro da la dirección del
próximo registro
PunteroRegistro 1
PunteroRegistro 2
PunteroRegistro 3
35Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Tipos de Relaciones
Uno a Uno Alumno Legajo
Uno a MuchosClase
AlumnoA
AlumnoB
AlumnoC
36Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Tipos de Relaciones
Muchos a Muchos
AlumnoA
AlumnoB
AlumnoC
Clase1
Clase2
37Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Modelo de Datos en Red
➢Variación del Modelo Jerárquico
➢Útil en relaciones muchos a muchos
RedesA
RedesB
RedesC
Redes1
Redes2
38Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Modelo de Datos Relacional
➢Datos en forma de tabla
➢Relación: Tabla
➢Tupla: Fila (Registro) en la tabla
➢Campo: Columna (Atributo) en la tabla
Horas Tasa Total
Fraquelli 40.50$ 10.35$ 419.18$
Mateo 38.00$ 10.55$ 400.90$
Milo 42.70$ 10.35$ 441.95$
Saldutti 35.90$ 10.20$ 366.18$
39Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Comparativo tipos de bases de datos
Concepto Jerarquicas Redes Relacionales
Eficiencia Alta Media Media
Flexibilidad Baja Media Alta
Amigabilidad Baja Baja Alta
Complejidad
programa
que las manipula Alta Alta Baja
40Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Bases de Datos: Administración
DBA
➢Define y organiza las estructuras y contenido de las Bases de Datos
➢Desarrolla procedimientos de seguridad
➢Desarrolla la documentación de la Base de Datos
➢Mantiene DBMS
Es la persona clave en un entorno de
bases de datos, donde éstas tienen un uso determinante para el negocio
41Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Data Base Administrator (DBA)
➢Configurar Soft – Hard
➢Sacar ventaja de HW
➢Motores SQL
➢Solucionar problemas
42Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Funciones DBA
➢Ayudar al diseño
➢Almacenamiento
➢Back Up
➢Recovery
➢Atender pedidos Sui Generis de usuarios finales
➢ Seguridad
➢ Supervisar Desempeño
43Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Data Base Operator
➢95% similar a un DBA
➢No tiene el “maximo” poder en la base
➢No es un “ayudante” tampoco...
➢Opera con las bases pero el que define los
objetos (por lo general) es el DBA
44Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢Access: Escritorio - Datamarts
➢SQL Server - Microsoft Servidores
➢Oracle - Todo Terreno
➢Foxpro - Evolución de Xbase
➢Sybase - Grandes Aplicaciones
➢Informix - Grandes Aplicaciones
➢DB2 - IBM
Bases de Datos - Los nombres de la
Industria
45Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Creación de las Bases de Datos
➢Diseño Conceptual
➢Diseño Físico
46Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Creación de Bases de Datos
Diseño Conceptual
➢Abstracción del Modelo de Negocios, en
Perspectiva
➢Como se agruparan los datos?
➢Relaciones entre los elementos
➢Establecer las necesidades del usuario final
➢Perspectiva de ECONOMICAS
47Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Creación de Bases de Datos
Diseño Físico
➢Modelo detallado de la Base de Datos hecho
por ESPECIALISTAS
➢Diagramas de Entidad Relación
➢Normalización
➢Hardware / Software Especifico
48Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Diagrama de Entidad Relación
1
1
M
1
Orden
Puede
Tener
Partes
Proveedor
Puede
Tener
Orden #, Fecha, Partes #, Cantidad
Partes #, Descripción, Precio Unitario,
Proveedor #
Proveedor #, Nombre, Dirección
49Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Bases de Datos: Tendencias
➢Proceso Distribuido
➢Múltiples Sistemas Geográficos y Funcionales conectados por Redes
➢Bases de Datos Distribuidas
➢Datos Físicamente almacenados en mas de una lugar.
➢Particionado
➢Duplicado
50Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Bases de Datos Distribuidas
➢Particionadas:
➢CPUs Remotas (conectadas a un HOST) tienen
archivos únicos de ese sitio. Ej.: Registros de
compradores locales
➢Duplicadas:
➢Cada CPU remota tiene copia de archivos
comunes. Ej.: Informes y Reportes
51Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Bases de Datos: Tendencias
➢Orientadas a Objeto:
➢Datos y Procedimientos almacenados juntos, pueden
recuperarse y compartirse.
➢Hypermedia:
➢Nodos Contienen Texto, Gráficos, Sonido, Video,
Programas. Datos organizados como nodos.
➢Multidimensional:
➢3D y agrupamiento complejo de los datos
52Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Bases de Datos: Tendencias
➢DATA WAREHOUSE:
➢Librería electrónica de una Organización que
consolida datos actuales e históricos para
Management, Reporting & Análisis
➢DATA MART:
➢Pequeño data warehouse para funciones
especiales: Marketing, Información de
compradores, etc.
53Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢Datos de un área de negocio.
➢Es el modelo de implementación que recoge en una
base de datos, orientada al mundo de la decisión,
información de una materia concreta, de un área de
negocio, para los usuarios de un departamento.
Data Mart
54Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢Almacén de datos.
➢Es el modelo de implementación que recoge en una
base de datos, orientada al mundo de la decisión,
información concerniente a todo el ámbito de la
empresa, para todos los usuarios de la misma.
También se utiliza para referirse a Business
Intelligence.
Data Ware House
55Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢ Mecanismo de navegación que permite desplazarse en
una estructura (visión) multidimensional desde lo
global hacia el detalle (drill down) o viceversa (drill
up).
➢ Herramientas de data mining: (Minería de datos): Son
herramientas que posibilitan, a los usuarios, analizar
grandes cantidades de información con el propósito de
descubrir indicadores de conocimiento (tendencias,
segmentación, relaciones causales, etc.).
Drill Down / Drill Up
56Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢Son herramientas para la creación de entornos
de acceso a la información que permiten la
toma de decisiones basadas en información
preprocesada, estructurada con alto nivel de
resumen y bajo de detalle, presentada en un
entorno gráfico del usuario muy intuitivo.
Herramientas EIS/DSS:
57Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢ (On-Line Analytical Processing).- Facilitan a
los analistas de negocios ejecutivos la
navegación mediante la rotación de tablas,
gráficos, mapas, técnicas de drill-down/up, a
través de las múltiples dimensiones de los
datos del entorno de Business Intelligence.
Herramientas OLAP:
58Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢Son herramientas que facilitan la creación de
consultas complejas sin necesidad de que el
usuario conozca la estructura de base de datos
ni su codificación.
Herramientas de query RELACIONAL:
59Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢Son herramientas que permiten a los usuarios o
departamentos de sistemas la creación y
mantenimiento de informes impresos, en un
entorno ágil, amigable y orientado al negocio.
Herramientas de REPORTING:
60Dr. Anibal Mazza Fraquelli – www.fraquelli.net
COMPONENTES DE DATA WAREHOUSE
Directorio de
Informacion
Fuentes de
datos
internas
Fuentes de
datos
externas
OPERACIONAL,
Datos HistoricosDATA WAREHOUSE
Extraer y
transformar
Datos
Acceso y
Analisis
QUERIES &
REPORTES
OLAP
DATA MINING
61Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Base de Datos: Tendencias
➢ON-LINE ANALYTICAL PROCESSING
(OLAP): capacidad para manipular, y
analizar gran volumen de datos con
múltiples perspectivas.
➢Publicar Bases de Datos en Web
62Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Elementos de Bases de Datos Ambiente
Base de Datos
Management
Sistemas
Administración de
Datos
Base de Datos
Tecnología &
Management
Usuarios
Planeamiento de
Datos & Modelo
Metodológico
63Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢Tupla = registro
➢Dominio = campo
➢Grado = Cantidad de Campos
➢Cardinalidad = Cantidad Registros
➢Dividir Relaciones = Separar las tablas
Bases de datos – Definiciones y Jerga
64Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Flujo de Datos
Proceso
Entidad Externa
Almacenamiento
Simbolos DFD
65Dr. Anibal Mazza Fraquelli – www.fraquelli.net
DFD
GenerarFactura
Cliente
SacarSaldos
GenerarReporte
Gerente
PagosClientes
66Dr. Anibal Mazza Fraquelli – www.fraquelli.net
➢DFD para todo el sistema y para cada
proceso en particular
INPUTProceso
OUTPUT
Diagramas de Contexto
67Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Analisis Estructurado
➢Diccionario Datos: Controla la definicion y
descripcion de los datos, variables y tipos de
datos.
➢Especificaciones de Proceso: Describe logica de
los procesos por modulos
68Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Diseño Estructurado
Reglas y tecnicas de diseño del sistema en forma
jerarquica.
➢Diagrama de Estructura
➢ Programacion Estructurada
➢Modulos
➢ Secuencia de Construccion
➢ Secuencia de Selección
➢Diagrama de Ensamble
69Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Calcular
Sueldo Bruto
Calcular
Sueldo Neto
Calcular
Sueldos
Procesar
Sueldos
Actualizar
Libro Ley
Validar
Ingresos
Hacer
Informes
Ingresos Validacion Generar
Recibos
Diagrama de Estructura
70Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Programacion Estructurada
➢Disciplina para organizar y codificar los
programas
➢Simplifica los controles
➢Facil de entender y modificar
➢El modulo tiene una sola entrada y una sola
salida
71Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Programación Estructurada
➢MODULO:
➢Unidad logica de programa que hace una tarea especifica.
➢ Secuencia de Construccion:
➢Pasos o acciones en la logica del programa que indica su funcionamiento mas fluido
➢Construccion de Seleccion:
➢ IF Condicion R is verdadero THEN Accion C ELSE Accion D
➢Construccion de Iteracion:
➢WHILE Condicion es True DO Accion E
72Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Simbolos de los diagramas de Flujo
PROCESO
ProcesoPre-Definido
Decision
OperaciónManual
INPUT/OUTPUT
DOCUMENTO
Mezclar
Disco
Cinta
Enlace deComunicaciones
73Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Flujo de Datos del Sistema
1
1
2
2
Inicio
Fin
Leer
Hacer
Reporte
Sigue?
>$10,000
<$10,000
Proceso A
Proceso B
74Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Proceso A
Proceso B
Proceso CProceso D
R
TRUEProceso E
Si
TRUE
Secuencia
Seleccion Iteración
Flujo de Datos del Sistema
75Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Diseño de Bases de Datos
➢Analisis y revision sistemas actuales
➢Diseño Logico
➢Diseño Fisico
➢Tune-Up (puesta a punto)
➢Prueba y depuracion
➢Capacitacion, evaluacion y documentacion
76Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Modificaciones usuales en BD
➢Nuevos requerimientos legales
➢Aumentar la velocidad
➢Nuevos requerimientos de usuarios (por
analisis deficiente)
➢Nuevos requerimientos por modificaciones
de negocios
77Dr. Anibal Mazza Fraquelli – www.fraquelli.net
Recuperacion de una BD
➢Caidas de Sistemas
➢Fallas en equipos
➢Errores en los programas
El negocio no debe caerse!