Sunteți pe pagina 1din 11

Bases de Datos y el Modelo Entidad-Relacin

Todo buen curso necesita empezar con algunos conceptos bsicos para el mejor entendimiento del mismo, por lo tanto empezaremos con las definiciones que involucran a las bases de datos. Dato: Conjunto de caracteres con algn significado, pueden ser numricos, alfabticos, o alfanumricos. Informacin: Es un conjunto ordenado de datos los cuales son manejados segn la necesidad del usuario, para que un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a informacin, primero se debe guardar lgicamente en archivos. Conceptos bsicos de archivos computacionales. Campo: Es la unidad ms pequea a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa una caracterstica de un individuo u objeto. Registro: Coleccin de campos de iguales o de diferentes tipos. Archivo: Coleccin de registros almacenados siguiendo una estructura homognea. Base de datos: Es una coleccin de archivos interrelacionados, son creados con un DBMS. El contenido de una base de datos engloba a la informacin concerniente(almacenadas en archivos) de una organizacin, de tal manera que los datos estn disponibles para los usuarios, una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla. Los tres componentes principales de un sistema de base de datos son el hardware, el software DBMS y los datos a manejar, as como el personal encargado del manejo del sistema. Sistema Manejador de Base de Datos. (DBMS) Un DBMS es una coleccin de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de una tarea especfica. El objetivo primordial de un sistema manejador base de datos es proporcionar un contorno que sea a la vez conveniente y eficiente para ser utilizado al extraer, almacenar y manipular informacin de la base de datos. Todas las peticiones de acceso a la base, se manejan centralizadamente por medio del DBMS, por lo que este paquete funciona como interfase entre los usuarios y la base de datos. Objetivos de la Base de Datos Los sistemas de base de datos se disean para manejar grandes cantidades de informacin, la manipulacin de los datos involucra tanto la definicin de estructuras para el almacenamiento de la informacin como la provisin de mecanismos para la manipulacin de la informacin, adems un sistema de base de datos debe de tener implementados mecanismos de seguridad que garanticen la integridad de la informacin, a pesar de cadas del sistema o intentos de accesos no autorizados. Un objetivo principal de un sistema de base de datos es proporcionar a los usuarios finales una visin abstracta de los datos, esto se logra escondiendo ciertos detalles de como se almacenan y mantienen los datos.

Objetivos de los sistemas de bases de datos Los objetivos principales de un sistema de base de datos es disminuir los siguientes aspectos: Redundancia e inconsistencia de datos. Puesto que los archivos que mantienen almacenada la informacin son creados por diferentes tipos de programas de aplicacin existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de informacin, es decir que la misma informacin sea ms de una vez en un dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y acceso a los datos, adems de que puede originar la inconsistencia de los datos - es decir diversas copias de un mismo dato no concuerdan entre si -, por ejemplo: que se actualiza la direccin de un cliente en un archivo y que en otros archivos permanezca la anterior. Dificultad para tener acceso a los datos. Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos. Supngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos los clientes que viven dentro del cdigo postal 78733 de la ciudad. El gerente pide al departamento de procesamiento de datos que genere la lista correspondiente. Puesto que esta situacin no fue prevista en el diseo del sistema, no existe ninguna aplicacin de consulta que permita este tipo de solicitud, esto ocasiona una deficiencia del sistema. Aislamiento de los datos. Puesto que los datos estn repartidos en varios archivos, y estos no pueden tener diferentes formatos, es difcil escribir nuevos programas de aplicacin para obtener los datos apropiados. Anomalas del acceso concurrente. Para mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta ms rpido, muchos sistemas permiten que mltiples usuarios actualicen los datos simultneamente. En un entorno as la interaccin de actualizaciones concurrentes puede dar por resultado datos inconsistentes. Para prevenir esta posibilidad debe mantenerse alguna forma de supervisin en el sistema. Problemas de seguridad. La informacin de toda empresa es importante, aunque unos datos lo son ms que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna informacin, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificacin y proteccin de los datos. En un banco por ejemplo, el personal de nminas slo necesita ver la parte de la base de datos que tiene informacin acerca de los distintos empleados del banco y no a otro tipo de informacin. Problemas de integridad. Los valores de datos almacenados en la base de datos deben satisfacer cierto tipo de restricciones de consistencia. Estas restricciones se hacen cumplir en el sistema aadiendo cdigos apropiados en los diversos programas de aplicacin. Modelos de datos. Para introducirnos en este tema, empezaremos definiendo que es un modelo.

