Download clase-3-arquitectura

Document related concepts

Modelo de base de datos wikipedia , lookup

SQL wikipedia , lookup

Base de datos wikipedia , lookup

Modelo relacional wikipedia , lookup

Lenguaje de definición de datos wikipedia , lookup

Transcript
E
S
C
U
E
L
A
D
E
C
I
E
N
C
I
A
S
E
M
P
R
E
S
R
I
A
L
E
S
Arquitectura de una
Base de Datos
Paul Leger
http://pleger.cl
Realidad y su Modelado
Modelo abstrae solo los
conceptos importante
del fenómeno
Realidad
Modelo
Implementación del modelo
Modelos de Base de datos
Conceptual: El cual refleja el mundo que deseamos
modelar (ej. agenda telefónica)
Físicos: Especifica los detalles técnicos de una base de
datos. ¿Dónde y cómo se han guardado los datos? Por
ejemplo: los nombres son tipos string, sueldos enteros
Elementos del modelo conceptual
de una base de datos
Tabla 1
Tabla 2
mes
•
•
•
•
Entidad: ejemplo “tabla 1”
Registro (Fila): ejemplo “venta de un mes de la tabla 1”
Atributo (Columna): ejemplo “importe”
Relaciones: ejemplo “mes” entre “tabla 1” y “tabla 2”
Esquema de una base de datos
Usemos re-ingeniería
inversa para pasar del
modelo conceptual
a la realidad
¿Cuál es la realidad?
• Los esquemas definen la estructura de una base de datos: tablas, relaciones y atributos
•
No definen los registros de la base de datos (es decir, datos)
•
Podríamos decir que un Esquema contiene la meta información de una base de datos
Lenguajes de un SGBD
¿Cómo nos comunicamos con una BD?
– Con un lenguaje (Los computadores usan muchos lenguajes como el español
para comunicarse)
SQL es el lenguaje más utilizado para comunicarse
con un programa a una base de datos
NOTA: Algunas base de datos permiten insertar pequeños programas
(procedimiento almacenados) dentro de ellas. Estos programas son ejecutados
cuando ciertos eventos en la base de dato suceden. Leer
¡¡Intentaremos ver
esto en el curso!!
Interfaces de Usuarios
Algunos SGBD ofrecen interfaces gráficas para acceder/modificar
los datos (ej. página de Web de Facebook, Google, Google Mail)
Sin embargo, para los desarrolladores la mayoría de los accesos
son a través a de línea comando
Software y Base de Datos
Aplicación
Servidor (distribuido) de
base de datos
Modelos de Base de Datos
• Dentro del modelo conceptual, nosotros
podemos tener diferente formas de ver este
modelo conceptual
– Orientado a Objeto
– Difusa
– Entidad-Relación (el más usado)
Orientación a Objetos
Mostrar
Pantalla
Reporte
Mostrar
Crear
Crear Reporte
Administrador Archivos
(clientes)
Leer
Abrir
Cerrar
Abrir y Leer
Cliente
Dar
Nombre
Modificar
Nombre
Un Ejemplo (extremadamente) simplificado de lo que es
orientación a objetos
En base datos orientación a objetos, cada registro (fila) es un objeto que puede
acciones como modificarse & borrar
Orientación a objetos en Base de Datos
Variables primitivas
nombre = “Juan”
Objetos
persona = “Juan”, correr(), respirar()
Ejemplo
persona = {“Juan”, “Perez”}
Base de Datos Relacionales
(lo que estudiaremos en este curso)
entrada = {“archivo.txt”, readLine(), readInt()}
Base de Datos Orientadas a Objetos
(lo que NO estudiaremos en este curso)
Difusa (1)
• Una base de datos (relacional) guarda hechos
medibles/comprobables
• En la vida, no siempre se puede medir de
manera absoluta. Por ejemplo:
– Joven vs adulto vs viejo
– Buen informe, regular, mal informe
¿El rut de una
persona es
difusa?
Difusa (2)
No todo es blanco (1) o negro (0)
pertenencia
años
¿Una persona joven inmediatamente se vuelve maduro
después de una edad?
E
S
C
U
E
L
A
D
E
C
I
E
N
C
I
A
S
E
M
P
R
E
S
R
I
A
L
E
S
Entidad-Relación
En el curso, nosotros usaremos el
modelo entidad-relación
E
S
C
U
E
L
A
D
E
C
I
E
N
C
I
A
S
E
M
P
R
E
S
R
I
A
L
E
S
¿Preguntas?
Leer capitulo 2 del libro