-->

Menú principal

lunes, 21 de noviembre de 2016

TIC 2º BCH Tema 2.- Bases de datos (2ª parte)

ÍNDICE II

3.- Modelos de datos
     3.1. Características.
     3.2.- Tipos de modelo de datos
          3.2.1.-Modelo de Datos Conceptual.
          3.2.2.-Modelo de Datos Lógico
          3.2.3.-Modelo de Datos Físico
    3.3. Modelo relacional
     3.4. Modelo Entidad-Relación
          3.4.1 Definición
          3.4.2 Conjuntos de entidades y atributos

3. Modelos de datos.

     Un modelo de datos es un lenguaje orientado a hablar de una Base de Datos. Típicamente un modelo de datos permite describir:
• Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan.
• Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar correctamente la realidad deseada.
• Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base.

     Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre sí. No hay que perder de vista que una Base de Datos siempre está orientada a resolver un problema determinado, por lo que los dos enfoques propuestos son necesarios en cualquier desarrollo de software.




 Resumiendo, un modelo de datos es un mecanismo formal para representar y gestionar información, que contiene una descripción de los datos, realiza una serie de operaciones con ellos y contempla un conjunto de restricciones o reglas de integridad de los datos.

3.1. Características.

Lenguaje de Definición de Datos (DDL): es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.

Lenguaje de Manipulación de Datos (DML): es un lenguaje proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL, CODASYL u otras.

Lenguaje de Control de Datos (DCL): es un lenguaje proporcionado por el Sistema de Gestión de Base de Datos que incluye una serie de comandos SQL que permiten al administrador controlar el acceso a los datos contenidos en la Base de Datos.

3.2.- Tipos de modelo de datos

     De acuerdo con el Instituto Nacional Estadounidense de Estándares (ANSI) un modelo de datos se puede interpretar como un esquema:
* conceptual, que especifica las expresiones permitidas por el modelo mismo, comunica las reglas y definiciones esenciales de los datos a los usuarios. Es muy general y abstracto, visión general del negocio/institución.
* lógico, que describe la semántica de tablas y columnas, clases orientadas a objetos, etcétera, representada por una tecnología de manipulación en particular (como ser el lenguaje SQL). Es la versión completa que incluye todos los detalles acerca de los datos.
* físico, que detalla los medios en los que se almacena la información, como ser particiones de disco. Es el esquema que se implementara en un SGBD.

3.2.1.-Modelo de Datos Conceptual.

     Los modelos de datos conceptuales son aquellos que describen las estructuras de datos y restricciones de integridad. Se utilizan durante la etapa de análisis de un problema dado y están orientados a representar los elementos que intervienen y sus relaciones.

Existen distintos tipos de modelos conceptuales:
⎕ Basados en registros
  • Jerárquico: datos en registros, relacionados con apuntadores y organizados como colecciones de árboles
  • Redes: datos en registros relacionados por apuntadores y organizados en gráficas arbitrarias
  • Relacional: datos en tablas relacionados por el contenido de ciertas columnas
⎕ Basados en objetos
  • Orientado a objetos: datos como instancias de objetos (incluyendo sus métodos)
  • Entidad-relación: datos organizados en conjuntos interrelacionados de objetos (entidades) con atributos asociados.

3.2.2.-Modelo de Datos Lógico

     Los modelos de datos lógicos se centran en las operaciones y se implementan en algún manejador de base de datos (SGBD/DBMS).

3.2.3.-Modelo de Datos Físico

Por último, podemos mencionar a los modelos de datos físicos, que son estructuras de datos a bajo nivel implementadas dentro del propio DBMS.


3.3. Modelo relacional

Introducido por Codd en 1970. Su base es el concepto matemático de relación Modelo sencillo y bastante extendido. Existen otros modelos más expresivos (p.e. Orientado a Objetos).
Sin embargo, no se encuentran tan extendidos. Un modelo prometedor es el objeto-relacional (Incorpora características de ambos modelos).
La estructura de este modelo consiste en definir una base de datos como una colección de relaciones.

