Capitulo 1 Introduccion a aBD

Embed Size (px)

Citation preview

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    1/26

    Capitulo 1: IntroducciónCapitulo 1: Introducción

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    2/26

    Capitulo 1: IntroducciónCapitulo 1: Introducción

    Propósito de un sistema de base de datosVisión de los datosLenguajes de base de datosBase de datos relacionalesDiseño de base de datos

    Base de datos basada en objetos y sem iestructuradasAlmacenamiento de datos y co nsultasGestión de transaccionesArquitectura de bases de datos

    Administradores y usuarios de base de datos

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    3/26

    Database Management System (DBMS)Database Management System (DBMS)

    DBMS contiene información sobre una empresa determinada

    Colecciones de datos relacionados entre síConjunto de programas para acceder a los datosLa nalidad es poseer un ambiente para almacenar y recuperar lainformación de forma practica y eciente .

    Aplicaciones de Base de datos

    Bancos : todas las transaccionesCompañías aéreas : reservas, horarios Universidades : inscripción, cursos Ventas : clientes, productos, las comprasComercio en l ínea : seguimiento de pedidos, recomendacionespersonalizadas

    Producción : La producción, inventarios, pedidos, cadena de suministroRecursos humanos : los registros de empleados, salarios, deducciones deimpuestos

    Las bases de datos son una parte esencial de casi toda las empresas

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    4/26

    Propósito de los s istemas de b ase d e d atosPropósito de los s istemas de b ase d e d atos

    Inicialmente, las a plicaciones de base de datos s e construyeron sobre

    los s istemas de archivos del sistema operativoInconvenientes de la utilización de sistemas de archivos paraalmacenar datos:

    Redundancia e inconsistencia de los datosMúltiples formatos de archivos, duplicidad de la información en

    diferentes archivos.Dicultad en el acceso a los datos

    Necesidad de escribir un nuevo programa para llevar a cabo unanueva tarea.

    Aislamiento de datos – múltiples archivos y formatos

    Problemas de integridadRestricciones de integridad (Ejm. Saldo > 0), el programadorescribe código en la aplicación para hacer cumplir estarestricción.Cuando se añaden nuevas restricciones es difícil cambiar los

    programas.

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    5/26

    Propósito de los s istemas de base de datosPropósito de los s istemas de base de datos(Cont.)(Cont.)

    Inconvenientes de la utilización de sistemas de archivos para almacenar datos:(cont.)

    Problemas de atomicidadLas fallas pueden dejar en un estado de inconsistencia a la base de datos.Ejemplo: Transferencia de fondos de una cuenta a otra debe ser atómica -debe ocurrir en su totalidad o no ocurrir en absoluto.

    Anomalías en el acceso concurrenteEl Acceso concurrente es necesario para un buen desempeñoNo controlar el acceso concurrente podría provocar inconsistencia de labase de datos– Ejemplo: Dos personas leen y actualización el saldo de una cuenta, al

    mismo tiempoProblemas de seguridad

    No todos los usuarios de un sistema de base de datos deben poderacceder a todos los datos

    Los Sistemas de Bases de datos ofrecen soluciones a t odos los problemasanteriormente mencionados

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    6/26

    Niveles de a bstracción de d atosNiveles d e a bstracción de d atos

    Nivel físico: describe cómo se almacenan realmente los datos.

    Describe la estructura de datos compleja de bajo nivel.Nivel lógico: describe qué datos se almacenan en la base de datos yque relación existe entre estos datos. Estructuras simples

    type cliente = recordid_cliente : string;nombre_cliente : string;calle _cliente : string;ciudad _cliente : string;

    end ;Nivel de vistas: Solo describe parte de la base de datos, muchos

    usuarios de la base de datos no están interesados en todos los datos dela base de datos

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    7/26

    Visión de los datosVisión de los datos

    Una arquitectura para un sistema de base de datos

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    8/26

    Ejemplares y esquemasEjemplares y e squemas

    Similar a los Tipos de datos y las variables que se d enen en un leguaje deprogramaciónEsquema – es la estructura lógica de la base de datos

    Ejemplo: una base de datos que representa la información de un conjunto declientes, cuentas y la relación entre ellos.Análogo al tipo de dato de una variable en un lenguaje de programaciónEsquema Físico: Describe el diseño de la base de datos e n el nivel físico.Esquema Lógico: Describe el diseño de la base de datos en el nivel lógico

    Ejemplar – representa el contenido de la base de datos en un determinado puntode tiempo

    Análogo con el valor de una variable denida en un lenguaje de programaciónIndependencia física respecto de los d atos – Habilidad para modicar elesquema físico sin cambiar el esquema lógico.

    Las aplicaciones dependen del esquema lógicoEn general, las interfaces e ntre los distintos niveles y componentes deben estarbien denidos para que los cambios en algunas partes no afecten a los demás.

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    9/26

    Modelo de datosModelo de datos

    Una colección de herramientas conceptuales para describir

    DatosRelación entre datosSemántica de los datosRestricciones de consistencia de datos

    Modelo relacionalEl modelo entidad-relaciónModelo de datos orientado a objetosModelo de datos semiestructurados (XML)Otros modelos antiguos

    Modelo de redModelo jerárquico

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    10/26

    Lenguaje de manipulación de datos (LMD)Lenguaje de manipulación de datos (LMD)

    Data Manipulation Language (DML)

    Lenguaje para acceder o manipular datos que están organizados deacuerdo a un modelo de datos apropiado.

    DML también conocido como lenguaje de consultaDos tipos de lenguajes

    LMDs Procedimentales – Necesitan que el usuario especiquequé datos se necesitan y cómo obtener esos datosLMDs d eclarativos (no procedimentales) – necesitan que elusuario especique qué datos s e necesitan sin que haga falta queespecique cómo obtener esos datos

    SQL es el lenguaje de consulta usado mas ampliamente

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    11/26

    Lenguaje de denición de datos (LDD)Lenguaje de denición de datos (LDD)

    Los esquemas de las bases de datos se especican utilizando un conjunto deexpresiones denidas en el LDDEjemplo: create table cuenta (

    numero-cuenta char (10), saldo integer )

    Las instrucciones LDD generan un conjunto de nombres de tablas las cualesse almacenan en un diccionario de datos.El diccionario de datos contiene los metadatos (datos acerca de los datos)

    Esquemas de la base de datosLenguaje de almacenamiento y d enición de datos

    Especica la estructura de almacenamiento y los métodos de accesoutilizados

    Restricciones de integridad

    Restricciones de dominioIntegridad referencial ( references constraint en SQL)Asertos (condición que las BDs siempre deben cumplir)

    Autorización

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    12/26

    Modelo relacionalModelo relacional

    Un ejemplo de tabla del modelos relacionalAtributos

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    13/26

    Un ejemplo de base de datos relacionalUn ejemplo de base de datos relacional

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    14/26

    SQLSQL

    SQL : Lenguaje no procedimental ampliamente utilizado

    Ejemplo: Encontrar el nombre del cliente con id_cliente 192-83-7465select cliente.nombre_clientefrom clientewhere cliente.id_cliente = ‘192-83-7465’

    Ejemplo: Encontrar el saldo de todas las cuentas para un cliente con

    id_cliente 192-83-7465select cuenta.saldofrom deposito , cuentawhere deposito.id_cliente = ‘192-83-7465’ and

    deposito.numero_cuenta = cuenta.numero_cuenta

    Los programas de aplicación generalmente acceden a las bases de datos através de:

    Extensiones del lenguaje que permiten incrustar sentencias SQLAPI (ejm. ODBC/JDBC) los cuales permiten enviar consultas SQL a laBase de datos

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    15/26

    Diseño de base d e datosDiseño de base d e datos

    El diseño de la base de datos implica principalmente el diseño del esquema de la

    base de datos. La e specicación de requisitos de usuario es la fase inicial del diseño de labase de datos donde se caracteriza los requisitos de los usuarios

    Diseño conceptual aplicar los conceptos del modelo de datos para transformarlos requisitos de usuario en un esquema conceptual de la base de datos. Tambiéncomprende la especicación de requisitos funcionales que describen el tiposde operación o transacciones que se llevan a cabo con los datos.

    Diseño lógico - Decidir un esquema relacional tomando en cuenta el esquemaconceptual de la base de datos.

    Decisión de negocios - Qué atributos debemos almacenar en la base dedatos

    Decisión informática – Modelo entidad relación o normalización.Diseño físico - Decidir sobre la distribución física de la base de datos

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    16/26

    El modelo Entidad RelaciónEl modelo Entidad Relación

    Modela una empresa como una colección de entidades y la relación

    entre dichas entidadesEntidad: una “cosa” u “objeto” dentro de la empresa que sediferencia de otros objetos

    Descrito por un conjunto de atributosRelación: una asociación entre varias e ntidades

    Representado esquemáticamente mediante un diagrama de entidad-relación:

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    17/26

    Modelo de d atos r elacional orientado a o bjetosModelo de d atos r elacional orientado a o bjetos

    Extiende el modelo relacional tradicional con gran variedad de

    características, como los tipos estructurados y las colecciones, asícomo la orientación a objetosPermite que los atributos de las tuplas dispongan de tipos de datoscomplejos, valores no atómicos, y relaciones a nidadas.Preserva los fundamentos del modelo relacional, en particular el

    acceso a los datos, mientras se extiende con mas capacidad elmodelo.Proporciona compatibilidad extendida con los actuales lenguajesrelacionales

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    18/26

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    19/26

    Gestor de almacenamientoGestor de almacenamiento

    Gestor de almacenamiento es un programa que proporciona la

    interfaz entre los datos de bajo nivel almacenados en la base de datosy los programas de aplicación y las consultas remitidas a l sistema.El gestor de almacenamiento es responsable de las siguientes tareas:

    Interacción con el gestor de archivosEciente almacenamiento, recuperación y actualización de losdatos

    El gestor de almacenamiento implementa varias estructura de datos:Archivos de datosDiccionario de datos

    Índices

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    20/26

    Procesador de consultasProcesador de consultas

    1. Interprete y compilador de instrucciones

    2.Optimización de consultas3. Motor de evaluación o ejecución de consultas

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    21/26

    Procesador de consultas (Cont.)Procesador de consultas (Cont.)

    Evaluar diferentes alternativas para ejecutar una consulta dada

    Expresiones equivalentesDiferentes algoritmos para cada operación

    La diferencia de costo entre una buena y una mala manera de ejecutaruna consulta puede ser enorme.Necesidad de estimar el costo de las operaciones

    Depende fundamentalmente de la información estadística sobre lasrelaciones que debe mantener en la base de datos.Necesidad de calcular las estadísticas de resultados intermediospara calcular el costo de expresiones complejas

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    22/26

    Gestión de transaccionesGestión de transacciones

    Una transacción es un conjunto de operaciones que lleva a cabo una

    única función lógica en una aplicación de base de datos.Componente de gestión de transacciones garantiza laspropiedades de atomicidad y de durabilidad, debiendo recuperarse aun estado de consistencia cuando una transacción falla.Gestor de c ontrol de c oncurrencia controlar la interacción entre las

    transacciones concurrentes para garantizar la consistencia de la basede datos.

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    23/26

    Arquitectura de la base de datosArquitectura de la base de datos

    La arquitectura de un sistema de base de datos esta fuertemente

    inuenciado por el tipo de sistema de computo, en la cual se ejecuta labase de datos:CentralizadoCliente-servidorParalelo (multi-procesador)Distribuido

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    24/26

    Usuarios d e la b ase d e d atosUsuarios d e la b ase d e d atos

    Usuarios son diferenciados por la forma en que esperan interactuar con

    el sistemaProgramadores de aplicaciones – interactúan con el sistema a través

    de llamadas LMDUsuarios sosticados – Formulan sus consultas en el lenguaje de

    consultas de la base de datos, no usan un sistema aparte.

    Usuarios especializados – E scriben aplicaciones de base de datosespecializadas que no encajan en el marco tradicional de procesamientode datos. (Sistemas CAD, Sistemas de conocimiento y e xpertos)

    Usuarios no rmales – Interactúan con el sistema invocando alguno delos programas de aplicación escritos previamente.

    Ejemplo, personas accediendo a bases de datos vía Web, Cajerodel banco

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    25/26

    Administradores de base de datosAdministradores de base de datos

    Una de las principales razones de usar un SGBD es tener un

    control centralizado tanto de los datos como de los programasque tienen acceso a esos datos.Las funciones del DBA incluyen:

    La denición del esquemaLa denición de la estructura de almacenamiento y delmétodo de accesoLa modicación del esquema y de la organización físicaLa concesión de autorización para el acceso a los datosEl mantenimiento rutinario

  • 8/20/2019 Capitulo 1 Introduccion a aBD

    26/26

    Fin del capitulo 1Fin del capitulo 1