You are on page 1of 21

VISIN GENERAL DE BASES DE DATOS:

Modelo Entidad-Relacin y Modelo Relaciona I

INTRODUCCIN.

Una base de datos es en esencia una coleccin estructurada de datos relacionados entre s, de la cual los usuarios pueden extraer informacin.

Un objetivo importante de un sistema de base de datos es proporcionar a los usuarios una visin abstracta de los datos, es decir, esconder ciertos detalles de cmo se almacenan y mantienen los datos. Sin embargo para que el sistema sea manejable, los datos se deben extraer eficientemente.

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 el manejo 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.

PARTES QUE COMPONEN UNA BASE DE DATOS.

Hardware: equipo informtico

Software: El SGBD (Sistema Gestor de Bases de Datos) es la parte ms importante

del software de un sistema de base de datos. Es una coleccin de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea especfica.

Por ejemplo, Access es un SGBD, que acta como interfaz entre los datos y los usuarios finales. Ms adelante se detallarn aspectos relevantes de un SGBD.

Usuarios: Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el sistema de base de datos, desde quin la disea, elabora, termina, hasta los usuarios finales.

OBJETIVOS DE LOS SISTEMAS DE BASES DE DATOS.

Los objetivos principales de un sistema de base de datos es:

1. Disminucin de la redundancia y eliminacin de la inconsistencia de datos.

Si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de informacin, es decir, que la misma informacin est 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 (diversas copias de un mismo dato no concuerdan entre si).

SISTEMA GESTOR DE BASES DE DATOS.

El SGBD es la porcin ms importante del software de un sistema de base de datos.

El objetivo primordial de un SGBD es proporcionar un entorno que sea a la vez conveniente y eficiente para ser utilizado al extraer, almacenar y manipular informacin de la base de datos.

La figura muestra el SGBD como interfaz (intermediario) entre la base de datos fsica y las peticiones del usuario.

El SGBD interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia de datos entre la unidad de memoria secundaria (discos) y la memoria principal.

En s, un SGBD es el corazn de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar.

Las funciones principales de un SGBD son:

1. Crear y organizar la Base de Datos.

2. Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accedidos rpidamente.

3. Manejar los datos de acuerdo a las peticiones de los usuarios.

4. Registrar el uso de las bases de datos.

5. Responsable del verdadero almacenamiento de los datos.

6. Respaldo y recuperacin. Consiste en contar con mecanismos implantados que

permitan la recuperacin fcilmente de los datos en caso de ocurrir fallos en el sistema

de base de datos.

7. Control de concurrencia. Consiste en controlar la interaccin entre los usuarios concurrentes para no afectar la inconsistencia de los datos.

8. Seguridad e integridad. Consiste en contar con mecanismos que permitan el

control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos.

2. Minimizar la 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 48733. 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, y esto ocasiona una deficiencia del sistema.

3. Evitar 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.

4. Permitir restricciones 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 otro tipo de informacin.

5. Asegurar el mantenimiento de integridad.

Los valores de datos almacenados en la base de datos deben ser correctos. Pueden ser incorrectos debido a:

Errores en la entrada de datos (Prtugalete en vez de Portugalete)

Errores en el programa de aplicacin (Clculo incorrecto del IVA soportado)

Falsificacin deliverada

(A nivel de programacin, el uso de cuadros combinados y listas facilitan la integridad).

El nivel interno depende del SGBD elegido. Y ser este el que implemente (realice) esta tarea.

Cuando usamos Access, no sabemos cmo almacena fsicamente los datos ni dnde. Access es en el intermediario entre usuarios y el SO(Windows).

Los otros dos niveles (Conceptual y Externo) son tarea del Administrador de Bases de Datos (ABD), que es la persona encargada y con el control total sobre el sistema de base de datos.

Las funciones principales de un ABD son:

Definicin de esquema (diseo de la BD).

Definicin de la estructura de almacenamiento segn el SGBD elegido

(En Access ^ Tablas y relaciones).

Concesin de autorizacin para el acceso a los datos.

Especificacin de lmites de integridad.

Aunque es un tarea de propia de usuarios informticos, tambin puede encargarse de:

Programacin del interfaz de la BD con los usuarios finales

(Consultas, Formularios e Informes, Mdulos de cdigo, ...)

Para realizar el Nivel Conceptual, un ABD se servir de un modelo de datos, que es una representacin de la realidad mediante una coleccin de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, la semntica asociada a los datos y las restricciones de consistencia.

En BD esta representacin es grfica y se denomina Esquema Conceptual.

Existen diferentes modelos de datos, pero el ms utilizado por su sencillez y eficiencia es el modelo Entidad-Relacin que detallar a continuacin.

