INTRODUCCION A LAS BASES DE DATOS 1 BASES DE DATOS – INTRODUCCIÓN ¿ Qué es una base de datos ? • “Contenedor digital de información". Una base de datos es un sistema que permite almacenar información de manera organizada y darle diferentes propósitos y usos. Los datos quedan organizados de manera similar a los productos en un almacén o los libros en una biblioteca, de manera que facilita encontrar y utilizar la información que necesitamos en cada momento. • “Un sistema gestor de base de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos .Los usuarios pueden acceder a la información usando herramientas específicas de consulta y de generación de informes, o bien mediante aplicaciones al efecto.” 2 BASES DE DATOS – INTRODUCCIÓN ¿ Qué bases de datos existen? 3 BASES DE DATOS – INTRODUCCIÓN ¿ Qué es un dato y tipos ? • Un dato nos permite describir un objeto. Dicho objeto podemos llamarlo entidad, por ejemplo una casa en la que viven personas. La casa es la entidad y la cantidad de personas que viven en la casa son un dato, que en este caso es numérico. • Tipos de datos que se pueden tener en una base de datos: caracteres, numéricos, imágenes, fechas, monedas, texto, bit, decimales y varchar. • Las empresas y las personas necesitan de las bases de datos en su vida diaria. Las utilizamos más de lo que nos imaginamos, cada vez que usamos el teléfono, hacemos una compra o cuando hacemos una transacción bancaria. 4 BASES DE DATOS – INTRODUCCIÓN ¿ Qué tipos de bases de datos hay ? • Bases de datos relacionales: como MySQL, SQL Server y Oracle. Como su nombre lo indica utilizan el modelo relacional y siempre es mejor usarlas cuando los datos son consistentes y ya están planificados • Bases de datos no relacionales: como MongoDB y Redis, conocidas como NO-SQL (Not Only SQL). Estas son más flexibles en cuanto a consistencia de datos y se han convertido en una opción que intenta solucionar algunas limitaciones que tiene el modelo relacional. • Bases de datos no tan tradicionales: como las basadas en grafos o aquellas que tienen información cartográfica, que pueden servir, por ejemplo, si estás creando un e-commerce para encontrar relaciones entre los productos y las preferencias de los usuarios. Documentales. Orientadas a objetos. 5 BASES DE DATOS – INTRODUCCIÓN Normalización de Datos • Definición: La teoría de la normalización es en esencia una expresión formal de ideas sencillas con una aplicación muy práctica en el área del diseño de bases de datos, ya que conducen a una correcta elección del esquema de la base de datos. • Es la simplificación de los datos dentro de los campos de registro, este proceso ayuda a dejar datos en estado demasiado simple de una forma entendible precisa, predecible y manejable. • La normalización permite estructurar datos de forma precisa para representar las relaciones necesarias entre los campos de un registro, también permite la recuperación de datos sencillos que se pierden al realizar consultas y reportes. 6 BASES DE DATOS – INTRODUCCIÓN Normalización de Datos • Definición: La teoría de la normalización es en esencia una expresión formal de ideas sencillas con una aplicación muy práctica en el área del diseño de bases de datos, ya que conducen a una correcta elección del esquema de la base de datos. • Es la simplificación de los datos dentro de los campos de registro, este proceso ayuda a dejar datos en estado demasiado simple de una forma entendible precisa, predecible y manejable. • La normalización permite estructurar datos de forma precisa para representar las relaciones necesarias entre los campos de un registro, también permite la recuperación de datos sencillos que se pierden al realizar consultas y reportes. 7 BASES DE DATOS – INTRODUCCIÓN Para qué sirve la Normalización de Datos ? Las bases de datos relacionales se normalizan para: • Evitar la redundancia de los datos. • Evitar problemas de actualización de los datos en las tablas. • Proteger la integridad de los datos. 8 BASES DE DATOS – INTRODUCCIÓN Las 3 primeras formas de normalización básica PRIMERA FORMA NORMAL: • La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas. • Poner la base de datos en la Primera Forma Normal resuelve el problema de los encabezados de columna múltiples SEGUNDA FORMA NORMA: • Una relación está en segunda forma normal (2FN) si y sólo si está en 1FN y todos los atributos no clave dependen por completo de cualquier clave candidata TERCERA FORMA NORMA: • Una tabla está normalizada en esta forma si todas las columnas que no son llave son funcionalmente dependientes por c ompleto de la llave primaria y no hay dependencias transitivas. Una dependencia transitiva es aquella en la cual existen columnas que no son llave que dependen de otras columnas que tampoco son llave. 9 BASES DE DATOS – INTRODUCCIÓN Ejemplo de Normalización 10 BASES DE DATOS – INTRODUCCIÓN Primera forma normal: Ejemplo La tabla anterior no cumple el requisito de la Primera Forma Normal (1NF) de sólo tener campos atómicos, pues el nombre del lector es un campo que puede (y conviene) descomponerse en apellido paterno, apellido materno y nombres. Tal como se muestra en la siguiente tabla. 11 BASES DE DATOS – INTRODUCCIÓN Segunda forma normal: Ejemplo La Segunda Forma Normal (2NF) pide que no existan dependencias parciales o dicho de otra manera, todos los atributos no clave deben depender por completo de la clave primaria. Actualmente en nuestra tabla tenemos varias dependencias parciales si consideramos como atributo clave el código del libro. Por ejemplo, el título es completamente identificado por el código del libro, pero el nombre del lector en realidad no tiene dependencia de este código, por tanto estos datos deben ser trasladados a otra tabla. 12 BASES DE DATOS – INTRODUCCIÓN Segunda forma normal: Ejemplo 13 BASES DE DATOS – INTRODUCCIÓN Tercera forma normal: Ejemplo Para la Tercera Forma Normal (3NF) la relación debe estar en 2NF y además los atributos no clave deben ser mutuamente independientes y dependientes por completo de la clave primaria. También recordemos que dijimos que esto significa que las columnas en la tabla deben contener solamente información sobre la entidad definida por la clave primaria y, por tanto, las columnas en la tabla deben contener datos acerca de una sola cosa 14 BASES DE DATOS – INTRODUCCIÓN Tercera forma normal: Ejemplo 15 BASES DE DATOS – INTRODUCCIÓN Tercera forma normal: Ejemplo 16 BASES DE DATOS – INTRODUCCIÓN Relaciones Las relaciones (o interrelaciones como vimos al principio), son objetos que vinculan 2 o más entidades, con un caso especial en que una entidad se vincula consigo misma. 17 BASES DE DATOS – INTRODUCCIÓN Relaciones Relación Unaria Relación Binaria Relación Ternaria 18 BASES DE DATOS – INTRODUCCIÓN Cardinalidad 19 BASES DE DATOS – INTRODUCCIÓN Ejemplo MER 20 BASES DE DATOS – INTRODUCCIÓN Ejemplo Diagrama de Clases 21