18
Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114 ases de Datos on QL Server Por Elena López

1. introduccion a las Bases de datos

Embed Size (px)

Citation preview

Page 1: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

Bases de DatosConSQL Server

Por Elena López

Page 2: 1. introduccion a las Bases de datos

“El que aprende y aprende y no practica lo que sabe, es como el que ara y ara y no

siembra”Platón

Page 3: 1. introduccion a las Bases de datos

“Siempre habrá algo que no sabes”

Page 4: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

Bases de Datos¿Por qué?

¿Qué hacer con los datos?Múltiples fuentes de datosDiferencia entre Datos e InformaciónBig Data, Machine Learning, Non-SQL DB

Page 5: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 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.

Page 6: 1. introduccion a las Bases de datos

OBJETIVOS

Bases de Datos con MSSQL - Por Elena López - [email protected] - 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.

Page 7: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

CONCEPTOS BÁSICOSBase 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).

Page 8: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

Base de Datos de Interesados

TABLAFILAS

COLUMNAS

Page 9: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

CONCEPTOS BÁSICOSRelaciones:Vínculo entre dos o más entidades, para describir alguna interacción entre ellas.

• Relación Uno a UnoUn registro de la tabla “X” posee como máximo un registro asociado en la tabla “Y”.

• Relación Uno a VariosUn 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 VariosUn registro de la tabla “X” puede tener más de un registro asociado en la tabla “Y” y viceversa.

Page 10: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

TIPOS DE RELACIONES - EJEMPLO

Cliente PedidosRealiza

Se componeArtículos

Fuente: http://basededatoslondono.blogspot.com/2012/05/der-diagrama-entidad-relacion.html

*1

1:N

*

*

N:N

Ejemplo Excel

Page 11: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

CONCEPTOS BÁSICOSClave 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

Page 12: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

CONCEPTOS BÁSICOSIntegridad 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

Page 13: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 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

AtomicityConsistency

IsolationDurability

)

Page 14: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

MODELO RELACIONALModelo 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?

CLIENTESNombre Institución Dirección Correo 1 Correo 2Albert Pujols MLB Av. 27 de febrero 348 [email protected] NullJuan Luis Guerra 440 Null [email protected] [email protected] Horford NBA C/40 esq. C/13 [email protected] Null

Page 15: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

MODELO RELACIONALPrimera Forma Normal (1FN):• Eliminar todos los grupos repetitivos de las tablas.• Identificar cada grupo de datos con una clave primaria

CLIENTESNombre Institución Dirección Correo 1 Correo 2Albert Pujols MLB Av. 27 de febrero 348 [email protected] NullJuan Luis Guerra 440 Null [email protected] [email protected] Horford NBA C/40 esq. C/13 [email protected] Null

CLIENTESID Nombre Institución Dirección Correo

1 Albert Pujols MLB Av. 27 de febrero 348 [email protected] Juan Luis Guerra 440 Null [email protected] Al Horford NBA C/40 esq. C/13 [email protected] Juan Luis Guerra 440 Null [email protected]

Page 16: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

MODELO RELACIONALSegunda Forma Normal (2FN):• Crear tablas separadas para cada grupo de datos que aplica a varios registros.• Relacionar las tablas mediante una clave foránea.

CLIENTESID Nombre Institución

1 Albert Pujols MLB2 Juan Luis Guerra 4403 Al Horford NBA

CORREOSID ClienteID Correo

1 2 [email protected] 2 [email protected] 1 [email protected] 3 [email protected]

DIRECCIONESID ClienteID Dirección

1 3 C/40 esq. C/132 1 Av. 27 de febrero 348

CLIENTESID Nombre Institución Dirección Correo

1 Albert Pujols MLB Av. 27 de febrero 348 [email protected] Juan Luis Guerra 440 Null [email protected] Al Horford NBA C/40 esq. C/13 [email protected] Juan Luis Guerra 440 Null [email protected]

CLIENTESID Nombre Institución

1 Albert Pujols MLB2 Juan Luis Guerra 4403 Al Horford NBA

Page 17: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

MODELO RELACIONALTercera Forma Normal (3FN):• Eliminar todos los campos que no tengan dependencia directa de la llave primaria.

CORREOSID ClienteID Correo

1 2 [email protected] 2 [email protected] 1 [email protected] 3 [email protected]

DIRECCIONESID ClienteID Dirección

1 3 C/40 esq. C/132 1 Av. 27 de febrero 348

CLIENTESID Nombre Institución Dirección Correo

1 Albert Pujols MLB Av. 27 de febrero 348 [email protected] Juan Luis Guerra 440 Null [email protected] Al Horford NBA C/40 esq. C/13 [email protected] Juan Luis Guerra 440 Null [email protected]

INSTITUCIONESID INSTITUCIÓN

1 MLB2 4403 NBA

CLIENTESID Nombre InstituciónID

1 Albert Pujols 12 Juan Luis Guerra 23 Al Horford 3

Page 18: 1. introduccion a las Bases de datos

Bases de Datos con MSSQL - Por Elena López - [email protected] - 1.809.481.3114

PreguntasDudasSugerencias