modelo: Es una representacin de la realidad que contiene las caractersticas generales de algo que se va a realizar. En base de datos, esta representacin la elaboramos de forma grfica. Qu es modelo de datos? Es una coleccin de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semntica asociada a los datos y restricciones de consistencia. Los modelos de datos se dividen en tres grupos: Modelos lgicos basados en objetos. Modelos lgicos basados en registros. Modelos fsicos de datos.

Modelos lgicos basados en objetos. Se usan para describir datos en los niveles conceptual y de visin, es decir, con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuracin bastante flexible y permiten especificar restricciones de datos explcitamente. Existen diferentes modelos de este tipo, pero el ms utilizado por su sencillez y eficiencia es el modelo EntidadRelacin. * Modelo Entidad-Relacin. Denominado por sus siglas como: E-R; Este modelo representa a la realidad a travs de entidades, que son objetos que existen y que se distinguen de otros por sus caractersticas, por ejemplo: un alumno se distingue de otro por sus caractersticas particulares como lo es el nombre, o el numero de control asignado al entrar a una institucin educativa, as mismo, un empleado, una materia, etc. Las entidades pueden ser de dos tipos: Tangibles : Son todos aquellos objetos fsicos 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 caractersticas de las entidades en base de datos se llaman atributos, por ejemplo el nombre, direccin telfono, grado, grupo, etc. son atributos de la entidad alumno; Clave, nmero de seguro social, departamento, etc., son atributos de la entidad empleado. A su vez una entidad se puede asociar o relacionar con ms entidades a travs de relaciones. Entidades. Una entidad es un objeto que tiene significado o importancia, cuya informacin necesito conocer. Otras definiciones: Un objeto de inters al negocio Una entidad es una clase o categora de algo Una entidad es el nombre de una cosa Por ejemplo, para identificar las entidades en el contexto de una administracin de personal en una empresa, las entidades podran ser: Empleado Departamento Proyecto

Atributos Los atributos describen las entidades y son las piezas especficas de informacin que necesitamos conocer. Por ejemplo, posibles atributos para la entidad empleado seran: Nombre Fecha nacimiento Sueldo Rut Para la entidad Departamento, seran: Nombre Depto Localizacin Abreviacin Una entidad deber tener atributos que necesiten ser conocidos desde el punto de vista de los requerimientos, o no es una entidad dentro del alcance de los requerimientos planteados. Instancias. Cada entidad debe tener mltiples ocurrencias o instancias. Por ejemplo, la entidad Empleado, tiene una ocurrencia (o instancia) por cada empleado en la empresa. Cada instancia de la entidad, tiene valores especficos para los atributos de la entidad.

o m b r e d e E n t id a d

la

M
N F N S o e a u

P
m c h c i e l

O
J u a n 2 7 / 1M 0 3 0 0 3. 0 0 8 0 B r a i / g 7 u3 e J o 0 / 00 4 0 2 . 09 3 5 v o l P l a z a U l l o a / r 6g 9e 0/ 0 0 6 / 7 4 0 . 0 0 0

b r e a m i e n t o d o

t r ib u t o s E n t id a d

d e

la in s t a n c i a s d e la E n t id a d

Observaciones: Las instancias a menudo son confundidas con las entidades. Una entidad es una clase o categora de algo, por ejemplo EMPLEADO Una instancia es una "cosa" especfica, por ejemplo, el empleado Juan Bravo. Llave primaria Cada instancia debe ser nicamente identificable de otra instancia de la misma entidad. Un atributo o conjunto de atributos que identifican nicamente una entidad es llamado Llave Primaria.Una entidad, cuyas instancias no pueden ser identificables de manera nica, se conoce como entidad dbil. Una llave primaria, puede estar compuesta de uno o ms atributos, en este ltimo caso se llama llave compuesta. Relaciones Una relacin es una asociacin bi-direccional entre dos entidades, o entre una entidad consigo mismo. Ejemplo, la relacin entre la entidad INSTRUCTOR y CURSO es:

Cada CURSO puede ser impartido por slo un INSTRUCTOR. Cada INSTRUCTOR puede ser asignado a uno a ms cursos. Grado de opcionalidad: Opcional: Puede ser. Obligatorio: Debe ser Grado de cardinalidad: uno o ms uno y solo uno Ejemplos, 1) Empleado-Departamento - cada EMPLEADO debe ser asignado a uno y slo un DEPARTAMENTO - cada DEPARTAMENTO puede ser responsabilidad de uno o ms EMPLEADOs - cada EMPLEADO puede ser asignado a una o ms ACTIVIDADES - cada ACTIVIDAD debe ser desarrollada por uno o ms EMPLEADOs

L E

N
D

M
e s a r r o lla

I V

I D

N
A s i g n a d o