La realizacin de un modelo Entidad-Relacin supone siempre el paso previo al futuro diseo de una BD en cualquiera de los modelos existentes (Relaciona!, Jerrquico, en Red,...)

MODELO ENTIDAD-RELACIN.

Denominado por sus siglas como E-R, este modelo representa la realidad a travs de una representacin grfica que incorpora informacin relativa a los datos y las relaciones entre ellos.

Se utiliza como punto de partida en el diseo de una BD, para despus transformarlo al modelo elegido (en nuestro caso el Relacional).

Las caractersticas de un modelo E-R son:

1. Refleja tan slo la existencia de datos, no lo que se hacen con ellos.

2. Se incluyen todos los datos del sistema en estudio, y por tanto, no est orientadoa aplicaciones particulares.

3. Es independiente de la base de datos y del sistema operativo elegidos.

4. No se tienen en cuenta restricciones de espacio, almacenamiento ni tiempo de ejecucin.

5. Est abierto a la evolucin del sistema.

El modelo E-R se basa en la percepcin del mundo real, que consiste en un conjunto de objetos bsicos llamados Entidades as como de las Relaciones entre ellos.

ENTIDADES. OCURRENCIAS. ATRIBUTOS. CLAVES Y RELACIONES.

Una Entidad es una cosa u objeto concreto o abstracto que existe, que puede distinguirse de otros y del que se desea almacenar informacin.

Los alumnos de una escuela forman la Entidad Alumnos.

Juan Alberdi, de Santurtzi y con DNI 11.635.326P, es una Ocurrencia de la Entidad Alumnos, ya que identifica de forma nica a una persona dentro de ese universo.

Las caractersticas de las Ocurrencias de las Entidades se llaman Atributos. Por ejemplo, el Nombre, DNI y Ciudad son Atributos de Alumnos.

Los Atributos de una entidad pueden tomar un conjunto de valores permitidos al que se le conoce como Dominio del atributo.

Una Clave es un conjunto de 1 o ms atributos, que permiten identificar de forma nica a una ocurrencia dentro de una entidad.

adems aadir que ese conjunto de atributos debe ser mnimo, es decir, que ningn subconjunto de atributos pueda tambin funcionar como clave

Una Clave se especifica grficamente en el modelo E-R con una lnea debajo del nombre del atributo.

Se denomina Clave Secundaria o Extranjera al conjunto de atributos de una entidad que son Clave Primaria en otra.

Entidad Alumnos Ocurrencias

Juan Alberdi Santurtzi

11.635.326P

Luis Alfageme

Sestao

41.485.256H .

Rosa Ma Sanz

Portugalete 15.123.563K .

Amparo Rivas

Santurtzi

23.236.896N .

Roberto Pozas

Sestao

15.365.452F1

Atributos

Una Relacin es una asociacin entre varias Entidades. Pueden contener tambin

Atributos, que representan caractersticas propias de dicha asociacin.

REPRESENTACIN GRFICA DE UN MODELO E-R.

Para representar grficamente un modelo E-R. Se emplean los siguientes smbolos:

Representa ENTIDADES

Representa RELACIONES

Representa ATRIBUTOS (de Entidades o de Relaciones)

Enlazan ATRIBUTOS con ENTIDADES o ATRIBUTOS con RELACIONES

Veamos un ejemplo:

Queremos disear el modelo E-R de las notas que sacan los alumnos de una escuela en las diferentes asignaturas en las que estn matriculados.

Un modelo E-R con estas especificaciones sera:

Nota: Cuando sea posible poner un nombre lgico a la relacin, debe hacerse. No siempre se podr. En el ejemplo, la relacin entre las entidades Alumnos y Asignaturas puede llamarse Notas. Si no hubisemos encontrado dicho nombre, la relacin se podra llamar AluAsig, por ejemplo.

Ntese que la relacin tiene un atributo: Nota (este atributo no pertenece ni a Alumnos, ni a Asignaturas)

ENTIDADES FUERTES Y DBILES.

En funcin de las claves, las entidades pueden clasificarse en:

Entidades fuertes: Entidades con una clave primaria.

Entidades dbiles: Entidades que no poseen los atributos necesarios para definir una clave primaria ya que dependen de una entidad fuerte. No obstante es necesario dotar a la entidad de una clave primaria. Esta estar formada por la Clave Primaria de la entidad fuerte ms 1 o ms atributos de la entidad dbil (a dichos atributos de la entidad dbil se le llama Discriminador). A veces es posible crear una Clave primaria en la entidad dbil con un nuevo atributo ms identificativo.

Nota: Esta es la definicin que el modelo E-R hace de las entidades fuertes y dbiles. En el modelo relacional se ofrece otra que ms adelante se detallar. http://www.recursos-as400.com/dissenybasededades01.shtml GRADO DE UNA RELACIN.