Descripción de datos
Entidades y relaciones se representan en forma de tablas:
Las tablas reciben el nombre de relación.
Las filas (tuplas) contienen datos sobre cada entidad.
Las columnas corresponden a los atributos de las entidades.
Operaciones
Unión, intersección, diferencia, producto cartesiano, selección, proyección, reunión.
Restricciones de integridad
Integridad de entidad e integridad referencial (mediante el uso de claves).


3.4. Modelo Entidad-Relación

3.4.1 Definición

El modelo entidad-relación ER es un modelo de datos que permite representar cualquier abstracción, percepción y conocimiento en un sistema de información formado por un conjunto de objetos denominados entidades y relaciones, incorporando una representación visual conocida como diagrama entidad-relación.
Generalmente todo modelo tiene una representación gráfica, para el caso de datos el modelo más popular es el modelo entidad-relación o digrama E/R. Se denomina así debido a que precisamente permite representar relaciones entre entidades (objetivo del modelado de datos).
El modelo debe estar compuesto por:
  • Entidades
  • Atributos
  • Relaciones
  • Claves
  • Integridad referencial
  • Cardinalidad
3.4.2.- CONCEPTOS BÁSICOS DEL MODELO Entidad-Relación

Entidad. La entidad es cualquier clase de objeto o conjunto de elementos presentes o no, en un contexto determinado, es decir, todo lo que existe y es capaz de ser descrito (sustantivo). Por ejemplo un vehículo, un electrodoméstico, un motor, una casa, una herramienta, etc.

Atributos. Son las características, rasgos y propiedades de una entidad, que toman como valor una instancia particular. Es decir, los atributos de una tabla son en realidad sus campos descriptivos. Por ejemplo una entidad vehículo puede tener como atributos marca, modelo, nro de plazas, color, etc.

Relación. Vínculo que permite definir una dependencia entre los conjuntos de dos o más entidades. Esto es la relación entre la información contenida en los registros de varias tablas. Por ejemplo, una instancia de la entidad libro pertenece a una instancia de la entidad Editorial, que tiene sus propios atributos.

Clave. Es el campo o atributo de una entidad o tabla que tiene como objetivo distinguir cada registro del conjunto, sirviendo sus valores como datos vinculantes de una relación entre registros de varias tablas.
  • Superclave. Es la combinación de campos clave que identifican unívocamente un registro en una tabla o entidad. 
  • Clave principal primaria. Permiten identificar unívocamente cada registro de una tabla. Por ejemplo campo auto-numérico interno ID.
  • Clave candidata. Campos que cumplen las condiciones de identificación única de registros, pero que no fueron definidos como principales por el diseñador. Por ejemplo el DNI es un campo que define unívocamente un registro de una persona en una tabla o entidad concreta. No obstante a efectos de gestión interna del sistema el campo principal ID que contiene un valor numérico correlativo, permite un tratamiento más sencillo que el DNI.

  • Clave externa o foránea. Campo clave conformado por el valor de una clave principal primaria de otra tabla. Por ejemplo el campo id_tipodeusuario en la tabla usuarios es un campo clave externo que guarda el valor del campo primario ID de la tabla tipodeusuario.
Integridad referencial. Se denomina integridad referencial al tipo de interrelación que se produce entre tablas mediante un campo clave que deberá contener la cadena alfanumérica exacta al identificador de la tabla auxiliar para poder realizar la relación entre los registros. En caso contrario no se produce la relación. Además, se trata de un mecanismo que evita duplicidades e incorrecciones ya que la propiedad de integridad referencial conmina a que los datos de un usuario además de su identificador ID sean distintos al de los demás. Dicho de otra forma, no pueden existir dos registros iguales con los mismos datos.