2) Cursos en Universidad - Se dictan cursos semestrales (llaves primarias: semestre, ao) - Los curso los dicta slo un profesor (llave primaria: NombreP ) - Los profesores pueden dictar mas de un curso (distinto) por semestre - Los profesores potencialmente pueden dictar varios cursos.
S e m e s t r e A o

b r e P S e m - a o

r o f e s o

S O f r e c e

e m

s t r e

N N
P u e d e _ I m p a r t ir S

M
e _ o f r e c e _ d u r a n t e

M
C u r s o

o d

u r s o

Pero para entender mejor esto, veamos un ejemplo: Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de este problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el artculo (que es el producto en venta), y las caractersticas que los identifican son: Empleado: Nombre Puesto Salario R.F.C. Artculo: Descripcin Costo Clave

La relacin entre ambas entidades la podemos establecer como Venta.

Bueno, ahora nos falta describir como se representa un modelo E-R grficamente, la representacin es muy sencilla, se emplean smbolos, los cuales son: Smbolo Representa

ENTIDAD

RELACION

ATRIBUTOS LIGAS

As nuestro ejemplo anterior quedara representado de la siguiente forma:

Ejercicios Realizar un diagrama Entidad-Relacin para las siguientes situaciones. 1) Compaa de capacitacin

"Soy el administrador de una compaa de capacitacin que provee cursos en tcnicas de administracin. Enseamos muchos cursos, cada uno de los cuales tiene un cdigo, un nombre y un precio. Introduccin a Internet y Programacin Java son dos de nuestros ms populares cursos. Cursos se dictan entre uno a cuatro das. Un instructor puede ensear varios cursos. Nosotros registramos el nombre y nmero de telfono de los profesores. Cada curso es enseado por slo un instructor. Creamos un curso y luego le asignamos un profesor. Los estudiantes pueden tomar varios cursos a la vez, y muchos de ellos lo hacen. Tambin registramos el nombre y telfono de cada estudiante. Algunos de nuestros estudiantes e instructores no nos dan sus nmeros telefnicos."

2)

Vendedores con experiencia

"Tenemos estos vendedores en terreno, tratando de vender nuestros productos a la gente de su regin. El problema es que algunas de nuestras cuentas nuevas son firmas realmente muy especializadas, y algunos de los vendedores que tenemos no estn capacitados para atenderlos adecuadamente. As que necesitamos alguna manera de clasificar a estos clientes, y mantener un registro de cuales empleados tienen capacitacin en esas reas, para poder mandar a alguien donde el cliente que tenga un mayor grado de conocimiento en ese negocio, as evitaremos que l trasmita una mala imagen y nosotros como empresa." 3) Compaa de Videos

"Soy el propietario de una pequea tienda de videos. Tenemos alrededor de 3.000 cintas de las cuales necesitamos mantener su estado. Cada uno de nuestras cintas tiene un nmero de identificacin. Para cada pelcula, necesitamos conocer su ttulo y categora (comedia, suspenso, drama, accin, guerra, etc.)Tenemos mltiples copias de muchas de nuestras pelculas. A cada pelcula le asignamos un identificador y le asociamos la cinta que la contiene. Una cinta puede ser formato Beta o VHS. Siempre tenemos al menos una cinta para cada pelcula que nosotros rastreamos, y cada cinta es siempre una copia de una nica pelcula. Nuestras cintas son de larga duracin y no tenemos pelculas que requieran mltiples cintas. Frecuentemente nos preguntan por pelculas con actores populares especficos. As que deseamos registrar las pelculas donde estn los actores de moda. No todas nuestras pelculas tienen actores famosos o de moda. Clientes desean conocer de cada actor su nombre real y fecha de cumpleaos. Slo registramos los actores que aparecen en pelculas de nuestro inventario. Tenemos cientos de clientes. Slo arrendamos videos a gente asociada a nuestro video-club. Para cada socio, registramos su nombre, apellido, telfono, direccin. Y, por supuesto cada socio tiene su nmero de socio. Luego, necesitamos conocer que cinta ha retirado cada cliente. Un cliente puede retirar varias cintas al mismo tiempo. Slo registramos los arriendos actuales, no los histricos." 4) Servicio de Radiotaxis

