Introducción Bases de Datos.pdf

Embed Size (px)

Text of Introducción Bases de Datos.pdf

  • 8/17/2019 Introducción Bases de Datos.pdf

    1/43

    Parte 1  – Introducción

  • 8/17/2019 Introducción Bases de Datos.pdf

    2/43

    Porque usar bases de datos?

  • 8/17/2019 Introducción Bases de Datos.pdf

    3/43

    Porque usar bases de datos?

    Para ayudar a las personas a llevar un registro deinformación relevante en diferentes actividades de

    interés diarias◦ Comercial (clientes, productos, inventarios, puntos deventa, contabilidad)

    ◦ Finanzas (clientes, depósitos, retiros, estado de cuenta)◦ Servicios médicos (pacientes, historial)◦ Educación (matrícula, kardex)

  • 8/17/2019 Introducción Bases de Datos.pdf

    4/43

    Un sistema de gestión de bases de datos (SGBD)se define como una colección de datosinterrelacionados y un conjunto de programaspara acceder a dichos datos

    La colección de datos, normalmente denominadabase de datos, puede contener informaciónacerca de un producto o servicio en particular

    El primer objetivo de un SGBD es proporcionar un

    entorno que sea tanto práctico como eficiente deusar en la recuperación y el almacenamiento de lainformación de la base de datos

  • 8/17/2019 Introducción Bases de Datos.pdf

    5/43

    Para poder entender la importancia de las bases dedatos en la actualidad es necesario mencionaralgunas características de los sistemas previos a laaparición de las bases de datos

    Los primeros sistemas de información almacenabangrupos de registros en archivos separados

    Dichos sistemas eran conocidos como sistemas deprocesamiento de archivos los cuales representaron

    el primer intento para automatizar procesos que sevenían haciendo de forma manual

  • 8/17/2019 Introducción Bases de Datos.pdf

    6/43

    La figura muestra dos sistemas de procesamientode archivos

    Programa paraprocesar ingresos

    Programa paraprocesar egresos 

     Archivo deingresos

     Archivo de

    egresos

  • 8/17/2019 Introducción Bases de Datos.pdf

    7/43

     Algunos de los problemas o inconvenientes quepresentaba este tipo de sistemas se encuentra◦ Redundancia e inconsistencia de datos◦ Los datos están separados y aislados◦ Dificultad en el acceso de datos◦  Anomalías en el acceso concurrente◦ Problemas de seguridad

    Estas y otras desventajas dieron comienzo aldesarrollo de SGDBs

  • 8/17/2019 Introducción Bases de Datos.pdf

    8/43

    Poca eficiencia en el manejo de listas (Ejemplo:Excel)◦  Actualizar el teléfono de un cliente con varios registros◦ En caso de borrar un registro, se pierden otros datos

    Los programas de aplicación dependen de losformatos de los archivos

    Manejo de versiones al compartir la lista

  • 8/17/2019 Introducción Bases de Datos.pdf

    9/43

    El objetivo de un sistema de base de datos essimplificar y facilitar el acceso a una gran cantidadde datos

    La gestión de los datos implica tanto la definiciónde estructuras para almacenar la informacióncomo la provisión de mecanismos para lamanipulación de la información

    Un sistema de base de datos proporciona a losusuarios una visión abstracta   de los datos

  • 8/17/2019 Introducción Bases de Datos.pdf

    10/43

    La figura muestra un sistema de información conbase de datos (SGBD)

    Programas de Aplicación

    Programas de

     Aplicación

    DBMS Base dedatos

     ASPJSPC++PHPPL/SQLVisual Basic

  • 8/17/2019 Introducción Bases de Datos.pdf

    11/43

    Los componentes principales de un sistema deinformación con base de datos

    1. Usuarios2.  Aplicaciones3. Sistema de administración de base de datos 

    (DBMS)4. Base de datos

    a. Datos de usuario

    b. Índicesc. Metadatosd. Stored Procedures, Triggers, etc.

  • 8/17/2019 Introducción Bases de Datos.pdf

    12/43

     Administrador de la base de datos◦ Responsable de mantener el control tanto de los datos

    como de los programas que acceden a esos datos◦ Crea el esquema original de la base de datos◦ Define estructuras de almacenamiento

    Programadores de aplicaciones Usuarios especializados

    Usuarios normales

  • 8/17/2019 Introducción Bases de Datos.pdf

    13/43

    Bases de datos relacionales◦ IBM DB2◦ Oracle Oracle◦ Microsoft SQLServer◦ Código abierto MySQL

    Sistemas distribuidos emergentes con capacidadde almacenamiento◦  Amazon◦ Google

  • 8/17/2019 Introducción Bases de Datos.pdf

    14/43

    El término base de datos por si solo tiene variasinterpretaciones y elementos

    Una base de datos es un modelo del modeloreferente a las actividades de un negociorealizadas por un grupo de usuarios

    Una base de datos es autodescriptiva, es decir,además de los datos fuente del usuario también

    contiene una descripción de su propia estructura

  • 8/17/2019 Introducción Bases de Datos.pdf

    15/43

    Dicha descripción se le conoce como diccionariode datos (directorio de datos o metadatos)

    Debido a que la mayoría de los sistemas de basede datos están diseñados para almacenar ymanejar tablas, los metadatos son a su vezalmacenados en forma de tablas

    Dichas tablas se le conoce como tablas del

    sistema

  • 8/17/2019 Introducción Bases de Datos.pdf

    16/43

     Al ser autodescriptiva, una base de datos haceposible que exista la llamada independencia dedatos y programas

    Una base de datos también incluye índices loscuales se utilizan principalmente para

    1. Representar las relaciones entre los datos2. Mejorar el desarrollo de las aplicaciones de la

    base de datos

  • 8/17/2019 Introducción Bases de Datos.pdf

    17/43

    Existen varios niveles de abstracción pararecuperar y representar datos de una maneraeficiente

    Nivel físico Nivel mas bajo de abstracción que describecomo se almacenan realmente los datos

    Nivel lógico Siguiente nivel de abstracción que describequé datos se almacenan en la base de datosy que relaciones existen entre esos datos

    Nivel de vistas Nivel mas alto de abstracción que solo

    describe una parte de la base de datos. Sedefinen varias vistas de una base de datos.

  • 8/17/2019 Introducción Bases de Datos.pdf

    18/43

    Las bases de datos van cambiando a lo largo deltiempo conforme la información se inserta y borra

    La colección de información almacenada en labase de datos en un momento particular se llamauna instancia de la base de datos

    El diseño completo de la base de datos se leconoce como el esquema de la base de datos

  • 8/17/2019 Introducción Bases de Datos.pdf

    19/43

    La modelación de datos es la parte fundamentalde cualquier estructura de base de datos

    La modelación de datos se define como unacolección de herramientas conceptuales paradescribir◦ Los datos◦ Las relaciones entre los datos◦ La semántica de los datos◦ Las ligaduras de consistencia (constraints)

  • 8/17/2019 Introducción Bases de Datos.pdf

    20/43

    Los datos se modelan de acuerdo su tipo y uso endiferentes aplicaciones

    Operacionales/transaccionales◦ Datos que son parte de transacciones para consultar o

    actualizar cierta información en la base de datos

    Business Intelligence◦ Datos que son utilizados para realizar estudios o análisis

    dentro de cierto contexto o aplicación de los mismos

    Metadatos◦ Datos que son empleados para representar y administrar

    datos

  • 8/17/2019 Introducción Bases de Datos.pdf

    21/43

     Algunos de los beneficios que se obtienen de unaeficiente modelación de datos se encuentra

    1. Mayor consistencia en los datos2.

    Establece una estructura básica (esquema de labase de datos) sobre la cual se puedendesarrollar nuevas estructuras, elementos yprogramas de apoyo de forma más ágil

    3. Beneficia al desempeño de la base de datos encondiciones normales de operación

  • 8/17/2019 Introducción Bases de Datos.pdf

    22/43

    Los diferentes modelos de datos que se hanpropuesto se clasifican en tres grupos diferentes:

    1. Modelos lógicos basados en objetos2.

    Modelos lógicos basados en registros3. Modelos físicos

  • 8/17/2019 Introducción Bases de Datos.pdf

    23/43

    Los modelos lógicos basados en objetos se usanpara describir datos en los niveles lógico y devistas

     Algunos ejemplos de este tipo de modelos son◦ Modelo entidad-relación

    ◦ Modelo orientado a objetos◦ Modelo de datos semántico◦ Modelo de datos funcional

  • 8/17/2019 Introducción Bases de Datos.pdf

    24/43

    Esta basado en una percepción del mundo realque consta de una colección de objetos básicosllamados entidades y de relaciones entre estosobjetos

    Una entidad es un objeto en el mundo real que esdistinguible de otros objetos

    Las entidades se describen en una base de datos

    mediante un conjunto de atributos

  • 8/17/2019 Introducción Bases de Datos.pdf

    25/43

    Una relación es una asociación entre variasentidades

    El conjunto de todas las entidades del mismo tipoy el conjunto de todas las relaciones del mismotipo se denominan conjunto de entidades yconjunto de relaciones, respectivamente

    La correspondencia de cardinalidades expresa el

    número de entidades con las que otra entidad sepuede asociar a través de un conjunto derelaciones

  • 8/17/2019 Introducción Bases de Datos.pdf

    26/43

    La totalidad de estructuras lógicas de una base dedatos se puede representar por medio de undiagrama E-R que consta de los siguientescomponentes:◦ Rectángulos representan entidades◦ Elipses representan atributos◦ Rombos representan relaciones entre conjuntos de

    entidades◦ Líneas que unen los atributos con entidades y entidades

    con relaciones

  • 8/17/2019 Introducción Bases de Datos.pdf

    27/43

     Al igual que el modelo E-R, el modelo orientado aobjetos esta basado en una colección de objetos

    Un objeto contiene variables de instancia ymétodos

    Los objetos que contienen los mismos tipos devariables y los mismos métodos se agrupan juntosen clases

    Una clase se puede ver como una definición detipo para los objetos

  • 8/17/2019 Introducción Bases de Datos.pdf

    28/43

    La base de datos se estructura en registros deformato fijo de diferentes tipos

    En cada tipo de registro se define un número fijode campos o atributos, y cada campo tienenormalmente una longitud fija

    Los 3 modelos basados en registros mayormenteutilizados son◦

    Modelo relacional◦ Modelo de red◦ Modelo jerárquico

  • 8/17/2019 Introducción Bases de Datos.pdf

    29/43

    Emplea una colección de tablas para representartanto los datos como las relaciones entre esosdatos

    Cada tabla tiene varias columnas y cada columna

    tiene un nombre úniconumero_cuenta nombre domicilio telefono

    101102103104105

    GonzálezGarzaCantúRodríguezPérez

     Avenida 1 Avenida 2 Avenida 3 Avenida 4 Avenida 5

    8300000183000002830000038300000483000005

    numero_cuenta saldo

    101102103

    104105

    110.0120.0130.0

    140.0150.0

    Tabla clientes

    Tabla saldos

  • 8/17/2019 Introducción Bases de Datos.pdf

    30/43

    Un sistema de bases de datos utiliza 2 tipos delenguajes para realizar las siguientes funciones:

    Lenguaje de definición de datos (Data DefinitionLanguage DDL) para especificar el esquema de labase de datos

    Lenguaje de manipulación de datos (DataManipulation Language DML) para expresar las

    consultas y actualizaciones de la base de datos

  • 8/17/2019 Introducción Bases de Datos.pdf

    31/43

    Un esquema de base de datos se especificamediante un conjunto de definiciones expresadasen el lenguaje de definición de datos (LDD)

    El resultado de la compilación de las instruccionesdel LDD es un conjunto de tablas que sealmacenan en un archivo especial llamadodiccionario de datos o directorio de datos 

  • 8/17/2019 Introducción Bases de Datos.pdf

    32/43

    Un diccionario de datos es un archivo quecontiene metadatos (datos acerca de los datos)los cuales incluyen:◦ El esquema de la base de datos◦ Ligaduras de consistencia (integrity constraints), por

    ejemplo, el campo numero_cuenta identifica de maneraúnica cada cliente (Primary Key)

    create table clientes (numero_cuenta char(5),

    nombre varchar(50),domicilio varchar(50),

    telefono varchar(10))

  • 8/17/2019 Introducción Bases de Datos.pdf

    33/43

    Es un lenguaje que permite a los usuariosacceder o manipular los datos organizadosmediante el modelo de datos implementado

    La manipulación de datos comprende lassiguientes funciones en la base de datos:◦ La recuperación de información almacenada◦ La inserción de información nueva◦ El borrado de información◦ La modificación de información almacenada

  • 8/17/2019 Introducción Bases de Datos.pdf

    34/43

    Existen 2 tipos de lenguajes de manipulación dedatos (LMD)

    LMD procedimentales los cuales requieren que elusuario especifique que datos se necesitan ycomo obtenerlos

    LMD no procedimentales los cuales requieren queel usuario especifique que datos se necesitan sin

    especificar como obtenerlos

  • 8/17/2019 Introducción Bases de Datos.pdf

    35/43

    Los LMD no procedimentales son mas fáciles deaprender y usar

    Una consulta es una instrucción de solicitud pararecuperar información

    La parte de un LMD que implica recuperación deinformación se llama lenguaje de consultas

    En ocasiones es común usar como sinónimos

    LMD y lenguaje de consultas SQL es el lenguaje (no procedimental) de

    consultas mas utilizado

  • 8/17/2019 Introducción Bases de Datos.pdf

    36/43

    Una transacción es una colección de operacionesque se lleva a cabo como una función lógicasimple en una aplicación de bases de datos

    Cada transacción es una unidad de atomicidad yconsistencia

    Por ejemplo, suponer que una transacción implicatransferir fondos de una cuenta A a una cuenta B

    Por atomicidad se entiende que la transaccióndebe ocurrir por completo o no ocurrir en absolutomanteniendo así su consistencia de valores

  • 8/17/2019 Introducción Bases de Datos.pdf

    37/43

    Es responsabilidad del programador definir lasdiferentes transacciones apropiadamente, de tal formaque cada una preserve la consistencia de la base dedatos

    Es decir, si la base de datos era consistente cuando

    una transacción comenzó, entonces la base de datosdebe ser consistente cuando la transacción terminecon éxito

    Cuando varias transacciones actualizan la base dedatos concurrentemente, es responsabilidad del

    gestor de control de concurrencia controlar lainteracción entre las transacciones concurrentes paraasegurar la consistencia

  • 8/17/2019 Introducción Bases de Datos.pdf

    38/43

    Un gestor de almacenamiento se define como unprograma que proporciona la interfaz entre losdatos de bajo nivel en la base de datos y losprogramas de aplicación y consultas

    La gestión de almacenamiento transforma lasdiferentes instrucciones LMD a órdenes de unsistema de archivos de bajo nivel

     Así, el gestor de almacenamiento es responsabledel almacenamiento, recuperación y actualizaciónde los datos en la base de datos

  • 8/17/2019 Introducción Bases de Datos.pdf

    39/43

     Algunos ejemplos de software utilizado en lamodelación de datos son

    1. MySQL Workbench2. ERWIN3. Visio4. Designer/20005. Rational Rose

  • 8/17/2019 Introducción Bases de Datos.pdf

    40/43

  • 8/17/2019 Introducción Bases de Datos.pdf

    41/43

    Entre otras cosas, MySQL Workbench es unaherramienta de apoyo que permite

    1. Diseñar un modelo de datos para una aplicaciónnueva o bien poder visualizar el modelo quecorresponde a una base de datos ya existente

    2. Monitorear el desempeño de la implementacióndel modelo

    3. Llevar un control de versiones

  • 8/17/2019 Introducción Bases de Datos.pdf

    42/43

    El diseño de una aplicación con base de datosimplica definir varios aspectos o detalles

    Diseño lógico es aquel en donde se define elesquema de la base de datos

    Lo anterior requiere, entre otras cosas, que seobtenga una representación adecuada de lainformación por medio de una colección de

    entidades y relaciones dentro de cierto dominio deaplicación

  • 8/17/2019 Introducción Bases de Datos.pdf

    43/43

    Fase Base de datos Aplicación

    Requerimientos  1. Crear el modelo2. Especificar elementos

    y sus tipos de datos3. Definir reglas y

    validaciones

    Determinarrequerimientos

    Diseño 1. Tablas2. Claves primarias y

    foráneas3. Índices4. Constraints, stored

    procedures, triggers

    Formas, reportes,diseñar aplicación

    Implementación 1. Crear tablas yrelacionarlas2. Validar relaciones

    usando constraints3. Escribir stored

    procedures4. Capturar información

    1. Crear formas2. Crear reportes3. Crear consultas4. Escribir código de la

    aplicación5. Probar