Tema Base de Datos Tema 29-08-2011

download Tema Base de Datos Tema 29-08-2011

of 33

Transcript of Tema Base de Datos Tema 29-08-2011

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    1/33

    GESTORES DEBASE DE DATOSCURSO DE BASE DE DATOS

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    2/33

    1. Introduccin

    } Un archivo es un elemento de informacin conformado por unconjunto de registros. Estos registros a su vez estn compuestos poruna serie de caracteres o bytes.

    } Los archivos, alojados en dispositivos de almacenamientoconocidos como memoria secundaria, pueden almacenarse dedos formas diferentes: archivos convencionales o bases de datos.

    } Los archivos convencionales, pueden organizarse como archivossecuenciales o archivos directos. Sin embargo, el almacenamientode informacin a travs de archivos convencionales presenta unaserie de limitaciones que restringen de manera importante laversatilidad de los programas de aplicacin que se desarrollan.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    3/33

    2. Archivos convencionales} El uso de sistemas de informacin por parte de las organizaciones

    requiere el almacenamiento de grandes cantidades deinformacin, ya sea para el uso mismo del sistema, para generarresultados o para compartir dicha informaci

    n con otros sistemas.

    } Las formas en las cuales pueden organizarse son archivossecuenciales o archivos directos. En los archivos secuenciales losregistros estn almacenados en una secuencia que depende dealgn criterio definido. Por ejemplo, pueden almacenarse losregistros de los empleados de la empresa de manera secuencialde acuerdo al departamento al que pertenecen o de acuerdo asu antigedad.

    } Si se desea consultar o modificar informacin, tambin es

    necesario buscar uno por uno en los registros hasta encontrarla.

    } Los archivos directos permiten accesar directamente un registro deinformacin sin tener que buscar uno a uno por todos los registrosdel archivo, utilizando una llave de acceso dentro del archivo.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    4/33

    3. Definicin de Base de Datos} Se define una base de datos como una serie de

    datos organizados y relacionados entre s, los cualesson recolectados y explotados por los sistemas deinformacin de una empresa o negocio enparticular.

    } Las bases de datos proporcionan la infraestructurarequerida para los sistemas de apoyo a la toma dedecisiones y para los sistemas de informacinestratgicos, ya que estos sistemas explotan lainformacin contenida en las bases de datos de la

    organizacin para apoyar el proceso de toma dedecisiones o para lograr ventajas competitivas. Poreste motivo es importante conocer la forma en queestn estructuradas las bases de datos y su manejo.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    5/33

    Base de Datos

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    6/33

    4. Componentes principales

    } Datos. Los datos son la Base de Datos propiamente dicha.} Hardware. El hardware se refiere a los dispositivos de almacenamiento en

    donde reside la base de datos, as como a los dispositivos perif

    ricos (unidadde control, canales de comunicacin, etc.) necesarios para su uso.

    } Software. Est constituido por un conjunto de programas que se conocecomo Sistema Manejador de Base de Datos (DMBS: Data Base ManagementSystem). Este sistema maneja todas las solicitudes formuladas por los usuariosa la base de datos.

    } Usuarios. Existen tres clases de usuarios relacionados con una Base de Datos:} El programador de aplicaciones, quien crea programas de aplicacin que

    utilizan la base de datos.

    } El usuario final, quien accesa la Base de Datos por medio de un lenguaje deconsulta o de programas de aplicacin.

    } El administradorde la Base de Datos (DBA: Data Base Administrator), quien seencarga del control general del Sistema de Base de Datos.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    7/33

    5. Ventajas en el uso de Bases

    de Datos.

    } Globalizacin de la informacin. Permite a los diferentes usuarios considerar la informacincomo un recurso corporativo que carece de dueos especficos.

    } Eliminacin de informacin redundante. Duplicada

    } Eliminacin de informacin inconsistente. Si el sistema esta desarrollado a travs dearchivos convencionales, dicha cancelacin deber operarse tanto en el archivo defacturas del Sistema de Control de Cobranza como en el archivo de facturas del Sistemade Comisiones.

    } Permite compartir informacin. Varios sistemas o usuarios pueden utilizar una mismaentidad.

    } Permite mantener la integridad en la informacin. Solo se almacena la informacincorrecta.

    } Independencia de datos. La independencia de datos implica un divorcio entre programasy datos; es decir, se pueden hacer cambios a la informacin que contiene la base dedatos o tener acceso a la base de datos de diferente manera, sin hace cambios en lasaplicaciones o en los programas.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    8/33

    6. El sistema organizador deBase de Datos (DBMS)} El DBMS es un conjunto de programas que se encargan de manejar la creacin y todos los accesos

    a las bases de datos. Se compone de un lenguaje de definicin de datos (DDL: Data DefinitionLanguage), de un lenguaje de manipulacin de datos (DML: Data Manipulation Language) y de unlenguaje de consulta (SQL: Structured Query Language).

    } El lenguaje de definicin de datos (DDL) es util izado para describir todas las estructuras deinformacin y los programas que se usan para construir, actualizar e introducir la informacin quecontiene una base de datos.

    } El lenguaje de manipulacin de datos (DML) es util izado para escribir programas que crean,actualizan y extraen informacin de las bases de datos.

    } El lenguaje de consulta (SQL) es empleado por el usuario para extraer informacin de la base dedatos. El lenguaje de consulta permite al usuario hacer requisiciones de datos sin tener que escribir

    un programa, usando instrucciones como el SELECT, el PROJECT y el JOIN.} La secuencia conceptual de operaciones que ocurren para acceder cierta informacin que

    contiene una base de datos es la siguiente:

    } 1 El usuario solicita cierta informacin contenida en la base de datos.

    } El DBMS intercepta este requerimiento y lo interpreta.

    } El DBMS realiza las operaciones necesarias para acceder y/o actualizar la informacin solicitada.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    9/33

    7. El administrador de la Base

    de Datos (DBA)

    } El DBA es la persona encargada dedefinir y controlar las bases de datoscorporativas, adems proporcionaasesora a los usuarios y ejecutivos que larequieran

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    10/33

    8. Tipos de modelos de Datos

    } Existen fundamentalmente tresalternativas disponibles para disear lasbases de datos: el modelojerrquico, elmodelo de red y el modelo relacional.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    11/33

    El modelo jerrquico

    } La forma de esquematizar la informacin se realiza a travs de representaciones jerrquicaso relaciones de padre/hijo, de manera similar a la estructura de un rbol. As, el modelojerrquico puede representar dos tipos de relaciones entre los datos: relaciones de uno auno y relaciones de uno a muchos.

    } En el primer tipo se dice que existe una relacin de uno a uno si el padre de la estructura deinformacin tiene un solo hijo y viceversa, si el hijo tiene solamente un padre. En el segundotipo se dice que la relacin es de uno a muchos si el padre tiene ms de un hijo, aunquecada hijo tenga un solo padre.

    } Inconveniente del modelo jerrquico

    } Relacin maestro-alumno, donde un maestro tiene varios alumnos, pero un alumnotambin tiene varios maestros, uno para cada clase. En este caso, si la informacinestuviera representada en forma jerrquica donde el padre es el maestro y el alumno es elhijo, la informacin del alumno tendr que duplicarse para cada uno de los maestros.

    } Otra dificultad que presenta el modelo jerrquico de representacin de datos es respectoa las bajas. En este caso, si se desea dar de baja a un padre, esto necesariamenteimplicar dar de baja a todos y cada uno de los hijos que dependen de este padre.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    12/33

    Modelo jerarquico

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    13/33

    El modelo de red} El modelo de red evita esta redundancia en la informacin, a

    travs de la incorporacin de un tipo de registro denominado elconector, que en este caso pueden ser las calificaciones queobtuvieron los alumnos de cada profesor.

    }

    La dificultad surge al manejar las conexiones o ligas entre losregistros y sus correspondientes registros conectores.

    } El modelo de red evita esta redundancia en la informacin, atravs de la incorporacin de un tipo de registro denominado elconector, que en este caso pueden ser las calificaciones queobtuvieron los alumnos de cada profesor.

    } La dificultad surge al manejar las conexiones o ligas entre losregistros y sus correspondientes registros conectores.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    14/33

    Modelo de red

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    15/33

    El modelo relacional} Se est empleando con ms frecuencia en la prctica, debido el

    rpido entendimiento por parte de los usuarios que no tienenconocimientos profundos sobre Sistemas de Bases de Datos y a lasventajas que ofrece sobre los dos modelos anteriores.

    } En este modelo toda la informacin se representa a travs dearreglos bidimensionales o tablas. Estas operaciones bsicas son:

    } Seleccionar renglones de alguna tabla (SELECT)} Seleccionar columnas de alguna tabla (PROJECT)} Unir o juntar informacin de varias tablas (JOIN)

    } Es importante mencionar que la mayora de los paquetes quemanejan bases de datos disponibles en el mercado poseen lasinstrucciones SELECT, PROJECT Y JOIN con diferentes nombres ymodalidades.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    16/33

    Modelo Relacional

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    17/33

    9. Bases de Datos distribuidas

    } Son las Bases de Datos que no estnalmacenadas totalmente en un solo lugarfsico, (esta segmentada) y se comunicanpor medio de enlaces decomunicaciones a travs de una red decomputadoras distribuidas

    geogrficamente.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    18/33

    Tendencias futuras

    } . La explotacin efectiva de la informacin dar ventajacompetitiva a las organizaciones.

    } Las bases de datos orientadas a objetos empleadas para diseo y

    manufactura asistida porcomputadora CAD/CAM sern utilizadosa un mismo nivel que las Bases se Datos relacionales de laactualidad.

    } Los lenguajes de consulta (SQL) permitirn el uso del lenguajenatural para solicitar informacin de la Base de Datos, haciendoms rpido y fcil su manejo.

    } Algunas Bases de Datos} SQL, ORACLE, DBASE, IV, FOXPRO, FOXBASE, PARADOS, ACCES,

    APPROACH.} Bibliografa} Sistemas de informacin para la toma de decisiones autor Daniel

    Cohen Mc Graw Hill

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    19/33

    LOS DBMSSistemas Administradores de Bases de Datos

    Evolucin

    } Inicialmente, en los aos 40s, los Sistemas de Archivos generados a travs de lenguajes deprogramacin no propietarios como Cobol y Fortran (vigentes en la actualidad), permitenalmacenar los datos a travs de archivos planos con funciones bsicas de lectura y escritura sobreellos. En 1964, se conciben los primeros Gestores de Base de Datos (DBMS: Database ManagementSystem), por medio de los cuales se pretende dar un viraje a los Sistemas de Archivos, los cuales selimitan a la estructuracin del almacenamiento fsico de los datos. Con los DBMS se crea elconcepto de Administracin de los datos, por medio de actividades integradas que permiten verlosfsicamente en un solo almacenamiento pero lgicamente se manipulan a travs de esquemascompuesto por estructuras donde se establecen vnculos de integridad, mtodos de acceso y

    organizacin fsica sobre los datos, permitiendo as obtener valores agregados de utilizacin talescomo: manejo de usuarios, seguridad, atomicidad e independencia fsica y lgica de los datos,entre otros.

    }

    El primer gestor de bases de datos (DBMS) comercial, IDS: Integrated Data Store , se crea bajo elconcepto del Modelo de Datos de Red (Bachgman, 1965); luego se desarrolla el IMS: InformationManagement System , sobre el concepto del Modelo de Datos Jerrquico. Estos DBMSs eranaccesados normalmente por lenguajes de programacin como Cobol usando interfases de bajonivel haciendo que las tareas de creacin de aplicaciones y mantenimiento de los datos fuesencontrolables, pero an complejas.

    } A medida que evolucionaban los DBMS, los lenguajes de programacin tambin lo hacan. En 1967surge el primer lenguaje de programacin orientado a objetos, Simula, el cual fue propuesto para

    simulacin de actividades. En este los procedimientos podan ser asociados a un tipo pararepresentar el comportamiento de una instancia, introduciendo as el concepto de Clase. Simula,soporta paralelismo permitiendo muchas entidades interactivas en una simulacin. Ademscomparte objetos acoplando datos y procedimientos.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    20/33

    } Luego se genera una nueva nocin, donde las bases de datos deben almacenar por medio

    de una estructura tabular l lamada relacin o tabla (Codd,1970), compuesta por filas ycolumnas, accesando dichas relaciones a travs de un lenguaje de alto nivel noprocedural (declarativo). De esta forma en los aos 80s surgen varios productores de DBMSRelacionales (RDBMS) como Oracle, Informix, Ingres y DB2, adems de otros lenguajesorientados a objetos como el C++, Java (antes el Oak), Eiffel, y Smalltalk adoptando ymejorando el concepto de clase pero su desarrollo se hace independiente de los DBMSs.

    } Comenzando los aos 80s ya se siente la necesidad de que los DBMS actuales manipulenobjetos complejos y estructuras como las usadas en sistemas CAD y CASE, entre otras. A partirde esto se da inicio a dos grandes tendencias: los ORDBMS (Object Relational Database

    Management System) los cuales se proyectan como una extensin de los RDBMS hacia elparadigma OO, y los OODBMS (Object Oriented Database Management System) estarandisponibles para almacenar y manipular las clases, los objetos, la asociacin entre ellos y susmtodos. As, finalizando los aos 80s se crean los OODBMSs por medio de productores comoO2, ObjectDesign y Objectivity, entre otros. Pero realmente se puede decir que estos no sehicieron tan comerciales como los existentes RDBMS ya que el concepto de Orientacin aObjetos se segua manejando muy a nivel del lenguaje de programacin, sin que setrabajaran estructuras de almacenamiento Orientadas a Objetos dependientes de estos

    } . As, en 1991 surge la ODMG (Object Database Management Group) el cual estandariza losOODBMSs a partir del ODMG-93 y luego en 1992 el comit ANSI X3H2 inicia un trabajo en

    SQL3, del cual surgen los DBMS objeto relacional ORDBMS. Este trabajo fue programado parafinalizarse en 1995, pero an se sigue trabajando en este con un tiempo l mite de terminacin,en el ao 1999.

    } Por medio de la tabla 1 se puede observar la clasificacin que se ha hecho de las versionesque han generado los diferentes vendedores de acuerdo a la evolucin de los modelos:

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    21/33

    Esquema de un BDMS

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    22/33

    Lenguajes del DBMS} En la estructura bsica de un Sistema Manejador de Base de Datos se enuncian dos lenguajes que

    permiten trabajar sobre la base de datos. Estos lenguajes estndar son:

    }

    DDL (Data Definicin lenguaje): Lenguaje de Definicin de Datos. Por medio de este el DBMSidentifica las descripciones de los elementos de los esquemas y almacena la descripcin delesquema en el catlogo del DBMS.Por medio de este el DBMS especifica el esquema conceptual e interno (Base de datosAlmacenada).

    } SDL (Store Definition lenguaje): Lenguaje de definicin de almacenamiento. Es utilizado por elDBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada.

    } VDL (View Definicin lenguaje): Lenguaje de Definicin de Vistas. Es utilizado por el DBMS paraespecificar las vistas del usuario y sus correspondencias con el esquema conceptual.

    } En las Bases de Datos Relacionales, el SQL, representa una combinacin de los anteriores. DML(Data Manipulacin lenguaje): Lenguaje de Manipulacin de Datos. Permite la manipulacin delas operaciones de Insercin, Eliminacin y Modificacin.

    } Tipos de DML's:} De alto Nivel o No por procedimientos: SQL.

    } De bajo Nivel o por procedimientos.

    } Usuarios de un Sistema Manejador de Base de Datos

    } Personal del DBA

    } Usuarios Espordicos

    } Programadores de Aplicaciones

    } Usuarios paramtricos

    }

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    23/33

    Un Sistema Gestor de Bases de Datos (SGBD) o DBMA

    (Data Base Management System)

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    24/33

    Un Sistema Gestor de Bases de Datos (SGBD)o DBMA (Data Base Management System)

    } es una coleccin de programas cuyo objetivo es servir de interfaz entre la base de datos,el usuario y las aplicaciones. Se compone de un lenguaje de definicin de

    } datos, de un lenguaje de manipulacin de datos y de un lenguaje de consulta.

    } Un SGBD permiten definir los datos a distintos niveles de abstraccin y manipular dichosdatos, garantizando la seguridad e integridad de los mismos.

    } Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL, MS SQL Server, etc.

    } Un SGBD debe permitir: Definir una base de datos: especificar tipos, estructuras y restricciones de datos.

    }

    Construir la base de datos: guardar los datos en algn medio controlado por el mismoSGBD

    }

    Manipular la base de datos: realizar consultas, actualizarla, generar informes

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    25/33

    Las caractersticas de un Sistema Gestor de Base deDatos SGBD son:

    }

    Abstraccin de la informacin. Los SGBD ahorran a los usuariosdetalles acerca del almacenamiento fsico de los datos. Da lomismo si una base de datos ocupa uno o cientos de archivos, estehecho se hace transparente al usuario. As, se definen variosniveles de abstraccin.

    }

    Independencia. La independencia de los datos consiste en lacapacidad de modificar el esquema (fsico o lgico) de una basede datos sin tener que realizar cambios en las aplicaciones que sesirven de ella.

    }

    Redundancia mnima. Un buen diseo de una base de datoslograr evitar la aparicin de informacin repetida o redundante.De entrada, lo ideal es lograr una redundancia nula; no obstante,en algunos casos la complejidad de los clculos hace necesaria laaparicin de redundancias.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    26/33

    } Consistencia. En aquellos casos en los que no se ha logradoesta redundancia nula, ser necesario vigilar que aquella

    informacin que aparece repetida se actualice de formacoherente, es decir, que todos los datos repetidos seactualicen de forma simultnea.

    }

    Seguridad. La informacin almacenada en una base dedatos puede llegar a tener un gran valor. Los SGBD debengarantizar que esta informacin se encuentra segurizada

    frente a usuarios malintencionados, que intenten leerinformacin privilegiada; frente a ataques que deseenmanipular o destruir la informacin; o simplemente ante lastorpezas de algn usuario autorizado pero despistado.Normalmente, los SGBD disponen de un complejo sistema depermisos a usuarios y grupos de usuarios, que permiten otorgardiversas categoras de permisos.

    }

    Integridad. Se trata de adoptar las medidas necesarias paragarantizar la validez de los datos almacenados. Es decir, setrata de proteger los datos ante fallos de hardware, datosintroducidos por usuarios descuidados, o cualquier otracircunstancia capaz de corromper la informacinalmacenada.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    27/33

    } Respaldo y recuperacin. Los SGBD debenproporcionar una forma eficiente de realizar copiasde respaldo de la informacin almacenada en ellos,y de restaurar a partir de estas copias los datos quese hayan podido perder.

    }

    Control de la concurrencia. En la mayora deentornos (excepto quizs el domstico), lo mshabitual es que sean muchas las personas queacceden a una base de datos, bien para recuperarinformacin, bien para almacenarla. Y es tambinfrecuente que dichos accesos se realicen de formasimultnea. As pues, un SGBD debe controlar este

    acceso concurrente a la informacin, que podraderivar en inconsistencias.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    28/33

    Arquitectura de los sistemas de bases de datos

    } En 1975, el comit ANSI-SPARC (AmericanNational Standard Institute - Standards

    Planning and Requirements Committee)propuso una arquitectura de tres nivelespara los SGBD cuyo objetivo principal era elde separar los programas de aplicacin dela BD fsica. En esta arquitectura el esquema

    de una BD se define en tres niveles deabstraccin distintos:

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    29/33

    Nivel interno o fsico

    } el ms cercano al almacenamiento fsico, esdecir, tal y como estn almacenados en elordenador. Describe la estructura fsica de la BDmediante un esquema interno.

    } Este esquema se especifica con un modelo fsicoy describe los detalles de cmo se almacenanfsicamente los datos:

    } Los archivos que contienen la informacin, su

    organizacin, los mtodos de acceso a losregistros, los tipos de registros, la longitud, loscampos que los componen, etctera.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    30/33

    Nivel externo o de visin

    } Es el ms cercano a los usuarios, es decir, esdonde se describen varios esquemas externos

    o vistas de usuarios.

    } Cada esquema describe la parte de la BDque interesa a un grupo de usuarios en estenivel se representa la visin individual de unusuario o de un grupo de usuarios.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    31/33

    Nivel conceptual} describe la estructura de toda la BD para un

    grupo de usuarios mediante un esquema

    conceptual. Este esquema describe lasentidades, atributos, relaciones, operacionesde los usuarios y restricciones, ocultando losdetalles de las estructuras fsicas dealmacenamiento. Representa la informacincontenida en la BD.

    } En la Figura 1.1 se representan los niveles deabstraccin de la arquitectura ANSI.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    32/33

    Niveles de abstraccin de la arquitectura ANSI.

  • 8/4/2019 Tema Base de Datos Tema 29-08-2011

    33/33