"El usuario es el gerente de un servicio de taxis de gran escala. Hay setecientos taxis que manejan alrededor de mil cuatrocientos choferes en dos turnos. La ciudad donde operan est dividida en novecientas reas cuadradas, cada una consistente de un nmero de calles. Todas las calles son rectas y van de este a oeste o de norte a sur. Una calle puede estar en ms de una rea. Los nombres de las calles son nicos. A cada chofer se le asigna un taxi y un rea especfica cuando llega a trabajar. El chofer se reporta a la Central de Control de Taxis por radio cuando toma un pasajero ("taxi 47, en uso") y cuando deja un pasajero ("taxi 47, disponible") El chofer tambin informa cambios de rea de esta manera ("taxi 47, rea 13") El sistema es responsable de las siguientes operaciones: Ubicar el rea, dados los nombre de dos calles que se interceptan; Ubicar un taxi disponible en una rea en particular; Determinar cuntos taxis estn en cada rea, el promedio de taxis por rea, el rea con mayor nmero de taxis y el rea con el menor nmero de taxis; Mantener un registro del nmero total de taxis "en uso" y disponibles" Ubicar un chofer dado su nombre; y Calcular el porcentaje actual de taxis "disponibles"

5) Cadena de negocios Mire, hace cinco aos que Mam y yo empezamos esta pequea tienda de alimentos naturales, y ahora vea tenemos cinco! Y en tres estados diferentes! Bueno, como se puede imaginar, se nos est haciendo un gran problema el controlar las cosas. Siempre ocurre que en una de las tiendas se acaba algn tem, mientras que en la otra rebalsamos del mismo tem. Y los empleados!. Antes ramos Mam y yo, Ahora tenemos otros seis, y ni siquiera podemos recordar quien trabaja donde. Una cosa que definitivamente necesitamos saber es la cantidad disponible de cada tem en cada tienda. La cantidad que se ha perdido tambin sera til. Tambin tenemos que imprimir una lista de precios con todos los tems que cada tienda vende, para saber por cuanto venderlos - nos gusta mantener los precios iguales en todas las tiendas. Tenemos que mantener un registro de los nombres y nmeros de telfono de los empleados, tambin, y necesitamos saber en que estado viven para poder calcular sus impuestos correctamente. (ejemplo de USA, con impuestos diferentes por estado)y tenemos que mantener un registro del numero total de los diferentes tems, el numero de tiendas en cada estado, el numero de empleados en cada tienda, y el numero total de empleados, para as poder imprimir todo esto en el informe anual. Modelos lgicos basados en registros. Se utilizan para describir datos en los niveles conceptual y fsico. Este modelo utiliza registros e instancias para representar la realidad, as como las relaciones que existen entre estos registros (ligas) o apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura lgica global de la base de datos y para proporcionar una descripcin a nivel ms alto de la implementacin. Los tres modelos de datos ms ampliamente aceptados son: Modelo Relacional Modelo de Red Modelo Jerrquico * Modelo relacional. En este modelo se representan los datos y las relaciones entre estos, a travs de una coleccin de tablas, en las cuales los renglones (tuplas) equivalen a los cada uno de los registros que contendr la base de datos y las columnas corresponden a las caractersticas(atributos) de cada registro localizado en la tupla; Considerando nuestro ejemplo del empleado y el artculo: Tabla del empleado

Ahora te preguntaras cmo se representan las relaciones entre las entidades en este modelo? Existen dos formas de representarla; pero para ello necesitamos definir que es una llave primaria: Es un atributo el cual definimos como atributo principal, es una forma nica de identificar a una entidad. Por ejemplo, el RFC de un empleado se distingue de otro por que los RFC no pueden ser iguales. Ahora si, las formas de representar las relaciones en este modelo son: 1. Haciendo una tabla que contenga cada una de las llaves primarias de las entidades involucradas en la relacin. Tomando en cuenta que la llave primaria del empleado es su RFC, y la llave primaria del articulo es la Clave. La relacin de nuestro modelo resulta RFC PECJ500922XYZ MEAN761014ABC Clave C001 B300

2. Incluyendo en alguna de las tablas de las entidades involucradas, la llave de la otra tabla. Incrustamos la llave primaria del artculo en la tabla del empleado: Nombre Juan Prez Cota Nora Mndez Angel Puesto Vendedor Vendedor Salario 5000 5000 R.F.C. PECJ500922XYZ MEAN761014ABC Clave C001 C001

* Modelo de red. Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan por medio de ligas o enlaces, los cuales pueden verse como punteros. Los registros se organizan en un conjunto de grficas arbitrarias. Ejemplo:

* Modelo jerrquico. Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por medio de registros y sus ligas. La diferencia radica en que estn organizados por conjuntos de arboles en lugar de grficas arbitrarias.

Modelos fsicos de datos. Se usan para describir a los datos en el nivel ms bajo, aunque existen muy pocos modelos de este tipo, bsicamente capturan aspectos de la implementacin de los sistemas de base de datos. Existen dos clasificaciones de este tipo que son: Modelo unificador Memoria de elementos.

S-ar putea să vă placă și