01 Bases de Datos contenido semana 1
Short Description
bases de datos iacc semana 1 modulo 8 2015...
Description
BASE DE DATOS
SEMANA 1
ESTE DOCUMENTO CONTIENE LA SEMANA 1
1
ÍNDICE BASES CONCEPTUALES DEL MODELAMIENTO DE BASES DE DATOS RELACIONALES ................... 3 INTRODUCCIÓN ............................................................................................................................. 3 APRENDIZAJES ESPERADOS ........................................................................................................... 4 1. BASE DE DATOS ..................................................................................................................... 5 2. DBMS (DATABASE MANAGEMENT SYSTEM) ......................................................................... 6 3. MODELO ENTIDAD/RELACIÓN .............................................................................................. 9 3.1. COMPONENTES DE UN MODELO ENTIDAD/RELACIÓN (E-R) ........................................ 9 3.1.1. ENTIDADES .......................................................................................................... 10 3.1.2. RELACIONES......................................................................................................... 10 3.1.3. CARDINALIDAD DE LAS RELACIONES ................................................................... 10 3.1.4. ATRIBUTOS .......................................................................................................... 11 3.2. CONSTRUCCIÓN DE UN MODELO DE DATOS ENTIDAD/RELACIÓN............................. 14 4. COMENTARIOS FINALES ...................................................................................................... 14 5. BIBLIOGRAFÍA ...................................................................................................................... 15
ESTE DOCUMENTO CONTIENE LA SEMANA 1
2
BASES CONCEPTUALES DEL MODELAMIENTO DE BASES DE DATOS RELACIONALES
INTRODUCCIÓN En un mundo globalizado como el actual, la información es un recurso imprescindible en cualquier empresa y para cualquier persona. Si no se cuenta con la información necesaria es imposible realizar cualquier proceso de toma de decisiones. Lamentablemente, la información no existe en sí misma ni está disponible sin un proceso previo a su obtención: la recopilación de datos. Por lo anterior, se puede afirmar que los datos son los hechos que describen sucesos y entidades. Los datos son representados por variados tipos de símbolos, por ejemplo, letras del alfabeto, números, puntos y rayas, señales con la mano y dibujos, entre otros. Los datos no tienen capacidad de comunicar un significado sólo con su valor, por tanto, no pueden afectar el comportamiento de quien los recibe. Esto significa que un conjunto de datos aislados no constituye un aporte en un proceso de toma de decisiones. Por ejemplo, piense que en una sala existen cuatro mesas en cada esquina de la sala, en cada mesa existe un cuaderno, donde en el primero existe un nombre de una persona por cada hoja; en el segundo cuaderno, existe un apellido de una persona en cada hoja; en el tercero existe un número de RUT de una persona en cada hoja; en el cuarto cuaderno existe una dirección de email de una persona por cada hoja. Si se toma el cuaderno 1 y se lee cada hoja, esos nombres no sirven de nada, sólo son datos de nombres; luego, si se toma sólo el cuaderno 2, se leerá una lista de apellidos que también son datos que aportan nada; lo mismo si se toma de forma individual el cuaderno 3 y el 4. Sin embargo, si se tuviese en un cuaderno el nombre, apellido, RUT y dirección de email de una persona, esto tiene un significado. Ello permite, por ejemplo, tomar la decisión de mandar un correo a una persona para comunicarse con ésta. Por lo tanto, en este caso, no se tienen datos, sino información de la persona. De este modo, cuando se puede relacionar, ordenar, contextualizar o aplicar cualquier característica a un conjunto de datos, que sea válida para la persona que la lee, estos datos se transforman en información, la que sí apoya un proceso de toma de decisiones. En consecuencia, es de suma importancia el estudio de cómo guardar datos de forma que las relaciones que existen entre ellos sean definidas, de manera que cuando se deseen leer los datos de una manera conjunta, estos entreguen información a la persona que los lee. Los conjuntos de datos relacionados deben mantener su valor comunicativo, es decir, deben aportar conocimiento. Para ello, se deben considerar las siguientes cualidades:
ESTE DOCUMENTO CONTIENE LA SEMANA 1
3
Los datos almacenados deben ser precisos, esto es, contener información correcta, sin errores. La información debe ser oportuna, vale decir, estar disponible cuando se requiera. La información debe ser completa para cumplir sus fines, no se puede entregar información parcial, porque esto conduciría a errores en el proceso de toma de decisiones. La información debe ser significativa: el interlocutor debe comprender la información y otorgarle el valor para el proceso de toma de decisiones. Dicho de otra forma, debe poseer el máximo contenido semántico posible, o sea, validar si la información es verdadera. Un punto importante es el volumen de información, condición indispensable para que esta sea significativa. El exceso de información muchas veces hace que esta pierda significado. Debe ser íntegra y coherente, es decir, no contener errores y debe permitir relacionarla con otra información para que, en conjunto, apoyen el proceso de toma de decisiones.
Hemos clarificado que datos no es lo mismo que información. Los datos y sus relaciones deben guardarse de manera que, al recuperarlos, se transformen en información útil, la que cumpla con todas las cualidades requeridas. A la estructura que permite almacenar un conjunto de datos relacionados de manera íntegra y coherente se le denomina base de datos.
APRENDIZAJES ESPERADOS Se espera que, al finalizar las actividades de estudio de esta semana, los alumnos estén en condiciones de señalar los elementos que componen la arquitectura de un sistema administrador de bases de datos relacionales (DBMS). Adicionalmente, se espera que los alumnos puedan reconocer el Modelo Entidad Relación como una herramienta que permite representar un problema real y describir los componentes de un Modelo Entidad/Relación.
ESTE DOCUMENTO CONTIENE LA SEMANA 1
4
1. BASE DE DATOS Una base de datos es un conjunto de datos relacionados y pertenecientes a un mismo contexto, que son almacenados sistemáticamente para su posterior uso. En este sentido, por ejemplo, una biblioteca puede considerarse una base de datos, compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Sin embargo, las bases de datos almacenadas y manejadas mediante computadores son un conjunto exhaustivo, no redundante, de datos estructurados, organizados independientemente de su utilización y su implementación en máquinas accesibles en tiempo real y compatible con usuarios concurrentes con necesidad de información diferente. De la definición anterior se desprenden ciertas características que posee una base de datos:
Conjunto exhaustivo no redundante de datos: significa que no pueden existir datos repetidos. Datos estructurados organizados: implica que los datos poseen una definición explícita de las relaciones existentes entre los datos almacenados en la base de datos. Datos organizados independientemente de su utilización: una de las características principales de una base de datos, a diferencia de otros sistemas antiguamente usados, es que los datos pueden ser utilizados por diferentes programas para objetivos distintos. Recordemos el ejemplo de la biblioteca, en que diferentes personas pueden consultar los textos deseados según sus propios intereses. Deben ser accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente. Esta característica es requerida para cumplir con la cualidad de oportunidad exigida a la información y para que esta sea accesible a muchos usuarios al mismo tiempo. Tal es el caso de los clientes de un banco que acceden a sus cuentas por internet: todos acceden al mismo tiempo a una misma base de datos, por lo que el sistema debe responder a todos sus clientes en forma concurrente.
Para poseer estas características es necesario un ambiente que permita administrar los datos almacenados. De este modo, se asegura que se encuentren disponibles de la forma y en los tiempos que los usuarios lo requieran. Estos ambientes son los denominados sistemas administradores de bases de datos (DBMS), herramientas que permiten realizar este tipo de administración.
ESTE DOCUMENTO CONTIENE LA SEMANA 1
5
2. DBMS (DATABASE MANAGEMENT SYSTEM) Estos sistemas son también denominados sistemas de gestión de base de datos (SGBD). En términos generales, son una colección de programas que permite a los usuarios crear y mantener una base de datos. Por lo tanto, un DBMS es un software de propósito general que facilita los procesos de definición, construcción, manipulación y compartición de bases de datos, entre varios usuarios y aplicaciones. Los DBMS cumplen con todas las características definidas anteriormente para la información. Para esto, cuentan con las siguientes funcionalidades:
Manipulación de datos (consultar, actualizar, generar informes, entre otros). Compartir, permitiendo que varios usuarios y programas accedan a la base de datos en forma simultánea. Protección de la base de datos: protección del sistema y protección de la seguridad. Mantención de la base de datos, permitiendo que el sistema evolucione, según cambian los requerimientos.
Es importante establecer en este punto que un sistema, aplicación o software, por ejemplo el sitio web de un banco, es un conjunto de dos elementos: por una parte, el software, que es un programa que se construye con un lenguaje de programación (por ejemplo Java), y una base de datos, que contiene los datos que son ingresados o recuperados por el programa y mostrados al usuario, según este lo requiera. Por este motivo, es importante conocer cómo se estructura un DBMS y cómo interactúa con una aplicación, para que el usuario final obtenga los datos que requiere. Se establece, entonces, que los datos en una base de datos deben almacenarse de manera que se guarden también las relaciones existentes entre ellos. Por este motivo, a estos sistemas se les denomina sistemas relacionales. En este sentido, cuando se habla de una base de datos, nos referimos a bases de datos relacionales; en tanto, los DBMS que permiten su administración son también sistemas de administración de bases de datos relacionales. A continuación, se muestra una figura con los componentes de un DBMS, junto con las estructuras externas con las que este interactúa.
ESTE DOCUMENTO CONTIENE LA SEMANA 1
6
Fuente: Villarroel, P. (2011). UNIACC.
En la figura anterior, se identifica que un DBMS tiene cuatro componentes principales. Estos son:
Software para procesar consultas: este componente del DBMS es el encargado de validar si la consulta que se le está realizando está bien escrita, o sea con la sintaxis correcta, y si el programa o la aplicación que la realiza tiene los permisos para hacerlo. Software para acceder a los datos: este es el encargado de procesar la consulta y obtener los datos de respuesta. Para esto, debe acceder a dos porciones de la base de datos, a los metadatos y a la base de datos almacenados. Metadatos: es una base de datos interna del DBMS, en que se guarda la estructura de almacenamiento de los datos y las relaciones que existen entre ellos. Esto es, una definición abstracta de los datos, cómo se organizan y se relacionan en la base de datos almacenada. Base de datos almacenada: son los datos propiamente tales.
Por lo tanto, el USUARIO interactúa sólo con un componente externo al DBMS, que es el programa o aplicación que efectúa las consultas al DBMS. Para aclarar el funcionamiento, veamos el siguiente ejemplo. Suponga que un usuario ingresa al sitio del BancoEstado (www.bancoestado.cl). Para autentificarse, debe ingresar su RUT y clave. En esos momentos, el usuario está interactuando con la aplicación, esto es, el programa del sitio del banco. Cuando presiona ENTER, luego de ingresar la clave y RUT, el programa se comunica con el DBMS, para así validar que el usuario existe en la base de datos del banco. Específicamente, se comunica con la primera parte del DBMS, que es el software para procesar consultas, que es el que valida si la consulta está ESTE DOCUMENTO CONTIENE LA SEMANA 1
7
correctamente realizada; si la respuesta es afirmativa, este software le solicita al software para acceder a los datos, que le entregue la información de la cuenta. En este momento, se le solicita a la estructura que guarda los metadatos, que diga dónde están los datos en la base de datos almacenada, desde ahí son recuperados los datos de las cuentas y los saldos correspondientes al usuario autentificado. La utilización de un DBMS trae asociado un conjunto de ventajas, entre ellas: •
•
•
•
•
•
•
•
•
•
•
•
•
•
Control de la redundancia, esto es, no existen datos repetidos. Restricción del acceso no autorizado. Almacenamiento persistente para los objetos del programa. Suministro de estructuras de almacenamiento para un procesamiento eficaz de las consultas. Copia de seguridad y recuperación. Suministro de varias interfaces de usuario. Representación de relaciones complejas entre los datos. Implementación de las restricciones de integridad. Inferencia y acciones usando reglas. Potencial para implementar estándares. Tiempo de desarrollo de aplicación reducido. Flexibilidad. Disponibilidad de la información actualizada. Economías de escala, dado que diferentes programas pueden acceder a los mismos datos, de acuerdo con sus necesidades.
Para la creación y manipulación de bases de datos, uno de los DBMS más conocidos y usados del mercado es ORACLE. Otros de los DBMS más conocidos son SQL Server y My SQL, en el caso de Open source. Una vez establecida la forma de funcionamiento de un DBMS, es necesario establecer un procedimiento para diseñar la estructura de una base de datos relacional, esto es, cómo definir la forma en que serán almacenados los datos y las relaciones existentes entre ellos. A esta estructura lógica de organización de datos y relaciones entre los datos se les denomina modelo de datos. Por lo tanto, cuando se desea construir un programa que realice un conjunto de funciones, por ejemplo, un programa que mantenga las notas de las asignaturas de su carrera y que calcule los promedios para establecer si ha aprobado o reprobado las asignaturas que cursa cada semestre, se debe construir el programa que realice estas funciones. Además, se debe construir la base de datos que almacene sus datos, sus notas, los promedios, junto con las asignaturas aprobadas y reprobadas en cada semestre. Esto significa que la base de datos se debe diseñar para almacenar los datos requeridos para un problema específico. Sin embargo, cuando dicha base de datos está construida, parte de estos datos en conjunto con datos adicionales pueden ser usados por otros sistemas. Por
ESTE DOCUMENTO CONTIENE LA SEMANA 1
8
ejemplo, para el caso expuesto, un sistema que asigna los ramos para el próximo semestre, va a consultar los datos de las asignaturas aprobadas y reprobadas en el semestre anterior; siendo estos dos sistemas distintos, el primero sería el sistema de administración académica y el segundo el sistema de toma de ramos. En definitiva, cada vez que se diseña una base de datos para un sistema nuevo, este proceso debe considerar las estructuras de datos existentes actualmente. De este modo, no se repiten datos y se cumple con las características necesarias de integridad y redundancia. El nivel más abstracto de definición de la estructura de los datos se realiza mediante el uso de un modelo denominado modelo entidad/relación. Este provee de una representación gráfica denominada diagrama entidad/relación, mediante la cual se representan los datos por almacenar y las relaciones existentes entre ellos.
3. MODELO ENTIDAD/RELACIÓN El diseño de la base de datos se simplifica cuando se utilizan modelos. Los modelos son abstracciones simplificadas de eventos y condiciones del mundo real. La importancia de los modelos radica en que si los modelos no son lógicamente buenos no se lograrán diseños de bases de datos funcionales que permitan obtener información útil. Un modelo de base de datos es un conjunto de ideas lógicas, utilizadas para representar la estructura de datos y las relaciones entre ellos. Los modelos se agrupan en dos categorías: •
•
Modelos lógicos: se enfocan a la naturaleza lógica de la base de datos. Uno de los más utilizados es el modelo entidad-relación (E-R). Modelos físicos: enfatizan en cómo los datos se representan en la base de datos o en cómo se ejecutan las estructuras de datos para representar lo que está modelado. A este tipo de modelo se denomina modelo de base de datos relacional.
3.1. COMPONENTES DE UN MODELO ENTIDAD/RELACIÓN (E-R) El modelo entidad-relación es un concepto de modelado para bases de datos. Fue propuesto por Peter Chen, en 1976. Mediante este se pretende visualizar los objetos que pertenecen a la base de datos, como entidades. Estas tienen atributos y se vinculan mediante relaciones. Como su nombre lo dice, este modelo cuenta con dos componentes básicos: las entidades y las relaciones. A continuación, se define cada uno de ellos. Existe una característica específica que diferencia unas relaciones de otras, esto es, la cantidad de elementos que existe en una entidad que se relaciona con otra cantidad de elementos de la otra entidad. A este concepto se denomina cardinalidad de la relación.
ESTE DOCUMENTO CONTIENE LA SEMANA 1
9
Además, la información que se desea guardar sobre cada entidad (atributos) es también identificada en los diagramas entidad/relación.
3.1.1. ENTIDADES •
•
•
Es el objeto básico representado por el modelo E -R, que corresponde a una cosa del mundo real con una existencia independiente. Una entidad puede ser un objeto con una existencia física (casa, persona, auto, etc.) o un objeto con una existencia conceptual (empresa, curso, cliente, etc.) sobre la que se tiene que reunir o guardar datos. Una entidad se representa con un rectángulo, el nombre de una entidad (sustantivo común) en singular, como se muestra en las siguientes figuras.
Fuente: Villarroel, P. (2011). UNIACC.
Por ejemplo, cuando se habla del sistema que debe guardar las notas de las asignaturas que usted cursa en un determinado semestre, se identifican tres entidades: alumnos, notas y las asignaturas. Por tanto, se requiere guardar sus datos personales para efectos de asociarlos a las asignaturas que usted cursa y las notas obtenidas.
3.1.2. RELACIONES •
•
•
Son asociaciones entre entidades sin existencia propia en el mundo real que se modela. Las relaciones son necesarias para reflejar las interacciones existentes entre entidades. La relación se representa con un rombo, como se muestra en la siguiente figura.
Fuente: Villarroel, P. (2011). UNIACC.
3.1.3. CARDINALIDAD DE LAS RELACIONES •
•
Define el tipo de correspondencia o número de ocurrencias de una entidad que se relaciona con otra entidad. Las relaciones pueden ser de tres tipos:
ESTE DOCUMENTO CONTIENE LA SEMANA 1
10
o
Relaciones 1-1. Las entidades que intervienen en la relación se asocian una a una (por ejemplo, la entidad HOMBRE, la entidad MUJER y, entre ellas, la relación MATRIMONIO). Se representan colocando un 1 en cada extremo del rombo que representa la relación.
Fuente: Villarroel, P. (2011). UNIACC.
o
Relaciones 1-n. Una ocurrencia de una entidad está asociada con muchas (n) de otra (por ejemplo, la entidad EMPRESA, la entidad TRABAJADOR y entre ellos la relación TRABAJAR-EN, o sea, muchos trabajadores trabajan en una empresa).
Fuente: Villarroel, P. (2011). UNIACC.
o
Relaciones n-n. Cada ocurrencia, en cualquiera de las dos entidades de la relación, puede estar asociada con muchas (n) de la otra y viceversa. Por ejemplo, si un trabajador tiene más de un trabajo, esto se representaría como muestra la siguiente figura. Se leería: en una empresa trabajan muchos trabajadores y un trabajador trabaja en muchas empresas.
Fuente: Villarroel, P. (2011). UNIACC.
3.1.4. ATRIBUTOS •
•
•
Son las propiedades o características particulares que describen a cada entidad. Una entidad en particular tendrá un valor para cada uno de sus atributos. Los valores de los atributos que describen cada entidad se convierten en la parte principal de los datos almacenados en la base de datos, por ejemplo, para la entidad Empleados
ESTE DOCUMENTO CONTIENE LA SEMANA 1
11
(como se muestra en la siguiente figura) se identifican los atributos: Nombre, Edad y Dirección.
Fuente: Villarroel, P. (2011). UNIACC.
Los atributos de una entidad son mostrados en un diagrama entidad-relación en círculos. Cada atributo ligado a una entidad es unido al rectángulo que representa la entidad. Esto es mostrado en la siguiente figura.
Fuente: Villarroel, P. (2011). UNIACC.
ESTE DOCUMENTO CONTIENE LA SEMANA 1
12
En este ejemplo, se muestra que la entidad Empleado posee los atributos Nombre, Fecha_nacimiento, E_mail, mientras que la entidad Oficina posee los atributos Nombre y Dirección. En resumen, la estructura lógica de los datos que serán almacenados en la base de datos se define por la suma de los siguientes factores: identificación de las entidades sobre las cuales se desea guardar información, información por guardar (representada por los atributos), relaciones que existen entre estas entidades, más la cardinalidad de cada una de estas relaciones. Ejemplo:
Fuente: Villarroel, P. (2011). UNIACC.
Al examinar este ejemplo, se puede establecer lo siguiente: El problema de la realidad que se está diseñando se representa por cinco entidades. Estas son: •
•
•
•
•
Curso Profesor Estudiante Clase Sala
ESTE DOCUMENTO CONTIENE LA SEMANA 1
13
Las relaciones existentes entre las entidades son las siguientes: •
•
Una sala es utilizada por muchos cursos, muchos cursos utilizan una sala. Un profesor realiza muchas clases, muchas clases son realizadas por un profesor.
3.2. CONSTRUCCIÓN DE ENTIDAD/RELACIÓN
UN
MODELO
DE
DATOS
El proceso de definición de un modelo entidad-relación considera los siguientes pasos: 1. Identificar las entidades involucradas en el problema. Estas se identifican en el enunciado del problema por los sustantivos que contiene, por ejemplo: Una factura (entidad) se emite a una persona (entidad) y sólo una, pero una o persona puede tener varias facturas emitidas a su nombre. 2. Identificar las relaciones existentes entre las entidades especificadas en el paso anterior. Para esto, se identifican en el enunciado los verbos que representan algún tipo de acción sobre las entidades, por ejemplo: Una factura se emite (relación) a una persona y sólo una, pero una persona o puede tener varias facturas emitidas a su nombre. 3. Identificar la cardinalidad de las relaciones identificadas en el paso 2, por ejemplo: Una factura se emite a una persona y sólo una, pero una persona puede tener o varias facturas emitidas a su nombre (es una relación 1:N).
4. COMENTARIOS FINALES Cualquier problema de la realidad puede ser representado mediante un diagrama E-R. Esta es la primera etapa del diseño de una base de datos. En la siguiente etapa de diseño, este modelo se transforma en un modelo conceptual, que representa un nivel de diseño de mayor detalle. Este permite avanzar hacia el diseño físico, que es el requerido para implementar en un DBMS.
ESTE DOCUMENTO CONTIENE LA SEMANA 1
14
5. BIBLIOGRAFÍA Miguel, C. A. (2001). Diseño de bases de datos: problemas resueltos . Madrid: RA-MA.
ESTE DOCUMENTO CONTIENE LA SEMANA 1
15
View more...
Comments