unidad i esp parte 2

53
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 1

Upload: titiushko-jazz

Post on 15-Aug-2015

25 views

Category:

Documents


1 download

TRANSCRIPT

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 1

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

CAPITULO 2

Conceptos y Arquitectura de Base de Datos.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 3

Esquema

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

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 4

Modelos de Datos. Modelo Dato:

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.

Estructura del Modelo de Datos y Constraints: 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.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 5

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 constructos 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)

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 6

Categorias del modelo de datos Modelo de Datos Conceptual (high-level, Nivel Alto) :

Proporcionar conceptos que están cerca de la forma en que muchos usuarios perciben los datos.

(Tambien llamado modelo basado en entity-based or object-based .)

Modelo de Datos Físico (low-level, internal): 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 de Implementación (representación) :

Proporcionar conceptos que se encuentren entre los dos anteriores, utilizado por muchas implementaciones comerciales de DBMS (por ejemplo, modelos de datos relacionales utilizan en muchos sistemas comerciales).

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 7

Esquema versus Instancia.

Esquema de Base de Datos: La descripción de una base de datos. Incluye descripciones de la estructura de base de

datos, tipos de datos, y las restricciones en la base de datos.

Diagrama del Esquema: Un ilustrativo despliegue de un esquema de base

de datos. Esquema de Construcción :

Un componente del esquema o un objeto en el esquema , ej: STUDENT, COURSE.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 8

Esquema versus Instancia.

Estado de la Base de Datos: Los datos reales almacenados en una base de

datos en un momento determinado en el tiempo. Esto incluye la recopilación de todos los datos en la base de datos.

También llamado instancia de base de datos ( ocurrencia o snapshot).

El término instancia también se aplica a los componentes de base de datos individuales, por ejemplo, instancia de registro, la instancia de tabla, instancia de la entidad.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 9

Esquema de Base de Datos vrs Estado de Base de Datos

Estado de la BD: Se refiere al contenido de una base de datos en

un momento en el tiempo. Estado Inicial de BD:

Se refiere a l estado de la base de datos cuando este es inicializada la recuperación dentro del sistema.

Estado Valido: Un Estado que cumple la estructura y las

limitaciones de la base de datos.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 10

Esquema de Base de Datos vrs Estado de Base de Datos

Distinción El esquema de BD cambia muy

infrecuentemente. El estado de la BD cambia en cada momento que

la BD es actualizada.

Esquema es llamado tambien intención. Estado también se llama extensión.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 11

Ejemplo de esquema de BD

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 12

Ejemplo de Estado de BD.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 13

Arquitectura de Tres Capas

Propuesta para apoyar características de DBMS: Independencia del Programa de datos. Soporte de múltiples vistas de los datos.

No use explícitamente en los productos comerciales de DBMS, pero ha sido útil para explicar la organización de base de datos del sistema

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 14

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).

Normalmente utiliza un modelo de datos físicos. Esquema Conceptual a nivel conceptual para describir la

estructura y las limitaciones de la base de datos para toda una comunidad de usuarios.

Usa un modelo de dato conceptual o una implementación .

Esquema Externo a nivel externo para describir las diversas vistas del usuarios.

Por lo general, utiliza el mismo modelo de datos como el esquema conceptual.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 15

Arquitectura de Tres Capas

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 16

Arquitectura de Tres Capas

Asignaciones entre los niveles de esquema se necesitan para transformar las solicitudes y los datos. Programas se refieren a un esquema externo, y se

asignan por el DBMS para el esquema interno para su ejecución.

Datos extraídos del nivel interior del DBMS se formatea para que coincida con vista externa del usuario (por ejemplo, el formato de los resultados de una consulta SQL para mostrar en una página web)

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 17

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.

Independencia Física de Datos: La capacidad de cambiar el esquema interno sin

tener que cambiar el esquema conceptual. 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

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 18

Independencia de Datos.

Cuando un esquema a un nivel inferior se cambia, 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 esquemas de más alto nivel por si mismos no se cambia.

Por lo tanto, los programas de aplicación no necesita ser cambiado ya que se refieren a los esquemas externos.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 19

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 .

