Download Conceptos Básicos - Sistemas Integrados Actualizados SIA
Document related concepts
Transcript
Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Definición de base de datos Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), y por ende se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos. Existen programas denominados sistemas gestores de bases de datos, abreviado DBMS, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos DBMS, así como su utilización y administración, se estudian dentro del ámbito de la informática. El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos. Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro. Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los sistemas de información de una empresa o negocio en particular. Características Entre las principales características de los sistemas de base de datos podemos mencionar: Independencia lógica y física de los datos. Redundancia mínima. Acceso concurrente por parte de múltiples usuarios. Integridad de los datos. Consultas complejas optimizadas. Seguridad de acceso y auditoría. Respaldo y recuperación. Acceso a través de lenguajes de programación estándar. Ing. Jesús René Canchala 1 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Características de una base de datos Independenc ia física y lógica de los datos Respaldo de recuperación Redundancia mínima Acceso concurrente de múltiples usuarios Seguridad de acceso y auditoria Consultas optimizadas Integridad de datos Ventajas de llevar una base de datos Control sobre la redundancia de datos Mejora de la integridad de datos Mantenimiento de estándares Compartición de datos Consistencia de datos Ing. Jesús René Canchala 2 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Ventajas de las bases de datos Control sobre la redundancia de datos: Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento, además de provocar la falta de consistencia de datos. En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se puede eliminar la redundancia completamente, ya que en ocasiones es necesaria para modelar las relaciones entre los datos. Consistencia de datos: Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes. Compartición de datos: En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos los usuarios que estén autorizados. Mantenimiento de estándares: Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel de la empresa como los nacionales e internacionales. Estos estándares pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estándares de documentación, procedimientos de actualización y también reglas de acceso. Mejora en la integridad de datos: La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas. Mejora en la seguridad: La seguridad de la base de datos es la protección de la base de datos frente a usuarios no autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros. Mejora en la accesibilidad a los datos: Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicación que realice tal tarea. Mejora en la productividad: El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros típicas de los programas de aplicación. Ing. Jesús René Canchala 3 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos El hecho de disponer de estas funciones permite al programador centrarse mejor en la función específica requerida por los usuarios, sin tener que preocuparse de los detalles de implementación de bajo nivel. Mejora en el mantenimiento: En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicación que los manejan. Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se ven afectados. Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos. Aumento de la concurrencia: En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de este tipo. Mejora en los servicios de copias de seguridad: Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos. En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo. Desventajas de las bases de datos Complejidad: Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos. Coste del equipamiento adicional: Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la implantación de un sistema de bases de datos sea más cara. Vulnerable a los fallos: El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup). Tipos de Campos Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre los más comunes podemos nombrar: Ing. Jesús René Canchala 4 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin decimales” y reales “decimales”. Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”. Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados. Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra. Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres). Autoincrementables: son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un registro. Tipos de Base de Datos Entre los diferentes tipos de base de datos, podemos encontrar los siguientes: MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos. PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre. Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada. Microsoft SQL Server: es una base de datos más potente que Access desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones. Sistema de gestión de bases de datos Un sistema de gestión de bases de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto Los SGBD también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permite presentar la información de la base de datos en variados formatos. La mayoría de los SGBD incluyen un generador de informes. También puede incluir un módulo gráfico que permita presentar la información con gráficos y tablas. Funciones del DBA Así, el DBA, a diferencia del administrador de datos, es un profesional en procesamiento de datos. La tarea del DBA es crear la base de datos en sí y poner en vigor los controles técnicos necesarios para apoyar las políticas dictadas por el administrador de datos. El DBA se encarga también de garantizar el funcionamiento adecuado del sistema y de proporcionar otros servicios de índole técnica relacionados. El DBA cuenta por lo regular con un grupo de programadores de sistemas y otros asistentes técnicos. La responsabilidad general del DBA es facilitar el desarrollo y el uso de la Base de Datos dentro de las guías de acción definidas por la administración de los datos. El DBA es responsable primordialmente de: Ing. Jesús René Canchala 5 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos o o o o o o Administrar la estructura de la Base de Datos Administrar la actividad de los datos Administrar el Sistema Manejador de Base de Datos Establecer el Diccionario de Datos Asegurar la confiabilidad de la Base de Datos Confirmar la seguridad de la Base de Datos Administración de la estructura de la Base de Datos La administración de la estructura de la Base de Datos incluye participar en el diseño inicial de la misma y su puesta en práctica así como controlar, y administrar sus requerimientos, ayudando a evaluar alternativas, incluyendo los DBMS a utilizar y ayudando en el diseño general de BD. En los casos de grandes aplicaciones de tipo organizacional, el DBA es un gerente que supervisa el trabajo del personal de diseño de la BD. Una vez diseñada la BD, es puesta en práctica utilizando productos del DBMS, procediéndose entonces a la creación de los datos (captura inicial). El DBA participa en el desarrollo de procedimientos y controles para asegurar la calidad y la alta integridad de la BD. Los requerimientos de los usuarios van modificándose, estos encuentran nuevas formas o métodos para lograr sus objetivos; la tecnología de la BD se va modificando y los fabricantes del DBMS actualizan sus productos. Todas las modificaciones en las estructuras o procedimientos de BD requieren de una cuidadosa administración. Implicaciones por la modificación de los esquemas Las solicitudes de modificación son inevitables una vez que el sistema ha entrado en operación, pueden aparecer solicitudes de nuevos requerimientos o estos pueden resultar de una comprensión inadecuada de los mismos. En cualquier caso, deberán efectuarse modificaciones en relación con toda la comunidad de la BD, ya que el impacto de tales alteraciones será resentido por mas de una aplicación. En algunos casos, pueden darse modificaciones que presentan efectos negativos para algunos usuarios; estos casos deberán ser tratados esgrimiendo como argumento los beneficios globales que serán obtenidos de tales alteraciones. Una administración eficaz de la BD debe incluir procedimientos y políticas mediante las cuales los usuarios puedan registrar sus necesidades de modificaciones, y así la comunidad podrá analizar y discutir los impactos de dichas modificaciones, determinándose entonces la puesta o no en practica de tales alteraciones. En razón del tamaño y complejidad de una BD y de sus aplicaciones, las modificaciones pudieran tener resultados inesperados. El DBA debe estar preparado para reparar la BD y reunir suficiente información para diagnosticar y corregir el problema provocado por la falla. Después de un cambio la BD es más vulnerable a fallas. Documentación La responsabilidad final de un DBA en la administración de la estructura de una BD es la DOCUMENTACIÓN. Es de suma importancia saber que modificaciones han sido efectuadas, como fueron realizadas y cuando fueron establecidas. Una modificación sobre la estructura de la BD pudiera ocasionar un error que no apareciera a corto plazo; una vez que este surja, sin la documentación adecuada sobre las modificaciones realizadas, él diagnostico resultaría extremadamente complicado. En estos casos, se haría necesario una secuencia de ejecuciones Ing. Jesús René Canchala 6 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos para intentar detectar el punto en conflicto; el riesgo de este procedimiento radica en que es posible afectar la información contenida en la BD. Para identificar un cambio es de suma importancia mantener un registro de los formatos de prueba y de las ejecuciones de las pruebas efectuadas. Si se utilizan procedimientos de prueba formatos de pruebas y métodos de registro estandarizados, el registro de los resultados de la prueba no consumirá tiempo excesivo. Comúnmente el tiempo de la documentación es tedioso y esto ocasiona que algunos DBA tienden a reducir o abreviar la información que se registra en ella e incluso llegan a desatenderla. Cuando ocurre un siniestro, la documentación completa y organizada puede ser la diferencia entre resolver o no un problema de extrema importancia y en la mayoría de los casos, que implica costos cuantiosos a la empresa. La tarea de la documentación es cada vez más ligera y precisa cuando se utilizan DBMS que integran herramientas CASE para las tareas de diseño, mantenimiento y documentación. Estas mismas herramientas CASE proporcionan en la, mayoría de los casos la facilidad de generar y mantener en forma automática el Diccionario de Datos. Una razón más para documentar consiste en la necesidad de mantener organizados datos históricos. Ocurre comúnmente que se desea realizar una consulta sobre los respaldos para conocer el estado que guardaba la información en un periodo determinado que transcurrió previamente. Los registros de modificación existentes en la documentación permitirán resolver problemas de incompatibilidad entre las estructuras que eran vigentes en el periodo de respaldo y las que lo son ahora; permitirá también el desarrollo de módulos de ajuste que faciliten la traducción de formatos y/o escalas para valores almacenados. En los casos de caídas del sistema se presenta una situación parecida; los respaldos son requeridos y habrá de verificarse su estructura; formato y escala para integrarlos a la operación del sistema. Administración de la actividad de datos Aunque el DBA protege los datos, no los procesa. El DBA no es usuario del sistema, en consecuencia, no administra valores de datos; el DBA administra actividad de datos. Dado que la BD es un recurso compartido, el DBA debe proporcionar estándares, guías de acción, procedimientos de control y la documentación necesaria para garantizar que los usuarios trabajan en forma cooperativa y complementaria al procesar datos en la BD. Como es de suponerse, existe una gran actividad al interior de un DBMS. La concurrencia de múltiples usuarios requieren de estandarizar los procesos de operación; el DBA es responsable de tales especificaciones y de asegurarse que estas lleguen a quienes concierne. Todo el ámbito de la BD se rige por estándares, desde la forma como se capture la información (tipo, longitud, formato), como es procesada y presentada. El nivel de estandarización alcanza hasta los aspectos más internos de la BD; como sé accesa a un archivo, como se determinan los índices primarios y auxiliares, la foliación de los registros y demás. Debe procurarse siempre que los estándares que serán aplicados beneficien también a los usuarios, privilegiando siempre la optimización en la operación del DBMS y el apego de las políticas de la empresa. Una administración de BD efectiva deberá disponer siempre de este tipo de estándares; entre las funciones del DBA se encuentra la de revisarlos periódicamente para determinar su operatividad, y en su caso ajustarlos, ampliarlos o cancelarlos. Es también su responsabilidad el que estos se cumplan. Ing. Jesús René Canchala 7 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Cuando se definen estándares sobre la estructura de la BD, estos deben registrarse en una sección del diccionario de datos a la que todos aquellos usuarios relacionados con ese tipo de proceso pueden acceder. Otro de los aspectos que el administrador debe atender es el de coordinar las nuevas propuestas para realizar ajustes en los derechos de acceso a datos compartidos y aplicaciones específicamente propuestas serían analizados en conjunto con los supervisores o directivos de las áreas involucradas para determinar si procede pudieran aparecer problemas cuando dos o más grupos de usuarios quedan autorizados para notificar los mismos datos. Uno de tales conflictos es el de la actualización perdida; este ocurre cuando el trabajo de un usuario queda sobrescrito sobre por el de un segundo usuario. El DBA queda responsabilizado para identificar la posible ocurrencia de dichos problemas así como de crear normas y procedimientos para su eliminación. Se obtendrán este tipo de garantías cuando el DBMS sea capaz de implementar las restricciones aplicables al acceso concurrente, y este sea utilizado adecuadamente por programadores y usuarios; para borrar lo anterior, se hace indispensable el apego a los estándares el seguimiento de instructivos y manuales y las reglas establecidas para los diversos procesamientos y procedimientos que se llevan acabo. Entre las alternativas mas utilizadas por el DBA para tratar de resolver o minimizar este problema se encuentran las siguientes: a) Restringir el acceso a los procedimientos para ciertos usuarios. b) Restringir al acceso a los datos para ciertos usuarios procedimientos y/o datos. c) Evitar la coincidencia de horarios para usuarios que comparten. Las técnicas de recuperación son otra función esencial del DBA al administrar la actividad de datos. A pesar de que el DBMS lleva a cabo una parte del proceso de recuperación, los usuarios determinan en forma critica la operatividad de esos sistemas de protección. El DBA debe anticipar fallas y definir procedimientos estándares de operación; los usuarios deben saber que hacer cuando el sistema este caído y que es lo primero que debe realizarse cuando el sistema este puesto en marcha nuevamente. El personal de operación deberá saber como iniciar el proceso de recuperación de la BD que copias de seguridad utilizar; como programar la ejecución del tiempo perdido y de las tareas pendientes; es importante también establecer un calendario para llevar a cabo estas actividades sin afectar a otros sistemas dentro de la organización que hagan uso de los mismos recursos de computo. Destacan por su importancia en el proceso de recuperación y a su vez en la atención que prestan a otros sectores de la organización. Los dispositivos de comunicación remota, los sistemas de interconexión y otros accesorios de uso compartido. El DBA es el responsable de la publicación y mantenimiento de la documentación en relación con la actividad de los datos, incluyendo los estándares de la BD, los derechos de recuperación y de acceso a la BD, los estándares para la recuperación de caídas y el cumplimiento de las políticas establecidas. Los productos DBMS más populares que se encuentran en el mercado proporcionan servicios de utilerías para ayudar al DBA en la administración de los datos y su actividad. Algunos sistemas registran en forma automática los nombres de los usuarios y de las aplicaciones a las que tienen acceso así como a otros objetos de la BD. Incorpora también utilerías que permitan definir en el diccionario de datos las restricciones para que determinadas aplicaciones o módulos de ellas solo tengan acceso a segmentos específicos de la BD. Ing. Jesús René Canchala 8 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos SISTEMAS ADMINISTRADORES DE BASES DE DATOS ORACLE DATABASE Oracle Database es un sistema de gestión de base de datos objeto-relacional (u ORDBMS por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle Database como uno de los sistemas de bases de datos más completos, destacando: soporte de transacciones. estabilidad. escalabilidad. soporte multiplataforma. Su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco; recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySQL o Firebird. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux. Historia Oracle surge en 1977 bajo el nombre de SDL (Software Development Laboratories ); luego, en 1979, SDL cambia su nombre por Relational Software, Inc. (RSI). La fundación deSoftware Development Laboratories (SDL) fue motivada principalmente a partir de un estudio sobre los SGBD (Sistemas Gestores de Base de Datos) de George Koch. Computer World definió este estudio como uno de los más completos jamás escritos sobre bases de datos. Este artículo incluía una comparativa de productos que erigía a Relational Software como el más completo desde el punto de vista técnico. Esto se debía a que usaba la filosofía de las bases de datos relacionales, algo que por aquella época era todavía desconocido. En la actualidad, Oracle (Nasdaq: ORCL) todavía encabeza la lista. La tecnología Oracle se encuentra prácticamente en todas las industrias alrededor del mundo y en las oficinas de 98 de las 100 empresas Fortune 100. Oracle es la primera compañía de software que desarrolla e implementa software para empresas 100 por ciento activado por Internet a través de toda su línea de productos: base de datos, aplicaciones comerciales y herramientas de desarrollo de aplicaciones y soporte de decisiones. Oracle es el proveedor mundial líder de software para administración de información, y la segunda empresa de software. Oracle, a partir de la versión 10g Release 2, cuenta con 7 ediciones: Oracle Oracle Oracle Oracle Oracle Oracle Database Database Database Database Database Database Enterprise Edition (EE). Standard Edition (SE). Standard Edition One (SE1). Express Edition (XE). Personal Edition (PE). Lite Edition (LE). La única edición gratuita es la Express Edition, que es compatible con las demás ediciones de Oracle Database 10gR2 y Oracle Database 11g. Recientemente, Oracle adquirió Sun Microsystems y con ella la empresa encargada comercial de MySQL. Ing. Jesús René Canchala 9 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Ventajas y Desventajas de Oracle Ventajas 1.-Oracle es el motor de base de datos relacional más usado a nivel mundial. 2.-Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador. 3.-Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente. 4.-Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas. 5.-El software del servidor puede ejecutarse en multitud de sistemas operativos. 6.-Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa. 7.-¿Qué hay de los objetos de Oracle? Este sistema ha comenzado a evolucionar en esta dirección, añadiendo tipos de clases, referencias, tablas anidadas, matrices y otras estructuras de datos complejas. Desafortunadamente, la implementación actual de las mismas no ofrece una ventaja clara en eficiencial, como sería de esperar, y sí provocan la incompatibilidad de los diseños que aprovechan las nuevas características con otras bases de datos. 8.-Oracle es la base de datos con mas orientación hacía INTERNET 9.-Un aceptable soporte Desventajas 1.-Una de las versiones más recientes de Oracle es la 8 punto algo (Aunque ya está la 9i). Y es que desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la remodelación del sistema de almacenamiento por causa de la introducción de extensiones orientadas a objetos. 2.-El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. Un Oracle mal configurado puede ser desesperantemente lento. 3.-También es elevado el coste de la formación, y sólo últimamente han comenzado a aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y administración. Ing. Jesús René Canchala 10 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos MYSQL MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.1 MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporationdesde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autordel código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius. Ventajas: 1. Es un Sistema de Gestión de Bases de Datos Relacionales (SGBDR). 2. Puede ser útil para manejar y/o obtener datos de la red de redes. 3. Ofrece una potente forma de unir SQL e Internet. 4. Utiliza una extensión al SQL estandar, que se denomina Transact SQL. 5. El Transact SQL, soporta la definición, modificación y eliminación de bases de datos, tablas, atributos, índices, etc., es decir, el lenguaje de definición de datos (LDD), así como la consulta, actualización y borrado de tuplas de tablas, es decir, el lenguaje de manipulación de datos (LMD). 6. Para empezar SQL Server nos permite olvidarnos un poco de los ficheros que forman la base de datos. En Access tenemos que abrir el fichero .mdb para ver el contenido. Aquí abrimos la consola de SQL Server y tenemos todas las bases de datos de todos nuestros programas. Esto es muy cómodo, ciertamente. 7. Si trabajamos en una red local nos permite agregar otros servidores de SQL Server. por ejemplo: yo tengo en mi ordenador una base de datos en mi servidor SQL y mi compañero tiene en su servidor otra base de datos. Yo puedo conectar mi SQL al suyo y así tengo sus bases de datos en mi SQL Server. Esto, también es muy cómodo. 8. Seguridad: SQL permite administrar permisos a TODO. Permisos a nivel de servidor, seguridad en tablas, permitir o no lectura, escritura, ejecución; seguridad en los procedimientos almacenados (después hablo de ellos)... todo se puede configurar. O sea, que podemos permitir que alguien conecte su SQL al nuestro pero sin embargo podemos decirle que no puede ver esta base de datos pero otra sí. Desventajas: 1. Los problemas de la 6.5 eran muchos: bloqueo a nivel de página, dispositivos con crecimiento manual, un tamaño de página fijo y demasiado pequeño (2048KB), una pésima implementación de los tipos de datos variables como varchar. Ing. Jesús René Canchala 11 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos 2. La principal desventaja de Microsoft SQL SERVER es la enorme cantidad de memoria RAM que utiliza para la instalación y utilización del software. 3. Una de las desventajas de SQL es que si lo quieres para practicas no te va hacer útil porque en el se prohíben muchas cosas tiene restricciones en lo particular me parase mas viable usar MySQL es mucho mejor además de ser un software gratis. 4. La relación calidad-precio está muy debajo comparado con oracle. ACCESS Microsoft Access es un sistema de gestión de bases de datos incluido en el paquete de programas de Microsoft Office. Es igualmente un gestor de datos que recopila información relativa a un asunto o propósito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música. Access es un completo y demandado programa informático en entornos de empresa, que permite la creación y gestión de bases de datos, así como su modificación, control y mantenimiento. VENTAJAS: Por medio de Microsoft Access, puede administrar toda la información desde un único archivo de base de datos. Dentro del archivo, puede utilizar: desde Tablas para almacenar los datos. Consultas para buscar y recuperar únicamente los datos que necesita. Formularios para ver, agregar y actualizar los datos de las tablas. Informes para analizar o imprimir los datos con un diseño específico. Páginas de acceso a datos para ver, actualizar o analizar los datos de la base de datos Internet o desde una intranet. Almacenar los datos una vez en una tabla y verlos desde varios lugares. DESVENTAJAS: Tiene limitaciones en el procesamiento de las búsquedas, además que si la quieres usar para ambientes corporativo no te va a servir por su poca estabilidad, si quieres usarla para proyectos de la escuela o bases de pequeños negocios que no requieren alta disponibilidad, la puedes utilizar. Si quiere una base de datos mas robusta, para ambientes mas grandes, aunque un poco mas complicada puede usa MYSQL es gratuita si es para sistemas internos o personales y con un pequeño pago para que puedas distribuirla. DIAGRAMA ENTIDAD- RELACION Un diagrama o modelo entidadrelación (a veces denominado por sus siglas en inglés, E-R "Entity relationship", o del español DER "DiagramaJ de Entidad Relación") es una herramienta para el modelado de datos que permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades. El Modelo Entidad-Relación. Ing. Jesús René Canchala 12 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos 1. Se elabora el diagrama (o diagramas) entidad-relación. 2. Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama. El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas para lograr un modelo directamente implementable en una base de datos. Brevemente: Permite mostrar resultados entre otras entidades pertenecientes a las existentes de manera que se encuentre la normatividad de archivos que se almacenaran Transformación de relaciones múltiples en binarias. Normalización de una base de datos de relaciones (algunas relaciones pueden transformarse en atributos y viceversa). Conversión en tablas (en caso de utilizar una base de datos relacional). Base teórica y conceptual El modelo de datos entidad-relación está basado en una percepción del mundo real que consta de una colección de objetos básicos, llamados entidades, y de relaciones entre esos objetos. Entidad Representa una “cosa” u "objeto" del mundo real con existencia independiente, es decir, se diferencia unívocamente de otro objeto o cosa, incluso siendo del mismo tipo, o una misma entidad. Algunos Ejemplos: Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos). Un automóvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrán atributos diferentes, por ejemplo, el número de chasis). Una casa (Aunque sea exactamente igual a otra, aún se diferenciará en su dirección). Una entidad puede ser un objeto con existencia física como: una persona, un animal, una casa, etc. (entidad concreta); o un objeto con existencia conceptual como: un puesto de trabajo, una asignatura de clases, un nombre,etc. (entidad abstracta). Una entidad está descrita y se representa por sus características o atributos. Por ejemplo, la entidad Persona las características: Nombre, Apellido, Género, Estatura, Peso, Fecha de nacimiento. Atributos Los atributos son las características que definen o identifican a una entidad. Estas pueden ser muchas, y el diseñador solo utiliza o implementa las que considere más relevantes. Los atributos son las propiedades que describen a cada entidad en un conjunto de entidades. En un conjunto de entidades del mismo tipo, cada entidad tiene valores específicos asignados para cada uno de sus atributos, de esta forma, es posible su identificación unívoca. Ejemplos: A la colección de entidades «alumnos», con el siguiente conjunto de atributos en común, (id, nombre, edad, semestre), pertenecen las entidades: (1, Sofía, 38 años, 2) (2, Josefa, 19 años, 5) (3, Carlos, 20 años, 2) ... Ing. Jesús René Canchala 13 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Cada una de las entidades pertenecientes a este conjunto se diferencia de las demás por el valor de sus atributos. Nótese que dos o más entidades diferentes pueden tener los mismos valores para algunos de sus atributos, pero nunca para todos. En particular, los atributos identificativos son aquellos que permiten diferenciar a una instancia de la entidad de otra distinta. Por ejemplo, el atributo identificativo que distingue a un alumno de otro es su número de id. Para cada atributo, existe un dominio del mismo, este hace referencia al tipo de datos que será almacenado o a restricciones en los valores que el atributo puede tomar (cadenas de caracteres, números, solo dos letras, solo números mayores que cero, solo números enteros...). Cuando algún atributo correspondiente a una entidad no tiene un valor determinado, recibe el valor nulo, bien sea porque no se conoce, porque no existe o porque no se sabe nada al respecto del mismo. Relación Describe cierta dependencia entre entidades o permite la asociación de las mismas. Ejemplo: Si tenemos dos entidades, "CLIENTE" y "HABITACION", podemos entender la relación entre ambas al tomar un caso concreto (ocurrencia) de cada una de ellas. Entonces, podriamos tener la ocurrencia "Habitación 502", de la entidad "HABITACIÓN" y la ocurrencia "Henry Johnson McFly Bogard", de la entidad "CLIENTE", entre las que es posible relacionar que la habitación 502 se encuentra ocupada por el huésped de nombre Henry Johnson McFly Bogard. Una relación tiene sentido al expresar las entidades que relaciona. En el ejemplo anterior, podemos decir que un huésped (entidad), se aloja (relación) en una habitación (entidad). Conjunto de relaciones Consiste en una colección, o conjunto, de relaciones de la misma naturaleza. Ejemplo: Dados los conjuntos de entidades "Habitación" y "Huésped", todas las relaciones de la forma habitación-huésped, permiten obtener la información de los huéspedes y sus respectivas habitaciones. La dependencia o asociación entre los conjuntos de entidades es llamada participación. En el ejemplo anterior los conjuntos de entidades "Habitación" y "Huésped" participanen el conjunto de relaciones habitación-huésped. Se llama grado del conjunto de relaciones a la cantidad de conjuntos de entidades participantes en la relación. Restricciones Son reglas que deben mantener los datos almacenados en la base de datos. Correspondencia de cardinalidades Dado un conjunto de relaciones en el que participan dos o más conjuntos de entidades, la correspondencia de cardinalidad indica el número de entidades con las que puede estar relacionada una entidad dada. Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, la correspondencia de cardinalidades puede ser: Ing. Jesús René Canchala 14 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Uno a Uno: (1:1) Una entidad de A se relaciona únicamente con una entidad en B y viceversa (ejemplo relación vehículo - matrícula: cada vehículo tiene una única matrícula, y cada matrícula está asociada a un único vehículo). Uno a varios: (1:N)Una entidad en A se relaciona con cero o muchas entidades en B. Pero una entidad en B se relaciona con una única entidad en A (ejemplo vendedor - ventas). Varios a Uno: (N:1)Una entidad en A se relaciona exclusivamente con una entidad en B. Pero una entidad en B se puede relacionar con 0 o muchas entidades en A (ejemplo empleado-centro de trabajo). Varios a Varios: (N:M)Una entidad en A se puede relacionar con 0 o muchas entidades en B y viceversa (ejemplo asociaciones- ciudadanos, donde muchos ciudadanos pueden pertenecer a una misma asociación, y cada ciudadano puede pertenecer a muchas asociaciones distintas). Restricciones de participación Dado un conjunto de relaciones R en el cual participa un conjunto de entidades A, dicha participación puede ser de dos tipos: Total: Cuando cada entidad en A participa en al menos una relación de R. Parcial: Cuando al menos una entidad en A NO participa en alguna relación de R. Claves Es un subconjunto del conjunto de atributos comunes en una colección de entidades, que permite identificar inequívocamente cada una de las entidades pertenecientes a dicha colección. Asimismo, permiten distinguir entre sí las relaciones de un conjunto de relaciones. Dentro de los conjuntos de entidades existen los siguientes tipos de claves: Superclave: Es un subconjunto de atributos que permite distinguir unívocamente cada una de las entidades de un conjunto de entidades. Si se añade un atributo al anterior subconjunto, el resultado seguirá siendo una superclave. Clave candidata: Dada una superclave, si ésta deja de serlo quitando únicamente uno de los atributos que la componen, entonces ésta es una clave candidata. Clave primaria: Es una clave candidata, elegida por el diseñador de la base de datos, para identificar unívocamente las entidades en un conjunto de entidades. Los valores de los atributos de una clave, no pueden ser todos iguales para dos o más instancias. Para poder distinguir unívocamente las relaciones en un conjunto de relaciones R, se deben considerar dos casos: R NO tiene atributos asociados: En este caso, se usa como clave primaria de R la unión de las claves primarias de todos los conjuntos de entidades participantes. R tiene atributos asociados: En este caso, se usa como clave primaria de R la unión de los atributos asociados y las claves primarias de todos los conjuntos de entidades participantes. Ing. Jesús René Canchala 15 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Si el conjunto de relaciones, R, sobre las que se pretende determinar la clave primaria está compuesto de relaciones binarias, con los conjuntos de entidades participantes A y B, se consideran los siguientes casos, según sus cardinalidades: R es de muchos a uno de A a B entonces sólo se toma la clave primaria de A, como clave primaria de R. R es de uno a muchos de A a B entonces se toma sólo la clave primaria de B, como clave primaria de R. R es de uno a uno de A a B entonces se toma cualquiera de las dos claves primarias, como clave primaria de R. R es de muchos a muchos de A a B entonces se toma la unión de los atributos que conforman las claves primarias de A y de B, como clave primaria de R. Diagrama entidad-relación Anteriormente detallamos los conceptos relacionados al modelo ER, en esta sección profundizaremos en como representarlos gráficamente. Cabe destacar que para todo proceso de modelado, siempre hay que tener en claro los conceptos, estos nos brindan conocimiento necesario y además fundamentan nuestro modelo al momento de presentarlo a terceros. Formalmente, los diagramas ER son un lenguaje gráfico para describir conceptos. Informalmente, son simples dibujos o gráficos que describen información que trata un sistema de información y el software que lo automatiza. Entidades Las entidades son el fundamento del modelo entidad relación. Podemos adoptar como definición de entidad cualquier cosa o parte del mundo que es distinguible del resto. Por ejemplo, en un sistema bancario, las personas y las cuentas bancarias se podrían interpretar como entidades. Las entidades pueden representar entes concretos, como una persona o un avión, o abstractas, como por ejemplo un préstamo o una reserva. Se representan por medio de un rectángulo. Que pueden ser de tipo: maestras, transaccionales, históricas y temporales Entidad Atributos Se representan mediante un círculo o elipse etiquetado mediante un nombre en su interior. Cuando un atributo es identificativo de la entidad se suele subrayar dicha etiqueta. Por motivos de legibilidad, los atributos suelen no aparecer representados en el diagrama entidad-relación, sino descritos textualmente en otros documentos adjuntos. Atributos Relaciones Se representan mediante un rombo etiquetado en su interior con un verbo. Este rombo se debe unir mediante líneas con las entidades (rectángulos) que relaciona, para así saber cuál es la relación que lleva cada uno. Ing. Jesús René Canchala 16 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Relación Casos de Uso (Use Case) Introducción El diagrama de casos de uso representa la forma en como un Cliente (Actor) opera con el sistema en desarrollo, además de la forma, tipo y orden en como los elementos interactúan (operaciones o casos de uso). Un diagrama de casos de uso consta de los siguientes elementos: Actor. Casos de Uso. Relaciones de Uso, Herencia y Comunicación. Elementos Actor: Una definición previa, es que un Actor es un rol que un usuario juega con respecto al sistema. Es importante destacar el uso de la palabra rol, pues con esto se especifica que un Actor no Ing. Jesús René Canchala 17 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos necesariamente representa a una persona en particular, sino más bien la labor que realiza frente al sistema. Como ejemplo a la definición anterior, tenemos el caso de un sistema de ventas en que el rol de Vendedor con respecto al sistema puede ser realizado por un Vendedor o bien por el Jefe de Local. Caso de Uso: Es una operación/tarea específica que se realiza tras una orden de algún agente externo, sea desde una petición de un actor o bien desde la invocación desde otro caso de uso. Relaciones: o Asociación Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso). Dicha relación se denota con una flecha simple. o Dependencia o Instanciación Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea). Dicha relación se denota con una flecha punteada. o Generalización Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de su estereotipo, que puede ser de Uso (<<uses>>) o de Herencia (<<extends>>). Este tipo de relación esta orientado exclusivamente para casos de uso (y no para actores). extends: Se recomienda utilizar cuando un caso de uso es similar a otro (características). uses: Se recomienda utilizar cuando se tiene un conjunto de características que son similares en más de un caso de uso y no se desea mantener copiada la descripción de la característica. De lo anterior cabe mencionar que tiene el mismo paradigma en diseño y modelamiento de clases, en donde esta la duda clásica de usar o heredar. Ing. Jesús René Canchala 18 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Ejemplo: Como ejemplo está el caso de una Máquina Recicladora: Sistema que controla una máquina de reciclamiento de botellas, tarros y jabas. El sistema debe controlar y/o aceptar: Registrar el número de ítemes ingresados. Imprimir un recibo cuando el usuario lo solicita: a. Describe lo depositado b. El valor de cada item c. Total El usuario/cliente presiona el botón de comienzo Existe un operador que desea saber lo siguiente: a. Cuantos ítemes han sido retornados en el día. b. Al final de cada día el operador solicita un resumen de todo lo depositado en el día. El operador debe además poder cambiar: a. Información asociada a ítemes. b. Dar una alarma en el caso de que: i. Item se atora. ii. No hay más papel. Como una primera aproximación identificamos a los actores que interactúan con el sistema: Luego, tenemos que un Cliente puede Depositar ítems y un Operador puede cambiar la información de un Ítem o bien puede Imprimir un informe: Además podemos notar que un ítem puede ser una Botella, un Tarro o una Jaba. Ing. Jesús René Canchala 19 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Otro aspecto es la impresión de comprobantes, que puede ser realizada después de depositar algún ítem por un cliente o bien puede ser realizada a petición de un operador. Entonces, el diseño completo del diagrama Use Case es: Ing. Jesús René Canchala 20 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Normalización de bases de datos El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Disminuir problemas de actualización de los datos en las tablas. Proteger la integridad de los datos. En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones: Cada tabla debe tener su nombre único. No puede haber dos filas iguales. No se permiten los duplicados. Todos los datos en una columna deben ser del mismo tipo. Objetos de Access En Access se denomina objeto a cualquier cosa o elemento sobre los que actúa la aplicación. En una base de datos de Access los objetos principales son (ver Figura 1): tablas, consultas (queries), informes, formularios, macros, y módulos. El conjunto de estos objetos constituye una base de datos de Access. Tabla La información de una base de datos está organizada en forma tabular. Cada tabla contiene datos acerca de alguna entidad de información, por ejemplo, clientes. Las tablas guardan la información en registros que corresponden a las hileras y campos que corresponden a las columnas y definen los nombres y tipos de datos que componen la tabla. Columna o campo Cada columna representa una característica de los datos. Hilera o registro Las hileras son instancias conocidas como registros. Consultas Es un objeto que proporciona una vista de una o varias tablas. Las consultas se pueden usar para consultar, borrar, actualizar, o insertar datos en una tabla. También es posible definir consultas que creen nuevas tablas a partir de las tablas existentes. Una consulta puede ser una búsqueda simple de un registro específico o una solicitud de seleccionar todos los registros que satisfagan un conjunto de criterios. Una vez hecha la selección, se puede producir un listado. Formularios Es un objeto diseñado principalmente para introducir, mostrar, o controlar la ejecución de las aplicaciones (ver Figura 3). Las formas se pueden imprimir y también se usan para personalizar la presentación de la base de datos. Ing. Jesús René Canchala 21 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Reportes Objeto diseñado para calcular, imprimir, totalizar, y definir una buena apariencia de la información presentada. Por ejemplo, lista ordenada de los campos y registros seleccionados en un formato fácil de leer, o etiquetas para envíos por correo y formatos de cartas personalizados. Macros Las macros se pueden utilizar para ejecutar secuencias de operaciones de manera automática. Algunos ejemplos de instrucciones que se pueden incluir en una macro son: validar campos, abrir y ejecutar queries, abrir tablas, imprimir reportes, ejecutar otras macros. Módulos Es un objeto que contiene una función personalizada y que puede ser creada utilizando Visual Basic for Applications(VBA). Tipos de datos Access permite nombres de hasta 64 caracteres. Es recomendable utilizar nombres descriptivos. Los tipos de datos en Access pueden ser: Texto. Caracteres alfanuméricos. Hasta 255 caracteres. Memo. Caracteres alfanuméricos. Hasta 64,000 caracteres. Numero. Valores numéricos en varios tipos y formatos. Fecha/Tiempo. Formato de fecha y hora. Moneda. Datos monetarios. Auto Numérico. Contador numérico auto incrementado. Si/No. Valores lógicos. Si/No, Verdadero / falso. Objetos OLE. Imágenes, graficas, multimedia, documentos de Office. Ing. Jesús René Canchala 22 Sistemas Integrados Actualizados SIA Conceptos Básicos de Bases de Datos Taller de Bases de Datos Objetivo: Realizar un resumen general de conceptos básicos y necesarios para el desarrollo de la materia de Bases de Datos, el estudiante definirá fácilmente que es una Base de Datos, DBMS, realizará un diagrama Entidad- Relación, identificará las ventajas y desventajas de los DBMS 1. 2. 3. 4. 5. 6. 7. 8. 9. Defina Base de Datos Cuáles son las ventajas de llevar una base de datos en las empresas Qué es un DBMS y escriba algunas funciones Defina Oracle, Ventajas y Desventajas Defina MySQL, Ventajas y Desventajas Defina Access, Ventajas y Desventajas Qué es un Diagrama Entidad- Relación y cuáles son sus partes Defina Caso de Uso, escriba sus partes y un ejemplo Qué es normalizar una base de datos 10. Defina los objetos de Access Ing. Jesús René Canchala 23