You are on page 1of 42

CAPITULO 2 Conceptos y Arquitectura de Base de Datos.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Esquema 
 Modelos de Datos y sus categorías  Esquemas, instancias y los Estados  Arquitectura de tres capas  Independencia de Datos.  Idiomas e interfaces DBMS  Utilidades y Herramientas de la base de datos.  Arquitecturas cliente-servidor y Centralizada.  Clasificación de los DBMS

Slide 2- 2

Modelos de Datos.  Modelo Dato: 
 Estructura del Modelo de Datos y Constraints:

 Un conjunto de conceptos para describir la estructura de una base de datos, las operaciones para manipulación de esas estructuras y certeras restricciones ( constraints) que la base de datos debe obedecer.  Construcciones se utilizan para definir la estructura de base de datos  Construcciones suelen incluir elementos (y sus tipos de datos), así como grupos de elementos (por ejemplo, la entidad, registro, tabla), y las relaciones entre esos grupos.  Restricciones especifican algunas restricciones en datos válidos, estas restricciones deben aplicarse en todo momento.
Slide 2- 3

Modelos de Datos. 
 Operaciones del Modelo de Datos:
 Estas operaciones se utilizan para especificar los datos recuperados de bases de datos y actualizaciones al referirse a los constructores del modelo de datos.  Las operaciones en el modelo de datos pueden incluir operaciones básicas del modelo (por ejemplo, insertar, eliminar, actualizar) y las operaciones definidas por el usuario (por ejemplo, compute_student_gpa, actualiza_inventario)

Slide 2- 4

