Professional Documents
Culture Documents
Programa desarrollado
ndice
Unidad 1. Administracin de bases de datos ..................................................................... 4 Presentacin de la unidad........................................................................................................... 4 Propsito ........................................................................................................................................ 4 Competencia especfica .............................................................................................................. 4 Actividad 1. Intercambio de conocimientos. ............................................................................. 4 1.1. Perspectiva del rea de bases de datos ........................................................................... 5 1.1.1. Definicin de base de datos ............................................................................................ 8 1.1.2. Sistema manejador de base de datos (DBMS) ............................................................ 8 1.1.3. Administrador de Base de Datos (DBA) ...................................................................... 10 1.2. Funciones de un sistema manejador de base de datos ............................................... 11 1.2.1. Conceptos generales ...................................................................................................... 12 1.2.2. Objetivos del sistema manejador de base de datos .................................................. 13 1.2.3. Funciones bsicas del sistema manejador de base de datos .................................. 14 1.2.4. Funciones especficas del sistema manejador de base de datos ........................... 15 Actividad 2. Uso y manipulacin de bases de datos............................................................. 15 1.3. Usuarios de un sistema manejador de base de datos .................................................. 16 1.3.1. Administracin de la estructura de la base de datos ................................................. 17 1.3.2. Administracin del sistema manejador de bases de datos....................................... 19 1.3.3. Administrador de base de datos, desarrolladores, usuarios finales ........................ 19 Actividad 3. Generalidades de los DMBS ............................................................................... 20 1.4. Componentes de un sistema manejador de base de datos......................................... 21 1.4.1. Esquema conceptual ...................................................................................................... 21 1.4.2. Estructura de la base de datos...................................................................................... 22 1.4.3. Esquema de Integridad .................................................................................................. 23 Actividad 4. Componentes de un DBMS ................................................................................ 23 Autoevaluacin ........................................................................................................................... 24 2 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 2
Evidencia de aprendizaje: Cuadro Sinptico ......................................................................... 24 Autoreflexiones ........................................................................................................................... 24 Cierre de la unidad ..................................................................................................................... 25 Para saber ms........................................................................................................................... 25 Fuentes de consulta ................................................................................................................... 25
Unidad 1. Administracin de bases de datos Presentacin de la unidad Bienvenido(a) a la asignatura de Diseo de bases de datos. En esta primera unidad trabajars con los conceptos bsicos para administrar una base de datos, que van desde conocer qu es un administrador de base de datos (DBA) y que es el sistema manejador de base de datos (DBMS), adems de las caractersticas y las funciones que debe tener dicho manejador, de igual manera, conocers cmo se estructura una base de datos ntegra.
Propsito Identificar cules son las funciones de un Administrador de Base de Datos (DBA) y las del Sistema Manejador de Base de Datos (DBMS), adems de aprenders como se compone un DBMS y cules son los procesos que puede realizar el usuario en una base de datos.
Competencia especfica Distinguir los conceptos bsicos y caractersticas de un sistema manejador de bases de datos (DBMS) para identificar sus funciones mediante el estudio de la estructura del mismo.
Actividad 1. Intercambio de conocimientos Bienvenido al foro de discusin, creado para que comentes asuntos relacionados con la asignatura; en l, conocers a tus compaeros(as) de grupo y entre todos(as) podrn apoyarse para resolver dudas, inquietudes, externar comentarios, etctera, el foro estar abierto durante todo el curso y consta de varias entradas o categoras a las que debers ingresar dependiendo del tipo de participacin que quieras hacer, lo que se permite en el foro es lo siguiente: Comentar asuntos personales como tu nombre y experiencias propias. Si tienes dudas o comentarios relacionados con detalles tcnicos, por ejemplo, sobre la instalacin de alguno de los programas que se usan en el curso. Comentarios de temas directamente relacionados con el contenido de la asignatura. No est permitido realizar tareas en grupo, solo dudas especificas y apoyo. Es recomendable que todos los comentarios sean de manera respetuosa y responsable. 4 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 4
Para comenzar ingresa al Foro Presentacin e intercambio de conocimientos. Nota: El facilitador estar monitoreando el foro y tomara acciones al respecto en caso de trabajos duplicados.
1.1. Perspectiva del rea de bases de datos Antes de comenzar el tema, recordemos los conceptos claves de las asignaturas anteriores los cuales sern de gran utilidad para esta unidad. Un sistema de bases de datos es un conjunto o coleccin de informacin que es almacenada de forma electrnica en un sistema computarizado, lo que permite a los usuarios recuperar y actualizar la informacin en base a peticiones de consultas estructuradas. Una vez que recordamos que es una base de datos, es importante conocer a que nos referimos cuando hablamos del Administrador de Base de Datos, conocido tambin por sus siglas DBMS o bien, como servidor de la base de datos. Un DBMS es el que se encarga de procesar las solicitudes de acceso a una base de datos, ya sea para generar altas, bajas o modificaciones de informacin en dicha base de datos, adems de proporcionar seguridad e integridad en los datos que se procesan al realizar dichas solicitudes. La administracin de base de datos tiene como alcance la organizacin completa de una empresa o algn otro organismo que tenga la necesidad de utilizar bases de datos. Una de sus principales ventajas consiste en que ofrece manejar, estructurar y consultar informacin a gran volumen.El alcance de la administracin de base de datos queda limitado a una base de datos en especfico y a los sistemas gestores que procesan dicha base de datos. Algunos de los administradores de bases de datos comnmente usados son los siguientes: a) Sistemas libres BSD (Berkeley software distribution), software de licencia libre: PostgreSQL. Este sistema de administracin de bases de datos se enfoca en el modelo relacional orientado a objetos. MySQL. Sistema de administracin de bases de datos relacional multiusuario, se distribuye bajo licencia GNU (General PublicLicense), licencia pblica general. 5 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 5
Microsoft SQL Express. Es un una versin ligera de Microsoft SQL Server, de distribucin libre para el desarrollo de software; la limitante bsica respecto a la versin completa es la capacidad de almacenamiento y el lmite de conexin. b) Sistemas no libres bajo licenciamiento Microsoft SQL Server. Es un sistema robusto para la administracin de bases de datos, se basa en el modelo relacional, es un lenguaje de consultas estructuradas. Tiene soporte para administrar transacciones a gran escala; es bastante escalable, con gran estabilidad y seguridad para soportar los procedimientos de almacenamiento de informacin. Oracle. Es un sistema de gestin de bases de datos relacional de objetos. Por su amplio soporte de transacciones, estabilidad y soporte multiplataforma, es considerado como uno de los sistemas de administracin de bases de datos ms destacados.
El objetivo de un sistema administrador de bases de datos se enfoca bsicamente en el anlisis de rendimiento, optimizacin y estructura de la informacin que ser almacenada. El almacenamiento de informacin se ha vuelto una de las principales necesidades de todos los usuarios de sistemas de cmputo, esta necesidad de mantener almacenada, administrada y estructurada la informacin cada vez en grandes volmenes es una tarea que se puede solucionar con una herramienta de administracin de bases de datos. Las caractersticas que debe tomar en cuenta un administrador para disear una base datos son: Almacenamiento de la informacin en gran volumen. Gestin, control y coherencia de los datos. Acceso eficiente y controlado de la informacin. Debe permitir agregar, eliminar y modificar el contenido almacenado.
Es importante destacar que las funciones bsicas de los sistemas administradores de bases de datos, adems del almacenaje de la informacin, abarcan la relacin existente entre los datos, la estructura para la consulta y el manejo de la informacin, la cual debe ser veraz y confiable para el usuario que utilizan estos sistemas. Existen diferentes modelos de bases de datos (la eleccin de un modelo define la estructura de una base de datos, determinada por el administrador de bases de datos). Entre los modelos ms comunes estn: Modelo jerrquico. Este modelo fue popularmente utilizado en sistemas System/360, por muchas empresas y en algunos casos excepcionales puede seguir siendo utilizado en la actualidad, sin embargo, la renovacin provocada por 6 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 6
el efecto 2000 se ha eliminado prcticamente de la mayora de los casos, para ser remplazado por modelos mucho ms modernos y eficientes. El modelo jerrquico se caracteriza por almacenar sobre una serie de registros, los cuales tienen campos asociados a ellos, lo que les sirve para crear los enlaces entre los tipos de registros. Modelo en red. Se utiliz como estndar a finales de los sesenta; este tipo de modelo no se refiere a que la base de datos estuviera almacenada en una red de ordenadores, sino a la forma en que los datos se enlazaban con otros datos. Este modelo representaba los datos en forma de una red de registros y conjuntos que se relacionaban entre s, formando una red de enlaces. Este modelo, al igual que el anterior, prcticamente ha dejado de utilizarse. Modelo de datos relacional. Se caracteriza por el manejo en conjunto de una o varias tablas, estructuradas en registros y campos, los cuales se vinculan entre cada uno de ellos, teniendo como referencia un campo en comn. Durante el diseo de bases de datos basadas en este modelo, se tiene que pasar por el proceso de normalizacin de la base de datos, el cual se ver en los siguientes temas. Algunas ventajas de este modelo de datos relacional, son: evita que la informacin que se ingresa sea duplicada y garantiza la integridad referencial. Modelos multidimensionales. Este tipo de modelos sirve para desarrollar aplicaciones ms concretas para el modelado de bases de datos simples y entendibles al usuario final, su idea principal se basa en que el usuario pueda visualizar fcilmente la relacin existente en los diferentes componentes del modelo; bsicamente el modelo multidimensional est formado por tablas. Donde los campos y atributos de una tabla representan dimensiones de la misma. Modelo de datos orientado a objetos. En la actualidad se utiliza este modelo, el cual trata de almacenar en la base de datos los objetos completos, a travs de los paradigmas de programacin como encapsulamiento, herencia y polimorfismo. Modelo Entidad-Relacin. Este modelo parte de la definicin de entidades y relaciones. Una entidad es un objeto que se desea almacenar, la cual se forma a partir de datos que definen los objetos llamados tambin atributos. La relacin entre las entidades refleja las interacciones existentes entre dichas entidades. Las relaciones pueden ser por lo general: uno a uno, uno a muchos y muchos a muchos. La mayora de los sistemas de administracin de bases de datos estn concentrada por tres grandes desarrolladores de sistemas, que son: Oracle, IBM y Microsoft. Estos desarrolladores estn en constante transformacin, con el propsito de irse adaptando a las principales tecnologas existentes hoy en da, tales como Multimedia, Orientacin a objetos, Internet y web.
1.1.1. Definicin de base de datos Una base de datos es comnmente conocida como el conjunto de informacin almacenada, organizada y estructurada en un mismo contexto. De acuerdo a la variacin de los datos almacenados, las bases de datos se distinguen como: Bases de datos estticas. Son de solo lectura, usadas bsicamente para almacenar datos histricos que puedan ser accesibles para su utilizacin. Bases de datos dinmicas. Almacenan la informacin durante su uso, permitiendo operaciones fundamentales como actualizacin, agregar y eliminar datos, as como tambin consultas.
Actualmente existen sistemas llamados Sistema manejador de base de datos, los cuales brindan el almacenamiento de informacin dentro de una base de datos para su acceso posterior de forma rpida y estructurada. En las siguientes unidades, se estarn utilizando algunos ejemplos para el desarrollo y creacin de bases de datos.
1.1.2. Sistema manejador de base de datos (DBMS) Un sistema manejador de bases de datos es un conjunto o coleccin de informacin que es almacenada de forma electrnica en un sistema computarizado, lo que permite a los usuarios recuperar y actualizar la informacin en base a peticiones de consultas estructuradas. La siguiente imagen representa un sistema de base de datos, la cual est formada por cuatro componentes: datos, hardware, software y usuarios.
Figura 1. Ejemplo simple de un sistema de base de datos. Imagen tomada de Date, C.J. (2001). Introduccin a los sistemas de bases de datos, Mxico, Editorial Pearson Educacin, Pg. 5.
El sistema de administracin de base de datos debe supervisar el desempeo de las aplicaciones sobre la base de datos, con el fin de que el usuario final pueda tener la informacin de forma oportuna. Existen mltiples factores que pueden provocar una baja en el desempeo, tales como: Un diseo estructurado fsicamente inadecuado. El crecimiento descontrolado de las tablas. Cambios en el software y/o hardware.
Es necesario que el administrador deba monitorear la base de datos constantemente para hacer los ajustes necesarios a la estructura de la base de datos. La integridad de la informacin es el estado donde se asegura que el contenido sea lo ms correcto posible, derivado de las transacciones que se van realizando por los usuarios autorizados. La integridad se puede clasificar en:
Integridad de dominio. Se debe asegurar que cada valor de un atributo est en el dominio. Integridad de entidad. Este tipo de integridad clasifica toda instancia y hace que se distinga de las dems. Integridad referencial. Este tipo de integridad supervisa cada dato que sirve como referencia dentro de alguna tabla y verifica que dicho dato exista dentro de otra tabla para crear relaciones. Integridad definida por el usuario. Este tipo de integridad se define por el diseador, el cual establece polticas, caractersticas o restricciones a la base de datos.
La seguridad de un DBMS, se refiere bsicamente a la proteccin de los datos contra accesos no autorizados, o bien modificaciones que van desde los datos completos o algunas tablas o registro especifico. La seguridad se logra utilizando por lo menos los siguientes mecanismos: Vistas. Esta caracterstica permite limitar el acceso de los usuarios a la informacin especfica o determinada por el diseador. Privilegios. En esta caracterstica el administrador es quien tiene la facultad de permitir o denegar ciertos privilegios sobre los objetos de la base de datos. Encriptacin. Permite cifrar la informacin contenida en tablas, evitando el acceso a usuarios no permitidos. Inferencia. Restringe a los usuarios a fin de que no puedan deducir la informacin para aquellos no autorizados.
1.1.3. Administrador de Base de Datos (DBA) Un DBA (Data base administrator) es la persona que se encarga de los aspectos estructurales de la base de datos. Debido a la importancia del contenido de la informacin de una base de datos, el DBA por lo general debe cumplir con ciertos requisitos de conocimientos, tales como: Ser experto en TI (tecnologas de la informacin). Conocimiento amplio sobre sistemas de administracin de bases de datos. Por lo general se requiere que tenga conocimiento de algunos lenguajes de programacin, con el fin de automatizar algunas actividades.
Asimismo el DBA tiene actividades especficas, entre sus funciones estn las siguientes: Asegurar la integridad de la informacin contenida en la base de datos. 10 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 10
Estructurar u optimizar las consultas enfocadas a la recuperacin de la informacin. Debe establecer criterios de seguridad y proteccin de la informacin. Deber definir procedimientos de respaldo, mantenimiento y de recuperacin de las bases de datos. Deber mantener un ambiente de colaboracin con el equipo de desarrollo para determinar el modelo lgico y fsico.
Lo anterior determina algunas de las caractersticas que deber cumplir un buen administrador de bases de datos para cumplir su principal responsabilidad, que es la de mantener la informacin de forma confiable y veraz.
1.2. Funciones de un sistema manejador de base de datos Como se ha mencionado en el tema 1.1, un DBMS (sistema administrador de bases de datos) es un programa informtico que gestiona todo el acceso, estructura y organizacin de los datos almacenados en una base de datos. Para trabajar en el DBMS se debe preparar y codificar toda la base de datos introduciendo tablas, atributos de las tablas y las relaciones que existen entre ellas, por ejemplo, la tabla cliente, con atributos: numero de cliente, nombre de cliente, direccin de cliente y otra tabla cuenta bancaria con atributos: no. Cuenta, tipo de cuenta y saldo; la relacin sera que el cliente puede tener una o varias cuentas con saldo. Para colocar esta informacin en DBMS se hace a travs de comando que sern descritos en la unidad 3 de esta materia. Lo anterior se obtiene por medio de un lenguaje de programacin, en donde el usuario solicita cierta informacin, por ejemplo: Se desea consultar el saldo de una cuenta bancaria: a) El sistema de administracin de base de datos recibe y analiza la solicitud o peticin del usuario. b) El sistema de administracin de base de datos analiza el esquema de correspondencia interna sobre la estructura de datos almacenados. c) El sistema de administracin de base de datos, realiza las transacciones solicitadas por el usuario sobre los datos almacenados en la base de datos.
A grandes rasgos, como se pudo apreciar en el ejemplo anterior las funciones de un DBMS consisten en manejar, almacenar, modificar, eliminar y extraer los datos por medio de peticiones hechas por el usuario. La siguiente imagen da una perspectiva ms clara sobre la estructura de un sistema de gestin de bases de datos.
Figura 2. Estructura bsica de un DBMS. Rediseada de: In.Co, Facultad de Ingeniera, Universidad de la Repblica de Uruguay. (s.f.). Curso: Fundamentos de Bases de Datos, Tema 1. Conceptos Generales. . Disponible en:http://www.fing.edu.uy/inco/cursos/bdatos/teorico/2ConceptosGenerales.pdf
1.2.1. Conceptos generales Retomando los conceptos mencionados en los temas y subtemas anteriores, se tiene: DBMS. Sistema manejador de bases de datos. Su principal funcin es almacenar la informacin. BD. Base de datos, es un conjunto de datos pertenecientes a una coleccin. 12 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 12
Modelos de bases de datos. Son esquemas que determinan la estructura de una base de datos, descrita en un lenguaje de programacin soportada por el DBMS. Datos. Son la representacin de un objeto, pueden ser de tipo numrico, alfabtico, lgico, entre otros. Informacin. Es el procesamiento de los datos generados por el DBMS Estructura de datos. Conforman la informacin, adems de que es quien define la manipulacin de datos tales como altas, bajas o modificacin de stos. DBA. Data base administrator, es la persona encargada de disear y mantener la BD. DDL. Lenguaje de definicin de datos. DML. Lenguaje de manipulacin de datos. Archivos. Los archivos estn formados por un conjunto de registros. Registros. Los registros estn formados por un grupo de campos. Campos. Son la mnima expresin de unidad de referencia.
1.2.2. Objetivos del sistema manejador de base de datos El principal objetivo de un sistema manejador de bases de datos (DBMS) es almacenar los datos para posteriormente poder acceder y recuperar la informacin de forma rpida y estructurada. Hoy en da la manipulacin o gestin de una base de datos por medio de un DBMS, se encuentra en una etapa bastante desarrollada, pues con la rpida evolucin de las bases de datos han aumentado las necesidades de almacenamiento y necesidades de resultados de la informacin. Un sistema manejador de bases de datos debe tener la capacidad de administrar las ms complejas estructuras de datos para brindar un mayor nmero de posibilidades de resultados de informacin. Considerando lo anterior algunos de los objetivos de un DBMS son: El objetivo primordial de un sistema de administracin de bases de datos es almacenar datos y recuperar informacin. Algunos otros objetivos de un DBMS son: Independencia lgica y fsica de los datos. Este objetivo determina la capacidad de modificar una parte de la informacin dentro de un nivel de la base de datos sin que esta modificacin afecte al nivel superior u otros niveles y esta independencia es parte de lo que debe cumplir un DBMS. Minimizar la redundancia. El sistema se debe encargar de minimizar la redundancia de la informacin ya que puede centralizar los datos para las 13 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 13
distintas aplicaciones y ser acezados desde distintos lugares, por ejemplo, tener la informacin en la ciudad de Mxico D.F y acezarla desde Guadalajara. Acceso concurrente. El permitir el acceso mltiple simultneo es que se puede permitir el bloqueo de datos accedidos, es decir dos o tres personas puedan entrar al mismo tiempo a la base de datos y para evitar perdida o que cada uno haga cosas diferentes y la bd termine con incoherencias, se bloquean momentneamente los datos a que aceza el primero y cuando este deja libre esa informacin ya puede ser alterada por el segundo que entro a la bd. Integridad de los datos. Se deben de tomar medidas de transacciones que permitan evitar fallos por actualizacin incoherente, eliminacin equivocada de datos, por ejemplo, si es alterado el nombre de un cliente, sean alterados todas las operaciones que realizo este cliente corrigiendo su nombre en todas. Seguridad y proteccin. Se deber contar con medidas preventivas que permitan mantener un control de la auditoria y saber o determinar en qu momento se realiz una modificacin, al poder entrar a la bd. Varios usuarios del DBMS cuenta con estas medidas para llevar ese registro que quien realizo que operaciones. Respaldo y recuperacin. Debe permitir almacenar la estructura y el contenido de la informacin, as como tener la facultad de poder recuperar su estado en un momento previo.
1.2.3. Funciones bsicas del sistema manejador de base de datos Un DBMS (sistema manejador de bases de datos) cuenta con dos funciones bsicas: Definir las estructuras para almacenar los datos. Se debe tener en cuenta que al disear una base de datos es de suma importancia definir la estructura mediante algn modelo de diseo de base de datos, que se utilizar para el almacenamiento de la informacin, lo cual ser el resultado final de la informacin deseada por el usuario. La definicin de las estructuras de cmo deben estar los datos lo veremos en la unidad 2 de esta materia, la cual consiste en definir que tablas se van a usar, con que caractersticas y que relaciones. Manipular los datos. De acuerdo con Silberchatz (2006), se refiere a las consultas y modificaciones que se pueden realizar en una base de datos. Para la manipulacin de los datos es necesario realizar algunos procesos, los procesos que se pueden realizar para dicha manipulacin de datos, son los siguientes: o o o La recuperacin de informacin almacenada en la base de datos. La insercin de informacin nueva en la base de datos. La eliminacin de informacin incluida en la base de datos. 14 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 14
o o
La modificacin de informacin almacenada en la base de datos. La actualizacin de la informacin incluida en la base de datos.
1.2.4. Funciones especficas del sistema manejador de base de datos En el tema anterior vimos las funciones mnimas o bsicas de un sistema manejador de bases de datos pero un sistema manejador de bases de datos tambin debe o puede encargarse de algunas de las funciones especficas como son: Definir las relaciones entre los datos, obtenidas mediante el manejo de un diccionario de datos. Gestin de los datos almacenados, creando estructuras que son requeridas para el almacenamiento de los datos. Transformacin de los datos. Se deben modificar por medio de las transacciones bsicas para que los datos almacenados deriven informacin que ser de utilidad para el usuario final. Seguridad de los datos. Se debe tener en cuenta polticas y normas, las cuales son definidas por el DBA, en caso de cadas del sistema y para la restriccin de acceso a la informacin, dichas medidas de seguridad son necesarias para brindar proteccin de los datos en la base de datos.
Las funciones de un DMS, se pueden enfocar en bsicas y especficas debido a que en las funciones bsicas se trata de forma general el funcionamiento de un DBMS y en las funciones especficas nos sirven para poder comprender concretamente para que se utilice un DBMS. A continuacin te presentamos la actividad de Uso y manipulacin de base de datos, que a diferencia de otros cuatrimestres, a partir de ste podrs consultar los criterios de evaluacin de cada una de las actividades.
Actividad 2. Uso y manipulacin de bases de datos Con el fin de reflexionar sobre el tema de perspectiva del rea de bases de datos, responde las siguientes preguntas: Para qu sirve una base de datos? Qu es un sistema manejador de bases de datos? Para qu empresa se te ocurre que podras disear una base de datos? 15 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 15
Qu funciones realizara el DBA en esa empresa? 1. Ingresa al foro y participa. 2. Comparte tu respuesta a las preguntas planteadas. 3. Contribuye con algn comentario a por lo menos dos compaeros(as) sobre sus respuestas. 4. Con base en las aportaciones de tus compaeros(as), elabora tus conclusiones y deja tu evidencia en el foro.
1.3. Usuarios de un sistema manejador de base de datos Existen dos clasificaciones principales de usuarios de un DBMS la primera es por relacin a la utilidad y la segunda por las personas que trabajan directamente y solo con la bd. Por relacin a la utilidad del dbms: Primordialmente una base de datos cuenta con tres tipos de usuarios en relacin a utilidad. Usuario DBA (Usuario Administrador de la base de datos) : Es quien se encarga de disear y mantener la estructura de la base de datos. Desarrollador de aplicaciones: Son los el usuario que determina e implementa las transacciones que debern estar direccionadas al manejo de la informacin dentro de la base de datos. Usuario final: es el que utiliza las consultas, y realiza operaciones tpicas de altas, bajas y cambios. Por relacin directa a la base de datos: Las personas que trabajan directamente con una base de datos se distinguen por tipos de usuarios. De acuerdo a su funcin o nivel de conocimiento, existen diferentes tipos de usuarios que se catalogan de acuerdo a su funcin especfica dentro la base de datos como: Programadores de aplicaciones. Usuarios normales. Usuarios especializados. Usuario administrador de la base de datos. De los usuarios anteriores, se dar una explicacin ms exacta sobre la funcin de cada uno de ellos.
1.3.1. Administracin de la estructura de la base de datos En la administracin de la estructura de la base de datos se tiene considerado desde el anlisis del diseo inicial hasta su implementacin, asimismo debe considerarse el control y administracin de cada uno de los requerimientos, es decir para trabajar con una base de datos se comienza con el anlisis, diseo e implementacin pero el trabajo no termina ah, tambin se tiene que administrar, lo cual nos dice que se debe considerar varios procesos que se estarn realizando a lo largo de la vida y uso del mismo. Esta administracin se conoce como Gestin y se deben realizar las siguientes gestiones siempre que sea necesario hacerlas: Gestin de almacenamiento. Este tipo de gestin es de suma importancia para un DBMS, pues las bases de datos por lo general van aumentando de tamao, lo que va requerir ms espacio de almacenamiento que va desde los MB (Megabytes) hasta aquellas grandes bases corporativas que podran llegar a ocupar determinados terabytes. Por lo general la memoria principal de los equipos de cmputo no puede soportar gran escala de almacenamiento, por ello se resuelve almacenarla en soluciones para almacenamiento como data storage, las cuales son trasladadas para su mejor manejo y almacenamiento. Los componentes del gestor de almacenamiento incluyen: o Gestores de integridad y autorizacin. Se encargan de determinar restricciones de almacenamiento de datos, autorizando el acceso a usuarios determinados. Gestores de transacciones. Aseguran que la base de datos se quede en estado activo. Gestores de archivos. Determinan el espacio de almacenamiento y las estructuras de los datos utilizados. Gestores de memoria intermedia. Responsables de determinar el lugar donde ser asignado el proceso a fin de optimizar el acceso a los datos.
o o o
Gestin de consultas. Los componentes del procesador de consulta incluyen: o Intrprete del DDL. Es quien interpreta las instrucciones del lenguaje de definicin de datos, registrando las definiciones en el diccionario de datos. o Compilador del DML. Traduce las instrucciones del lenguaje de manipulacin de datos a un lenguaje de consultas de instrucciones de bajo nivel que entiende el motor de evaluacin de consultas. o Motor de evaluacin de consultas. Ejecuta las instrucciones de bajo nivel generadas por el compilador de DML. 17
En la siguiente figura se detallan los componentes de una estructura de una base de datos y sus conexiones, donde esta divida por usuarios finales o normales, usuarios programadores, usuarios sofisticados y usuarios administradores de base de datos. Los cuales dependiendo del rol de sus funciones pueden establecer conexiones con el uso de interfaces, programas de aplicacin, herramientas de consulta y administracin segn el caso de cada usuario, para pasar por el proceso de consultas y la gestin de almacenamiento ya sea de archivos, transacciones, autorizacin e integridad de los datos, lo cual tendr como objetivo el acceso a la informacin guardada en la unidad de almacenamiento de la informacin.
Figura 3. Estructura de un sistema. Rediseada de: Silberchatz, A. (2002) Fundamentos de bases de datos, (4th Ed), Espaa, Ed. McGraw Hill.
1.3.2. Administracin del sistema manejador de bases de datos En el tema anterior comprendimos que se tiene que administrar la estructura de la base de datos cuidando el almacenamiento y consultas necesarias, ahora se debe administrar el sistema que maneja estos datos y el responsable de hacerlo es el DBA como ya se vio en el tema 1.1.3 donde se describen sus caractersticas y funciones a realizar, ahora describimos lo que debe cubrir la administracin del DBMS. La tarea de administracin del sistema manejador de bases de datos comprende una serie de actividades que debe realizar el DBA(Administrador de la base de datos), el cual deber compilar y analizar estadsticas referentes al rendimiento del sistema e identificar reas de oportunidad que sirvan para mejorar el desempeo de la base de datos, as como la integridad de estos. Para realizar los cambios requeridos por adecuaciones o mejoras a la estructura de la base de datos, y estos van surgiendo sobre las necesidades de los usuarios. Es decir en algn momento se puede requerir obtener nuevas consultas o reportes que no se haban contemplado en un inicio o datos nuevos por ejemplo, en dar de alta un usuario nuevo en la base de datos porque se contrato un empleado ms y la empresa requiere que entre a la bd, y capture ms informacin Otra de la actividad para administrar al sistema manejador de bases de datos es analizar las estadsticas de tiempo de ejecucin sobre la actividad de la base de datos y su rendimiento, generalmente se pueden analizar por medio de los informes que ofrece el DBMS, una vez identificado el problema se puede determinar si resulta apropiada una modificacin, como por ejemplo, si se est haciendo lento el sistema porque la memoria que dispone el equipo ya no es suficiente para la cantidad de informacin y se generan estas estadsticas parta estar monitoreando los niveles de uso . Otro de los aspectos importantes al administrar un DBMS es considerar las actualizaciones del sistema administrador de bases de datos, por lo que es recomendable analizar las caractersticas que se incorporan y as poder determinar si es factible actualizar, o bien esperar a una segunda oportunidad de actualizacin. Como podra ser adquirir un nuevo equipo y migrar la informacin al mismo o si sali una nueva versin del DBMS y analizar si conviene migrar o no a la misma. 1.3.3. Administrador de base de datos, desarrolladores, usuarios finales 19 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 19
En el tema 1.2.3 se explicaron los diferentes tipos de usuarios que existen para un manejador de bases de datos y se mencionaron los usuarios directos con la base de datos, pero solo se explicaron los usuarios del sistema manejador de la base de datos a continuacin explicaremos aquellos que tienen que ver directamente con la base de datos. En una base de datos se debe considerar la existencia especfica de determinados usuarios que interactan dentro del sistema: Personal del DBA. Un administrador de base de datos es la persona encargada de definir los procedimientos de respaldo y recuperacin de datos, define los esquemas de seguridad y proteccin para el acceso limitado a los datos, mantenimientos rutinarios, definicin de esquemas. Usuarios programador de aplicaciones. Este tipo de usuarios deben trabajar en colaboracin con un DBA, pues por su alto conocimiento del DML son los encargados de generar nuevos mdulos capaces de manejar los nuevos datos en el sistema. Diseador de la BD. La funcin de estos usuarios radica en que deben saber identificar los datos necesarios para poder crear los esquemas en los diferentes niveles del desarrollo de una base de datos. Usuarios Normales. Este tipo de usuarios se clasifican en: o Usuarios espordicos. Son los que tpicamente hacen uso de las aplicaciones diseadas por un programador de aplicaciones. o Usuarios simples o paramtricos. Son los usuarios que realizan actividades programadas o de adecuacin establecida por los usuarios diseadores. o Usuarios especializados. Por su nivel de conocimiento tienen la facultad de poder generar transacciones o consultas ms sofisticadas, u obtener informacin de una base de datos.
Actividad 3. Generalidades de los DMBS En la presente actividad practicaras los trminos que comprendiste en los temas previos a esta actividad y a su vez investigars otras caractersticas que complementen tu aprendizaje. Propsito: Distinguir cmo funciona el DBMS. 1. Realiza un mapa mental con los temas vistos previamente y complementa con una investigacin sobre los mismos para que se profundice: las funciones tanto bsicas como especficas del DBMS, los conceptos y generales del DBMS, 20 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 20
usuarios del DBMS, su administracin de la estructura y del sistema manejador los desarrolladores y usuarios finales. 2. Guarda la actividad con el nombre DBD_U1_A3_XXYZ . Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu segundo apellido. 3. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.
1.4. Componentes de un sistema manejador de base de datos Los sistemas administradores de bases de datos son herramientas tecnolgicas que apoyan directamente la gestin de los datos. Este sistema puede crear una base de datos con su estructura lgica para que se pueda manipular los datos y consultar la informacin que contiene. Los componentes bsicos de un DBMS, son: Motor de la base de datos. Este es el servicio principal para almacenar, procesar y proteger los datos que sern incluidos propiamente dentro de la base de datos. De la misma forma el motor es el encargado de crear las bases de datos para el procesamiento, esto incluye la creacin de las tablas, datos y objetos de la base de datos, as como ndices, vistas y procedimientos almacenados. Diccionario de datos. Establece el espacio necesario reservado dentro de una base de datos, utiliza la bsqueda de informacin sobre los usuarios, objetos, esquemas y estructuras de almacenamiento. El diccionario de datos puede contener la informacin de cmo se almacenan los procedimientos, los permisos de los usuarios, las estadsticas de los usuarios, informacin de los procesos, estadsticas sobre el crecimiento y el rendimiento de las bases de datos. Procesador de consultas. Una base de datos relacional se compone bsicamente del motor de almacenamiento, que es quien escribe y lee los datos del disco. Entre los componentes que incluye el procesador de consultas estn los DDL, DML, y el motor de evaluacin de las consultas. Escritura de informes. Tambin conocido como generador de informes, extrae la informacin de uno o ms archivos y la presenta en un formato especificado, tambin puede dar el formato a los datos en grficos circulares, de barras y algunos otros diagramas. 1.4.1. Esquema conceptual Por esquema conceptual de una base de datos se entiende a la representacin de objetos, dicha representacin se puede hacer en base a smbolos, grficos o modelos. 21 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 21
Un esquema conceptual de una base de datos es determinado de forma independiente del sistema administrador de bases de datos. Un modelo conceptual es el lenguaje utilizado para describir un esquema conceptual de la base de datos. En general, es necesario contar con el esquema conceptual ya que nos brindar ideas de cmo se conformara la base de datos. Por ejemplo: Tenemos tres tablas llamadas profesor, materia y alumno, cada una de ellas tiene sus atributos relacionados con ellas mismas y se representan en forma de tablas con sus respectivos atributos; como existe una relacin entre ellas se hace explicita a travs de lneas. En la unidad 2 de esta asignatura vers que cada tabla debe contener una clave principal para hacer referencia a la misma y este esquema es una forma muy grafica de entender que tabla est relacionada con cual y que caractersticas tiene cada una de ellas.
1.4.2. Estructura de la base de datos La estructura bsica de una base de datos consiste en un conjunto de tablas, de las cuales se les asigna un nombre exclusivo y cada tabla representa una relacin entre un conjunto de valores o atributos. En el tema anterior observaste el ejemplo de manera grafica ahora cada una de esas tablas se pueden representar como el siguiente ejemplo: Una tabla llamada ALUMNO, la cual tiene como valores (atributos): numero de alumno, nombre, apellido, fecha de nacimiento, carrera. Una segunda Tabla llamada MATERIA, la cual tiene como valores (atributos): numero de alumno, numero de materia, descripcin, semestre. Dependiendo de la cantidad de informacin de datos en las diferentes tablas que pertenecen a bases de datos y la capacidad de almacenamiento de hardware, la 22 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 22
organizacin y estructura de una base de datos se puede contar con una o mltiples bases de datos. Para el desarrollo y creacin de una base de datos, se podr ver en temas siguientes donde se podrn utilizar diferentes tipos de instrucciones para la creacin de base de datos, tablas y consultas a la informacin almacenada.
1.4.3. Esquema de Integridad El objetivo de un esquema de integridad de bases de datos es proteger los datos contra accesos no autorizados. Incluye aspectos tales como: controles de acceso, controles del sistema operativo, control de accesos sobre permisos de lectura, escritura de los datos. Las restricciones de integridad protegen a la base de datos de daos intencionales o accidentales que repercutan en prdida total o parcial de informacin, adems se puede proteger para evitar modificaciones realizadas a la base de datos por los usuarios autorizados y no den lugar a la prdida en la consistencia de los datos.
Actividad 4. Componentes de un DBMS Es momento de aplicar los que comprendiste sobre los componentes de un DBMS en una situacin especfica que se plantea en sta actividad y as podrs comprobar tus conocimientos de los trminos presentados en el tema previo. Esta actividad tiene como finalidad distinguir los componentes de un DBMS, sus esquemas y estructura. A continuacin te presentamos las indicaciones para que inicies tu trabajo: 1. Realiza en un archivo de texto un esquema conceptual para una base de datos de una farmacia donde existen las tablas de medicamento, cliente y proveedor. 2. En dicho esquema debes incluir los atributos que consideres en cada tabla, mnimo 4 atributos por tabla, para que de esta manera se pueda conocer bien la estructura de dicha base de datos. 3. Por ltimo describe el esquema de integridad que utilizaras y tambin redacta que restricciones se aplicaran a la misma. 4. Recuerda, lo puedes realizar en Word o en microsoft visio.
1. Guarda la actividad con el nombre DBD_U1_A4_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu segundo apellido. 2. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.
Autoevaluacin Para reforzar los conocimientos relacionados con los temas que se abordaron en esta primera unidad del curso, es necesario que resuelvas la Autoevaluacin. Recuerda que es muy importante leer cuidadosamente los planteamientos indicados y elegir la opcin adecuada para cada uno.
Evidencia de aprendizaje: Cuadro Sinptico El propsito de esta actividad de aprendizaje es organizar los conceptos abordados a lo largo de la unidad sobre administracin de una base de datos, funciones de un DBMS, usuarios de un DBMS, componentes de un DBMS, mediante un cuadro sinptico. As que, lee las siguientes instrucciones para comenzar tu evidencia de aprendizaje: 1. En un archivo de texto crea un cuadro sinptico con las definiciones de los siguientes temas: administracin de una base de datos, funciones de un DBMS, usuarios de un DBMS, componentes de un DBMS, puedes utilizar imgenes que creas necesarias para abordar cada definicin. 2. Guarda la evidencia con el nombre DBD_U1_EA_XXYY. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu segundo apellido. 3. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin. 4. Consulta la escala de evaluacin para conocer los parmetros de la actividad.
Autoreflexiones Adems de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses al foro Preguntas de Autorreflexin y consultes las preguntas que tu Facilitador(a) presente. A partir de ellas elabora tu Autorreflexin en un archivo de texto llamado DBD_U1_ATR_XXYZ. Posteriormente enva tu archivo mediante la herramienta Autorreflexiones.
Cierre de la unidad Has concluido la primera unidad del curso. A lo largo de esta recordaste los conceptos bsicos sobre administracin de una base de datos, funciones de un DBMS, usuarios de un DBMS, componentes de un DBMS. Dichos conceptos son tiles debido a que ahora tendrs que comprender las funciones y diferencias de cada uno de ellos y as poder logar el buen control de un DMBS y sobre todo de una base de datos y que sta funcione correctamente. No olvides las caractersticas principales de esta unidad porque te servirn como punto de partida para las siguientes unidades. Es aconsejable que revises nuevamente la unidad en caso de que los temas que se acaban de mencionar no te sean familiares, o no los recuerdes, de no ser este tu caso, ya ests preparado(a) para seguir con la unidad dos, en donde continuars con el tema de Modelado de bases de datos y profundizars en los modelos que existen tales como entidad relacin, jerrquico, de red, relacional, relacional extendido y orientado a objetos, los cuales te servirn para poder disear la base de datos y apliques los conceptos vistos de la unidad, todo lo anterior tiene el fin de obtener el prototipo final cuando termines la ltima unidad de Diseo de bases de datos.
Para saber ms Si deseas saber ms acerca de la Administracin de bases de datos puedes consultar un documento elaborado por el Departamento de Lenguajes y Ciencias de la Computacin de la Universidad de Mlaga, disponible en el siguiente vnculo: Sistemas de Bases de Datos: Introduccin y Conceptos Bsicos para la Administracin y de Bases de Datos Relacionales: http://www.lcc.uma.es/~bds/adminbd/apuntes/ABD1_Intro.pdf
Fuentes de consulta Ceri, Stefano & Pelagatti, Guiseppe. (1984), Distributed Data Bases Principles & Systems, Ed. Mc Graw Hill. Date, C. J. (2001), Introduccin a los Sistemas de Bases de Datos. Mxico, Ed. Pearson Educacin. Solleiro, M. I., Daz de Sandi (2000), Notas de Base de Datos II, Mxico, Edit. Mxico 2000. Silberschat, A., (2002). Fundamentos de Base de Datos, Ed. Mc Graw Hill 25 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 25
Rodrguez, M.A (199), Bases de datos. Espaa, Ed. Mc Graw Hill. Ullman Jeffrey D. (1983). Principal of data base systems, Maryland, Ed. Computer Science Press. James M (1977). Computer data base organization. Englewood Cliffs, N.J. Ed. Prentice Hall.
Clave
150920519
Unidad 2. Modelado de bases de datos Universidad Abierta y a Distancia de Mxico
ndice
UNIDAD 2. Modelado de bases de datos ................................................................................. 3 Presentacin de la unidad........................................................................................................... 3 Propsito ........................................................................................................................................ 3 Competencia especfica .............................................................................................................. 3 2.1. Modelos de datos ................................................................................................................. 3 2.1.1. Modelo Entidad - Relacin ............................................................................................... 4 Actividad 1. Diagrama Entidad Relacin ............................................................................... 8 2.1.2. Modelo Jerrquico ............................................................................................................. 9 2.1.3. Modelo de red .................................................................................................................. 11 Actividad 2. Modelo Jerrquico y de Red ............................................................................... 13 2.1.4. Relacional ......................................................................................................................... 14 2.1.5. Relacional Extendido ...................................................................................................... 19 2.1.6. Orientado a objetos ......................................................................................................... 20 Actividad3. Modelo relacional, relacional extendido y orientado a objetos ....................... 22 Autoevaluacin ........................................................................................................................... 22 Evidencia de aprendizaje. Caso a diagramar ........................................................................ 23 Autoreflexiones ........................................................................................................................... 24 Cierre de la unidad ..................................................................................................................... 24 Para saber ms........................................................................................................................... 24 Fuentes de consulta ................................................................................................................... 25
Presentacin de la unidad
En la unidad anterior trabajaste con los conceptos bsicos necesarios para la administracin de una base de datos, tales como un administrador de base de datos (DBA) y qu es el sistema manejador de base de datos (DBMS), adems de las caractersticas y las funciones que debe tener dicho manejadores. En esta unidad, para dar continuidad a lo anterior, conocers la utilidad de los diferentes modelos de bases de datos que de forma general son la estructura o formato de una base de datos descrita en un lenguaje formal por medio de diagramas. Cada uno de los diagramas de bases es necesario para lograr una estructura de base de datos ntegra, que pueda ser utilizada para diferentes transacciones fiables para el usuario. De cada modelo comprenders las caractersticas, cmo se obtienen y cmo se aplican. Por ello te invitamos a que inicies esta segunda unidad de Modelado de base de datos y recuerda que cualquier duda que tengas sobre algn termino o tema, comntalo con tu Facilitador(a), quien con gusto te orientar.
Propsito
El propsito de esta unidad es que de acuerdo a un texto proporcionado se lleguen a obtener los diagramas de bases de datos basados en los diferentes modelos, para que en etapas posteriores poder tengas el conocimiento para llegar a codificar dichos diagramas y con todo esto lograr una eficaz base de datos para el usuario.
Competencia especfica
Diagramar modelos de bases de datos para definir las estructuras de bases de datos a travs de la seleccin de un modelo que se adapte a la informacin de un caso especfico.
Un modelo de datos unifica y organiza la manera de representar la informacin de un problema dado. En los siguientes subtemas se presentarn los modelos que puedes utilizar para representar diagramas.
Clientes
Representacin entidad clientes
Un atributo es el nombre que se le asigna a las caractersticas de las entidades, siendo sus propiedades descriptivas. Por ejemplo en un cliente sus atributos son: nombre, edad, sexo, direccin. Los atributos se representan con elipses, tal y como se observa en la siguiente imagen:
Clientes
Representacin entidad clientes con sus atributos.
Al enlace que une a las entidades se le conoce como relacin, que es la asociacin entre dos entidades, y se representa mediante flechas y rombos, como en la siguiente imagen:
Edad Nombre
Clientes
Compra
Productos
Ahora presta atencin al ejercicio 1 como ejemplo de este tipo de modelo: Ejercicio 1 Hacer el diagrama entidad - relacin para una entidad llamada Profesor, con los siguientes atributos: no. empleado, nombre, sexo, profesin, que imparte clase a muchos Alumnos con atributos: matricula, nombre. Observa cmo quedara lo que se solicit en las instrucciones:
Profesor
Imparte clases
Alumnos
Solucin al ejercicio 1.
Las Reglas para este modelo serian: No debe existir ms de un identificador principal, si existieran, estos serian alternativos. La entidad en general, debe tener mnimo un atributo denominado identificador o clave primaria.
Existen tambin Normas para los diagramas E-R, que son: Emplear nombres para las entidades, y verbos en las relaciones. En las relaciones, siempre usar lneas rectas, sin cruzarlas. En cada entidad interviene una relacin con una determinada cardinalidad (tipos de relaciones), de las cuales existen cuatro posibles:
1:1 Uno a Uno: una entidad se relaciona nicamente con una entidad y viceversa. Ejemplo: en la relacin libro - ISBN, cada libro tiene una nica ISBN, y cada ISBN corresponde a un nico libro. 1:N Uno a Varios: una entidad se relaciona con muchas de la otra entidad. Ejemplo: en la relacin cliente coche, un cliente puede comprar muchos coches, pero un coche pertenece a un nico dueo.
N:1 Varios a Uno: varios de la primera entidad se relacionan con uno de la segunda entidad. Ejemplo: en la relacin Empleado-rea de trabajo, un empleado puede trabajar en varias reas de trabajo. N:M Varios a Varios: muchos de la primera entidad se pueden relacionar con muchos de la segunda entidad. Por ejemplo, la relacin Empleado empresas, donde muchos empleados trabajan en una empresa y un empleado puede trabajar en varias empresas.
Ejercicio 2 Ahora observa el ejercicio 2, que es un ejemplo para realizar, en base a las reglas, el modelo E-R: A la clnica La sanacin le interesa una base de datos para llevar el control de sus pacientes y doctores. De los pacientes se guarda su cdigo, nombre, fecha de nacimiento; de los doctores se guarda su no. Empleado, nombre, telfono y especialidad. Se interesa guardar de los ingresos el cdigo de ingreso, fecha de ingreso y habitacin. Un doctor puede atender varios ingresos, pero cada ingreso solo puede ser atendido por un doctor; un paciente puede realizar varios ingresos. Observa cmo quedara lo que se solicit en las instrucciones:
Fecha de nacimiento
Nombre Telfono Especialidad
Cdigo
Nombre
Doctor
Atiende
Paciente
Realiza
No.
empleado
Ingresos
Habitacin Cdigo de ingreso fecha
Solucin al ejercicio 2.
Ahora veamos otra situacin: cuando hablamos de una relacin varios a varios (muchos a muchos) puede llevar atributos propios, por ejemplo: un cliente puede rentar muchas pelculas y una pelcula puede ser rentada por un cliente en diferentes momentos.
Nombre Clave
Clave
Nombre
Cliente e
Fecha de devolucin
Pelculas
Renta
Fecha de renta
Para concluir el tema podemos decir que el modelo entidad relacin es conveniente que se realice antes de realizar la base de datos, ya que es el fundamento para obtener los atributos necesarios para cada entidad y las relaciones adecuadas entre cada atributo.
Caso. Se desea realizar una base de datos para un biblioteca donde se guarda informacin de los libros como ISBN, ttulo, autor; de cada libro existen ejemplares de los que se guarda el nmero de ejemplar y su clave propia, tambin se guarda el control de los usuarios que se llevan los ejemplares; de los usuarios interesa saber su cdigo, nombre y direccin, adems de guardar la fecha de prstamo y devolucin cuando sacan el ejemplar. 2. 3. 4. Identifica las entidades, atributos y relaciones del caso. Realiza en un archivo de texto el diagrama del caso segn corresponda, tomando en cuenta las caractersticas del modelo E-R Guarda y enva en un archivo la actividad con el nombre DBD_U2_A1_XXYZ, sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu segundo apellido.
5.
1) Segmento padre: es aqul que tiene descendientes, todos ellos localizados en el mismo nivel.
Segmento padre
2) Segmento hijo: es aqul que depende de un segmento de nivel superior. Todos los hijos de un mismo padre estn en el mismo nivel del rbol.
Segmento hijo
3) Segmento raz: el segmento raz de una base de datos jerrquica es el padre que no tiene padre, es decir, siempre es nico y ocupa el nivel superior del rbol.
Ahora observa el ejercicio 3, el cual te demostrar una solicitud del modelo jerrquico:
Una empresa con sucursales centraliza sus compras, para lo cual utiliza una base de datos jerrquica en donde en el segmento raz se almacenan los datos de los proveedores como su nombre y clave.; en el segundo nivel hay tres segmentos: en el primero se guardan los datos de la direccin como son calle, nmero, ciudad; en el segundo se almacenan los datos de los productos, y en ltimo se guardan las ofertas y promociones; en el tercer nivel se encuentran las reas de distribucin, y dependen del segmento de los productos. El resultado de lo solicitado es el siguiente:
Datos proveedores
Productos
Direccin
Promocion es
reas de distribucin
Solucin al ejercicio 3.
La implementacin del modelo jerrquico es fundamental debido a que hace posible ordenar adecuadamente la ubicacin de cada una de las entidades y los atributos de cada una de ellas.
Algunas de las caractersticas o bases del modelo de red son las siguientes: El registro, el cual representa a un nodo de la red. El elemento, el cual es un campo de datos que se deriva del nodo. El agregado de datos, que define los nombres o conjuntos de nombres de los campos.
Para comprender mejor la estructura del modelo de red y cmo se grafica, se presentan los siguientes ejercicios. Ejercicio 4: Las instrucciones son las siguientes Se tienen casas, personas y ciudades; una persona solo puede vivir en una casa, y la casa solo puede estar en una ciudad; una persona puede ser duea de varias casas. Una persona puede ser padre de familia de otra persona.
Es padre de
Vive
Ciudad
Otra forma de representar el modelo de red es remplazando los crculos por cuadros que contienen los atributos. Tal como se muestra en el siguiente ejemplo, en cual tiene como entidades a curso, profesor y alumno; el curso cuenta con clave, ttulo y descripcin, tal curso se oferta de tres maneras: centro, sitio, forma. Para poder acceder al curso se tiene como Requisito: claveC, ttulo. El curso se ofrece por un Profesor (Idprofesor, Nombreprof) y es tomado por alumnos (Matricula, Nombrealumn). Ahora observa cmo quedara:
CURSO ClaveC REQUISITO ClaveC Titulo PROFESOR IDprofeNombreprof ALUMNO Titulo Descripcin OFERTA Centro Sitio Forma
Matricula Nombrealumn
Segunda forma de representar el modelo de red. Para finalizar, podemos generalizar que el modelo jerrquico es parecido a un rbol, en el que cada rama es un registro padre que contiene hojas o registros hijos, los cuales pueden ser varios; sin embargo, el modelo de red puede tener varios registros padres ligados a los registros hijos, lo que forma la estructura tipo red y lo diferencia del modelo jerrquico.
2. 3. 4.
5. 6. 7. 8. 9. 10.
como saln, edificio, etc., y el tercer segmento se llama Material y guarda la lista de materiales necesarios para cada curso. Identifica sus entidades, atributos y relaciones Realiza el diagrama jerrquico. Del texto siguiente: Una agencia vendedora de automviles guarda registro de los mismos considerando su matrcula, modelo y color; un automvil puede ser vendido a un solo cliente, pero un cliente puede comprar varios autos; de los clientes se guarda su RFC y su nombre. Identifica sus entidades, atributos y relaciones. Realiza el diagrama de red. Ingresa al foro y participa. Comparte tus resultados acerca de qu entidades y atributos encontraste para cada caso y cmo se relacionan. Contribuye con algn comentario por lo menos a dos de tus compaeros(as). Con base en las aportaciones de tus compaeros(as), elabora tus conclusiones y deja tu evidencia en el foro.
2.1.4. Relacional
El modelo relacional es una de los ms difundidos y utilizados, debido a que ofrece sistemas ms simples y eficaces para la representacin y manipulacin de los datos; a continuacin se define el modelo y cmo se representa. Una base de datos relacional consiste en un conjunto de tablas, a cada una de las cuales se le asigna un nombre exclusivo. Cada tabla tiene una estructura parecida a la presentada donde se representaron las bases de datos E-R mediante tablas. Cada fila de la tabla representa una relacin entre un conjunto de valores. Dado que cada tabla es un conjunto de dichas relaciones, hay una fuerte correspondencia entre el concepto de tabla y el concepto matemtico de relacin, del que toma su nombre el modelo de datos relacional. (Silberschatz&Korth, 2002: 53) Sintetizando lo anterior: la base de datos relacional no es ms que un conjunto de tablas tomadas del modelo E-R, las cuales se forman tomando en cuenta el tipo de cardinalidad que existe entre atributos, logrando una correspondencia entre valores de las diferentes entidades del modelo. Analiza el siguiente ejercicio y realiza el modelo relacional. Ejercicio 5
Se cuenta con la tabla llamada Jugador, dicha tabla cuenta con tres atributos que son: No. Jugador, Nombre y Posicin_de_juego. A continuacin se representa el modelo relacional y la entidad relacin de dicha tabla.
Cuando ingresas nombres de campos en una tabla, no debe de llevar espacios en blanco, por lo que se le puede agregar un guion.
No. jugador
Nombre
Jugador
Posicin_de_juego
Es importante conocer que existen reglas para convertir de modelo Entidad-Relacin a Relacional, debido a que de esto depende lograr un buen modelo antes de crear la base de datos, detectando los atributos que se relacionarn con cada entidad. Considera los siguientes puntos para hacer la transformacin de manera correcta: 1. Toda Entidad del modelo entidad-relacin se transforma a tabla. 2. Toda Entidad del modelo entidad-relacin debe tener una nica clave y para distinguirla se va a subrayar. 3. Verificar la cardinalidad, es decir, si dos entidades se relacionan 1:1, 1:N, N:1 o N:M,debers conceptuar las acciones descritas a continuacin:
a. Si es 1:1 (uno a uno), la clave de cualquiera de las entidades pasa a la otra entidad. b. Si es 1:N o N:1 (uno a muchos o muchos a uno), la clave de la entidad que tiene la cardinalidad 1 pasa a la tabla de la entidad que tiene el muchos. c. Si es N:M (muchos a muchos), se crea una nueva tabla con el nombre de la relacin y se deben poner las dos claves de ambas tablas, y tambin si tiene atributos propios. Lee con atencin el ejercicio 6.1 y realiza el modelo E-R. Ejercicio 6.1 Relacin 1:1 (un cliente solo puede rentar una pelcula y la pelcula solo puede llegar a ser rentada por un solo cliente). En base a la oracin presentada, obtener el modelo E.R.
clavepel
Pelculas Cliente
Renta
Solucin al ejercicio 6.1. Sobre la base del modelo entidad - relacin, se puede observar que la tabla CLIENTE y PELCULAS tienen una relacin 1:1 llamada Renta, debido a esto al formar el modelo relacional enviando cualquier clave primaria de una de las tablas a la otra, por tal motivo puede quedar graficado como cualquiera de las siguientes imgenes:
TABLA PELICULAS Clavepel Titulo Descripcin TABLA PELICULAS Clavepel Titulo clave
Ejercicio 6.2
Relacin 1:N (un cliente puede rentar muchas pelculas y una pelcula solo puede ser rentada por un nico cliente). En base a la oracin presentada, obtener el modelo E.R.
clave
nombre
Titulo
Clavepel
Cliente
renta
Pelculas
Solucin al ejercicio 6.2. En este caso se muestra una relacin 1:N, donde la clave de 1 (CLIENTE) pasa a la de muchos (PELICULA), para formar el modelo relacional.
Ahora lee con atencin el ejercicio 6 .3 y realiza el modelo E-R. Ejercicio 6.3 Relacin N:M (un cliente puede rentar muchas pelculas y una pelcula puede ser rentada por muchos clientes en diferentes momentos). En base a la oracin presentada, obtener el modelo E.R. nombre clave nombre
clave
Pelculas Cliente
Fecha de devolucin
Renta
Fecha de renta
Solucin al ejercicio 6.3. En este caso se muestra una relacin N:M, donde, para crear relacin entre tablas, se crea una nueva entidad nombrada como la relacin, en este caso Rentas, la cual contiene los atributos clave de cada entidad, adems de sus propios atributos, para una mejor representacin.
TABLA RENTAS
clave FechaderentaFechadedevolucin
Cada uno de los ejercicios presentados muestran casos con cardinalidad diferente, adems que se presentan los modelos E-R y relacional de cada caso, lo que te permite clarificar las dudas que hayas tenido de los puntos presentados.
Concluyendo con este subtema, se puede expresar que no slo debemos conocer el modelo entidad - relacin para crear una correcta base de datos, sino que es de suma importancia conocer y comprender las reglas que rigen al modelo relacional, debido a que gracias a ellas podemos crear el modelo relacional que indica de forma clara cmo se conformarn las verdaderas tablas de una base de datos,
Estudiante y Profesor son las subclases, las cuales tienen similitud con algunos atributos de su superclase. A continuacin se muestra la representacin del modelo relacional extendido, en donde se tiene como entidades a Empleados, almacenista, secretaria, vendedor. Empleado es una superclase, que tiene como subclases a almacenista, secretaria, vendedor, cada uno de ellos tiene o cuenta con sus propios atributos.
Clave
Nombre
Generalizacin Empleados
Almacenista
Experiencia
Secretaria
Velocidad de tecleo
vendedor
Especializacin
No. licencia
Generalizando: dentro del modelo orientado a objetos, una variable es la representacin de cada atributo de una entidad, la cual puede contener mtodos a los que se accede por medio de un par de mensajes del objeto al que corresponde. Dicha variable se utiliza para guardar el valor del atributo, sin embargo, el mensaje es utilizado para actualizar el valor de dicha variable. Por ejemplo, de una entidad llamada Profesor se tiene el atributo profesin, el cual se puede representar mediante: Variable: profesin. Mensaje: obtener-profesin, cuya respuesta sea la profesin del profesor. Otro mensaje: establecer-profesin, que necesita un parmetro nueva-profesin, para actualizar la profesin del profesor. Cabe mencionar que este modelo se utiliza cuando se va a realizar la programacin necesaria para acceder a las base de datos, tomando en cuenta las entidades y atributos de dicha base de datos a utilizar. Analiza el ejercicio 7 y realiza el modelo orientado a objetos. Ejercicio 7 Para ejemplificar de forma sencilla el modelo orientado a objetos, se tiene la entidad Automvil, la cual cuenta con una serie de atributos tales como marca, modelo y color. Los mensajes o mtodos que puede tener este objeto tomando en cuenta la entidad son: frenar, acelerar y retroceder, todo depende de la instruccin que se le d a la entidad Automvil al acceder a sus mtodos.
Atributos
Mtodos
Solucin al ejercicio 7.
3.
4.
5.
Autoevaluacin
Para reforzar los conocimientos relacionados con los temas que se abordaron en esta segunda unidad del curso, es necesario que resuelvas la actividad de autoevaluacin. Recuerda que es muy importante leer cuidadosamente los planteamientos indicados y elegir la opcin adecuada para cada uno.
Instrucciones: 1.- Lee el siguiente caso: Se desea informatizar la gestin de una tienda informtica. La tienda dispone de una serie de productos que se pueden vender a los clientes. De cada producto informtico se desea guardar el cdigo, descripcin, precio y nmero de existencias. De cada cliente se desea guardar el cdigo, nombre, apellidos, direccin y nmero de telfono. Un cliente puede comprar varios productos en la tienda y un mismo producto puede ser comprado por varios clientes. Cada vez que se compre un artculo quedar registrada la compra en la base de datos junto con la fecha en la que se ha comprado el artculo. La tienda tiene contactos con varios proveedores, que son los que suministran los productos. Un mismo producto puede ser suministrado por varios proveedores. De cada proveedor se desea guardar el cdigo, nombre, apellidos, direccin, provincia y nmero de telfono. 1. Guarda en un documento de Word todos los modelos que realizars en los siguientes puntos. 2. Obtn del caso presentado las entidades y atributo de cada entidad. 3. Relaciona las entidades, usando un nombre en cada relacin. 4. Asigna la cardinalidad correspondiente segn indica el caso. 5. Realiza el modelo Entidad Relacin. 6. Una vez terminado el modelo E-R, realiza las tablas del modelo Relacional. 7. Con la informacin del caso, toma una entidad y realiza el modelo Orientado a objetos. 8. Guarda la actividad con el nombre DBD_U2_EA_XXYZ, sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu segundo apellido. 9. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin 10. Consulta la escala de evaluacin para conocer los parmetros de la actividad.
Autoreflexiones
Adems de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses al foro Preguntas de Autoreflexin y consultes las preguntas que tu Facilitador(a) presente. A partir de ellas elabora tu Autorreflexin en un archivo de texto llamado DBD_U2_ATR_XXYZ. Posteriormente enva tu archivo mediante la herramienta Autorreflexiones.
Cierre de la unidad
Has concluido la segunda unidad del curso. A lo largo de esta se vieron conceptos bsicos sobre los diferentes modelos utilizados para la representacin de diagramas, los cuales ayudarn a lograr fiables bases de datos. Cada uno de los modelos te ayudar a organizar y obtener mejores bases de datos y de forma oportuna, identificars si los campos o entidades que ests definiendo en una BD son los correctos, y si los atributos que se presentan en cada entidad son los necesarios para implementar una BD que pretendas desarrollar. Un punto importante que debes tomar en cuenta son las relaciones que generas entre entidades y sus atributos, debido a que si no estn conectadas no logrars hacer funcionar adecuadamente la insercin, actualizacin o modificacin de datos en tu BD. Es aconsejable que revises nuevamente la unidad en caso de que los temas que se acaban de mencionar no te sean familiares o no los recuerdes, de no ser este tu caso, ya ests preparado(a) para seguir con la unidad tres, en donde continuars con todo ello, con el fin de obtener el prototipo final de una base de datos.
Para saber ms
Si deseas conocer ms sobre los modelos de bases de datos que existen, consulta la siguiente direccin. Complejo Tecnolgico, Campus de Teatinos 29071 Mlaga. (Espaa), abril 2012 http://www.lcc.uma.es/~galvez/ftp/bdst/Tema2.pdf. ndex del sitio: http://www.lcc.uma.es/
Fuentes de consulta
Date C.J. (2001) Introduccin a los Sistemas de Bases de Datos, 7ma Edicin, Ed. Addisson Wesley Longman. Silberschatz A. & H. F. (2002) Fundamentos de Bases de Datos, 4ta Edicin, Ed. Mc Graw Hill. Ramez E.&Shamkant B. Sistemas de Bases de Datos, 2da Edicin, Ed. Navathe
Programa de la asignatura Diseo de Base de Datos Clave 150920519 Unidad 3. Implementacin de Bases de datos Clave: 150920519
Universidad Abierta y a Distancia de Mxico
Propsito
Los propsitos de esta unidad son: Comprender los operadores del lgebra relacional y las operaciones lgicas del clculo relacional necesarias para complementar las bases de datos. Sobre la base del modelo relacional implementado, realizar bases de datos y consultas de las mismas mediante el uso de comandos SQL, tomando en cuenta los dispositivos de almacenamiento necesarios para el resguardo de las bases de datos.
Competencia especfica
Implementar bases de datos para administrar informacin de un caso especfico mediante el uso de los diferentes modelos de manipulacin de bases de datos.
Para aplicar estos conceptos recuerda que una base de datos se forma de tablas relacionadas entre s, de manera que a los operadores del lgebra son a los que en lgebra relacional se les denomina relaciones. Entonces para comprender qu es el algebra relacional, es vlido describirla como el conjunto de operaciones que se aplican sobre relaciones en una BD. Con todo lo descrito anteriormente podemos resumir que: lgebra relacional: es un lenguaje procedimental, es decir, se indica qu y cmo.
A continuacin se explica cada una de estas tcnicas y cmo funcionan, todo esto para que diferencies en qu caso te conviene aplicar cada una de ellas al momento de consultar informacin de una BD. De cada una de las tcnicas se muestra un ejemplo de tablas y, posteriormente, cmo quedara la tabla resultante al aplicar dicha tcnica. Unin Como su nombre lo dice, este operador une o junta en una misma relacin las tuplas o registros de dos relaciones diferentes. Estas se encuentran condicionadas a que sean compatibles, es decir, el mismo tipo de atributos, y se expresa de la siguiente manera. Tabla clientes contado ID NOMBRE 98 Juan Lpez 99 Arturo Jimnez Tabla clientes crdito EDAD 33 23 ID 14 15 NOMBRE Mnica Ramos David Hernndez EDAD 25 36
Diferencia Es la resta de dos relaciones o tablas, generando una nueva relacin donde de la primera se quitan aquellos registros que coincidan. Dicho de otra manera: se quedan aquellos registros que estn en la primera pero no en la segunda. De la misma manera que en caso de la unin, ambas tablas deben tener los mismos atributos para que sean posibles. Tabla clientes ID NOMBRE 98 Juan Lpez 99 Arturo Jimnez 100 Jaime Reyes Tabla cliente contado EDAD 33 23 38 ID 98 15 NOMBRE Juan Lpez Margarita Jurez EDAD 33 42
ID 99 100
EDAD 42
Producto cartesiano Define una relacin que es la unin de cada fila de una entidad con la fila de otra entidad. Clientes ID NOMBRE 98 Juan Lpez 99 Arturo Jimnez Productos EDAD 33 23 IDpro 23 24 25 DESCRIPCION MANZANA SALSA ROJA AZUCAR UNIDAD KG PZ KG
Resultado de aplicar el operador de producto cartesiano: IDpro DESCRIPCION UNIDAD ID NOMBRE EDAD 23 MANZANA KG 98 Juan Lpez 33 24 SALSA ROJA PZ 99 Arturo 23
25 23 24 25
KG KG PZ KG
98 99 98 99
33 23 33 23
Seleccin Se extrae una nueva tabla con los mismos atributos que cumplen con la condicin especificada. Y se simboliza con: Tabla clientes ID NOMBRE 98 Juan Lpez 99 Arturo Jimnez 14 Mnica Ramos 15 David Hernndez edad>= 34 aos (clientes) EDAD 33 23 25 36 ID 15 NOMBRE David Hernndez EDAD 36
Proyeccin Produce una tabla como resultado con los atributos que se especifican, eliminando las filas duplicadas; su smbolo es: Tabla Clientes ID NOMBRE 98 Juan 99 Arturo 14 Mnica 15 David 33 Juan
Nombre, Edad (Clientes) NOMBRE EDAD Juan 33 Arturo 23 Mnica 25 David 36 Juan 25
Interseccin Es el resultado de aquellos registros que se encuentran en ambas tablas; y su smbolo es: Tabla clientes contado ID NOMBRE EDAD 98 Juan Lpez 33 99 Arturo Jimnez 23 Tabla clientes crdito ID 14 15 99 NOMBRE Mnica Ramos David Hernndez Arturo Jimnez EDAD 25 36 23
Join (unin natural) Es el resultado de unir dos relaciones, combinando los atributos de las dos (pero solo de aquellas que tengan en comn)- Para lograr este join las entidades deben tener un atributo en comn, y se simboliza *. Tabla Empleados ID NOMBRE 98 Juan Lpez 99 Arturo Jimnez 14 Mnica Ramos 15 David Hernndez Tabla Puestos EDAD 33 23 25 36 IDP 98 99 99 114 IDP 98 99 PUESTO Almacenista Vendedor
ID
NOMBRE
PUESTO
Divisin o cociente Es el conjunto de atributos en dos relaciones en donde la segunda relacin esta incluida en la primera. Y se representa con . TABLA CLIENTES ID 98 99 14 15 EDAD 33 23 25 33 CLIENTES EDAD PROMEDIO ID 98 99 15 Retomando todo lo anterior y ya conociendo todas las tcnicas que existen en el lgebra y en qu momento se puede aplicar cada una de ellas, te dars cuenta que se convierten en una herramienta bsica para la manipulacin de los datos en una base de datos, tambin piensa que se pueden combinar entre ellas y aplicar una sobre otra, haciendo la obtencin de la informacin ms simple y sobre todo rpida para llegar al resultado. TABLA EDAD PROMEDIO EDAD 23 33
10
La forma de expresar una consulta en clculo de tuplas est dada por: { t / P ( t )} De manera que, suponiendo una base de datos de una empresa que se dedica al diseo de sistemas, y tiene dos tablas de empleados (una contiene los datos de los programadores y otra los de analistas) y la consulta que se desea es obtener todos los empleados de la empresa, se expresara de la siguiente forma: {t| (t Programadores) (t Analistas) } La anterior consulta define. De los trabajadores que existen, se quiere saber cuales son programadores o analistas. Ahora, si de esta misma base de datos se necesita saber los empleados que hacen las dos funciones, es decir, que son programadores y analistas al mismo tiempo, la expresin sera la siguiente: {t| (t Programadores) (t Analistas) } Otro caso: se quiere saber los empleados que son programadores, pero no analistas. {t| (t Programadores) (t Analistas) } Ahora que ya sabes como expresar consultas a modo de clculo de tuplas, vas a revisar la siguiente tcnica para expresar consultas a modo de clculo de dominio
11
12
13
14
tabla alumno Matricula Nombre 15245 Juan Prez tabla materia Clave Nombremateria materia A23 Algebra A24 Espaol tabla relacin materia-alumno Matricula Clavemateria 15245 A23 15245 A24
Telfono 7777777
calificacin 80 100
Cada una de estas tablas proviene de ciertas entidades con sus respectivos atributos, y considerando el tipo de relacin que tengan, se generar la base de datos. Una vez que recordaste cmo pasar de un modelo entidad - relacin a relacional, y ya conoces el origen del nombre del modelo relacional y cmo se representa, en el siguiente tema estudiars especficamente lo que son la tablas y los esquemas.
Matricula 15245
Telfono 7777777
Dentro de las tablas tambin se encuentra la manera en que se relaciona con otras tablas, dando origen a una nueva forma de representar una base de datos a travs de un esquema, el cual es usado en el momento de programar la base de datos en su lenguaje, y por ello es conveniente asignarle un nombre para posteriormente hacer referencia al mismo. Existen convencionalismos para hacerlo y estn dados por lo que a continuacin se presenta:
15
16
Los DDL ( Lenguaje de Definicin de Datos), que permiten crear y definir nuevas bases de datos, campos e ndices. Los DML (Lenguaje de Manipulacin de Datos), que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
En la siguiente tabla se mencionan y describen algunos de los comandos de SQL. COMANDOS DLL CREATE Utilizado para crear nuevas tablas COMANDOS DML SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
DROP
INSERT Utilizado para cargar lotes de datos en la base de datos en una nica operacin.
ALTER Utilizado para modificar las tablas, agregando campos o cambiando la definicin de los campos.
UPDATE Utilizado para modificar los valores de los campos y registros especificados
17
Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular, a continuacin se muestran algunas de ellas. FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros
WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico. A continuacin se muestra una instruccin utilizando el comando CREATE para crear una base de datos: Createdatabase alumnos: esta instruccin crea la base de datos alumnos Operadores Lgicos
AND: el resultado debe cumplir ambas expresiones antes y despus del and para dar el resultado deseado. OR: el resultado est en funcin de si una u otra expresin se cumple. NOT: el resultado invierte la condicin de la expresin.
Operadores Relacionales
a<b a>b
a<> a
a es menor que b a es mayor que b a es distinto que b a es menor o igual que b a es mayor o igual que b
a<=b a>=b
,(
18
Funciones Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor que se aplica a un grupo de registros. AVG COUNT Utilizada para calcular el promedio de los valores de un campo determinado Utilizada para devolver el nmero de registros de la seleccin
SUM Utilizada para devolver la suma de todos los valores de un campo determinado MAX MIN Utilizada para devolver el valor ms alto de un campo especificado Utilizada para devolver el valor ms bajo de un campo especificado
La sintaxis bsica para crear una base de datos en SQL es: CREATE DATABASE nombre_base de datos Cuando ya ha sido creada la base de datos, lo siguiente es crear las tablas, para lo cual se debe conocer primero los tipos de datos que se pueden utilizar, y estos varan dependiendo del manejador de bases de datos que se utilice, sin embargo la mayora reconoce estos tipos de datos.
Tipo de de dato
VARCHAR(tamao)
Caractersticas
Almacena cadenas de caracteres de una longitud variable. La longitud mxima son 4000 caracteres. Almacena caracteres con una longitud fija. Siendo 2000 caracteres el mximo
CHAR(tamao)
Almacena datos numricos, tanto enteros como decimales, con o sin signo. Precisin, indica el nmero mximo de NUMBER(precision,escala) dgitos que va a tener el dato. Escala, indica el nmero de dgitos que puede haber a la derecha del punto decimal. LONG Almacena cadenas de caracteres de longitud variable. Puede almacenar hasta 2 Gb de informacin Almacena informacin de fechas y horas. De forma predeterminada almacena un dato con el siguiente formato: siglo/ao/mes/dia/hora/minutos/segundos. Este formato se puede cambiar con otros parmetros.
DATE
19
Una vez que sabes los tipos de datos se muestra un ejemplo de cmo se crea una tabla: CREATE TABLE nombre_tabla (nombre_columnatipo_columna [ clusula_defecto ] [ vnculos_de_columna ][ , nombre_columnatipo_columna [ clusula_defecto ] [ vnculos_de_columna ] ... ] [ , [ vnculo_de tabla] ... ] ) nombre_columna: es el nombre de la columna que compone la tabla.. tipo_columna: es la indicacin del tipo de dato que la columna podr contener. clusula_defecto: indica el valor de defecto que tomar la columna si no se le asigna uno explcitamente en el momento en que se crea la lnea. La sintaxis que hay que usar es la que se indica en el ejemplo siguiente: Ejemplo: antes de crear tablas debes conocer cmo crear las claves primarias y las claves forneas que vienen de otra relacin.
las definiciones de las llaves externas: FOREIGN KEY ( columna1 [ , columna2 ... ] ) definiciones_de_referencia
Cuando ya se tienen las tablas creadas, lo siguiente es el manejo o manipulacin de los datos, tales como agregar, eliminar y modificar datos: Para aclarar mejor el uso de la instruccin CREATE TABLE, veamos algunas rdenes que implementan la base de datos ejemplificada. CREATE TABLE Ventas ( ID INTEGER PRIMARY KEY, nombreclienteCHAR(18) NOT NULL ); Esta instruccin crea la tabla Ventas y solo contiene el atributo ID de tipo Integer y nombrecliente de tipo char con 18 caracteres, id es la clave primaria, y se est poniendo como requisito que el nombre de cliente s tenga datos, al no permitir nulos. CREATE TABLE libro (ID INTEGER PRIMARY KEY, titulo VARCHAR(160) NOT NULL, publicacin INTEGER NOT NULL, volumen VARCHAR(16), series VARCHAR(160),
20
INSERT INTO nombre_tabla[ (lista_campos ) ] VALUES ( lista_valores ) nombre_tabla es el nombre de la tabla en la que se tiene que incluir la nueva lnea. lista_campos es la lista de los nombres de los campos a los que hay que asignar un valor, separados entre s por una coma. Los campos no incluidos en la lista tomarn su valor por defecto o NULL si no lo tienen por defecto. Es un error no incluir en la lista un campo que no tenga un valor por defecto y que no pueda tomar el valor NULL. En el caso en que no se especifique la lista, habr que especificar los valores de todos los campos de la tabla. Como ya viste, la a sintaxis bsica de una consulta de seleccin es la siguiente: SELECT Campos FROM Tabla; En donde Campos es la lista de campos que se deseen recuperar y Tabla es el origen de los mismos, por ejemplo: SELECT Nombre, Telfono FROM Clientes; Usando estas consultas, y combinando con los operadores lgicos, relacionales y las funciones, podrs lograr consultas ms avanzadas. Una consulta es usada con vistas y estas son aplicadas en el siguiente tema.
21
Crate view autores_mexicanos as (Select id_autor, nombre_autor From autores Where pas = Mexico)
Cuando definimos la vista, sta puede ser utilizada en cualquier momento, mientras se haga referencia a ella, pero debemos de tener cuidado cuando se modifiquen las relaciones de las tablas a las que hace referencia la vista, debido a que puede generar errores en la consulta interna de la vista. Por tal motivo, el sistema gestor de vistas guarda slo la vista creada y no el resultado que arroja cuando se manda llamar.
22
Tomando en cuenta las tablas siguiente, mediante SQL se tiene la creacin de vistas de la siguiente manera.
Una Tabla, con Mltiples vistas Se puede tener muchas vistas de la misma tabla. Tabla empleados No. Nombre Puesto Fecha-nac Salario Extras Empleado 2334 Juan Supervisor 17-dic-80 6000 0 5677 Alejandra Secretaria 20-Feb-81 4000 2000 3456 Arturo Supervisor 23-Ago-75 7000 0 Vista de secretarias Nombre puesto Alejandra Secretaria salario 4000
No.depto 45 46 56
Cmo crear, Nombrar y Consultar Vistas SQL> CREATE VIEW SELECT FROM WHERE secretaria Empleados Puesto= secretaria; AS
Se puede utilizar cualquier SELECT que contenga un ORDER BY cuando crea una vista. Para consultar una vista, se hace un SELECT como si la vista fuera una tabla. SQL> SELECT * FROM Secretaria;
Creando VISTAS con ALIAS de nombres de columnas A menos que se especifique lo contrario, la vista hereda los nombres de las columnas de la tabla de la que se deriva.
23
(PERSON,TITLE,SALARY)
Razones para copiar tablas y vistas: Respaldar tablas y vistas originales. Dar una copia a alguien ms. Hacer cambios tentativos. Archivarlas antes de borrarlas.
Borrado de Vistas. Cuando no se necesitan o simplemente se quiere eliminar una vista previamente ejecutada, se requiere de ciertos comandos, como los que a continuacin se muestra. Para borrar vistas. El comando de SQL es DROP VIEW nombre_vista. Las tablas en las que se basa la vista no se alteran. Las vistas pueden llegar a simplificar el uso de consultas y hacen que la informacin de cmo elaborar la consulta no est al 100% disponible para el usuario al permitir renombrar la consulta con un nombre especfico. A continuacin seguirs con una actividad, para posteriormente profundizar en consultas.
24
2. Crea con instrucciones de SQL la base de datos. 3. Crea con instrucciones SQL las tablas. 4. Crea una vista que convenga realizar, puede ser sobre una tabla, la que t desees. 5. Guarda y enva la actividad con el nombre DBD_U3_A2_XXYZ.
25
Estos lenguajes estn soportados para la facilidad de manipulacin de consultas, de tal forma la interfaz de usuario del QBE y SQL interactan para obtener el modelo relacional grfico. Estos programas hacen por s solos el esquema de la base de datos y con clic se pueden seleccionar claves primarias y arrastrar para que se conviertan en claves forneas. Y mediante la seleccin de lo que se desea saber a travs de ayuda y asistentes o simplemente de manera grfica, se obtiene la consulta. QBE tambin est soportado por otras compaas. Borland, ofrece PARADOX como una versin de funcionalidad completa del QBE, el cual incluye la definicin de tablas. A pesar de que la sintaxis es ligeramente diferente de la de IBM, el lenguaje tiene mucha similitud. Lotus 123 tambin ofrece un lenguaje simple de consultas de base de datos, que usa un enfoque parecido al de QBE, debido a que el QBE permite que los usuarios no tcnicos formulen fcilmente sus consultas.
26
Resultados de consulta simple. En la consulta ilustrada se puede observar que se utilizaron tres clusulas bsicas usadas en SQL:
27
Otra variante de la consulta anterior, donde se toman todas las columnas de la tabla, donde el smbolo * en la clusula select significa que muestre la fila completa. Se tiene lo siguiente. Consulta: Quines son los clientes de convenio? Select * From Cliente Where tipocliente = convenio Resultado: La siguiente imagen se muestra el resultado de la consulta simple mostrando todos los campos de la tabla.
Resultados de consulta simple mostrando todos los campos de la tabla. Fuente: imagen propia Se muestra a continuacin otro ejemplo: Consulta: Qu productos tienen precio entre $150 y $200? SELECT ean, nomproducto, preproducto, precfarmacia, descuento, fechaoferta, precpublico FROM Ofertas WHERE (precpublico>= 150) AND (precpublico<= 200) ORDER BY nomproducto DESC
28
Resultado de consulta simple con variacin de operadores en la clusula where Resultado: La imagen anterior muestra el resultado de la consulta, ntese que agrega unas caractersticas adicionales a la clusula where, tales como los operadores de comparacin y el conector booleano And. Aqu cabe destacar que existen seis operadores de comparacin: = (igual), <> (no igual), < (menor que), > (mayor que), <= (menor e igual que), >= (mayor e igual que), estos pueden ser utilizados para comparar las columnas con otras columnas; los conectores booleanos AND, OR, NOT, pueden ser utilizados para la creacin de condiciones compuestas o para negar una condicin. Los parntesis tambin pueden usarse en la forma acostumbrada de los lenguajes de programacin, donde son utilizados para agrupar condiciones. Tambin es comn utilizar el operador Between (entre) el cual indica que muestre slo los datos comprendidos entre los valores indicados, y el operador Orderby, el cual indica que los registros sern ordenados por nombre del producto y el operador DESC, indica que ser ordenado de forma descendente o ASC, ascendente segn el caso. Esto se observa en el siguiente ejemplo: SELECT * FROM Ofertas WHERE precpublicobetween 150 and 200 ORDER BY nomproducto DESC Resultado: La siguiente imagen muestra el resultado de la consulta, utilizando el operador between utilizado para comparar los valores entre si, el primero menor que el segundo.
29
Resultado de consulta simple con variacin de la clusula where, utilizando el operador between. Ahora observa lo siguiente: Consulta: Indicar los productos con el cdigo de presentacin 01 y 02 SELECT ean, nomproducto, preproducto, precfarmacia, descuento, fechaoferta, precpublico, codpresentacion FROM Ofertas WHERE (codpresentacion IN ('01', '02')) ORDER BY nomproducto DESC
Resultado de consulta simple con variacin de la clusula where utilizando el operador IN. En la imagen anterior se muestra la consulta utilizando el operador de comparacin IN. La clusula where ha evaluado si el tipo de presentacin de la fila se encuentra.
30
Las consultas de mltiples tablas, son aquellas que implican la conexin de los datos a travs de varias tablas. Para este tipo de consulta es comn utilizar el operador innerjoin, a continuacin se muestran algunos ejemplos utilizando este operador. Consulta: Cules son los laboratorios de los productos asignados al laboratorio WYETH, S.A. DE C.V.?
Panel de criterios de la consulta realizada en SQL. SELECT FROM WHERE Productos.*, Laboratorios.* Productos INNER JOIN Laboratorios ON Productos.IdLaboratorio = Laboratorios.IdLaboratorio (Laboratorios.NomLaboratorio = 'WYETH, S.A. DE C.V.')
Existen varias sentencias en SQL, pero dentro de las bsicas y simples tambien se tiene la sentencia Group by. Esta clave de SQL es utilizada cuando se desea seleccionar multiples columnas desde una o varias tablas. En esta sentencia se pueden utilizar operadores aritmeticos en la instruccin select. La sintaxis en SQL es tal como se muestra en el siguiente ejemplo: SELECT "nombre1_columna", SUM("nombre2_columna") FROM "nombre_tabla" GROUP BY "nombre1-columna" Operaciones que modifican la base de datos. Tanto QBE como SQL soportan tres tipos de operaciones que cambian la base de datos: Insert. Es utilizado para insertar registros o filas en la tabla de una base de datos. Un ejemplo comn utilizando esta instruccin es el siguiente: insertintoClientes (cliente_id,nombre,paterno,materno,sucursal_id, ciudad) values ('0000099999','MARINA','HERNANDEZ','HERNANDEZ','00004',Leon), ('0000099998','CARLOS','VILLAVICENCIO','VAZQUEZ','00002',Len) ('0000099997','MIGUEL','SALAZAR','GARCIA','00001',Morelia)
31
Update. Esta instruccin es utilizada para actualizar los registros almacenados en la tabla de la base de datos, para esta instruccin se puede utilizar el siguiente ejemplo: Update clientes Set sucursal_id = 00001 Where ciudad = Leon En este ejemplo existen dos filas que satisfacen la condicin de la clusula Where donde actualizara el valor de la sucursal a 00001.
Delete. Esta instruccin es comnmente utilizada para eliminar los registro de una tabla dentro de la base de datos.Para esta instruccin es sencilla aplicar el criterio de eliminacin de registros, se tiene como ejemplo la siguiente sentencia en SQL:
Delete from clientes Where sucursal_id = 00001 En este ejemplo se puede observar que se utiliza la instruccin delete haciendo referencia a la tabla de clientes, y se establece una condicin, por lo que los registros a eliminar debern de satisfacer esa condicin Como has podido observar, crear una consulta para obtener exclusivamente lo que se quiere de una tabla es muy sencillo, y te puede liberar de horas de trabajo manual.
32
Select: utilizado para seleccionar un objeto dentro de la base de datos, tal como tablas. Como un ejemplo comnmente utilizado en select se tiene: SELECT idcliente, fechaalta, tipocliente, rfcalfa, rfcfecha, rfchomoclave, nomcliente, domicilio1, domicilio2, telefono, contacto, activo, comentario, imagen FROM Clientes
SQL tiene varias caractersticas adicionales para el desarrollo e implementacin de bases de datos, las cuales son: Tcnicas de distintos lenguajes de programacin que pueden incluir sentencias de SQL, las cuales son de utilidad para poder accesar a una o ms bases de datos. El SQL incrustado o dinmico, y la conectividad de bases de datos abierta ODBC (open data base connectivity). Todos los sistemas administradores de bases de datos relacional (RDMBS relationaldatabasemanagementsystem), contienen los comandos de SQL, con un conjunto de comandos para especificar los parmetros de diseo fsico de la base de datos. Controlador de transacciones: utilizado para especificar las unidades de procesamiento de bases de datos. Cuenta con estructuras de lenguaje comnmente utilizadas para especificar la concesin y revocacin de privilegios a los usuarios.
Tcnicas de base de datos activa, las actuales especifican acciones que son automticamente ejecutadas por los eventos.
33
En SQL se utilizan todas las instrucciones vistas en ste tema, las cuales se pueden considerar las bsicas para la creacin insercin y manipulacin de datos. Es importante que recuerdes y pongas en prctica las instrucciones vistas para cuando utilices SQL para la realizacin de tus bases de datos especficas.
34
La siguiente imagen muestra un esquema general de las diferentes capas que componen una arquitectura cliente/servidor:
35
Servidor de base de datos en SQL Server 2008 R2. Fuente, Microsoft SQL Server Management Studio. Acabas de conocer a que nos referimos como servidor de base de datos o manejador de sistemas de base de datos, el cul es una aplicacin que puede variar segn la que selecciones, pero en esencia, funcionan de forma similar, realizando o indicado por los usuarios, solo debes de familiarizarte con la plataforma elegida.
36
Como te diste cuenta hay diferentes formas de accesar a la informacin, y no solo por parte de la persona, sino tambin por procesos propios del sistema manejador de bases de datos
37
Organizacin fsica de una base de datos. La imagen muestra la estructura interna de un disco duro donde fsicamente se encuentra toda la informacin de la mquina que puede ser la misma base de datos.
38
Formas de almacenamiento fsico a la base de datos. Imagen tomada de Hansen y Hansen (1997, p. 324). Con esta informacin te podrs dar cuenta cul es el recorrido de la informacin hasta llegar al almacenamiento fsico de los datos, siendo el mismo recorrido que hace cuando se realiza una consulta a la base de datos.
39
Por lo general la base de datos se almacena en disco de forma completa, y algunas porciones son transferidas desde el disco a la memoria primaria, a medida que se van utilizando. El almacenamiento en disco es de forma principal con acceso directo, por tanto los registros individuales pueden ser accesibles de forma directa. El almacenamiento en cinta magntica es menos costoso que el almacenamiento en disco, sin embargo se puede tener acceso a los registros de forma secuencial y ms lenta, adems de que su funcin en el sistema de base de datos est limitada para archivar datos Una unidad fsica donde se encuentra integrado el medio de grabacin del disco se llama controlador de disco, el cual contiene un paquete de disco. En la siguiente imagen se pueden observar los componentes bsicos de un paquete de disco y el mecanismo de lectura y escritura que es la transmisin de los datos.
Los datos pueden ser respaldados y colocados en diferentes medios para simplemente recuperar ese respaldo y poderlo accesar, esto puede servir ante situaciones como los casos en los que se pierde informacin que se encuentra en la unidad principal, pero tendra como desventaja el proceso que implica la restauracin de la base de datos para ser consultada; por lo tanto este almacenamiento secundario es recomendado solo para pocos y espordicos accesos.
40
Es importante conocer cada uno de los factores mencionados en ste tema, ya que el pleno conocimientos de ellos nos ayudar a contar con informacin rpida y adecuada al momento de ser solicitada o guardada, debido a que si algo llega a suceder, se tomar en cuenta que algunos de stos factores esta actuando o interfiriendo en la toma de decisiones para obtener o guardar informacin.
41
Como te pudiste dar cuenta, el formato en cuestin depender del punto en el que se encuentre la base de datos o justo lo que se encuentre realizando el gestor con los datos.
Los mtodos a aplicar dependern del sistema gestor de bases de datos, pero es importante que conozcas cules existen.
42
Acabas de conocer como se deben de estructurar las bases de datos segn vayan cambiando o se vayan modificando, esto se debe debido a que la correspondencia de datos no es igual, ya que en un principio una base de datos puede ser pequea y ordenada, pero conforme va pasando el tiempo, puede aumentar, causando desorden el los datos internos.
Actividad 3. Cliente-Servidor-datos
Los grandes volmenes de informacin requieren cada vez respuestas de consulta ms eficaces, y ante ello los lenguajes como el SQL son una de las herramientas que proporcionan esas respuestas, solo que es necesario saber hacer la pregunta correcta para obtener la respuesta que se desea. Lo mismo sucede con las consultas: esta informacin debe estar asociada a un buen sistema de almacenamiento, como lo pudiste ver a lo largo de estos temas. Propsito: La presente actividad tiene como propsito que reflexiones sobre los temas estudiados y que con ellos logres implementar un sistema de base de datos cliente servidor, adems de la organizacin fsica de estos datos. Antes de comenzar, debers plantearte las siguientes preguntas: En dnde puedo realizar una consulta con grficos? Qu sistemas gestores de datos la utilizan? Como puedo elaborar una consulta que muestre toda la informacin de una tabla llamada consultas? Para qu sirve el smbolo * al momento de hacer una consulta? Para qu sirve el innerjoin y el groupby en una consulta? Cmo funciona una base de datos en un sistema cliente servidor? Cmo est organizada fsicamente la informacin en una base de datos? Ahora lee detenidamente cada una de las instrucciones y contesta lo que se te pide con dedicacin: 1. Retoma la lecturas de los temas 3.3, 3.4 y 3.5 2. Arma tus propios conceptos acerca de cada uno de los temas, para ello bsate en las preguntas que se te pidi que reflexionaras. 3. Ingresa al foro y genera una nueva entrada, opina sobre la de tus compaeros y junto con tu profesor creen una conclusin general de cada tema.
43
Instrucciones: 1. Lee con atencin el siguiente caso y realiza lo que se te pide en los puntos siguientes. Observa que despus del caso que te presentan las tablas que tendra las bases de datos y los atributos de cada una de ellas: Una pequea empresa distribuidora de productos requiere un sistema de base de datos que le ayude a controlar el procesamiento de los pedidos, dicha base de datos se llamar VentasProductos y est compuesta por las siguientes tablas: Clientes: Contiene una fila por cada uno de los clientes de la empresa. Sus campos son: nmero de cliente, nombre de la empresa, nombre de la persona de contacto de la empresa y lmite de crdito. RepresentanteVentas: Contiene una fila por cada uno de los vendedores de la empresa. Sus campos son: nmero de empleado, nombre edad, nmero de la oficina en la que trabaja el vendedor, ttulo, fecha de contratacin, id del director del empleado (todo empleado tiene un director del cual depende), cuota de ventas previstas y nmero de ventas realizadas. Oficinas: Contiene una fila por cada una de las oficinas en las que trabajan los vendedores. Sus campos son: nmero de oficina, ciudad, regin, ventas realizadas y objetivo de ventas. Productos: Contiene una fila por cada producto disponible para ventas. Sus campos son: id del producto, descripcin, precio y existencia.
44
1. Crea los modelos para la base de datos del caso presentado (E-R y Relacional). 2. Crea la BD VentasProductos en SQL server 2008, en base a comandos. 3. Crea las tablas que se mencionan en el caso, con sus respectivos atributos, con instrucciones de SQL. 4. Inserta por lo menos cinco registros a cada tabla por medio de comandos con instrucciones SQL. 5. Realiza por lo menos diez consultas diferentes de las que se presentaron en la unidad, utilizando algunos operadores lgicos, y observa lo que sucede. 6. Guarda todas estas instrucciones en un documento de Word, con el nombre DBD_U3_INSTRUCCIONESSQL_XXYZ. Enva el archivo a tu Facilitador(a). 7. Consulta la escala de evaluacin.
Cierre de la unidad
Has concluido la tercera unidad del curso. A lo largo de esta se trataron conceptos bsicos sobre lgebra relacional, clculo relacional, SQL y dispositivos de almacenamiento, adems de que aprendiste a realizar bases de datos utilizando comandos y realizar consultas de los datos almacenados en ellas, dependiendo de las necesidades que pudiera tener el usuario; asimismo, cuentas con el conocimiento sobre los diferentes dispositivos de almacenamiento para el guardado de las bases de datos. Todo lo que aprendiste es de suma importancia, debido a que generars de forma correcta bases de datos tiles y confiables, adems de que tendrs la satisfaccin de que la informacin que se muestre al realizar una consulta es fiable y adecuada a lo que el cliente te pida. Es aconsejable que revises nuevamente la unidad en caso de que los temas que se acaban de mencionar no te sean familiares o no los recuerdes, de no ser este tu caso, felicidades, has terminado tu curso de bases de datos!
Para saber ms
45
Fuentes de consulta
Date, C.J. (2001) Introduccin a los Sistemas de Bases de Datos, 7ma Edicin. Mxico: Ed. Addisson Wesley Longman. Hansen, G. W., y Hansen, J.V- (1997)- Diseo y administracin de bases de datos, 2da. Edicin Prentice Hall. Silberschatz A. & H. F. (2002) Fundamentos de Bases de Datos, 4ta Edicin. Espaa: Mc Graw Hill. Ramez, E. y Shamkant, B. (2007). Sistemas de Bases de Datos, 2da Edicin. Espaa: Ed. Navathe
46