Puede ser usado en forma standalone o pueden ser incorporados en un lenguaje de programación.

Nivel Bajo o Lenguaje Procedimental : Esto deberá ser incorporados en un lenguaje de

programación.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 20

Lenguajes en los DBMS.

Lenguaje de Definición de Datos(DDL): Utilizado por los diseñadores de DBA y de base de

datos para especificar el esquema conceptual de una base de datos.

En muchos DBMS, el DDL también se utiliza para definir esquemas internos y externos (vistas).

En algunos DBMSs, separa lenguaje de definición de almacenamiento (SDL) y lenguaje de definición de vista (VDL) son usados para definir esquemas internos y externos.

SDL es tipicamente realizados via comandos DBMS proveidos a los DBA y diseñadores de Based de Datos.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Lenguajes en los DBMS Lenguaje de Manipulación de Datos(DML):

Usado para especificar recuperación y actualización de BD.

Comandos DML (sublenguaje de datos) se pueden incrustar en un lenguaje de programación de propósito general (lenguaje host), como COBOL, C, C + + o Java.

Una biblioteca de funciones también se pueden proporcionar para acceder a los DBMS de un lenguaje de programación

Por otra parte, los comandos DML independientes se puede aplicar directamente (llamado un lenguaje de consulta).

Slide 2- 21

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 22

Tipos de DML.

Lenguaje Alto Nivel o No procedimental: Por ejemplo, El lenguaje relacional SQL Tambien denominado lenguaje declarativo.

Lenguaje Procedimental o Bajo nivel: Recuperar datos de un registro-en-un-tiempo; Construcciones tales como bucles son necesarios

para recuperar los registros múltiples, junto con los indicadores de posición.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 23

DBMS Interfaces Interfaces de consulta independiente d

Ejemplo: Introducción de las consultas SQL en la interface interactiva SQL (por ejemplo, SQL * Plus de Oracle)

Programador de interfaces para integrar los DML, a los lenguajes de programación

Interfaces de Usuario Amigables Basada en menús, formularios base, basada en

gráficos, etc.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 24

Interfaz lenguaje Programación para DBMS

Programador de interfaces para incrustar DML en un lenguaje de programación : Enfoque Embebido : por ejemplo, SQL embebido (para

C, C + +, etc), SQLJ (para Java). Enfoque de Llamada a procedimiento : por ejemplo,

JDBC para Java, ODBC para otros lenguajes de programación

Enfoque de Lenguaje de Programación a Base de datos : por ejemplo, Oracle PL / SQL, un lenguaje de programación basado en SQL, el lenguaje incorpora SQL y sus tipos de datos como componentes integrales

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 25

Interfaces Amigables DBMS Basada en menús, populares para la navegación en la

web. Basada en formularios, diseñado para los usuarios

ingenuos. Basada en gráficos

(point and click, arrastrar y soltar, etc.) El lenguaje natural: las solicitudes por escrito en Inglés

Las combinaciones de lo anterior: Por ejemplo, los menús y formularios que se utilizan

ampliamente en las interfaces de bases de datos web

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 26

Otras interfaces DBMS

Discurso como de entrada y salida Navegador Web como interfaz Interfaces paramétrico, por ejemplo, cajeros de

banco usando las teclas de función. Interfaces para el DBA:

Creación de cuentas de usuario, la concesión de autorizaciones.

Definición de los parámetros del sistema. Cambio de esquemas o vías de acceso.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 27

Utilidades de Sistemas de Base de Datos. Para llevar a cabo ciertas funciones, tales como:

Carga de los datos almacenados en los archivos en una base de datos. Incluye herramientas de conversión de datos.

Copia de seguridad de la base de datos periódicamente en la cinta.

La reorganización de las estructuras de base de datos de archivo.

Informe de los servicios públicos generación. Rendimiento servicios de vigilancia. Otras funciones, tales como la ordenación, el control

de usuario, la compresión de datos, etc.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 28

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, las descripciones de programas de aplicación, la información del usuario, las normas de uso, etc.

Diccionario de datos activo se accede por el software DBMS y los usuarios / DBA.

