jueves, 23 de marzo de 2017

Modelo Entidad Realación


Para introducirnos en este tema, empezaremos definiendo que es un modelo.

Modelo: Es una representación de la realidad que contiene las características generales de algo que se va a realizar. En base de datos, esta representación la elaboramos de forma gráfica.

El Modelo Entidad Relación

Algunos autores manejan el concepto de Modelo Entidad Relación como una representación de la realidad a través de entidades, que son objetos  que existen y que se distinguen de otros por sus características, por ejemplo: un alumno se distingue de otro por sus características particulares como lo es el nombre, o el numero de control asignado al entrar a una institución educativa, así mismo, un empleado, una materia, etc.

 Las entidades pueden ser de dos tipos:

·    Tangibles: Son todos aquellos objetos físicos que podemos ver, tocar o sentir.
·    Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que existen, por ejemplo: la entidad materia, sabemos que existe, sin embargo, no la  podemos visualizar o tocar.

Las características de las entidades en base de datos se llaman atributos, por ejemplo el nombre, dirección teléfono, grado, grupo, etc. son atributos de la entidad alumno; Clave, número de seguro social, departamento, etc., son atributos de la entidad empleado. A su vez una entidad se puede asociar o relacionar con más entidades a través de relaciones.


Algunos tipos de atributos se tienen a continuación:

Atributos compuestos, son aquellos que se pueden dividir en mas atributos.


Figura 1. Atributos compuestos


Atributos derivados, significa que es un atributo derivado de otro, o que se puede calcular teniendo otro. Por ejemplo:

"Teniendo el atributo fecha de nacimiento, se puede calcular la edad."

Un atributo nulo, es cuando una entidad no tiene un valor para un atributo.



Los símbolos empleados para diseñar una base de datos a través del Modelo Entidad Relación son:




Figura 2. Símbolos Modelo E-R


Entonces, para recordar!!

Una entidad es una cosa u objeto en el mundo real que es distinguible de todos los demás objetos.

Conjunto de entidades, es un conjunto de entidades del mismo tipo que comparten las mismas propiedades o atributos.

Atributos, son las propiedades que posee cada miembro de un conjunto de entidades.

Dominio, conjunto de valores permitidos para un atributo, por ejemplo, para un atributo "sexo" los valores permitidos pueden ser: "masculino" o "femenino". 

Una relación es una asociación entre diferentes entidades.

Clave primaria. Es un atributo o un conjunto de atributos que identifican de manera única a una entidad.

Correspondencia de Cardinalidades


Expresa el numero de entidades a las que otra entidad puede estar asociada por medio de un conjunto de relaciones. Es muy útil entre dos entidades. Los tipos de relaciones que se aplican más son las siguientes:

Uno a uno

Una entidad en A se asocia con a lo sumo con una entidad en B, y una entidad en B se asocia con a lo sumo, una entidad en A. O 
Una entidad en B se puede asociar con a lo sumo una entidad en A


Figura 3. Relación Uno a uno


Uno a muchos o Muchos a uno

Una entidad en A se asocia con cualquier número de entidades en B.
Figura 4. Relación Uno a Muchos.



Especialización en un E-R


Se da cuando las entidades incluyen subgrupos que se diferencian de alguna forma de las otras entidades.

Por ejemplo, un subconjunto de entidades en un conjunto de entidades puede tener atributos que no son compartidos por todas las entidades del conjunto de entidades. Por ejemplo:

Figura 5. Ejemplo de Especialización




Una vez sintetizada la información veamos un caso de aplicación:

"Diseñar una base de datos para en una biblioteca donde emplea la siguiente información:

Los usuarios se identifican por medio de un código, nombre, apellidos, dirección, teléfono, edad. 

Los libros se identifican por medio de una clave, titulo, editorial, autor, año de publicación y numero de ejemplares. Asimismo se guarda información de los autores de los libros

Los usuarios pueden solicitar prestamos únicamente de los ejemplares los cuales tienen una clave, y una localización de un libro. de los prestamos se registran datos como, código de usuario, fecha de préstamo y entrega. "








¿¿¿Que mejoras tiene este diagrama???



Referencias:

Mannino, M. (2012). Administración de bases de datos, Diseño y desarrollo de aplicaciones. Mexico: McGraw-Hill.
Silberchatz, A., Korth, H., & Sudarshan, S. (2002). Fundamentos de bases de datos. España: McGraw-Hill.



Fundamentos de Bases de Datos


