Presentación e introducción del curso. Abordamos los siguientes temas con la intención de familiarizar con estos temas a los que inician a hacer sus pininos en DB y refrescar los conceptos a los que tienen niveles más avanzados.
¿Qué hacer con los datos?
Diferencia entre datos e información
Objetivos
Conceptos básicos:
- Bases de datos
- DBMS
-Tablas
- Filas
- Columnas
- Relaciones y tipos de relaciones
- Claves primarias y foráneas
- Tipos de datos
- Integridad referencial
- Redundancia
- Restricciones de integridad
4. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
Bases de Datos
¿Por qué?
¿Qué hacer con los datos?
Múltiples fuentes de
datos
Diferencia entre Datos e
Información
Big Data, Machine
Learning, Non-SQL DB
5. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114Fuente http://www.vcloudnews.com/every-day-big-data-statistics-2-5-quintillion-bytes-of-data-created-daily/
Walmart maneja más de un millón de
transacciones de clientes cada hora, que
se almacenan en varias bases de datos
con un tamaño estimado superior a los 2.5
Petabytes.
AT&T tiene una BD de unos 312 Tb
incluyendo 1,900 millones de registros de
llamadas.
6. OBJETIVOS
Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
• Formar técnicos con sólidos conocimientos de diseño,
administración y explotación de Bases de Datos, utilizando
tecnología Microsoft.
• Brindar al mercado laboral dominicano la posibilidad de
contar con Analistas, Administradores y Programadores de
Bases de Datos calificados.
• Crear una red de contactos profesionales, con miras a
compartir conocimientos y vivencias, utilizando siempre el
respeto como base y el consumo de pizza como enlace.
7. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
CONCEPTOS BÁSICOS
Base de Datos:
Conjunto de datos relacionados entre sí.
DBMS (database management system):
En español, Sistema Manejador de Base de Datos, no es más que la integración del software con las bases de
datos, que permite a los usuarios interactuar con las mismas. Ejemplo: MSSQL, Oracle, MS-Access, MySQL,
etc.
En un modelo de BD relacional, la información es almacenada en Tablas (entidades), que no es más que un
contendedor de datos asociados a un grupo de entidad similar. Las tablas a su vez están formadas por Filas y
Columnas:
• Filas o Registros: Conjunto de información que describe a una entidad.
• Columnas o Campos: Representa un tipo único de información acerca de la entidad (atributo).
8. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
Base de Datos de Interesados
F
I
L
A
S
COLUMNAS
9. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
CONCEPTOS BÁSICOS
Relaciones:
Vínculo entre dos o más entidades, para describir alguna interacción entre ellas.
• Relación Uno a Uno
Un registro de la tabla “X” posee como máximo un registro asociado en la tabla “Y”.
• Relación Uno a Varios
Un registro de la tabla “X” puede tener más de un registro asociado en la tabla “Y”, mientras que la tabla
“Y” solo puede tener un máximo de un registro en la tabla “X”.
• Relación Varios a Varios
Un registro de la tabla “X” puede tener más de un registro asociado en la tabla “Y” y viceversa.
10. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
TIPOS DE RELACIONES - EJEMPLO
Cliente PedidosRealiza
Se
compone
Artículos
Fuente: http://basededatoslondono.blogspot.com/2012/05/der-diagrama-entidad-
relacion.html
*1
1:N
*
*
N:N
Ejemplo Excel
11. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
CONCEPTOS BÁSICOS
Clave Primaria(Primary Key – Pk):
Columna o conjunto de columnas que identifica de FORMA ÚNICA un registro.
Clave Foránea (Foreing Key):
Identifica una columna o grupo de columnas en una tabla que se refiere a una columna o grupo de columnas
en otra.
Tipo de Datos:
• Alfanuméricos
• Numéricos (enteros y flotantes)
• Fecha/Hora
• Booleanos (Si/No; 0/1)
Ejemplo Excel
12. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
CONCEPTOS BÁSICOS
Integridad referencial:
La clave externa de una tabla de referencia siempre debe aludir a una fila válida de la tabla a la que se haga
referencia. La integridad referencial garantiza que la relación entre dos tablas permanezca sincronizada
durante las operaciones de actualización y eliminación.
Redundancia:
Repetición innecesaria de información.
Restricciones de Integridad:
Reglas de negocios que permiten garantizar la integridad de los datos. Ejemplos:
• Fecha de venta >= FechaActual
• Género {Masculino, Femenino}
• Impuesto >= 0
• Correo electrónico _@_._
Ejemplo Excel
Ejemplo Excel
13. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
ACID (
En base de datos, se refiere al conjunto de características necesarias para que una transacción pueda ser
fiable.
Atomicidad: Si una operación consiste en una serie de pasos, todos ellos ocurren o ninguno, es decir, las
transacciones son completas
Consistencia: Integridad. Es la propiedad que asegura que sólo se empieza aquello que se puede acabar. Por
lo tanto se ejecutan aquellas operaciones que no van a romper las reglas y directrices de Integridad de la
base de datos. La propiedad de consistencia sostiene que cualquier transacción llevará a la base de datos
desde un estado válido a otro también válido.
Aislamiento: Es la propiedad que asegura que una operación no puede afectar a otras. Esto asegura que la
realización de dos transacciones sobre la misma información sean independientes y no generen ningún tipo
de error.
Durabilidad: Persistencia. Es la propiedad que asegura que una vez realizada la operación, ésta persistirá y no
se podrá deshacer aunque falle el sistema y que de esta forma los datos sobrevivan de alguna manera.
Fuente: https://es.wikipedia.org/wiki/ACID
Atomicity
Consisten
cy
Isolation
Durability)
14. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
MODELO RELACIONAL
Modelo de datos basado en la teoría de conjuntos. En este modelo todos los datos son almacenados en
relaciones, y como cada relación es un conjunto de datos, el orden en el que estos se almacenen no tiene
relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de
que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o
almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la
información.
Normalización:
Conjunto de reglas encaminadas a eliminar redundancia e inconsistencia de datos.
Ejemplo sin normalización:
De este diseño surgen varias interrogantes:
¿Qué haremos cuando necesitemos un tercer correo?
¿Qué haremos cuando necesitemos otra dirección?
CLIENTES
Nombre Institución Dirección Correo 1 Correo 2
Albert Pujols MLB Av. 27 de febrero 348 abc@mymail.com Null
Juan Luis Guerra 440 Null jlg@440.com jlg440@hotmail.com
Al Horford NBA C/40 esq. C/13 ahorford@gmail.com Null
15. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
MODELO RELACIONAL
Primera Forma Normal (1FN):
• Eliminar todos los grupos repetitivos de las tablas.
• Identificar cada grupo de datos con una clave primaria
CLIENTES
Nombre Institución Dirección Correo 1 Correo 2
Albert Pujols MLB Av. 27 de febrero 348 abc@mymail.com Null
Juan Luis Guerra 440 Null jlg@440.com jlg440@hotmail.com
Al Horford NBA C/40 esq. C/13 ahorford@gmail.com Null
CLIENTES
ID Nombre Institución Dirección Correo
1Albert Pujols MLB Av. 27 de febrero 348 abc@mymail.com
2Juan Luis Guerra 440 Null jlg@440.com
3Al Horford NBA C/40 esq. C/13 ahorford@gmail.com
2Juan Luis Guerra 440 Null jlg440@hotmail.com
16. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
MODELO RELACIONAL
Segunda Forma Normal (2FN):
• Crear tablas separadas para cada grupo de datos que aplica a varios registros.
• Relacionar las tablas mediante una clave foránea.
CLIENTES
ID Nombre Institución
1Albert Pujols MLB
2Juan Luis Guerra 440
3Al Horford NBA
CORREOS
ID ClienteID Correo
1 2jlg@440.com
2 2jlg440@hotmail.com
3 1abc@mymail.com
4 3ahorford@gmail.com
DIRECCIONES
ID ClienteID Dirección
1 3C/40 esq. C/13
2 1Av. 27 de febrero 348
CLIENTES
ID Nombre Institución Dirección Correo
1Albert Pujols MLB Av. 27 de febrero 348 abc@mymail.com
2Juan Luis Guerra 440 Null jlg@440.com
3Al Horford NBA C/40 esq. C/13 ahorford@gmail.com
2Juan Luis Guerra 440 Null jlg440@hotmail.com
CLIENTES
ID Nombre Institución
1Albert Pujols MLB
2Juan Luis Guerra 440
3Al Horford NBA
17. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
MODELO RELACIONAL
Tercera Forma Normal (3FN):
• Eliminar todos los campos que no tengan dependencia directa de la llave primaria.
CORREOS
ID ClienteID Correo
1 2jlg@440.com
2 2jlg440@hotmail.com
3 1abc@mymail.com
4 3ahorford@gmail.com
DIRECCIONES
ID ClienteID Dirección
1 3C/40 esq. C/13
2 1Av. 27 de febrero 348
CLIENTES
ID Nombre Institución Dirección Correo
1Albert Pujols MLB Av. 27 de febrero 348 abc@mymail.com
2Juan Luis Guerra 440 Null jlg@440.com
3Al Horford NBA C/40 esq. C/13 ahorford@gmail.com
2Juan Luis Guerra 440 Null jlg440@hotmail.com
INSTITUCIONES
ID INSTITUCIÓN
1MLB
2440
3NBA
CLIENTES
ID Nombre InstituciónID
1Albert Pujols 1
2Juan Luis Guerra 2
3Al Horford 3
18. Bases de Datos con MSSQL - Por Elena López - ingelenalopez@gmail.com - 1.809.481.3114
Preguntas
Dudas
Sugerencias