Capitulo1.pdf

39
1. 1 CAPITULO I CONCEPTOS DE SISTEMAS DE BASES DE DATOS 1.1 Conceptos básicos Base de Datos (BD): Conjunto de datos relacionados, cuyo acceso es a través de un SABD. Dato: Es un hecho conocido, que puede ser registrado, y que tiene un significado implícito. Una base de datos tiene dos propiedades importantes: Integrada: Los archivos de datos que la componen han sido organizados lógicamente para reducir la redundancia y facilitar el acceso a los datos Compartida: Todos los usuarios calificados tienen acceso a los mismos datos Componen la base de datos: Esquema: Es la descripción de la base de datos (metadatos) Instancia de la base de datos: Son los datos almacenados en la base de datos, en un instante particular en el tiempo

Transcript of Capitulo1.pdf

  • 1. 1

    CAPITULO I

    CONCEPTOS DE SISTEMAS DE BASES DE DATOS

    1.1 Conceptos bsicos

    Base de Datos (BD): Conjunto de datos relacionados, cuyo

    acceso es a travs de un SABD.

    Dato: Es un hecho conocido, que puede ser registrado, y que

    tiene un significado implcito.

    Una base de datos tiene dos propiedades importantes:

    Integrada: Los archivos de datos que la componen han

    sido organizados lgicamente para reducir la redundancia

    y facilitar el acceso a los datos

    Compartida: Todos los usuarios calificados tienen acceso

    a los mismos datos

    Componen la base de datos:

    Esquema: Es la descripcin de la base de datos

    (metadatos)

    Instancia de la base de datos: Son los datos almacenados

    en la base de datos, en un instante particular en el tiempo

  • 1. 2

    Ejemplo de esquema de una base de datos

    METADATO

  • 1. 3

    Ejemplo de instancia de una base de datos

  • 1. 4

    Sistemas de administracin de bases de datos (SABD): Es

    un ambiente de programacin orientado al manejo de

    grandes volmenes de datos con propiedad de persistencia.

    Es un conjunto de programas que permiten a los usuarios

    crear y mantener una base de datos. Ejemplo: Oracle.

    Sistemas de base de datos (SBD): SBD = BD + SABD

    B.D. S.A.B.D.

    Ej. Oracle

    SBD

    Sistema de base de datos

    SABD = SGBD = DBMS

  • 1. 5

    Definicin de los

    datos almacenados

    (Metadatos)

    Datos

    Almacenados

    en la Base de

    Datos

    Software para accesar los

    datos almacenados

    Software para procesar

    Consultas/Programas

    Software

    DBMS

    Programas de Aplicaciones

    /Consultas

    SISTEMA DE

    BASE DE

    DATOS

    Usuarios/Programadores

    Un ambiente de sistema de bases de datos simplificado

    instancia esquema

  • 1. 6

    1.2 Sistemas de procesamiento de archivos

    Necesidades de procesamiento de datos de departamentos individuales

    en la organizacin

    Se desarrollan nuevos programas, normalmente uno a la vez, para

    aplicaciones individuales, tales como remuneraciones, control de

    inventarios, etc.

    No hay un plan general que facilite el crecimiento de las aplicaciones

    Cada nueva aplicacin es tpicamente diseada con su propio conjunto

    de archivos de datos. Muchos de los datos en estos nuevos archivos ya

    se encuentran presentes en archivos ya existentes para otras

    aplicaciones

    Cada programa de aplicacin posee sus propios archivos de datos, y

    la lgica del programa es dependiente de los formatos y descripcin

    de los datos.

    Sus desventajas principales son:

    a) Redundancia incontrolada: Cada aplicacin tiene sus propios archivos

    b) Datos inconsistentes: Producto de la redundancia se puede producir

    inconsistencia en los datos

    c) Inflexibilidad: Si hay nuevos requerimientos, implica mucho trabajo

    d) Comparticin de datos es limitada: cada aplicacin tiene sus propios

    datos y normalmente no se comparten

    e) No hay tendencia a estndares

    f) Baja productividad de los programadores: Cada definicin de datos

    deba codificarse en el programa

  • 1. 7

    g) Costo excesivo de mantencin de programas: Cualquier cambio en el

    archivo implica cambios en el programa

    Existen paquetes de software que ayudan a evitar (o a

    minimizar) algunas de las desventajas mencionadas

    anteriormente.

    Estos paquetes de software incluyen:

    Mtodos de acceso por claves secundarias

    Administradores de archivos

    Paquetes para emisin de reportes

    Procesamiento de consultas en lnea

    Sistemas de procesamiento de transacciones

    Diccionarios de datos

    Lenguaje de programacin de alto nivel.

    Permanecen las dificultades principales de los sistemas de

    procesamiento de archivos:

    Redundancia de datos

    Baja comparticin de datos

    Carencia de estndares

    Baja productividad

  • 1. 8

    Ambiente de Archivo

    Para cada nueva aplica-

    cin un programador o

    analista debe crear un

    nuevo archivo. Una

    instalacin grande tiene

    cientos o miles de tales

    archivos, lo que genera

    mucha redundancia de

    datos.

    Un archivo puede ser

    usado por muchas

    aplicaciones. Cuando

    cambia una aplicacin

    (programa de aplicacin

    3) y su archivo tiene que

    ser reestructurado, todos

    los programas que usan

    este archivo tienen que ser

    cambiados.

    Aparentemente un cambio

    trivial en un ambiente de

    archivos, provoca una

    reaccin en cadena de

    otros cambios que

    deberan hacerse.

    Sistemas basados en archivos

  • 1. 9

    Con los sistemas

    administradores

    de bases de datos,

    los usuarios

    desconocen la

    estructura real de

    los datos almace-

    nados.

    Sistemas administradores de bases de datos

    Los lenguajes de

    alto nivel de ba-

    ses de datos agili-

    zan el proceso de

    desarrollo de a-

    plicaciones y ali-

    vian las tareas de

    mantenimiento.

  • 1. 10

    Ejemplo de SABD Oracle

    Arquitectura de ORACLE

  • 1. 11

    Versiones estndares de SQL: SQL1 ANSI 1986

    SQL2 (SQL-92) ANSI 1992

    SQL3 Incluye conceptos de Orientacin

    al Objeto

    SQL: Lenguaje para la construccin de

    aplicaciones en ORACLE.

  • 1. 12

    Otra herramienta de Oracle: SQL Developer

    Herramientas de ORACLE

  • 1. 13

    SQL*PLUS es una herramienta de Oracle (programa) que

    tiene propiedades de formateo, no siendo su objetivo

    principal. Para los reportes hay otras herramientas, por

    ejemplo SQL*Report Writer

    SQL *PLUS de ORACLE, una de las herramientas ms

    simples para interactuar con la base de datos

  • 1. 14

    1.3 Ventajas/Desventajas del uso del SABD frente al

    Enfoque de archivos

    Ventajas

    1. Los datos se comparten (la informacin es un recurso de la

    organizacin)

    2. Control de la redundancia de la informacin

    3. Control de la consistencia en la informacin

    4. Se mejoran los estndares con respecto a los datos

    5. Mejora la seguridad de los datos (control de accesos)

    6. Mejora la integridad de los datos (restricciones de

    integridad). Por ejemplo, un jefe no puede ganar menos

    que sus subordinados

    7. Permite balancear requerimientos en conflicto

    8. Mejora el tiempo de desarrollo de nuevas aplicaciones

    9. Mejora la accesibilidad a los datos (query languages)

    10. Economa de escala (producto de la asignacin

    centralizada de los recursos)

    11. Mejor control de acceso concurrente a los datos

    12. Se dispone de procedimientos de respaldo (Back Up)

    y recuperacin (cadas del sistema y fallas del hardware)

  • 1. 15

    Desventajas

    1. Alto costo de un DBMS

    2. Mayor costo de hardware

    3. Mayor costo de programacin

    4. Costo de conversin es alto

    5. Procesamiento ms lento de algunas aplicaciones

    6. Se incrementa la vulnerabilidad (los recursos son

    centralizados)

    7. Mayor dificultad en la recuperacin (se debe determinar

    qu transacciones fueron completadas, cules no, etc)

    1.4 Funciones crticas en un SABD

    a) Soporte para atender mltiples usuarios en forma

    concurrente (compartir los datos)

    b) Seguridad de los datos almacenados en la base de datos:

    Autorizacin (Control de accesos)

    c) Recuperacin de cadas del sistema

    d) Eficiencia en el acceso a los datos

    e) Integridad de los datos

  • 1. 16

    1.5 Arquitectura de 3 esquemas para un SABD: Niveles

    de abstraccin

    Arquitectura ANSI/SPARC, 1978.

    Permite describir los datos.

    Tiene como objetivo separar al usuario de las

    aplicaciones, de la base de datos fsica.

    ANSI/SPARC: STANDARS

    PLANNING

    AND

    REQUEREMENTS COMMITEE OF THE

    AMERICAN

    NATIONAL

    STANDARS

    INSTITUTE

    Cules son los datos?

    Cmo se almacenan?

    Arquitectura de 3 esquemas

    Cuarto nivel: Organizacin fsica de los

    datos

  • 1. 17

    Niveles (o vistas) de los datos (Niveles de abstraccin)

    La mayora de los SABD permiten que la base de datos

    de la organizacin sea vista en tres niveles de

    abstraccin.

    Estos tres niveles son:

    Modelo conceptual

    Modelo interno

    Mltiples modelos externos (views)

    Es posible definir un cuarto nivel: Organizacin fsica de

    los datos

    Cada usuario de una base de datos normalmente requiere de

    una vista diferente de los datos

  • 1. 18

    Vistas Externas

    (Subschemas)

    Modelo Conceptual

    (Schema)

    Organizacin Fsica

    de los datos

    (cuarto nivel)

    Modelo ANSI / SPARC

    Modelo Interno

  • 1. 19

    Modelo Conceptual (Vista Conceptual)

    Define el mundo real en un nivel abstracto.

    Esta vista incluye todas las entidades representadas en la

    base de datos, las relaciones entre estas entidades y otras

    caractersticas tales como restricciones de seguridad,

    controles de auditora y procedimientos de validacin.

    NO contiene detalles de implementacin

    Se asume un cierto modelo de datos, por ejemplo: red,

    relacional, jerarquico.

    Se especifica por medio de un DDL (Data Definition

    Language)

    Schema: Definicin de datos descripcin de datos.

    Modelo Externo (Views)

    Cada vista del usuario es un subconjunto del modelo

    conceptual, definido y formateado de acuerdo a las

    necesidades del usuario.

  • 1. 20

    Modelo Interno

    Es una definicin de la implementacin fsica de la

    base de datos a travs del DBMS.

    Define la base de datos como una coleccin de

    registros lgicos, llamados registros internos o

    almacenados.

    Describe los mtodos por los cuales estos registros

    estn interrelacionados, por ejemplo, punteros o

    ndices.

    Tiene que ver con: Estrategias de buffering, estructura

    de archivos, estructura de acceso, codificacin de

    atributos, factores de bloqueo, etc.

  • 1. 21

    Organizacin fsica de los datos

    Descripcin de los dispositivos fsicos que son usados

    El agrupamiento de registros en bloques

    Tcnicas de direccionamiento y detalles similares.

    Tiene que ver con:

    Interaccion con el sistema operativo y el hardware, cpu -

    discos - memoria principal - terminales - canales red.

    El SABD provee los mecanismos para transformar de un

    nivel de abstraccin a otro, intentando mantener una

    relativa independencia entre un nivel y otro.

  • 1. 22

    Resumen del Modelo ANSI/SPARC:

    Esquema Externo

    Esquema Conceptual

    Esquema Interno

    El esquema externo representa las visiones de los usuarios

    (como la realidad es vista).

    El esquema conceptual representa la abstraccin de como

    la realidad es.

    El esquema interno se refiere a como esa realidad es

    representada en un computador.

  • 1. 23

    Ejemplo:

    Modelo Conceptual o Schema

    Empleado (nombre, direccin, telfono, depto, sueldo)

    Esquema Externo

    Subschema1: E1 (nombre, direccin, telfono)

    Subschema2: E2 (nombre, depto, sueldo)

    Esquema Interno

    Archivo Empleados

    Nombre : char [20]

    Direccin : char [40]

    Telfono : char [10]

    Depto : char [15]

    Sueldo : REAL

    Archivo ndices por nombre

    Archivo ndices por depto

  • 1. 24

    Indepencencia entre datos y programas

    Independencia fsica

    Es posible hacer cambios en la base de datos fsica sin alterar

    los programas, nivel interno (por ejemplo, para mejorar el

    acceso a registros individuales cambiar la organizacin de un

    archivo de secuencial indexado a directo).

    Permite que el DBA afine la base de datos fsica, dejando

    que los programas de aplicacin corran como si ningn

    cambio se hubiese efectuado.

    Independencia lgica

    Es posible modificar la base de datos conceptual sin

    modificar los subschemas, por ejemplo, aumentar los

    atributos, una tabla se separa en dos para mejorar el

    rendimiento de ciertas consultas, agregar otro tipo de

    entidades a la base de datos.

    Permite que la base de datos cambie y evoluciones sin

    afectar las vistas o programas de los usuarios.

  • 1. 25

    1.6 Lenguaje de base de datos en un SABD relacional

    Considera dos aspectos:

    DDL: Lenguaje de definicin de ddatos

    DML: Lenguaje de manipulacin de datos

    DML: Data Manipulation Language.

    Lenguaje en el cual se especifican las operaciones de

    consulta o actualizacin de la base de datos.

    Ejemplo de Consulta o Query: Listar todos los clientes de

    la II regin que hayan comprado ms de $100.000 durante el

    ltimo ao.

    Usualmente, hay dos formas de accesar la base de datos:

    a) Lenguaje de base de datos autocontenido (Self-

    Contained Database Language)

    SQL

    b) Lenguaje de base de datos inserto (Embedded

    Database Language) en un Lenguaje Husped

    (anfitrin)

    Ejemplo: C + SQL

  • 1. 26

    SQL (STRUCTURED QUERY LANGUAGE)

    a) Lenguaje de Definicion de Datos (DDL): Permite

    definir o eliminar objetos de la base de datos tales como

    tablas o vistas.

    Ejemplo: Alter, Create, Drop, Grant, Rename, Revoke

    b) Lenguaje de Manipulacion de Datos (DML): Permite

    consultar y actualizar los datos existentes en la base de

    datos.

    Ejemplo: Select, Insert, Delete, Update

    c) Lenguaje de Control de Datos (DCL): Permite controlar

    los cambios a los datos y a la base de datos.

    Ejemplo: Commit, Rollback, Savepoint (Transaccin)

    d) Lenguaje inserto (Embedded Language) (Cursor)

    Lenguaje de Base de Datos + Lenguaje de Programacin

    SQL

    SQLJ

    DDL: Data Definition Language

    DML: Data Manipulation Language

    DCL: Data Control Language

    JAVA

    El resultado de una

    consulta es una tabla,

    que para acesarla fila

    por fila se utiliza un

    cursor (como leer un

    archivo

    convencional)

  • 1. 27

    1.6 Componentes de un DBMS (Ambiente operacional

    de un DBMS)

    Usuario 1

    Usuario 2

    Usuarios

    DBMS

    Base

    datos

    Diccionario

    de datos

    Programador

    Aplicaciones

    Administrador

    B.D.

    D

    B

    A Interface 3

    Interface 2

    Interface 1

    Ambiente operacional de un DBMS

    Casuales

    Ingenuos

    Escribe el cdigo para

    procesar los requerimientos

    de datos por parte de los

    usuarios

    Persona a

    cargo de la

    mantencin

    del sistema

    El DBA monitorea la

    performance del DBMS.

    Inicia cambios si es

    necesario

    El DBA:

    Controla todas las definiciones de datos y establece estndares para

    todos los programadores de

    aplicaciones que accesan la BD.

    Capacita a los programadores

    El DBA:

    define derechos de los usuarios y responsabilidades.

    Mediador entre conflictos que pueden surgir.

    Capacita a los usuarios

  • 1. 28

    El ambiente operacional de un DBMS es un sistema

    integrado de hardware, software y personas que es diseado

    para facilitar el almacenamiento, recuperacin y control del

    recurso informacin.

    Arquitectura de un S.A.B.D

    Administrador de la BD

    (Database Management)

    Tablas de

    Autorizacin

    Tablas de

    Acceso

    frecuente

    Administrador de

    archivos

    B D

    Programa o Query

    Procesador

    de Consultas

    Responsable de procesar

    las instrucciones DML y

    optimizar las consultas

    Responsable de

    transformar los

    comandos del nivel

    conceptual al nivel

    fsico

    Puede ser el del

    sistema operativo o

    uno especialmente

    desarrollado

    Tablas de

    descripcin

    del Esquema

    Compilador de

    DDL

    Esquema

  • 1. 29

    execution execution

    D

    STORED DATABASE

    E

    C

    B

    A

    execution

    Application

    programmers

    APPLICATION

    PROGRAMS

    Parametric users

    (ingenuos)

    Casual

    users DBA staff

    DDL

    STATEMENTS

    PRIVILEGED

    COMMANDS

    INTERACTIVE

    QUERY

    Precompiler

    Host languaje

    compiler

    DML

    STATEMENTS

    COMPILED

    (CANNED)

    TRANSACTIONS DDL

    Compiler System

    Catalog

    Data

    Dictionary

    Query

    Compiler

    DML

    Compiler

    Run-time

    Database

    Processor

    Stored

    Data

    Manager

    Concurrency Control/

    Backup/Recovery Subsystems

    Componentes de un DBMS

    Las lneas punteadas muestran los accesos que estn bajo el

    control del administrador de datos almacenados (STORED

    DATA MANAGER).

  • 1. 30

    Estructura del sistema

    Programas de

    aplicaciones

    Llamadas al

    sistema Consulta Esquema de la

    base de datos

    Usuarios

    Ingenuos

    Programadores de

    aplicaciones

    Usuarios

    casuales

    Administrador de

    base de datos

    Usuarios

    Precompilador de

    lenguaje de

    manejo de datos

    Procesador

    de consulta

    Precompilador

    de lenguaje de

    definicin de

    datos

    Cdigos objeto

    de los programas

    de aplicaciones Manejador

    de base de

    datos

    Manejador de

    archivos

    Sistemas de

    manejo de base

    de datos

    Archivos

    de datos

    Diccionario

    de datos Almacenamien

    to en disco

    Usan lenguaje husped

    Traduce las proposiciones en lenguaje de consulta a instrucciones de bajo nivel que puede entender el manejador de la BD. Intenta optimizar la consulta

    Convierte las proposiciones en DDL en un conjunto de tablas que contienen metadatos. Tales tablas se almacenan despus en el D.D.

    Constituye la interfaz entre los datos de bajo nivel almacenados en la B.D. y los programas de aplicaciones y las consultas que se hacen al sistema

    Convierte las proposiciones en DML incrustadas en un programa de aplicacin en llamadas normales a procedimientos en el lenguaje husped. Debe interactuar con el procesador de consultas para generar el cdigo apropiado

    Encargado de asignar espacio en el disco y de las Estructuras de Datos que se van a emplear para representar la informacin almacenada en el disco

  • 1. 31

    Informacin estadstica: incluye informacin acerca de los

    datos almacenados en la base de datos. Esta informacin la

    utiliza el selector de estrategias.

    Estructura del sistema

    Traduce las proposiciones de un lenguaje de consulta a uno de bajo nivel

    Procura transformar la solicitud del usuario en una forma equivalente pero ms eficiente, encontrando as una estrategia adecuada para ejecutar la consulta

    (Log) bitcora

    manejador de recuperaciones

    controlador de concurrencia

    tabla de candado

    buffer (memoria principal)

    almacenamiento

    en disco

    Estructura del sistema

    Informacin estadstica

    ndices

    datos del

    usuario

    datos del

    sistema

    Se encarga de transferir la informacin entre el disco y la Memoria principal

    El optimizador de consulta ve que estrategia usar de acuerdo a la informacin estadstica. Por ejemplo, cantidad de filas, etc.

    usuario

    analizador sintctico de consultas

    selector de estrategias

    transaccin del usuario

    manejador de buffer

    manejador de archivos

  • 1. 32

    Base de

    datos fsica

    Base de datos ORACLE

    Control Files

    Redo Log

    Files

    Database

    Files

    Procesos necesarios de trasfondo:

    Check point

    Data base writer

    Log writer

    System minitor

    Etc.

    Configuracin de servidor

    dedicado: Por cada proceso

    usuario, un proceso servidor

    Duplicado

    por si acaso

    Contiene la estructura fsica de la BD:

    Nombres y ubicaciones de los archivos de datos y archivos redo

    logic

    Timestamp de la creacin de la BD

  • 1. 33

    Administracin del almacenamiento de la base de datos

    Tablespace:

    Concepto de Oracle

    Estructura lgica de la BD, porque a nivel

    de sistema operativo

    se trabaja con

    bloques

    Se tienen varios

    tablespace

  • 1. 34

    1.8 Usuarios del S.A.B.D.

    Administrador

    B.D. Usuarios

    finales

    Programadores

    Usuario

    ingenuo

    Usuario

    Casual

    (SQL)

    S.A.B.D.

    B.D

    Usuarios del S.A.B.D.

  • 1. 35

    Administrador de base de datos (DBA, DataBase

    Administrator)

    Entre otras, sus funciones son:

    Definicin del esquema.

    Definicin de la estructura de almacenamiento y del

    mtodo de acceso.

    Modificacin del esquema y de la organizacin fsica.

    Concesin de autorizaciones para el acceso a los datos.

    Especificacin de las limitantes de integridad.

  • 1. 36

    1.9 Desarrollo histrico de los SABD

    Decada de los 60s

    Predominio de los sistemas basados en modelos jerrquico

    y de red.

    No existan lenguajes de consulta declarativos.

    Normalmente, el DML era combinado con un lenguaje

    husped, tpicamente COBOL.

    Decada de los 70s

    Predominio de los sistemas relacionales.

    Lenguajes de consulta de tipo declarativo.

    DML con lenguaje husped, pero tambin sistemas

    autocontenidos.

    Maduracin de la tecnologa relacional.

  • 1. 37

    Decada de los 80s

    Contina predominio del modelo relacional.

    Emergen estndares (SQL):

    SQL 86

    SQL 92

    SQL 3

    SQL: 1999

    Aparicin de los OODBMS (Object Oriented).

    Aparecen los KBMS (Knowledge Based).

    Decada de los 90s

    Maduracin de los OODBMS.

    Maduracin de los KBMS.

    Aparecen los ORDBMS.

    Bases de datos universales.

    SABDR

    SABDOR

  • 1. 38

    En la actualidad, 1998, existe un importante surgimiento de

    las bases de datos OBJETO RELACIONAL.

    Dnde se encuentra el modelo relacional hoy?

    (GARTNER GROUP 1991)

    OR

    SQL PL/SQL OR Java XML

    Oracle 7

    Oracle 8

    Oracle 9

    Oracle 10, 11

    Oracle 7 8 9 10 11

  • 1. 39

    SBDR COMERCIALES

    SQL / DS

    DB2

    INFORMIX

    ORACLE

    POSGRESQL

    SYBASE

    NONSTOP / SQL

    INGRES

    RDB

    UNIFY

    MYSQL

    SBDR comerciales, para Computadores personales

    RIM

    RBASE 5000

    PARADOX

    OS / 2 DATABASE MANAGER

    DBASE IV

    XBD

    WATCOM SQL

    SQL SERVER

    ACCESS

    Oracle Express

    Business Intelligence:

    OLAP

    Data Warehousing

    Data Mining