Download clase-2-conceptos

Document related concepts

Denormalización (base de datos) wikipedia , lookup

Base de datos wikipedia , lookup

Sistema de gestión de bases de datos relacionales wikipedia , lookup

SQL 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
Conceptos
a Base de Datos
Paul Leger
http://pleger.cl
[email protected]
Repaso (1)
1. ¿Base de Datos?
2. ¿Dato?
Repaso (2)
Propiedades de una base de datos
Mundo Real
Se modela un
fenómeno
Mundo Modelado
Mundo Implementado
En la implementación,
se agregan datos
Repaso (3)
Agenda: Versión Avanzada/Pagada
RUT
Nombre
Telefonos
separado
por guion
Ciudad
Trabajo
Estudio 1
Estudio 2
Estudio 3
…
…
…
…
…
…
…
…
Solución valida si los
números no almacenan
información adicional
(ej. compañía del número)
Si los estudios no almacena
información adicional como
ciudad del lugar de estudio,
acreditada o no
Repaso (4)
Agenda Versión Avanzada
RUT
Nombre
Ciudad
Trabajo
Estudio 1
Estudio 2
Estudio 3
…
…
…
…
…
…
…
Se comunica en
campo en común
RUT
Télefono
…
…
Repaso (5):
Sistemas de Notas de una Institución
¿Complejo?
¿Qué significan estas
relaciones?
Repaso (5)
• Cuando la información almacenada crece, la coordinación de un o varios
archivos se vuelve compleja de mantener y entender
– Ejemplo. Agenda.txt, ciudad.txt, universidad.txt
• Cuando un programa maneja la administración de datos (borrar, insertar o
ordenar) se vuelve complejo
• El programa y los datos se vuelven fuertemente dependiente. Incluso, el
programa no se puede separar de los datos que administra
– Ejemplo 1, el grupo de programadores tiene acceso a administrar los datos
– Ejemplo 2, no se podría tener varios programas leyendo y modificando los
datos de estos archivos
Sistemas de Base de Datos (1)
Programa computacional llamado Sistemas de
Gestión Base de Dato (SGBD),
el cual se encarga de mantener nuestros datos
(= base de datos) y controlar su acceso
Inicialmente,
cualquier tipo de base
de datos
SGBD =
Motor de base de
datos
NOTA: SGBD => DBMS en Ingles
Sistemas de Base de Datos (2)
Un motor de base de datos es
un programa que administra
Base de datos
MOTOR DE BASE DE DATOS
Sistemas de Base de Datos (3)
Un SGBD es independiente a nuestro programa.
Nuestro programa solo se comunica con este programa
para insertar/modificar/borrar (ordenar) datos
Nuestros programas son independientes
a los datos
Con un SGBD, nosotros no tenemos que preocuparnos de:
- Cómo se guarda la información en el disco duro,
- Tamaño del archivo
- Los acceso de los archivos (confidenciales)
Sistemas de Base de Datos (4)
Aplicación
Motor de Base de Datos
Base de datos
Sistemas de Base de Datos (5)
SGBD permite comunicar una base
de datos con varios programas
computacional
Por ejemplo, cada página de
Facebook es un programa
computacional que accede a una
base de datos
Sistemas de Base de Datos (6)
página
Aplicación Web
(Navegador)
datos
Servidor de
Aplicación Web
Servidor de
Base de datos
Sistemas de Base de Datos (6)
Laboratorio
Notas de la
universidad
Su casa
Sistemas de Base de Datos (5)
Cada dato tiene asociado una meta-información.
Por ejemplo, si guardamos el sueldo de los trabajadores, la metainformación dice que un sueldo es un número entero mayor que 0 (∀
sueldo > 0)
Sistemas de Base de Datos (6)
• Un SGBD se encarga de optimizar la estructura de el
(o los) archivo(s) para acelerar las búsquedas, inserciones,
eliminaciones, ordenar
USTED YA NO NECESITA PENSAR (MUCHO) ACERCA DE CÓMO
ESTRUCTURAR ESTOS ARCHIVOS
• Muchas veces, un base de datos no puede estar en un solo computador.
Entonces se usan varias maquinas para mantener una base de datos.
Estas base de datos son conocidas como base de distribuidas.
Ejemplo: Google
Programador y Administrador de base de
datos
DBA
Programador
Usuario Final
Características
Deseables en SGBDs
• Control de redundancia de datos
• Restricción de acceso
• Interfaces de usuarios
Beneficios de usar Base de Datos
• Establecimiento de normas.
– ¿Cómo es “Coqbo”, “Cqbo” o “Coquimbo?
– ¿Qué salida deben tener los informes?
• Menor tiempo de creación de aplicación
– Los programadores no se preocupan (tanto) de cómo mantener y controlar el
acceso a los datos
• Flexibilidad
– Cambiar cómo los datos son guardados no requiere un gran cambio en el
software
• Disponibilidad de información actualizada
– Hay una sola fuentes de datos y no un conjunto de de archivos
creados/modificados por diferentes usuarios
Conocidos SGBDs
(motores de base de datos)
•
•
•
•
•
•
•
MySQL
En grupo de 6 personas busque información
Postgress
de un motor base de datos (7 minutos)
Oracle
Explicación del motor de base de datos (3 minutos)
SQL Server
Access
Apache CouchDB
SQLite
Conclusiones
Un SGBD y aplicación permite:
– Entregar una estructura a nuestros archivos
– Separar datos y programas
– Separar datos y meta-datos (significado de los datos)
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?
Tarea: ¿Cuándo no es conveniente usar
sistemas de base datos?
Leer capítulo 1 del libro