Introducción a las bases de datos

En la actualidad las bases de datos se usan tan ampliamente que se pueden encontrar desde  grandes corporaciones y agencias gubernamentales, hasta pequeños negocios e incluso hogares.
Las actividades diarias con frecuencia nos ponen en contacto con las bases de datos, ya sea directa e indirectamente. Algunos ejemplos son:
  • Bancos
  • Aeropuertos
  • Tiendas comerciales
  • Universidades
  • Restaurantes
  • Hospitales
  • Registro civil
  • Registros laborales
  • Registros de pagos de nomina
  • Fiscalías, etc.
Antes de iniciar con alguna explicación es necesario identificar algunos términos que permitirán comprender de mejor manera las bases de datos, iniciamos con:

Dato: Conjunto de caracteres con algún significado, pueden ser numéricos, alfabéticos, o alfanuméricos.

Información: Es un conjunto ordenado de datos los cuales son manejados según la necesidad del usuario, para que un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a información, primero se debe guardar lógicamente en archivos.

Campo: Es la unidad más pequeña a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa una característica de un individuo u objeto.

Registro: Colección de campos de iguales o de diferentes tipos.

Tabla: Colección de registros almacenados siguiendo una estructura homogénea.
Organizado en Columnas y Filas o Campos y Registros

Una vez que se estudiaron los conceptos básicos, ¿los podrías identificar en la siguiente figura?


Clave_socio
Nombre_socio
Apellido_socio
Teléfono_socio
Correo_socio
1
Laura
López
7221234567
laura@gmail.com
2
Martha
Sánchez
7221237898
mar485@gmail.com
3
Karen
González
7221234152
kar@gmail.com

La tabla sería el conjunto de filas y columnas, los campos serían los atributos de los socios, en este caso, clave_socio, nombre_socio, etc. Los registros serían las filas, un ejemplo sería el socio numero 1, laura lopez, 7221234567, laura@gmail.com. 

Un dato, se puede representar como numero, texto, fecha, moneda, etc. , en la tabla anterior sólo tendríamos datos de tipo numérico, y de tipo texto.

Entonces una base de datos se puede definir como:

Un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso.


Existen programas que permiten administrar las bases de datos, a estos programas se les conoce como Sistemas Manejadores de Bases de Datos (SMBD) y tienen características muy particulares que los Administradores de Bases de Datos (ABD) consideran para el manejo de sus bases de datos.

Existen muchos SMBD, algunos que se pueden emplear para trabajar en microcoputadoras son:
  • Microsoft Access
  • Foxpro
  • Paradox
  • DBase

También se tienen SMBD profesionales que emplean los expertos en bases de datos, los más populares son:
  • Oracle
  • SqlServer
  • MySql
  • Informix
  • Sybase
  • Db2, ect.
Algunas personas usan hojas de cálculo por su fácil manejo para cálculos y presentación de de datos rápida, sin embargo, una hoja de cálculo no ofrece las garantías que ofrece un SMBD en cuanto a seguridad, consistencia, y redundancia de datos.

A continuación analizaremos los objetivos que debe cumplir una BD, los cuales consisten en disminuir los siguientes aspectos:
  1. Redundancia e Inconsistencia de datos.
  2. Dificultad para tener acceso simultaneo a los datos.
  3. Problemas de seguridad
  4. Problemas de integridad

Etapas en el diseño de bases de datos

A continuación se describen una serie de pasos que se pueden seguir para diseñar bases de datos.
  1. Análisis del entorno. Aquí se realiza un análisis de la información, formatos, etc. que fluye en un determinado sistema. 
  2. Desarrollo de un modelo de datos conceptual. En esta etapa se realiza el modelo de bases de datos, los más utilizados son el Modelo Entidad Relación, Modelo Relacional y Modelo Jerárquico. 
  3. Elección de un DBMS. En esta etapa se debe elegir el software en el que se guardaran todos los datos.
  4. Desarrollo del modelo físico y lógico. Consiste en desarrollar la BD en el DBMS que se eligió.
  5. Evaluación del modelo físico. En esta etapa se debe verificar que el modelo satisface las necesidades que se detectaron, en caso contrario se deben realizar los ajustes que sen necesarios.
  6. Implementación del modelo físico. Aquí se pone en marcha la base de datos.

Referencia

Mannino M.V. (2012). Administración de Bases de Datos, diseño y desarrollo de aplicaciones. 3ra. ed. Mc. Graw Hill.México