Diccionario de datos pasiva se accede por los usuarios / DBA solamente.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 29

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)

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 30

Componentes de módulos de un DBMS.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 31

Centralizado y Arquitectura Cliente Servidor de un DBMS

DBMS Centralizado: Combina todo en un solo sistema-incluyendo

DBMS software, hardware, programas de aplicación, la interfaz de usuario y software de procesamiento.

El usuario puede conectarse a través de un terminal remoto - sin embargo, todo el procesamiento se realiza en el sitio centralizado.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 32

Una Arquitectura Física Centralizada

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 33

Básica 2-capas Arquitectura Cliente-Servidor

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, según sea necesario

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 34

Arquitectura Lógica de dos capas Cliente – Servidor.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 35

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.Los clientes pueden ser máquinas sin disco o PCs o estaciones de trabajo con los discos sólo con el software cliente instalado.Conectados a los servidores a través de algún tipo de red.(LAN: red de área local, red inalámbrica, etc.).

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 36

Servidor DBMS Proporciona una base de datos de consulta y transacción de

servicios a los clientes. Servidores DBMS relacionales son a menudo llamados servidores

SQL, servidores de consultas, 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, tales como:

ODBC: Abrir base de datos estándar de conectividad JDBC: Java para acceder a la programación.

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

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 37

Arquitectura de dos Capas Cliente-Servidor.

Un programa cliente puede conectarse a varios DBMS, a veces llamado las fuentes de datos.

En general, las fuentes de datos pueden ser archivos u otro software no DBMS que gestiona los datos.

Otras variaciones de los clientes son posibles: por ejemplo, en algunos DBMS objeto, más funcionalidades se transfiere a clientes, incluyendo las funciones de diccionario de datos, optimización y recuperación en varios servidores, etc.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 38

Arquitectura de tres capas Cliente-Servidor. 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.

Actúa como un conducto para el envío de datos parcialmente procesados entre el servidor de base de datos y el cliente.

Arquitectura de tres niveles puede mejorar la seguridad:Única base de datos accesible a través de servidor de nivel medio.

Los clientes no pueden acceder directamente a servidor de base de datos

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 39

Arquitectura de tres capas Cliente-Servidor.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 40

Clasificación de DBMSs Basado en el modelo de datos utilizado

Tradicional: relacional, de redes, jerárquica. Emergentes: orientada a objetos, objeto-

relacional. Otras clasificaciones.

De usuario único (por lo general se utiliza con las computadoras personales) vs multi-usuario (la mayoría de los DBMS).

Centralizado (utiliza una computadora con una base de datos) vs distribuidos (utiliza las computadoras múltiples, múltiples bases de datos)

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 41

Variaciones de DBMSs distribuida.

Homogénea DDBMS. Heterogéneas DDBMS. Federados o sistemas Multidatabase. De sistemas distribuidos de bases de datos han

llegado a ser conocido como los sistemas cliente-servidor de base de datos basada en : Ellos no son compatibles con un entorno

totalmente distribuido, sino más bien un conjunto de servidores de base de datos de apoyo a un conjunto de clientes.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 42

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ólaresEjemplos de libre DBMS relacional: MySQL, PostgreSQL, y otros.

DBMS comerciales ofrecen más módulos especializados, por ejemplo, módulo de series de tiempo, el módulo de datos espaciales, el módulo de documento, el módulo XML

Estos ofrecen funcionalidad adicional especializada cuando se compra separadamente.

A veces los cartuchos de llamada (por ejemplo, en Oracle) o blade

Diferentes opciones de licencia: licencia de sitio, el número máximo de usuarios simultáneos (licencia de asiento), un solo usuario, etc

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 43

Historia de Modelo de Datos.

Modelo de Red. Modelo Jerárquico. Modelo Relacional Modelos de Datos Orientado a objetos. Modelos de Objeto-Relacional.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 44

Historia de Modelo de Datos

Modelo Red: El DBMS de red fue por primera vez

implementado por Honeywell en 1964-65 (IDS System).