La cantidad de entidades que intervienen en una relacin determina el Grado de la relacin.

Por ejemplo la relacin NOTAS del ejemplo anterior es de grado 2, ya que intervienen la entidad ALUMNOS y la entidad ASIGNATURAS.

Aunque el modelo E-R permite relaciones de cualquier grado, la mayora de las aplicaciones del modelo slo consideran relaciones del grado 2. Cuando son de tal tipo, se denominan Relaciones Binarias.

Un ejemplo de relacin ternaria:

PADRES

MADRES

CARDINALIDAD DE LAS RELACIONES.

Existen 4 tipos de relaciones que pueden establecerse entre entidades, las cuales establecen con cuantas ocurrencias de entidad de tipo B se puede relacionar una ocurrencia de entidad de tipo A:

1. Relacin uno a uno.

Una ocurrencia de entidad del tipo A solo se puede relacionar con una ocurrencia entidad del tipo B, y viceversa.

2. Relacin uno a varios.

Significa que una ocurrencia de entidad del tipo A puede relacionarse con cualquier cantidad de ocurrencias de entidad del tipo B, y que una ocurrencia de entidad del tipo B solo puede estar relacionada con una ocurrencia de entidad del tipo A.

Ntese en este caso que el extremo punteado de la flecha de la relacin de A y B, indica una ocurrencia de entidad A conectada a varias ocurrencias de entidad B.

3. Relacin varios a uno.

Significa que una ocurrencia de entidad del tipo B puede relacionarse con cualquier cantidad de ocurrencias de entidad del tipo A, y una ocurrencia de entidad del tipo A solo puede estar

relacionada con una ocurrencia de entidad del tipo B.

4. Relacin varios a varios.

Significa que una ocurrencia de entidad del tipo A puede relacionarse con cualquier cantidad de ocurrencias de entidad del tipo B, y viceversa.

Mencionar que la cardinalidad para cada conjunto de entidades depende del punto de vista que se le d al modelo en estudio sujetndose a la realidad.

PASO DEL MODELO E-R AL MODELO RELACIONAL

El modelo E-R es independiente del sistema de BD y del SO que se elija. Pero para crear fsicamente Una BD es necesario pasarlo a uno de estos tres modelos, que ya son interpretables en un computador:

Modelo relacional.

Modelo jerrquico.

Modelo en red.

Cuando elegimos el SGBD que vamos a utilizar, tambin estamos eligiendo el modelo de BD.

El ms utilizado sin duda es el relacional (Access, Oracle son SGBDs relacinales) debido a su sencillez y facilidad de comprensin.

Una BD relacional es un conjunto de relaciones (tablas) y a cada una de ellas se le asigna un nombre nico.

Cada relacin de puede representar como una tabla formada por filas y columnas.

Veamos un ejemplo aclaratorio:

Como una relacin (tabla) es un conjunto de tupias (registros), no puede haber 2

tupias iguales. Es una restriccin del modelo relacional .

Se llama Dominio al rango de valores legales que puede tomar un atributo. En

lenguajes de programacin corresponde al tipo de datos (numrico, texto, fecha/hora, etc) que puede tomar una atributo.

En el modelo relacional las tablas del extremo "1" se llaman Fuertes y las del extremo "varios" se les denomina Dbiles.

A es la entidad fuerte y B la dbil.

Las tablas del modelo relacional deben cumplir los siguientes requisitos:

Cada fila debe ser nica, es decir no pueden existir filas duplicadas.

El valor de la columna que es clave primaria para cada fila debe ser nico.

No puede contener columnas duplicadas.

Los valores de las columnas deben pertenecer al dominio de cada atributo.

Debe tener un solo tipo de fila, cuyo formato est definido por el e squema de tabla o la relacin.

REDUCCIN DE DIAGRAMAS E-R A TABLAS.

Un diagrama E-R, puede ser representado tambin a travs de una coleccin de tablas. Veamos las reglas:

1. Relacin uno a uno.

La entidad A se transfoma en una tabla A cuyos atributos sern los que tiene la entidad A. La entidad B se transfoma en una tabla B cuyos atributos sern los que tiene la entidad B.

2. Relacin uno a varios.

La entidad A (fuerte) se transfoma en una tabla A cuyos atributos sern los que tiene la entidad A.

La entidad B (dbil) se transfoma en una tabla B cuyos atributos sern los que tiene la entidad B ms los de la clave primaria de la entidad A.

3. Relacin varios a uno.

La entidad B (fuerte) se transfoma en una tabla B cuyos atributos sern los que tiene la entidad B.

La entidad A (dbil) se transfoma en una tabla A cuyos atributos sern los que tiene la entidad A ms los de la clave primaria de la entidad B.

