E2 Sesion02 Modelo Datos

Embed Size (px)

Citation preview

  • ELECTIVO IISESION 02: MODELO DE DATOS

  • Qu es una base de datos?

    Una base de datos es un programa residente en memoria, que seencarga de gestionar todo el tratamiento de entrada, salida,proteccin y elaboracin de la informacin que almacena.

  • Conceptos Bsicos El corazn de una base de datos es el motor, que es el programa quedebe estar ejecutndose en una mquina para gestionar los datos.

  • Funciones de las bases de datos a) Permitir la introduccin de datos.

    b) Salida de datos.

    c) Almacenamiento de datos.

    d) Proteccin de datos

    e) Elaboracin de datos.

  • Funciones de las bases de datos

  • Modelo de Datos Un modelo de datos es un lenguaje orientado a describir una Base deDatos.

    Permite describir los elementos que intervienen en una realidaddada y la forma en que se relacionan esos elementos entre s.

    Es una representacin de la realidad que contiene las caractersticasgenerales de algo que se va a realizar. En base de datos, estarepresentacin la elaboramos de forma grfica.

    Es una coleccin de herramientas conceptuales para describir losdatos, las relaciones que existen entre ellos, semntica asociada a losdatos y restricciones de consistencia.

  • Objetivos Formalizacin: definir formalmente las estructuras permitidas y lasrestricciones a fin de representar los datos de un SI.

    Diseo: el modelo resultante es un elemento bsico para eldesarrollo de la metodologa de diseo de la base de datos.

  • Sub Lenguajes Unmodelo de datos es un lenguaje que, tpicamente, tiene dossublenguajes:

    Un Lenguaje de Definicin de Datos o DDL (Data definition Language),orientado a describir de una forma abstracta las estructuras de datos y lasrestricciones de integridad.

  • Sub Lenguajes Un Lenguaje de Manipulacin de Datos o DML (Data ManipulationLanguage), orientado a describir las operaciones de manipulacin delos datos.

    A la parte del DML orientada a la recuperacin de datos, usualmentese le llama Lenguaje de Consulta o QL (Query Language).

  • Concepto de tabla

    Una tabla es una estructura lgica que sirve para almacenar los datosde un mismo tipo, esto es, en una misma estructura.

    Una tabla se compone de campos o columnas, que son conjuntos dedatos del mismo tipo

  • Concepto de tabla

  • Base de Datos Relacional Es un conjunto de una o ms tablas estructuradas en registros(lneas) y campos (columnas), que se vinculan entre s por un campoen comn.

  • Normalizacin Las bases de datos relacionales pasan por un proceso al que se leconoce como normalizacin de una base de datos, el cual esentendido como el proceso necesario para que una base de datos seautilizada de manera ptima.

  • Ventajas Garantiza herramientas para evitar la duplicidad de registros, a

    travs de campos claves o llaves.

    Garantiza la integridad referencial: As al eliminar un registroelimina todos los registros relacionados dependientes.

    Favorece la normalizacin por ser ms comprensible y aplicable.

  • Normalizacin Las formas normales buscan optimizar las estructuras de una basede datos eliminando la redundancia utilizando como medio principallas dependencias funcionales.

  • Ejemplo para aplicar FN Tenemos una empresa pblica donde los puestos de trabajo estnregulados por el Estado, de modo que las condiciones salariales estndeterminadas por el puesto. Se ha creado el siguiente esquemarelacional

    EMPLEADOS(nss, nombre, puesto, salario, emails) con nss como claveprimaria.

  • Ejemplo para aplicar FN

  • Normalizacin:1FN Una tabla est en 1FN si sus atributos contienen valores atmicos.

    En el ejemplo, podemos ver que el atributo emails puede contenerms de un valor, por lo que viola 1FN.

    En general, tenemos una relacin R con clave primaria K. Si unatributo M viola la condicin de 1FN, tenemos dos opciones.

  • Normalizacin:1FN Solucin 1, duplicar los valores repetidos:Siguiendo el ejemplo,tendramos el siguiente esquema para la nueva tabla EMPLEADOS'(a)con clave primaria (nss, email):

  • Normalizacin:1FN Solucin 2: separar el atributo que viola 1FN en una tabla: tendramos elsiguiente esquema para la nueva tabla EMPLEADOS'(b)

  • Normalizacin:1FN Y adems tendramos una nueva tabla EMAILS con clave primaria (nss,email):

  • Normalizacin: 2FN Un esquema est en 2FN si:

    Est en 1FN.

    Todos sus atributos que no son de la clave principal tienen dependenciafuncional completa respecto de todas las claves existentes en elesquema. En otras palabras, para determinar cada atributo no clave senecesita la clave primaria completa, no vale con una subclave.

  • Normalizacin: 2FN La 2FN se aplica a las relaciones que tienen claves primariascompuestas por dos o ms atributos.

    Si una relacin est en 1FN y su clave primaria es simple (tiene unsolo atributo), entonces tambin est en 2FN.

  • Normalizacin: 2FN Por tanto, de las soluciones anteriores, la tabla EMPLEADOS'(b) esten 1FN (y la tabla EMAILS no tiene atributos no clave), por lo que elesquema est en 2FN.

    Sin embargo, tenemos que examinar las dependencias funcionales delos atributos no clave de EMPLEADOS'(a).

  • Normalizacin: 2FN Las dependencias funcionales que tenemos son las siguientes:

    nss->nombre, salario, email puesto->salario

    Como la clave es (nss, email), las dependencias de nombre, salario yemail son incompletas, por lo que la relacin no est en 2FN.

  • Normalizacin: 3FN Una relacin est en tercera forma normal si, y slo si:

    est en 2FN

    y, adems, cada atributo que no est incluido en la clave primaria nodepende transitivamente de la clave primaria.

    Por lo tanto, a partir de un esquema en 2FN, tenemos que buscardependencias funcionales entre atributos que no estn en la clave

  • Normalizacin: 3FN En general, tenemos que buscar dependencias transitivas de la clave,es decir, secuencias de dependencias como la siguiente: K->A y A->B,donde A y B no pertenecen a la clave.

    La solucin a este tipo de dependencias est en separar en una tablaadicional N el/los atributos B, y poner como clave primaria de N elatributo que define la transitividad A.

  • Normalizacin: 3FN Siguiendo el ejemplo anterior, podemos detectar la siguientetransitividad:

    nss->puesto puesto->salario Por lo tanto la descomposicin sera la siguiente:

    En la nueva tabla PUESTOS, laclave sera el puesto, quetambin queda como claveajena referenciando la tablaEMPLEADOS. El resto de lastablas quedan como estaban.

  • Concepto de Relacin Se denomina relacin a todo aquellos vnculos que establecen unastablas con otras, debidos a la aplicacin de las formas normales.

  • Propiedades de las relaciones Cada relacin tiene un nombre y ste es distinto del nombre de todas

    las dems. En el modelo relacional este nombre es intrnseco, no seidentifica como otra entidad.

    Los valores de los atributos son atmicos: en cada tupla, cada atributotoma un solo valor. Se dice que las relaciones estn normalizadas.

    No hay dos atributos que se llamen igual.

  • Propiedades de las relaciones El orden de los atributos no importa: los atributos no estnordenados.

    Cada tupla es distinta de las dems: no hay tuplas duplicadas.

    El orden de las tuplas no importa: las tuplas no estn ordenadas.

  • Cardinalidad

  • Cardinalidad

  • Cardinalidad

  • Reglas de Integridad Ninguno de los atributos que componen la clave primaria puede sernulo.

    Si en una relacin hay alguna clave ajena, sus valores deben coincidircon valores de la clave primaria a la que hace referencia, o bien,deben ser completamente nulos.