Tipos de relaciones
  • Según cardinalidad. La cardinalidad se representan en un diagrama ER como una etiqueta que se ubica en ambos extremos de la línea de relación de las entidades y que puede contener diversos valores entre los que destacan comúnmente el 1 y el *, obteniendo los siguientes tipos:
    • Relación 1 a 1. La relación uno a uno, define que un único registro de la tabla puede estar relacionado con un único registro de la tabla relacionada. Por ejemplo: un profesor solo puede ser jefe de un departamento y un departamento solo puede tener un jefe. Relación entre entidades o tablas Profesores y Departamentos.
    • Relación 1 a n. La relación de uno a varios, define que un registro dado de una tabla auxiliar o secundaria sólo puede estar vinculado con un único registro de la tabla principal con la que está relacionada. Por ejemplo, un alumno/a solo está matriculado en un centro educativo pero un centro tiene muchos alumnos.
    • Relación n a n. La relación de varios a varios, define que un registro de una tabla puede estar relacionado con varios registros de la tabla relacionada y viceversa. Un profesor puede dar clases en varios centros y cada centro puede tener varios profesores.

3.5.- DIAGRAMA ENTIDAD-RELACIÓN

 Un diagrama ER, es un sistema de información o lenguaje gráfico para describir conceptos y sus relaciones, que sigue una metodología gráfica basada en reglas, símbolos y métodos de diseño de base de datos. El objetivo es obtener un modelo abstracto que represente la información obtenida del mundo real de manera gráfica.


Otro ejemplo de diagrama ER:


3.5.1.- Reglas de Diagramación


Planteada la idea general, podemos sugerir unas pautas para construir los diagramas:
  • Las ENTIDADES van en una caja (rectangular) sin bordes.
  • Los nombres de las entidades se escriben en singular y en mayúsculas.
  • Cada nombre debe ser único.
  • Se puede poner un alias a una entidad que tenga más de un nombre entre paréntesis.
  • Los nombres de los atributos van en letra minúscula.

3.5.2.- Pasos para el desarrollo del Modelo de Datos


1) Identificar las principales entidades: Comenzar identificando los objetos de interés (a partir de los requisitos) y analizar cada uno para ver si son de interés o no para el sistema.

  • Considerar algún ejemplo de ocurrencia para comprobar que tiene sentido
  • pensar en el concepto que representa, una misma representación puede significar diferentes conceptos para analistas diferentes.


2) Determinar las relaciones entre entidades: Recordar que las relaciones son los hechos de interés para el sistema, ya que proporcionan la conexión entre las ocurrencias de dos o más entidades.

  • Existentes o de Posesión (por ejemplo un empleado tiene hijos)
  • Funcionales (El profesor explica a los alumnos)
  • Sucesos (El cliente realiza pedidos)

Reglas:

  • Identificar las relaciones y darles un nombre.
  • Asignar cardinalidad o conectividad


3) Definir identificadores: (claves primarias y foráneas)

  • Establecer estándares de nomenclatura, abreviaturas, etc.

4) Añadir Atributos al Modelo de Datos: Un atributo es un hecho o una unidad de información sobre una entidad que no se puede descomponer.

EJERCICIO 1
A partir del siguiente enunciado diseñar el modelo entidad-relación.
“Se desea diseñar la base de datos de un Instituto. En la base de datos se desea guardar
los datos de los profesores del Instituto (DNI, nombre, dirección y teléfono). Los
profesores imparten módulos, y cada módulo tiene un código y un nombre. Cada alumno
está matriculado en uno o varios módulos. De cada alumno se desea guardar el nº de
expediente, nombre, apellidos y fecha de nacimiento. Los profesores pueden impartir
varios módulos, pero un módulo sólo puede ser impartido por un profesor. Cada curso
tiene un grupo de alumnos, uno de los cuales es el delegado del grupo”.
EJERCICIO 2
Hacer un modelo Entidad-Relación para la siguiente situación: – tenemos una universidad, en la que hay varios cursos. Cada curso está dirigido por un profesor, el cual puede dirigir varios cursos. Los cursos son subvencionados, por lo que sólo se permite que un alumno se matricule de un curso.



No hay comentarios:

Publicar un comentario