4. Relacin varios a varios.

Una relacin de varios a varios debe ser descompuesta en 2 relaciones

De la relacin R se obtiene una tercera entidad R, que tendr como atributos la clave primaria de la entidad A, la clave primaria de la entidad B y los atributos que tena la relacin R.

De esta forma obtenemos 3 tablas al pasar al modelo relaciona!.

1.5.1. Lenguaje de denicin de datos Un esquema de base de datos se especica mediante un conjunto de deniciones expresadas mediante un len- guaje especial llamado lenguaje de denicin de datos (LDD). Por ejemplo, la siguiente instruccin en el lenguaje SQL dene la tabla cuenta: create table cuenta (nmero-cuenta char(10), saldo integer) La ejecucin de la instruccin LDD anterior crea la tabla cuenta. Adems, actualiza un conjunto especial de tablas denominado diccionario de datos o directorio de datos. Un diccionario de datos contiene metadatos,es decir, datos acerca de los datos. El esquema de una tabla es un ejemplo de metadatos. Un sistema de base de datos consulta el diccionario de datos antes de leer o modi- car los datos reales. Especicamos el almacenamiento y los mtodos de acceso usados por el sistema de bases de datos por un conjunto de instrucciones en un tipo especial de LDD denominado lenguaje de

almacenamiento y denicin de datos. Estas instrucciones def inen los detalles de implementacin de los esquemas de base de datos, que se ocultan usualmente a los usuarios. Los valores de datos almacenados en la base de datos deben satisfacer ciertas restricciones de consistencia. Por ejemplo, supngase que el saldo de una cuenta no debe caer por debajo de 100 . El LDD proporciona facilidades para especicar tales restricciones. Los sis- temas de bases de datos comprueban estas restricciones cada vez que se actualiza la base de datos. 1.5.2. Lenguaje de manipulacin de datos La manipulacin de datos es: La recuperacin de informacin almacenada en la base de datos. La insercin de informacin nueva en la base de datos. El borrado de informacin de la base de datos. La modicacin de informacin almacenada en la base de datos. Un lenguaje de manipulacin de datos (LMD) es un lenguaje que permite a los usuarios acceder o mani- pular los datos organizados mediante el modelo de datos apropiado. Hay dos tipos bsicamente: LMDs procedimentales. Requieren que el usua- rio especique qu datos se necesitan y cmo obte- ner esos datos. LMDs declarativos (tambin conocidos como LMDs no procedimentales). Requieren que el usuario especique qu datos se necesitan sin espe- cicar cmo obtener esos datos. Los LMDs declarativos son ms fciles de aprender y usar que los LMDs procedimentales. Sin embargo, como el usuario no especica cmo conseguir los datos, el sistema de bases de datos tiene que determinar un medio eciente de acceder a los datos. El componente LMD del lenguaje SQL es no procedimental. Una consulta es una instruccin de solicitud para recu- perar informacin. La parte de un LMD que implica recu- peracin de informacin se llama lenguaje de consul- tas.Aunque tcnicamente sea incorrecto, en la prctica se usan los trminos lenguaje de consultas y lenguaje de manipulacin de datos como

sinnimos. Esta consulta en el lenguaje SQL encuentra el nom- bre del cliente cuyo identicador de cliente es 19.283.746: select cliente.nombre-cliente from cliente where cliente.id-cliente = 19 283 746 La consulta especica que las las de (from) la tabla clientedonde (where) el id cliente es 19 283 746 se debe recuperar, y que se debe mostrar el atributo nombre- cliente de estas las. Si se ejecutase la consulta con la tabla de la Figura 1.3, se mostrara el nombre Gonzlez. Las consultas pueden involucrar informacin de ms de una tabla. Por ejemplo, la siguiente consulta encuen- tra el saldo de todas las cuentas pertenecientes al clien- te cuyo identicador de cliente es 19 283 746. select cuenta.saldo from impositor, cuenta where impositor.id-cliente = 19-283746 and impositor.nmero-cuenta = cuenta.nmero- cuenta Si la consulta anterior se ejecutase con las tablas de la Figura 1.3, el sistema encontrara que las dos cuen- tas denominadas C-101 y C-201 pertenecen al cliente 19 283 746 e imprimira los saldos de las dos cuentas, es decir, 500 y 900 . Hay varios lenguajes de consulta de bases de datos en uso, ya sea comercialmente o experimentalmente. Se estudiar el lenguaje de consultas ms ampliamente usa- do, SQL, en el Captulo 4. Tambin se estudiarn otros lenguajes de consultas en el Captulo 5. Los niveles de abstraccin que se discutieron en el Apartado 1.3 se aplican no solo a la de nicin o estructuracin de datos, sino tambin a la manipulacin de datos.

You might also like