Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Base de Datos Conceptos de Base de Datos 1) Definiciones de Base de Datos Un sistema de bases de datos es básicamente un sistema computarizado para llevar registros, es decir es un sistema computarizado cuya finalidad general es almacenar información y permitir a los usuarios recuperar y actualizar información con base en peticiones. La información en cuestión puede ser cualquier cosa que sea de importancia para el individuo u organización, es decir, todo lo que sea necesario para auxiliarle en el proceso general de administración; Así entonces podemos definir a una base de datos como: “un conjunto de datos persistentes que es utilizado por los sistemas de aplicación de alguna empresa dada.” (C. J. Date, 2001, capitulo 1); También se define a una base de datos o banco de datos a un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso (Base de Datos, 2012); Muchas fuentes ofrecen diferentes definiciones acerca de una Base de Datos (BD), no obstante, generalizando, todos la ilustran como un conjunto de datos, estructurados apropiadamente y relacionados entre sí, C. J. Date y Wikipedia, además de diversas bibliografías, coinciden en que una base de datos son un conjunto de datos, cada uno de los cuales se traducen como hechos conocidos que pueden registrarse y tienen significado implícito, sin embargo, sabemos que una colección aleatoria de datos no puede considerarse propiamente una base de datos, todos ellos deben ser “lógicamente coherentes”, es decir, pertenecientes a un mismo contexto con cierto grado de significado inherente, y siempre diseñada con propósitos específicos (un posterior uso), y destinada a usuarios, empresas, etc. Con aplicaciones preconcebidas que faciliten su uso (recuperar y/o actualizar información en base a peticiones). Independientemente de su significado, muchos autores hacen énfasis en la diferencia entre datos e información (C. J. Date se refiere a datos a lo que está en realidad almacenado en la BD y a información al significado de esos datos), por otra parte, también enuncian que los componentes de una base de datos incluyen, además de los datos propiamente dichos, al hardware, a los usuarios, el BDA, y el software (DBMS). 2) Definiciones de Sistema Gestor de Base De Datos (SGBD/DBMS) Entre la base de datos física y los usuarios de sistema, hay una capa de software conocida de manera indistinta como el administrador de base de datos o el servidor; o más comúnmente como el sistema de administración de base de datos (DBMS). Todas las solicitudes de acceso a la base de datos para agregar y eliminar archivos (o tablas), recuperar y almacenar datos desde y en dichos archivos son características que proporciona un DBMS. (C. J. Date, 2001, capitulo 1). La DBSM son, en síntesis, programas que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGDB o DBMS, así como su utilización y administración, se estudian dentro del ámbito de la informática. (Ramakrishanan, Rahgu, Sistemas de Gestión de Base de Datos, 2007, capitulo 1). Hay muchos tipos de SGBD, pero la mayor parte de los utilizados comercialmente en la actualidad son relacionales, en estos, la información se presenta en tablas con columnas para las características de los objetos o conceptos que pretende representar, y filas para para las instancias, Existe un lenguaje considerado estándar para manejar estas tablas llamado SQL2, que permite crear y modificar tablas y consultarlas, introducir nuevos datos, modificar los ya almacenados o borrarlos. MySQL, por ejemplo, es un SGBD que usa SQL como lenguaje declarativo de acceso a la base de datos. 1 de 11 Churquina, Delgado, Mealla, Ortiz, Vazquez 3) Deberes de un DBA Una de las principales razones de usar un SGBD es tener un control centralizado tanto de datos como de los programas que acceden a esos datos. La persona que tiene el control central sobre el sistema se llama Administrador De Base de Datos (DBA). Los principales deberes incluyen: -Definir el esquema conceptual: El DBA crea el esquema original de la base de datos, escribiendo las instrucciones y definiciones de datos, decide cuales son los datos que debe mantenerse en la BD, por ejemplo, debe identificar entidades que interesen a una empresa y los datos a registrarse acerca de esas entidades. -Definir el esquema interno: realiza cambios en el esquema y en la organización física para reflejar las necesidades cambiantes de la organización, o para alterar la organización física para mejorar el rendimiento, por ejemplo debe decidir cómo se representara los datos en la BD almacenada; -Vincularse con los usuarios: El DBA debe encargarse de la comunicación con los usuarios, garantizar la disponibilidad de los datos que requieren y escribir los esquemas necesarios. Las consultas sobre diseño de aplicaciones, la impartición técnica, la ayuda en la localización y resolución de problemas, y otros servicios profesionales similares relacionados con el sistema. -Definir estructuras y métodos de acceso: la BD o los programas que generan su contenido incorporan métodos que aseguran que el contenido de los datos del sistema no se rompan así como las reglas del negocio, y que permita a los usuarios acceder o cambiar datos de acuerdo a las políticas de la empresa. -Definir verificaciones de seguridad e integridad: La concesión de diferentes tipos de autorización permite al administrador de la base de datos determinar que partes de la base de datos puede acceder cada usuario, las informaciones de las autorizaciones se mantiene en una estructura especial que el sistema de base de datos consulta cuando intenta el acceso a los datos en el sistema. -Definir procedimientos de respaldo y recuperación: Cuando una empresa se decide a utilizar un sistema de BD, se vuelve dependiente en grado sumo del funcionamiento correcto de ese sistema. En caso de que sufra daño cualquier porción de la BD resulta esencial poder reparar los datos implicados con un mínimo de retraso y afectando lo menos posible al resto del sistema. El DBA debe definir y poner en práctica un plan de recuperación adecuado que incluya, por ejemplo, una descarga o “vaciado” periódico de la BD en un medio de almacenamiento de respaldo, y procedimientos para cargar otra vez la BD a partir del vaciado más reciente cuando sea necesario. -Supervisar el desempeño y responder a cambios en los requerimientos: Es responsabilidad del DBA organizar el sistema de modo que se obtenga el desempeño que sea mejor para la empresa, y realizar los ajustes apropiados cuando cambien los requerimientos, esto se logra por ejemplo realizando pruebas de software y/o de hardware nuevos. -Mantenimiento Rutinario: algunos ejemplos de actividades rutinarias del DBA son: Copia de seguridad periódica de la base de datos, asegurarse que haya suficiente espacio libre en el disco para operaciones normales, aumentar el espacio del disco según sea necesario; supervisar los trabajos que se ejecuten en la base de datos, asegurarse de que el rendimiento no se degrade por tareas muy costosas iniciadas por algunos usuarios, analizar y reportar datos corporativos que ayuden a la toma de decisiones en la inteligencia de negocios, realizar tareas de mejora y solución de problemas en los niveles de servicios implicados asegurar la continuidad de los servicios de las bases de datos, etc. 4) Beneficios en el uso de una BD Las ventajas de un sistema de base de datos sobre los métodos tradicionales de mantener registros en papel serán quizás más evidentes en algunos ejemplos: Es compacto, no son necesarios archivos de papeles que ocupen espacio; es rápido, se pueden modificar y obtener datos con mucha mayor velocidad; es menos laborioso; es actual, se dispone en cualquier momento de información precisa y al día. Desde luego estas ventajas tienenaún más 2 de 11 Churquina, Delgado, Mealla, Ortiz, Vazquez importancia en una base de datos más grande y compleja, con todo esto, existe una ventaja adicional a saber: el sistema de base de datos ofrece a la empresa un control más centralizado de su información. En este sentido podemos identificar algunas ventajas específicas que emanan del concepto de control centralizado: -Se disminuye la redundancia: originalmente los sistemas sin base de datos solían tener sus propios archivos privados, y la información se encontraba en varios archivos con la consecuente duplicación, esto provocaba abundantes redundancias de datos almacenados y como consecuencia se desperdiciaba el espacio de almacenamiento, por ejemplo, tanto una aplicación de personal como una de registros de institución podrían tener un archivo con información sobre los departamentos a los que pertenecen los empleados, esos archivos podrían integrarse eliminando la redundancia -Es posible eliminar la inconsistencia: en realidad es una extensión de la redundancia, supondremos que cierto empleado trabaja en algún departamento y está representado por dos entradas distintas de la base de datos almacenada, por otro lado el DBMS tampoco está consciente de esta duplicación (redundancia no controlada). En este caso habrá ocasiones en que las dos estradas no coincidan, a saber, cuando se hayan puesto al día una y no la otra. En estas ocasiones se dice que la base de datos es inconsistente. Es obvio que una base de datos en estado inconsistente puede proporcionar información incorrecta o contradictoria a sus usuarios. -Es posible compartir los datos: significa que los elementos individuales de información en la base de datos pueden compartirse entre varios usuarios distintos, en sentido de que todos pueden tener acceso al mismo elemento de información. Tal comportamiento implica también que no solo las aplicaciones ya existentes pueden compartir la información de la base de datos, sino también se pueden desarrollar aplicaciones nuevas para trabajar con los mismos datos almacenados, dicho de otro modo, se puede satisfacer las necesidades de información de la aplicaciones nuevas sin tener que almacenar datos adicionales. -Es posible hacer cumplir las normas: Al tener un control centralizado de la base de datos, el DBA puede garantizar la observancia de todas las normas aplicables para la representación de datos. Estas normas pueden ser de la empresa, de la instalación, del departamento, de la industria, nacionales o internacionales, etc. La normalización de formato de datos almacenados es deseable sobre todo como apoyo para el intercambio de la información, o migración de datos entre sistemas. -Es posible aplicar restricciones de seguridad: Al tener jurisdicción completa de la base de datos, el DBA puede asegurar que el acceso a la base de datos sea solo atreves de canales apropiados y por lo tanto debe definir las verificaciones de seguridad por realizar cuando se intente acceder a información importante. -Es posible mantener la integridad: La integridad implica asegurar que la información de la base de datos sea correcta, por ejemplo, una consulta podría revelar que un empleado trabajo 400 horas en vez de 40, o que pertenece a un departamento que no existe. Un control centralizado de la base de datos puede contribuir a evitar este tipo de problemas, si el administrador de base de datos define verificaciones de integridad que deben realizarse en toda operación de actualización de la base de datos. -Es posible equilibrar requerimientos opuestos: Al conocer los requerimientos generales del sistema el DBA puede estructurar sistemas con miras a proporcionar un servicio general más óptimo para la empresa, por ejemplo es posible escoger una forma de representación de los datos almacenados con la cual las aplicaciones más importantes podrían tener acceso rápido, aunque el funcionamiento de algunas otras aplicaciones sufra menoscabo. -Contara con la independencia de los datos: un DBA debe tener la libertad para modificar la estructura de almacenamiento o la técnica de acceso para adaptarlas a cambios según los requerimientos sin tener que modificar las aplicaciones ya existentes, por ejemplo, podrían agregarse datos de otra clase a la base de datos, podrían adoptarse normas nuevas, podrían cambiar las prioridades de las aplicaciones, podrían surgir nuevos dispositivos para el almacenamiento, etcétera. La independencia de los datos podría definirse como la inmunidad de las aplicaciones ante los cambios en la estructura e almacenamiento y en la técnica de acceso. 5) Ventajas de usar un SGBD5 3 de 11 Churquina, Delgado, Mealla, Ortiz, Vazquez Los sistemas de bases de datos presentan numerosas ventajas que se pueden dividir en dos grupos: las que se deben a la integración de datos y las que se deben a la interface común que proporciona el SGBD. Ventajas por la integración 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, o bien es necesaria para mejorar las prestaciones. 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. Desgraciadamente, no todos los SGBD de hoy en día se encargan de mantener automáticamente la consistencia. Más información sobre la misma cantidad de datos. Al estar todos los datos integrados, se puede extraer información adicional sobre los mismos. 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. Además, las nuevas aplicaciones que se vayan creando pueden utilizar los datos de la base de datos existente. 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. Ventajas por la existencia del SGBD (Sistemas Gestores de Bases de Datos) 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. Sin embargo, los SGBD permiten mantener la seguridad mediante el establecimiento de claves para identificar al personal autorizado a utilizar la base de datos. Las autorizaciones se pueden realizar anivel de operaciones, de modo que un usuario puede estar autorizado a consultar ciertos datos pero no a actualizarlos, por ejemplo. 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. 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. Muchos SGBD también proporcionan un entorno de cuarta generación consistente en un conjunto de herramientas que simplifican, en gran medida, el desarrollo de las aplicaciones que acceden a la base de datos. Gracias a estas herramientas, el programador puede ofrecer una mayor productividad en un tiempo menor. Mejora en el mantenimiento gracias a la independencia de datos. 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 4 de 11 Churquina, Delgado, Mealla, Ortiz, Vazquez 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, incluso, que 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 y de recuperación ante fallos. 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. 6) Redundancia e Inconsistencia de los datos: La redundancia consiste en el almacenamiento de información idéntica en múltiples archivos. Los mismos datos han sido registrados para más de una aplicación. Almacenar y mantener los mismos datos en 2 archivos en vez de uno, es más costoso ya que requiere doble espacio de almacenamiento y doble cantidad de trabajo. Esto puede llevar a inconsistencia de los datos, es decir, las diversas copias de los mismos datos no concuerdan entre sí. Ejemplos: Registro de Cuentas de Ahorro y de Cuentas Corrientes, información de dirección, teléfono, etc. Entonces, como resultado habitual, muchos ficheros utilizados por diversos programas almacenaban la misma información, y no solo eso, sino que la mayoría de veces no recibían el mismo nombre ni coincidían los tipos de datos, por ejemplo, un campo cuidad de un fichero, se llama localidad en otro y podía tener longitud mayor que la primera, es la falta de control sobre los datos que generaban la empresa lo que lleva a estas situaciones. Como solución, tal empresa tendría a una persona o equipo que se dedicara a supervisar todas las aplicaciones e intentar mejorar este sistema. Aunque cada aplicación gestiona información propia, siempre hay datos comunes a varias aplicaciones. Generando así situaciones indeseables, como las que ya mencionamos: la inconsistencia y los laboriosos programas de actualización. 7) Integridad Referencial1: La integridad referencial es una propiedad deseable en las bases de datos. Gracias a la integridad referencial se garantiza que una entidad (fila o registro) siempre se relacione con otras entidades válidas, es decir, que existen en la base de datos. Implica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas. Todas las bases de datos relacionales gozan de esta propiedad gracias a que el software gestor de base de datos vela por su cumplimiento. En cambio, las bases de datos jerárquicas requieren que los programadores se aseguren de mantener tal propiedad en sus programas. Ejemplo: Supongamos una base de datos con las entidades Persona y Factura. Toda factura corresponde a una persona y solamente una. Implica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas. Supongamos que una persona se identifica por su atributo DNI (Documento Nacional de Identidad). También tendrá otros atributos como el nombre y la dirección. La entidad Factura debe tener un atributo DNI_cliente que identifique a quién pertenece la factura. Por sentido común es evidente que todo valor de DNI_cliente debe corresponder con algún valor existente del atributo DNI de la entidad Persona. Esta es la idea intuitiva de la integridad referencial. Existen tres tipos de integridad referencial: Integridad referencial débil: si en una tupla de R todos los valores de los atributos de K tienen 1 Articulo resumido de Wikipedia. https://es.wikipedia.org/wiki/Integridad_referencial 5 de 11 Churquina, Delgado, Mealla, Ortiz, Vazquez un valor que no es el nulo, entonces debe existir una tupla en S que tome esos mismos valores en los atributos de J; Integridad referencial parcial: si en una tupla de R algún atributo de K toma el valor nulo, entonces debe existir una tupla en S que tome en los atributos de J los mismos valores que los atributos de K con valor no nulo; Integridad referencial completa: en una tupla de R todos los atributos de K deben tener el valor nulo o bien todos tienen un valor que no es el nulo y entonces debe existir una tupla en S que tome en los atributos de J los mismos valores que toman los de K. 8) Integridad e Inconsistencia La integridad sólo se produce cuando existe redundancia de datos. La inconsistencia consiste en que no todas las copias redundantes contienen la misma información. Así, si existen diferentes modos de obtener la misma información, y esas formas pueden conducir a datos almacenados en distintos sitios. El problema surge al modificar esa información, si lo sólo cambiamos esos valores en algunos de los lugares en que se guardan, las consultas que hagamos más tarde podrán dar como resultado respuestas inconsistentes (es decir, diferentes). Puede darse el caso de que dos aplicaciones diferentes proporcionen resultados distintos para el mismo dato, como generalmente los datos se reparten entre varios ficheros, la base de datos está disponible para varios usuarios de forma simultánea, deben existir mecanismos que aseguren que las interrelaciones entre registros se mantienen coherentes, que se respetan las dependencias de existencia y que las claves únicas no se repitan. Por ejemplo, un usuario no debe poder borrar una entidad de una base de datos, si otro usuario está usando los datos de esa entidad. Este tipo de situaciones son potencialmente peligrosas, ya que provocan situaciones con frecuencia imprevistas. Ciertos errores de integridad pueden provocarque una base de datos deje de ser usable. Los problemas de integridad se suelen producir cuando varios usuarios están editando datos de la misma base de datos de forma simultánea. Por ejemplo, un usuario crea un nuevo registro, miestras otro edita uno de los existentes, y un tercero borra otro. El DBMS debe asegurar que se pueden realizar estas tareas sin que se produzcan errores que afecten a la integridad de la base de datos. 9) DDL, DML, DCL, SQL •El lenguaje de gestión de bases de datos más conocido en la actualidad es el SQL (Structured Query Language), que es un lenguaje desarrollado por IBM y estandarizado por ANSI. Comúnmente aceptado por los fabricantes de generadores de bases de datos. SQL es un lenguaje de consulta para direccionar, crear, actualizar o consultar bases de datos relacionales, pero que no posee la potencia de los lenguajes de programación. (Las sentencias de SQL se clasifican según su finalidad dando origen a 3 sublenguajes: DCL, DDL y DML) •DML (Data Manipulation Language): Lenguaje de manipulación de datos que permite actualizar y recuperar los datos almacenados en la base de datos. Sentencias: SELECT, INSERT, UPDATE, DELETE. Ejemplo: Listar todos los campos de la tabla categorías -> SELECT * FROM CATEGORIAS Ejemplo: Insertar una fila a la tabla categorías -> INSERT INTO CATEGORIAS (Coc_Categoria, Desc_Categoria) VALUES (‘CA’,’CADETE’) Ejemplo: Cambiar la descripción de la categoría del código de categoría CA de cadete a capataz -> UPDATE CATEGORIAS SET Desc_Categoria=’capataz’ WHERE Cod_categoria=’CA’ Ejemplo: Eliminar todas las filas de la tabla categorías -> DELETE FROM CATEGORIAS •DDL (Data Definition Language): Lenguaje que incluye órdenes para definir, modificar o borrar objetos de la base de datos. Sentencias: CREATE, DROP, ALTER. Ejemplo: Crear una BD de nombre sueldos dentro del motor de SQL Server de 10MByte de tamaño con un tamaño máximo de 50 Mbyte para el archivo de datos (sueldos.mdf) y un tamaño de 5 Mbyte para el archivo de registro de transacciones o log y con un tamaño máximo de 25 Mbyte para el archivo de log (sueldos.ldf) en ambos casos con un incremento de 5 Mbyte. CREATE DATABASE SUELDOS ON 6 de 11 Churquina, Delgado, Mealla, Ortiz, Vazquez (NAME = SUELDOS_dat, FILENAME=’c:\sueldos.mdf’, SIZE=10, MAXSIZE=50, FILEGROWTH=5) LOG ON (NAME=‘SUELDOS_log’, FILENAME=’c:\sueldos.ldf’, SIZE= 5MB, MAXSIZE=25MB, FILEGROWTH=5MB) Ejemplo: Agregar el campo usuario a la tabla categorías: ALTER TABLE CATEGORIAS ADD Usuario varchar (30) Ejemplo: Eliminar la tabla categorías DROP CATEGORIAS •DCL (Data Control Language): Lenguaje que incluye órdenes para manejar la seguridad de los datos y de la base de datos. Permite crear roles y establecer permisos. Sentencias: GRANT y REVOKE. Ejemplo: Se asigna al usuario UNJU los privilegios de SELECT e INSERT sobre todas las columnas de la tabla persona y el de UPDATE sobre la columna nombre de dicha tabla. Se le garantiza, además, el privilegio de asignar estos permisos a otros usuarios. GRANT SELECT, INSERT, UPDATE (nombre) ON persona TO UNJU WITH GRANT OPTION 9) Objetivos de un DBMS Existen diferentes objetivos que deben cumplir los SGBD, entre ellos podemos destacar: -Abstracción de la información: los sistemas de gestión de base de datos ahorran a los usuarios detalles acerca del almacenamiento físico de datos. Da lo mismo si una base de datos ocupa uno a cientos de archivos, este hecho se hace transparente al usuario. Así se definen varios tipos de abstracción9. -Independencia: la independencia de los datos consiste en la capacidad de modificar el esquema físico o lógico (conceptos que se detallaran más adelante) de una base de datos sin tener que realizar cambios en las aplicaciones que sirven para ella. -Consistencia: como ya se ha expuesto antes, en aquellos casos en los que no se ha logrado eliminar la redundancia, es necesario vigilar que aquella información que aparece repetidas veces se actualice de forma coherente, es decir, que todos los datos repetidos se actualice de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones. -Seguridad: La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos. -Manejo de transacciones: Una transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos. 11) Arquitectura de los sistemas de base de datos o niveles de un DBMS 8(24 sistema base de datos)55 introduccion Uno de los objetivos de los sistemas de bases de datos es mostrar una visión abstracta de los datos, es decir, se esconden ciertos detalles de cómo se almacenan y manejan los datos, para mostrar sólo aquellos aspectos de utilidad práctica al usuario. Esa visión abstracta de los datos puede clasificarse en tres niveles: -Nivel físico. Se describe el almacenamiento digital de los datos en la memoria principal y secundaria de la computadora. Se debe de considerar la arquitectura y atributos de los sistemas y medios de almacenamiento. -Nivel conceptual. Se describe la información que se almacena en la base de datos, hasta cierto punto independientemente del sistema físico en el que se implemente. En este nivel, la información ya tiene un carácter semántico concreto y directo para los usuarios, no se ve como una representación decimal de 0111 en binario, sino como la calificación de un alumno en cierta materia). -Nivel externo o de visión. Aunque en el nivel conceptual se describe la manera de almacenar información que tiene un significado concreto en el dominio de aplicación, en el nivel de visión se centra aún más en el significado para el usuario. La información se clasifica de acuerdo al 7 de 11 Churquina, Delgado, Mealla, Ortiz, Vazquez tipo de usuario, cambiando el formato de presentación y seleccionando sólo aquella de interés directo. Los niveles de abstracción de datos son una estrategia para organizar los datos considerando desde la plataforma física hasta el nivel de usuario. Los esquemas son las estructuras diseñadas para resolver cada nivel de abstracción, así, los sistemas de bases de datos soportan varios esquemas: 12) Independencia de datos La independencia de datos es la capacidad de modificar la definición de un esquema sin afectar la definición de un nivel superior. Así podemos definir dos tipos de independencia de datos: -Independencia Lógica: Significa modificar el esquema conceptual sin provocar que se necesiten escribir los programas de aplicación. Se puede modificar el esquema conceptual para ampliar la base de datos o para reducirla. Por Ej.: si se reduce la base de datos eliminando una entidad, los esquemas externos que NO se refieran a ella no deberán verse afectados11 -Independencia Física: Se modifica el esquema físico sin provocar que se necesiten escribir los programas de aplicación. En la práctica esto significa que aunque se añadan o cambien discos u otro hardware, o se modifique el sistema operativo u otros cambios relacionados con la física de la base de datos, el esquema conceptual permanece invariable. La independencia lógica es más difícil de lograr que la física, pues los programas de aplicación son fuertemente dependientes de los datos que acceden.La independencia de datos es análoga a los tipos abstractos de datos de los lenguajes de programación, y surgen como consecuencia de la arquitectura de tres niveles. 13) Modelos Jerárquicos, de red, relacional, y Modelo Orientado a Objetos 28 SBD 8 de 11 Churquina, Delgado, Mealla, Ortiz, Vazquez Un modelo de datos es básicamente una “descripción” de algo conocido como contenedor de datos (algo donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos no son cosas físicas, son abstracciones que permiten la implementación de un sistema eficiente de datos; algunos modelos utilizados con frecuencia son: -Modelo Jerárquico: En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. -Modelo de Red: es una base de datos conformada por una colección o set de registros, los cuales están conectados entre sí por medio de enlaces en una red. El registro es similar al de una entidad como las empleadas en el modelo relacional. -Modelo Relacional: s el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Su idea fundamental es el uso de “relaciones”. De manera simple, una relación representa una tabla que no es más que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. -Modelo Orientado a Objetos: En este modelo, la información se representa mediante objetos como los presentes en la programación orientada a objetos, incorporan conceptos propios de tal paradigma como encapsulación, herencia y polimorfismo, son diseñadas para los sistemas que necesiten un buen rendimiento en la manipulación de tipos de datos complejos. Los primeros tipos de modelos que existían eran lo de Red y Jerárquico, actualmente, se puede decir que esos modelos fueron un camino recorrido que llevo al desarrollo del modelo relacional. Aunque los modelos jerárquico y de red son la base de algunos DBMS usados en la actualidad, se puede decir, en general, que esos modelos son historia. El modelo relacional soluciona varios de los problemas no resueltos por otros modelos previos, sin embargo, se debe de considerar que el correcto planteamiento de los problemas es en sí un avance hacia su solución. Así, los modelos jerárquico y de red pueden considerarse como escalones en la construcción de modelos eficientes de bases de datos. El modelo relacional es robusto debido a la formalidad con que se plantea, pues está fundamentado matemáticamente en el álgebra de relaciones. En la actualidad, una de las principales alternativas al modelo relacional es el modelo orientado a objetos, sin embargo, el modelo relacional aún se considera más importante por su fundamento, la cantidad de usuarios, herramientas y sistemas comerciales existentes. 9 de 11 Churquina, Delgado, Mealla, Ortiz, Vazquez Referencias: Date C. J., Introducción a los Sistemas de Base de Datos, Pearson Educación, 7ma Edición, México, 2001. Rafael Campos Paré, Base de Datos, UOC formación de Posgrado, 2001. Miguel Murgía, Bases de Datos, Notas del Curso, México, D. F. Mayo 2004. Abraham Silberschatz, Fundamentos de Base de Datos, Cuarta Edición, España, 2002. Elmasri R. & S. Navathe, Sistema de Base de Datos – Conceptos Fundamentales, Adsison- Wesley. Iberoamericana, 2da edición. España 1994. Base de Datos, http://es.wikipedia.org./wiki/base_de_datos , acceso Agosto 2015. SGBD, http://es.wikipedia.org/wiki/SGBD, acceso Agosto 2015. Base de Datos, http://www.google.com.ar, acceso Agosto 2015. https://es.wikipedia.org/wiki/Integridad_referencial, acceso Agosto 2015 http://mysql.conclase.net/ acceso Agosto 2015 10 de 11 Churquina, Delgado, Mealla, Ortiz, Vazquez
Compartir