Aprobada en gran medida gracias al apoyo de CODASYL (Conferencia de Lenguajes de Sistemas de Base de Datos) (CODASYL - Informe DBTG de 1971).

Más tarde se implementa en una gran variedad de sistemas - IDMS (Cullinet - ahora Computer Associates), DMS 1100 (Unisys), IMAGEN (HP (Hewlett-Packard)), VAX-DBMS (Digital Equipment Corp., al lado de COMPAQ, HP ahora).

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 45

Ejemplo de modelo de red

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 46

Modelo de RedVentajas: Modelo de red es capaz de modelar las complejas

relaciones y representa la semántica de añadir o eliminar en las relaciones.

Puede manejar la mayoría de las situaciones para los tipos de modelos y tipos de registro mediante la relación.

El lenguaje es la navegación; utiliza construcciones como FIND, miembro de FIND,

propietario Buscar, Buscar siguiente en conjunto, GET, etc

Los programadores pueden hacer la navegación óptima a través de la base de datos.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 47

Modelo de Red

Desventajas: La naturaleza de procesamiento de navegación y

procedimientos Base de datos contiene un complejo conjunto de

punteros de hilo a través de un conjunto de registros.

Poco margen para la "optimización de la consulta" automatizado

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 48

Historía de Modelo de Datos.

Modelo Jerárquico de Datos: Inicialmente implementado en un esfuerzo conjunto

por IBM y North American Rockwell alrededor de 1965. Dio lugar a la familia de los sistemas IMS.

Producto de IBM IMS (y todavía tiene) una base de clientes muy grande en todo el mundo.

Modelo jerárquico se formalizó basado en el sistema IMS.

Otros sistemas basados en este modelo: Sistema de 2k (SAS inc.)

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 49

Modelo Jerarquico.

Ventajas: Fácil de construir y operar Corresponde a una serie de ámbitos naturales jerárquicamente

organizado, por ejemplo, la organización ("org") gráfico. El lenguaje es simple:

Utiliza construcciones como GET, GET UNIQUE, estar cerca, estar cerca PADRES EN, etc.

Desventajas: La naturaleza de procesamiento de navegación y procedimientos. Base de datos es visualizada como la disposición lineal de los

registros Poco margen para la "optimización de la consulta"

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 50

Historía de Modelo de Datos.Modelo Relacional:

Propuesto en 1970 por EF Codd (IBM), primer sistema comercial en 1981-82.

Ahora, en varios productos comerciales (por ejemplo, DB2, Oracle, MS SQL Server, Sybase, Informix).

Varias implementaciones de código abierto, por ejemplo, MySQL, PostgreSQL

Actualmente, la mayoría dominante en el desarrollo de aplicaciones de bases de datos.Relacional de SQL normas: SQL-89 (SQL1), SQL-92 (SQL2), SQL-99, SQL3, ...

Los capítulos 5 a 11 describen este modelo en detalle

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 51

Historía de Modelo de Datos

Orientado a objetos de datos de los modelos: Varios modelos han sido propuestos para la aplicación en

un sistema de base de datos. Un juego consta de los modelos de la persistencia de los

lenguajes de programación orientado a objetos como C + + (por ejemplo, en ObjectStore o HIDROGRAFICAS), y Smalltalk (por ejemplo, en la piedra preciosa).

Además, los sistemas como O2, ORION (en MCC - entonces ITASCA), IRIS (en HP-utilizado en el Open OODB).

Objeto de base de datos estándar: ODMG-93, ODMG-la versión 2.0, ODMG-la versión 3.0.

Capítulos 20 y 21 describen este modelo.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 52

Historía de Modelo de Datos

Modelos de Objeto-Relacional: La mayoría de tendencia reciente. Introducción a

Informix Universal Server. Sistemas relacionales incorporar conceptos de

bases de datos objeto que lleva a objeto-relacional.

Ejemplificado en las últimas versiones de Oracle 10i, DB2 y SQL Server y otras bases de datos.Las normas incluidas en SQL-99 y espera que sea mayor en el futuro las normas de SQL.

Capítulo 22 describe este modelo

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2- 53

Resumen

Modelos de Datos y sus categorías Historia de los modelos de datos 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