Nivel Alto) : . internal):  Modelo de datos de Implementación (representación) :  Proporcionar conceptos que se encuentren entre los dos anteriores. Slide 2.5 .Categorias del modelo de datos  Modelo de Datos Conceptual (high-level. modelos de datos relacionales utilizan en muchos sistemas comerciales). utilizado por muchas implementaciones comerciales de DBMS (por ejemplo.)  Proporcionar conceptos que describen los detalles de cómo los datos se almacenan en el ordenador. Estos se suelen especificar de manera ad-hoc a través del diseño y administración DBMS  Modelo de Datos Físico (low-level.  Proporcionar conceptos que están cerca de la forma en que muchos usuarios perciben los datos  (Tambien llamado modelo basado en entity-based or objectbased .

tipos de datos.  Esquema de Construcción :  Un ilustrativo despliegue de un esquema de base de datos.6 .  Esquema de Base de Datos:   Diagrama del Esquema:  Es la descripción de una base de datos.  Incluye descripciones de la estructura de base de datos. y las restricciones en la base de datos. COURSE.Esquema versus Instancia. Slide 2. ej: STUDENT.  Un componente del esquema o un objeto en el esquema .

instancia de registro. instancia de la entidad.7 .  También llamado instancia de base de datos ( ocurrencia o snapshot). Esto incluye la recopilación de todos los datos en la base de datos. por ejemplo.   Estado de la Base de Datos:  Los datos reales almacenados en una base de datos en un momento determinado en el tiempo. Slide 2. la instancia de tabla.  El término instancia también se aplica a los componentes de base de datos individuales.Esquema versus Instancia.

Slide 2.  Estado Inicial de BD:  Se refiere a l estado de la base de datos cuando este es inicializada la recuperación dentro del sistema.Esquema de BD vrs Estado de BD.8 .   Estado de la BD:  Se refiere al contenido de una base de datos en un momento en el tiempo.  Estado Valido:  Un Estado que cumple la estructura y las limitaciones de la base de datos.

 Estado también se llama extensión.   Distinción  El esquema de BD cambia muy infrecuentemente.Esquema de BD vrs Estado de BD.9 .  El estado de la BD cambia en cada momento que la BD es actualizada.  Esquema es llamado tambien intención. Slide 2.

Ejemplo de esquema de BD  Slide 2.10 .

11 .  Slide 2.Ejemplo de Estado de BD.

12 . No utilizado explícitamente en los productos comerciales de DBMS. pero ha sido útil para explicar la organización de base de datos del sistema Slide 2.Arquitectura de Tres Capas   Propuesta para apoyar características de DBMS:  Independencia del Programa de datos.  Soporte de múltiples vistas de los datos.

 Por lo general.  Esquema Externo a nivel externo para describir las diversas vistas del usuarios.13 .  Usa un modelo de dato conceptual o una implementación .  Normalmente utiliza un modelo de datos físicos. utiliza el mismo modelo de datos como el esquema conceptual.   Esquema Conceptual a nivel conceptual para describir la estructura y las limitaciones de la base de datos para toda una comunidad de usuarios.Arquitectura de Tres Capas  El esquema en un DBMS define tres niveles:  Esquema interno en el ámbito interno para describir las estructuras físicas de almacenamiento y las vías de acceso (por ejemplo : índices). Slide 2.

Arquitectura de Tres Capas  Slide 2.14 .

el formato de los resultados de una consulta SQL para mostrar en una página web) Slide 2.  Datos extraídos del nivel interior del DBMS se formatea para que coincida con vista externa del usuario (por ejemplo.  Programas se refieren a un esquema externo.15 .Arquitectura de Tres Capas   Asignaciones entre los niveles de esquema se necesitan para transformar las solicitudes y los datos. y se asignan por el DBMS para el esquema interno para su ejecución.

16 .  Independencia Física de Datos:  La capacidad de cambiar el esquema interno sin tener que cambiar el esquema conceptual.Independencia de Datos   Independencia Lógica de Datos:  La capacidad de cambiar el esquema conceptual sin tener que cambiar los esquemas externos y sus correspondientes programas de aplicación.  Por ejemplo. el esquema interno se puede cambiar cuando ciertas estructuras de archivos se reorganizan o se crean nuevos índices para mejorar el rendimiento de base de datos Slide 2.

  Cuando un esquema a un nivel inferior se cambia.  Por lo tanto. Slide 2.  Los esquemas de más alto nivel por si mismos no se cambia.17 .Independencia de Datos. sólo los mapeos entre este esquema y los esquemas de más alto nivel es necesario cambiar de un DBMS que soporta plenamente la independencia de los datos. los programas de aplicación no necesita ser cambiado ya que se refieren a los esquemas externos.

18 .Lenguajes en los DBMS   Lenguaje de Definición de Datos(DDL)  Lenguaje de Manipulación de Datos(DML)  Lenguajes no procedimentales o Alto nivel : Estos incluyen el lenguaje relacional SQL .  Nivel Bajo o Lenguaje Procedimental :  Esto deberá ser incorporados en un lenguaje de programación.  Puede ser usado en forma standalone o pueden ser incorporados en un lenguaje de programación. Slide 2.

 En muchos DBMS. Slide 2.19 . el DDL también se utiliza para definir esquemas internos y externos (vistas).  SDL es tipicamente realizados via comandos DBMS proveidos a los DBA y diseñadores de Base de Datos. separa lenguaje de definición de almacenamiento (SDL) y lenguaje de definición de vista (VDL) son usados para definir esquemas internos y externos. Lenguaje de Definición de Datos(DDL): Lenguajes en los DBMS.   Utilizado por los diseñadores de DBA y de base de datos para especificar el esquema conceptual de una base de datos.  En algunos DBMSs.

C + + o Java.  Comandos DML (sublenguaje de datos) se pueden incrustar en un lenguaje de programación de propósito general (lenguaje host). como COBOL.20 .Lenguajes en los DBMS   Lenguaje de Manipulación de Datos(DML):  Usado para especificar recuperación y actualización de BD. C. los comandos DML independientes se puede aplicar directamente (llamado un lenguaje de consulta).  Una biblioteca de funciones también se pueden proporcionar para acceder a los DBMS de un lenguaje de programación  Por otra parte. Slide 2.

21 .   Lenguaje Alto Nivel o No procedimental:  Por ejemplo.Tipos de DML.  Construcciones tales como bucles son necesarios para recuperar los registros múltiples. junto con los indicadores de posición.  Lenguaje Procedimental o Bajo nivel:  Recuperar datos de un registro-en-un-tiempo. Slide 2. El lenguaje relacional SQL  Tambien denominado lenguaje declarativo.

 Interfaces de consulta independiente Interfaces DBMS   Ejemplo: Introducción de las consultas SQL en la interface interactiva SQL (por ejemplo.22 . a los lenguajes de programación  Interfaces de Usuario Amigables  Basada en menús. formularios base. etc. basada en gráficos. SQL * Plus de Oracle)  Programador de interfaces para integrar los DML. Slide 2.

23 . el lenguaje incorpora SQL y sus tipos de datos como componentes integrales Slide 2. Oracle PL / SQL. SQLJ (para Java).Interfaz lenguaje Programación para DBMS   Programador de interfaces para incrustar DML en un lenguaje de programación :  Enfoque Embebido : por ejemplo. JDBC para Java. SQL embebido (para C. C + +. un lenguaje de programación basado en SQL. etc).  Enfoque de Llamada a procedimiento : por ejemplo. ODBC para otros lenguajes de programación  Enfoque de Lenguaje de Programación a Base de datos : por ejemplo.

 Basada en formularios.Interfaces Amigables DBMS   Basada en menús.  Basada en gráficos  (point and click. diseñado para los usuarios ingenuos.24 .)  El lenguaje natural: las solicitudes por escrito en Inglés  Las combinaciones de lo anterior:  Por ejemplo. populares para la navegación en la web. etc. arrastrar y soltar. los menús y formularios que se utilizan ampliamente en las interfaces de bases de datos web Slide 2.

Otras interfaces DBMS   Discurso como de entrada y salida  Navegador Web como interfaz  Interfaces paramétricos. cajeros de banco usando las teclas de función. la concesión de autorizaciones.  Interfaces para el DBA:  Creación de cuentas de usuario.25 . Slide 2. por ejemplo.  Cambio de esquemas o vías de acceso.  Definición de los parámetros del sistema.

 La reorganización de las estructuras de base de datos de archivo.  Informe de los servicios públicos generación. Incluye herramientas de conversión de datos.Utilidades de Sistemas de Base de Datos.  Copia de seguridad de la base de datos periódicamente en la cinta. tales como:  Carga de los datos almacenados en los archivos en una base de datos.  Rendimiento servicios de vigilancia. el control de Slide 2. la compresión de datos.  Otras funciones.26 usuario. etc. . tales como la ordenación.   Para llevar a cabo ciertas funciones.

 Diccionario de datos activo se accede por el software DBMS y los usuarios / DBA. etc. la información del usuario.27 .  Diccionario de datos pasiva se accede por los usuarios / DBA solamente. Slide 2. las descripciones de programas de aplicación. las normas de uso.Otras herramientas   Diccionario de Datos/ repositorio:  Se utiliza para las descripciones de esquemas de almacenamiento y otras informaciones tales como las decisiones de diseño.

28 .Otras herramientas   Desarrollo de aplicaciones y entornos CASE (ingeniería de software asistida por ordenador) herramientas:  Ejemplo:     PowerBuilder (Sybase) JBuilder (Borland) Jdeveloper 11G (Oracle) .NET ( SQL Server) Slide 2.

29 .  Slide 2.Componentes de módulos de un DBMS.

hardware.30 .  El usuario puede conectarse a través de un terminal remoto .sin embargo. programas de aplicación. la interfaz de usuario y software de procesamiento. Slide 2.Centralizado y Arquitectura Cliente Servidor   DBMS Centralizado:  Combina todo en un solo sistema-incluyendo DBMS software. todo el procesamiento se realiza en el sitio centralizado.

Arquitectura Física Centralizada  Slide 2.31 .

según sea necesario Slide 2.32 .Básica 2-capas Arquitectura ClienteServidor   Servidores Especializados con funciones especializadas      Servidor de impresión Servidor de Archivos Servidor de DBMS Servidor Web Servidor Email ( de correos)  Los clientes pueden acceder a los servidores especializados.

33 .Arquitectura Lógica de dos capas Cliente – Servidor.  Slide 2.

Clientes   Se ofrece los interfaces adecuados a través de un módulo de software de cliente para acceder y utilizar los diferentes recursos del servidor. Conectados a los servidores a través de algún tipo de red. Los clientes pueden ser máquinas sin disco o PCs o estaciones de trabajo con los discos sólo con el software cliente instalado.). Slide 2.34 . (LAN: red de área local. etc. red inalámbrica.

 Cliente y el servidor debe instalar el módulo de cliente adecuado y el software del módulo de servidor para ODBC o JDBC  Véase el capítulo 9 Slide 2.35 .Servidor DBMS  Proporciona una base de datos de consulta y transacción de servicios a los clientes. o servidores de transacciones   Aplicaciones que se ejecutan en los clientes utilizan un Application Program Interface (API) para acceder a bases de datos de servidor a través de interfaz estándar.  Servidores DBMS relacionales son a menudo llamados servidores SQL. tales como:  ODBC: Abrir base de datos estándar de conectividad  JDBC: Java para acceder a la programación. servidores de consultas.

las fuentes de datos pueden ser archivos u otro software no DBMS que gestiona los datos.36 . etc.   Un programa cliente puede conectarse a varios DBMS. Slide 2.Arquitectura de dos Capas Cliente-Servidor. optimización y recuperación en varios servidores. incluyendo las funciones de diccionario de datos.  En general. más funcionalidades se transfiere a clientes.  Otras variaciones de los clientes son posibles: por ejemplo. a veces llamado las fuentes de datos. en algunos DBMS objeto.

 Los clientes no pueden acceder directamente a servidor de base de datos Arquitectura de tres capas Cliente-Servidor.  Actúa como un conducto para el envío de datos parcialmente procesados entre el servidor de base de datos y el cliente. Común para las aplicaciones Web  Capa intermedia denominada Application Server o Web Server:  Almacena el software de conectividad web y la parte lógica de negocio de la aplicación utilizada para acceder a los datos correspondientes desde el servidor de base de datos.  Slide 2.  Arquitectura de tres niveles puede mejorar la seguridad: Única base de datos accesible a través de servidor de nivel medio.37 .

Arquitectura de tres capas Cliente-Servidor.  Slide 2.38 .

39 .Clasificación de DBMS   Basado en el modelo de datos utilizado  Tradicional: relacional. de redes.  De usuario único (por lo general se utiliza con las computadoras personales) vs multi-usuario (la mayoría de los DBMS). objeto-relacional. múltiples bases de datos) Slide 2. jerárquica.  Centralizado (utiliza una computadora con una base de datos) vs distribuidos (utiliza las computadoras múltiples.  Emergentes: orientada a objetos.  Otras clasificaciones.

Slide 2.  Heterogéneas DDBMS. sino más bien un conjunto de servidores de base de datos de apoyo a un conjunto de clientes.Variaciones de DBMSs distribuida.   Homogénea DDBMS.40 .  Federados o sistemas Multidatabase.  De sistemas distribuidos de bases de datos han llegado a ser conocido como los sistemas clienteservidor de base de datos basada en :  Ellos no son compatibles con un entorno totalmente distribuido.

el módulo XML  Estos ofrecen funcionalidad adicional especializada cuando se compra separadamente. PostgreSQL.  DBMS comerciales ofrecen más módulos especializados.41  . por ejemplo.Las consideraciones de costo para los DBMS  Gama de Costo : desde sistemas libres de código abierto para configuraciones de un costo de millones de dólares Ejemplos de libre DBMS relacional: MySQL. un solo usuario. módulo de series de tiempo. y otros. el número máximo de usuarios simultáneos (licencia de asiento). el módulo de datos espaciales. en Oracle) o blade  Diferentes opciones de licencia: licencia de sitio.  A veces los cartuchos de llamada (por ejemplo. el módulo de documento. etc Slide 2.

Resumen   Modelos de Datos y sus categorías  Esquemas. instancias y los Estados  Arquitectura de tres capas  Datos de la Independencia  DBMS Idiomas e interfaces  Utilidades del sistema de BD y herramientas  Centralizada y arquitecturas cliente-servidor  Clasificación de los DBMS Slide 2.42 .