ACTIVIDAD III BASE DE DATOS BASICO MARIA ANGELICA SANCHEZ CODIGO: 30.081.565 YENNY ISLENA CESPEDES BERNAL CODIGO: 40.443.529 SANTOS MAURICIO LODOÑO CODIGO: 1121829896 Trabajo presentado al Ing. JOHN ALEJANDRO FIGUERERO LUNA UNVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELAS CIENCIAS BASICAS TECNOLOGIAS E INGENIERIAS INGENIERA DE SISTEMAS, QUINTO SEMESTRE ACACIAS 2007 ACTIVIDAD III BASE DE DATOS BASICO Trabajo presentado al Ing. JOHN ALEJANDRO FIGUERERO LUNA UNVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELAS CIENCIAS BASICAS TECNOLOGIAS E INGENIERIAS INGENIERA DE SISTEMAS, QUINTO SEMESTRE ACACIAS 2007 INTRODUCCION Una de las características fundamentales de los sistemas de bases de datos es que proporcionan cierto nivel de abstracción de datos, al ocultar las características sobre el almacenamiento físico que la mayoría de usuarios no necesita conocer. Los modelos de datos son el instrumento principal para ofrecer dicha abstracción. Un modelo de datos es un conjunto de conceptos que sirven para describir la estructura de una base de datos: los datos, las relaciones entre los datos y las restricciones que deben cumplirse sobre los datos. Los modelos de datos contienen también un conjunto de operaciones básicas para la realización de consultas (lecturas) y actualizaciones de datos. Además, los modelos de datos más modernos incluyen conceptos para especificar comportamiento, permitiendo especificar un conjunto de operaciones definidas por el usuario. Por eso a continuación en este trabajo encontrara una breve descripción de algunos modelos utilizados en la actualidad. OBJETIVOS Conocer los modelos de base de datos y sus características. Investigar los propósitos del lenguaje de definición de datos (DDL). Estudiar los niveles de las bases de datos. 1. DESCRIBA LOS SIGUIENTES TRES TIPOS DE BASES DE DATOS MODELO JERÁRQUICO, MODELO DE RED Y MODELO RELACIONAL. MODELO JERÁRQUICO Los registros se organizan como colecciones de árboles, en lugar de grafos dirigidos La forma de esquematizar la información se realiza a través de representaciones jerárquicas o relaciones de padre/hijo, de manera similar a la estructura de un árbol. Así, el modelo jerárquico puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de uno a muchos. En el primer tipo se dice que existe una relación de uno a uno si el padre de la estructura de información tiene un solo hijo y viceversa, si el hijo tiene solamente un padre. En el segundo tipo se dice que la relación es de uno a muchos si el padre tiene más de un hijo, aunque cada hijo tenga un solo padre. Inconveniente del modelo jerárquico Relación maestro-alumno, donde un maestro tiene varios alumnos, pero un alumno también tiene varios maestros, uno para cada clase. En este caso, si la información estuviera representada en forma jerárquica donde el padre es el maestro y el alumno es el hijo, la información del alumno tendrá que duplicarse para cada uno de los maestros. Otra dificultad que presenta el modelo jerárquico de representación de datos es respecto a las bajas. En este caso, si se desea dar de baja a un padre, esto necesariamente implicará dar de baja a todos y cada uno de los hijos que dependen de este padre. MODELO DE RED Colecciones de registros y las relaciones entre datos se representan mediante enlaces (dirigidos) El modelo de red evita esta redundancia en la información, a través de la incorporación de un tipo de registro denominado el conector, que en este caso pueden ser las calificaciones que obtuvieron los alumnos de cada profesor. La dificultad surge al manejar las conexiones o ligas entre los registros y sus correspondientes registros conectores. MODELO RELACIONAL Una Base de Datos Relacional es una base de datos en donde todos los datos visibles al usuario están organizados estrictamente como tablas de valores y en donde todas las operaciones de la base de datos operan sobre estas tablas. Se está empleando con más frecuencia en la práctica, debido el rápido entendimiento por parte de los usuarios que no tienen conocimientos profundos sobre Sistemas de Bases de Datos y a las ventajas que ofrece sobre los dos modelos anteriores. En este modelo toda la información se representa a través de arreglos bidimensionales o tablas. Estas operaciones básicas son: Seleccionar renglones de alguna tabla (SELECT) Seleccionar columnas de alguna tabla (PROJECT) Unir o juntar información de varias tablas (JOIN) Es importante mencionar que la mayoría de los paquetes que manejan bases de datos disponibles en el mercado poseen las instrucciones SELECT, PROJECT Y JOIN con diferentes nombres y modalidades. 2. CUALES SON LOS PROPÓSITOS DEL LENGUAJE DE DEFINICIÓN DE DATOS (DDL) Y DE UN DICCIONARIO DE DATOS? El lenguaje de definición de datos (DDL) es utilizado para describir todas las estructuras de información y los programas que se usan para construir, actualizar e introducir la información que contiene una base de datos. Es la parte del SQL que más varía de un sistema a otro ya que esa área tiene que ver con cómo se organizan internamente los datos y eso, cada sistema lo hace de una manera u otra. El diccionario de datos es un archivo que contiene metadatos, es decir, datos acerca de los datos. Este archivo se consulta cada vez que se leen o modifican los datos del Sistema de base de datos. Normalmente, un diccionario de datos almacena: · Nombre, tipo y tamaño de los datos. · Nombre de las relaciones entre los datos. · Restricciones de integridad sobre los datos. · Nombre de los usuarios autorizados a acceder a la base de datos. · Esquema externo, conceptual e interno, y correspondencia entre los esquemas. · Estadísticas de utilización, tales como la frecuencia de las transacciones y el número de accesos realizados a los objetos de la base de datos. 3. HAGA UN CUADRO COMPARATIVO EN DONDE RESALTE LAS FUNCIONES Y RESPONSABILIDADES DE LOS USUARIOS Y ADMINISTRADORES FRENTE AL MANEJO Y ADMINISTRACIÓN DE LAS BASES DE DATOS. CUADRO COMPARATIVO DE MANEJO Y ADMINISTRACION DE LAS BASES DE DATOS USUARIOS ADMINISTRADORES Se clasifican de acuerdo a su función. FUNCIONES Programadores de aplicaciones. interactúan con el sistema a través de llamadas en DML, las cuales están incorporadas en un lenguaje anfitrión. Usuarios sofisticados. Son los que interactúan con el sistema sin escribir programas, escribiendo las consultas en el lenguaje de consulta de la base de datos. Usuarios especializados. Se trata de usuarios sofisticados que crean aplicaciones de bases de datos especializadas para el procesamiento de la información. Usuarios ingenuos. Son los usuarios que interactúan con el sistema llamando a uno de los programas desarrollados por los programadores de aplicaciones. Entender la arquitectura de los manejadores de bases de datos utilizados en la organización. Garantizar el correcto funcionamiento de las bases de datos. Definir perfiles de usuario, otorgar privilegios, matricular usuarios. Definir estrategias de manejo de los discos. Diseñar el sistema de backups de la base de datos. Dimensionar las bases de datos y crear la base de datos. Afinar la base de datos, optimizando su desempeño y tiempo de respuesta. Instalar nuevas versiones de los manejadores de bases de datos que posee la institución. Asesorar a los analistas en el diseño del modelo de datos de cada sistema de información. Cuidar la integridad del modelo de datos corporativo. Establecer mecanismos para garantizar la seguridad de los datos almacenados en la base de datos. Crear, mantener y analizar indicadores de gestión del área. Crear usuario a nivel de la base de datos para que puedan accesar la aplicación de su interés. RESPONSABILIDADES Dar privilegios o permisos para que el usuario pueda manipular sus datos (consultar, borrar, insertar, actualizar). Permitir que el usuario pueda trabajar con un teclado correcto, es decir que las teclas si le funcionen de acuerdo como lo vaya indicando la aplicación. Monitorear en un momento determinado alguna máquina (servidor) porque algún usuario final manifiesta que la máquina en donde se encuentra trabajando está muy lenta o está bloqueada. Matar (cancelar) procesos que en algún momento el usuario necesita cancelar. 4. EXPLIQUE CADA UNO DE LOS ELEMENTOS QUE INTERVIENEN EN UN MODELO DE BASES DE DATOS ORIENTADO A OBJETOS. Las aplicaciones de las bases de datos en áreas como el diseño asistido por ordenador (CAD), la ingeniería de software y el procesamiento de documentos no se ajustan al conjunto de suposiciones que se hacen para aplicaciones del estilo de procesamiento de datos. El modelo de datos orientado a objetos se ha propuesto para tratar algunos de estos nuevos tipos de aplicaciones. El modelo de bases de datos orientado a objetos es una adaptación a los sistemas de bases de datos. Se basa en el concepto de encapsulamiento de datos y código que opera sobre estos en un objeto. Los objetos estructurados se agrupan en clases. El conjunto de clases esta estructurado en sub y superclases basado en una extensión del concepto ISA del modelo Entidad - Relación. Puesto que el valor de un dato en un objeto también es un objeto, es posible representar el contenido del objeto dando como resultado un objeto compuesto. El propósito de los sistemas de bases de datos es la gestión de grandes cantidades de información. Las primeras bases de datos surgieron del desarrollo de los sistemas de gestión de archivos. Estos sistemas primero evolucionaron en bases de datos de red o en bases de datos jerárquicas y, más tarde, en bases de datos relacionales. Estructura de objetos. El modelo orientado a objetos se basa en encapsular código y datos en una única unidad, llamada objeto. El interfaz entre un objeto y el resto del sistema se define mediante un conjunto de mensajes. Un objeto tiene asociado: * un conjunto de variables que contienen los datos del objeto. El valor de cada variable es un objeto. * Un conjunto de mensajes a los que el objeto responde. * Un método, que es un trozo de código para implementar cada mensaje. Un método devuelve un valor como respuesta al mensaje. El término mensaje en un contexto orientado a objetos, no implica el uso de un mensaje físico en una red de computadoras, si no que se refiere al paso de solicitudes entre objetos sin tener en cuenta detalles específicos de implementación. La capacidad de modificar la definición de un objeto sin afectar al resto del sistema está considerada como una de las mayores ventajas del modelo de programación orientado a objetos. Jerarquía de clases. En una base de datos existen objetos que responden a los mismos mensajes, utilizan los mismos métodos y tienen variables del mismo nombre y tipo. Sería inútil definir cada uno de estos objetos por separado por lo tanto se agrupan los objetos similares para que formen una clase, a cada uno de estos objetos se le llama instancia de su clase. Todos los objetos de su clase comparten una definición común, aunque difieran en los valores asignados a las variables. Así que básicamente las bases de datos orientados a objetos tienen la finalidad de agrupar aquellos elementos que sean semejantes en las entidades para formar un clase, dejando por separado aquellas que no lo son en otra clase. Por ejemplo: Retomemos la relación alumno-cursa-materia agregándole la entidad maestro; donde los atributos considerados para cada uno son alumno: Nombre, Dirección, Teléfono, Especialidad, Semestre, Grupo; Maestro: Nombre, Dirección, Teléfono, Número económico, Plaza, RFC; Materia: Nombre, Créditos, Clave. Los atributos de nombre, dirección y teléfono se repiten en la entidad alumno y maestro, así que podemos agrupar estos elementos para formar la clase Persona con dichos campos. Quedando por separado en alumno: Especialidad, semestre, Grupo. Y en maestro: Número económico, Plaza y RFC; la materia no entra en la agrupación (Clase persona) ya que la clase específica los datos de solo personas, así que queda como clase materia. Herencia. Las clases en un sistema orientado a objetos se representan en forma jerárquica como en el diagrama anterior, así que las propiedades o características del elemento persona las contendrán (heredaran) los elementos alumno y maestro. Decimos que tanto la entidad Alumno y maestro son subclases de la clase persona este concepto es similar al utilizado en la de especialización (la relación ISA) del modelo E-R. Se pueden crear muchas agrupaciones (clases) para simplificar un modelo así que una jerarquía (en forma gráfica) puede quedar muy extensa, en estos casos tenemos que tener bien delimitados los elementos que intervienen en una clase y aquellos objetos que las heredan. Consultas orientadas a objetos: Los lenguajes de programación orientados a objetos requieren que toda la interacción con objetos se realiza mediante el envío de mensajes. Consideremos el ejemplo de alumno-cursa-materia deseamos realizar la consulta de los alumnos que cursan la materia de Base de Datos 1, para realizar esta consulta se tendría que enviar un mensaje a cada instancia alumno Así un lenguaje de consultas para un sistema de bases de datos orientado a objetos debe incluir tanto el modelo de pasar el mensaje de objeto a objeto como el modelo de pasar el mensaje de conjunto en conjunto. Complejidad de Modificación. En base de datos orientados a objetos pueden existir los siguientes cambios: * Adición de una nueva clase: Para realizar este proceso, la nueva clase debe colocarse en la jerarquía de clase o subclase cuidando las variables o métodos de herencia correspondientes. * Eliminación de una clase: Se requiere la realización de varias operaciones, se debe de cuidar los elementos que se han heredado de esa clase a otras y reestructurar la jerarquía. En sí la estructuración de modelos orientados a objetos simplifica una estructura evitando elementos o variables repetidas en diversas entidades, sin embargo el precio de esto es dedicarle un minucioso cuidado a las relaciones entre las clases cuando en modelo es complejo, la dificultad del manejo de objetos radica en la complejidad de las modificaciones y eliminaciones de clases, ya que de tener variables que heredan otros objetos se tiene que realizar una reestructuración que involucra una serie de pasos complejos. 5. ¿QUÉ ES Y PARA QUE SIRVE EL NIVEL EXTERNO DE UNA BASE DE DATOS? En el nivel externo se describen varios esquemas externos o vistas de usuario. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinado, y oculta a ese grupo el resto de la base de datos. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar los esquemas. Los usuarios, incluyendo a los programadores de aplicaciones, observan los datos a través de un esquema externo definido a nivel externo. La vista externa proporciona una ventana a la vista conceptual lo cual permite a los usuarios observar únicamente los datos de interés y los aísla de otros datos en la base de datos. Puede existir cualquier número de vistas externas y ellos pueden ser completamente independientes o traslaparse entre sí. 6. ¿EXPLIQUE CUÁL ES EL NIVEL CONCEPTUAL DE UN SISTEMA DE BASE DE DATOS? En el nivel conceptual se describe la estructura de toda la base de datos para una comunidad de usuarios (todos los de una empresa u organización), mediante un esquema conceptual. Este esquema oculta los detalles de las estructuras de almacenamiento y se concentra en describir entidades, atributos, relaciones, operaciones de los usuarios y restricciones. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar el esquema. 7. ¿PARA USTED QUE SIGNIFICADO TIENE BASE DE DATOS Y QUE IMPORTANCIA TIENE EN EL ÁMBITO EMPRESARIAL? Una base de datos es un conjunto de información almacenada, datos estructurados organizados independientemente de su utilización, y un conjunto de programas que manipulan esos datos. Actualmente las bases de datos ofrece muchas ventajas para su utilización como: Globalización de la información: permite a los diferentes usuarios considerar la información como un recurso corporativo que carece de dueños específicos. Eliminación de información inconsistente: si existen dos o más archivos con la misma información, los cambios que se hagan a éstos deberán hacerse a todas las copias del archivo de facturas. Permite compartir información. Permite mantener la integridad en la información: la integridad de la información es una de sus cualidades altamente deseable y tiene por objetivo que sólo se almacena la información correcta. Independencia de datos: el concepto de independencia de datos es quizás el que más ha ayudado a la rápida proliferación del desarrollo de Sistemas de Bases de Datos. La independencia de datos implica un divorcio entre programas y datos. CONCLUSIONES Una Base de Datos Relacional es una base de datos en donde todos los datos visibles al usuario están organizados estrictamente como tablas de valores y en donde todas las operaciones de la base de datos operan sobre estas tablas. Las base de datos jerárquicas, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. El lenguaje de definición de datos (DDL) es utilizado para describir todas las estructuras de información y los programas que se usan para construir, actualizar e introducir la información que contiene una base de datos. El diccionario de datos es un archivo que contiene metadatos, es decir, datos acerca de los datos. Este archivo se consulta cada vez que se leen o modifican los datos del Sistema de base de datos. BIBLIOGRAFIA http://www.monografias.com/trabajo12/basdat/basdat.shtm JOHN ALEJANDRO FIGUEREDO LUNA, Modulo de base de datos I, primera edición. http://www.monografias.com/trabajos7/basda/basda.shtml