Fundamentos de la BD

download Fundamentos de la BD

of 62

description

Fundamentos de Base de datos Relacional

Transcript of Fundamentos de la BD

  • Fundamentos de la Base De Datos

    Metodologas de Diseo de Bases de Datos.

    SESION: 02

    CURSO : GESTION DE DATOS DE INFORMACION I

    DOCENTE: ING. KARIN ROJAS ROMERO

  • Resea Historica

    Evolucin Histrica:

    Aos 50s: Preparacin de resmenes en departamentos de informtica.

    En los 60s nacen los sistemas gestores de bases de datos.

    Despus aparecen los motores relacionales.

    A finales de los 80s aparece el data warehouse.

    2 www.ucv.edu.pe

  • 3

    Un poco de historia Por qu surgieron los sistemas de Bases de

    Datos?

    Necesidad de solucionar las debilidades de los sistemas de archivos

    Capacidades: Manejo de persistencia

    Soporte por lo menos de un modelo de datos

    Soporte de un lenguaje de alto nivel que permita manipular y definir la estructura de la informacin

    Control de acceso

    Evitar inconsistencias al compartir la informacin

    www.ucv.edu.pe

  • 4

    Antes

    Empleados Clientes

    Inventario

    Ventas Cuentas

    SGBD

    Empleados Clientes Ventas

    Inventario Cuentas

    Dpto. Personal Dpto. Ventas Dpto. Contabilidad

    BASE DE DATOS Ahora Personal

    Ventas

    Contabilidad

    www.ucv.edu.pe

  • 5

    Definicin

    Una base de datos es un conjunto estructurado de datos coherentes

    Coleccin disponible de informacin

    www.ucv.edu.pe

  • 6

    Definicin

    Una base de datos es un conjunto estructurado de datos coherentes

    Coleccin organizada en subconjuntos, en funcin de ligas y de relaciones entre las diferentes informaciones (estructura lgica)

    www.ucv.edu.pe

  • 7

    Definicin

    Una base de datos es un conjunto estructurado de datos coherentes

    No hay contradiccin entre los datos ligados, no hay prdida de informacin, aun sabiendo que hay una utilizacin compartida de los datos entre varios usuarios

    www.ucv.edu.pe

  • www.ucv.edu.pe

    5. Ejemplos de Aplicacin

    Ejemplo de Manejadores

    Oracle. SqlServer Informix. SysBase

    Sectores

    Sector Administrativo (Contabilidad, Logistica). Sector financiero (Cuentas Corrientes) Sector Educativo (Matricula, Notas). Sector Productivo (Produccin, Inventarios)

  • Conceptos Bsicos

    Un sistema de base de datos comprende cuatro componentes principales:

    Datos: Integrados y Compartidos.

    Hardware: Necesario para el Sistema.

    Software: SGBD, Utileras, herramientas.

    Usuarios: Programadores de Aplicaciones, Usuarios Finales y el Administrador de la Base

    de Datos.

    9 www.ucv.edu.pe

  • Sistmica Ing. Karin Rojas Romero. 10

  • Conceptos Bsicos

    11 www.ucv.edu.pe

    EL PRIMER PASO ESPENSAR

    A lo largo de este mdulo le repetiremos varias veces que el primer paso antes de

    crear una base de datos es pensar qu tipo de base nos interesa. Por tanto aunque

    le hemos comentado al comienzo del mdulo el tipo de base de datos que le

    proponemos como prctica, le pedimos que se siente con calma a elaborar una

    lista de sus necesidades. Para darle alguna pista de por dnde empezar contstese

    a las siguientes cuestiones:

    Qu informacin queremos gestionar con la base de datos?.

    Cuntas tablas necesitamos?

    Estarn las tablas relacionadas?.

    Qu campos debe contener cada registro?.

    Cul ser el tipo de datos de cada campo?.

    A la hora de pensar en el tipo de datos piense tambin en el tamao de cada

    campo en funcin de la informacin que vaya a contener.

  • Conceptos Bsicos

    1. REGISTROS: Tambin llamados filas, representan un tem nico de datos estructurados en una tabla. Para entendernos sera el

    equivalente a las fichas de un fichero. Cada registro est formado

    por uno o varios campos. En una base de datos existen multitud de

    registros. Cada cliente almacenado en la base es un registro.

    12 www.ucv.edu.pe

  • Conceptos Bsicos

    13 www.ucv.edu.pe

    2. CAMPOS: Es un espacio de almacenamiento para un dato en

    particular. Los datos se almacenan en los registros dentro de los

    campos. Si hemos dicho que la ficha equivale a los registros, los

    campos seran los conceptos que tienen las fichas. Por ejemplo

    en el registro de un cliente, los campos seran el nombre,

    apellidos, direccin, DNI,

  • Conceptos Bsicos

    14 www.ucv.edu.pe

    3. TABLA: La tabla de la base de datos es dnde se

    almacenan los registros. Cada fila de la tabla corresponde a

    un registro. Una base de datos puede contener varias

    tablas. Por ejemplo una para los clientes, otra para los

    productos, otra para ventas,...

  • Conceptos Bsicos

    15 www.ucv.edu.pe

    QU ES LA CLAVE PRIMARIA?.

    Como ya hemos dicho, cada fila de una tabla es un registro. Cada

    registro debe estar identificado por un campo que sea diferente a

    todos los dems. A este campo que distingue un registro de otro se le

    denomina clave primaria. Toda tabla debe contener una clave primaria.

    Ejemplos de claves primarias son el DNI (asociado a una persona) o el

    ISBN (asociado a un libro). Es muy importante tener claro qu campo

    de nuestros registros siempre ser nico.

    Cuando definamos una tabla de la base de datos tendremos que

    identificar el campo que ejercer las funciones de clave primaria. Si no

    tenemos claro qu campo no se repetir podremos emplear un nmero

    secuencial que coincida con el nmero de registro y que se ir

    incrementando en una unidad por cada registro. Este nmero

    secuencial suele identificarse con el nombre de ID.

  • Conceptos Bsicos

    16 www.ucv.edu.pe

    QU SON LOS NDICES?

    Los ndices de las bases son datos que organizados permiten

    mejorar la velocidad de las operaciones, principalmente la de

    bsqueda, generando un acceso rpido a los registros de un

    tabla. Al aumentar la velocidad se suelen usar los campos

    sobre los que habitualmente hacemos ms bsquedas. Los

    ndices de una base de datos son semejantes a los de un libro.

    stos guardan parejas de elementos: el elemento que se quiere

    indexar y su posicin en la base datos. Para buscar un

    elemento lo nico que tenemos que localizar es su ndice. Una

    vez encontrado se devolver el registro que se encuentre en la

    posicin marcada por el ndice.

  • Conceptos Bsicos

    17 www.ucv.edu.pe

    PROPIEDADES DE LOS CAMPOS

    Todos los campos que podamos crear en nuestros registros tienen

    una serie de propiedades modificables por el administrador3en el

    momento de crear la base de datos

    Entre las propiedades ms comunes destacamos:

    TAMAO DEL CAMPO: Es el nmero de caracteres que se puede

    introducir en el campo. Por ejemplo, si tratamos con un campo de

    cdigo postal, lo normal sera asignarle la propiedad de tamao de 5

    caracteres puesto que nunca tendremos el caso de un cdigo de ms

    dgitos.

    TIPO DE DATO: Permite establecer la naturaleza de los datos que

    introduciremos en el campo en cuestin. Los tipos de datos que se

    nos permitir emplear son: texto, memo4, nmero, fecha/hora,

    moneda, autonumrico5, S/No,

  • Conceptos Bsicos

    18 www.ucv.edu.pe

    VALOR PREDETERMINADO: Es el dato por defecto que contendr

    el campo para cada registro antes de que usted introduzca ningn

    otro valor. ste puede configurarse con algn valor o dejarse vaco.

    Por ejemplo si uno de los campos en sus registros es la fecha de

    alta de un cliente, podr hacer que el Motor de Base de Datos le

    muestre la fecha del da actual por defecto al crear un nuevo

    registro. Esta fecha sera un valor predeterminado.

    REQUERIDO: Los campos requeridos son campos obligatorios, no

    se puede crear el registro si no se ha introducido algn valor en

    estos campos. Por ejemplo el DNI o el nmero de cliente son por lo

    general datos requeridos.

  • Conceptos Bsicos

    19 www.ucv.edu.pe

    INDEXADO: Si indexamos un campo aceleraremos la bsqueda y la

    ordenacin de los registros. Le recomendamos que no cree muchos

    ndices por cada tabla puesto que afectar a la velocidad de trabajo.

    MSCARA DE ENTRADA: Esta propiedad se emplea para obligar al

    usuario que introducir la informacin en un registro a emplear un

    formato especfico para el campo. Se suele usar, por ejemplo, en los

    telfonos donde la agrupacin de nmeros queda prefijada en una

    mscara y la base de datos al teclear los nmeros los agrupa segn la

    mscara. Por ejemplo 915 23 21 34.

    OTRAS PROPIEDADES: Existen muchas propiedades por cada campo

    que creemos. Ms adelante le ensearemos a modificarlas. Algunas

    interesantes son: permitir longitud cero, regla de validacin, alineacin

    del texto,.

  • INGENIERA DE REQUERIMIENTOS

    Entender los requerimientos de una solucin basada en software es una de las tareas mas difciles para un(a) Ing. de software.

    Como otras actividades de Ing. de Sw, sta debe adaptarse a las necesidades del proceso, proyecto, producto y gente que hace el software.

    La Ing. de Requerimientos provee de un mecanismo apropiado para entender que quiere el consumidor, analizar sus necesidades, valorar la factibilidad de construccin, negociar una solucin razonable, especificar de manera no ambigua una solucin, validar la especificacin y administrar los requerimientos conforme se transforman.

    *Referencia: captulo 7 libro de texto (Pressman 2005)

  • Tareas de la Ing. de Requerimientos

  • Iniciacin

    Como se empieza un proyecto? Algunas veces inicia por conversaciones informales, otras de manera mas formal; normalmente como resultado de una necesidad importante

    En esta parte, los ingenieros de software realizan

    preguntas libres de contexto (generales), para establecer un entendimiento bsico del problema, determinar las personas que quieren una solucin, la naturaleza de la solucin, y la efectividad de las colaboraciones y comunicaciones preeliminares que se generan entre el consumidor y el desarrollador

  • Obtencin de Requerimientos

    Se refiere a definir formalmente los requerimientos de la solucin. Es difcil porque como ya se ha visto:

    Hay problemas de definicin de alcances

    Hay problemas de entendimiento entre los involucrados

    Hay problemas de volatilidad (los requerimientos cambian con el tiempo)

  • Elaboracin

    Esta actividad expande y refina la informacin obtenida en la tarea de iniciacin

    Se enfoca en realizar modelos tcnicos refinados de las funciones del software, caractersticas y limitantes.

    Es bsicamente una funcin de modelado. Se conduce a travs de la definicin de escenarios del usuario que describen la interaccin del usuario final con el sistema

    Se define el dominio del problema desde varios puntos de vista: informacin, funciones y comportamiento

  • Negociacin

    Los usuarios y consumidores normalmente piden mas de lo que se puede hacer con los recursos con que se cuenta.

    Casi siempre diferentes involucrados (stakeholders) piden cosas diferentes, por lo que hay que conciliar intereses a

    travs de negociaciones.

    Hay varias maneras para negociar, y depende de la cultura de la organizacin y tamao del proyecto

  • Especificacin

    Especificacin significa diferentes cosas para diferentes personas en el rea de Ing. de software.

    Este es el producto de trabajo final de la ingeniera de requerimientos.

    Sirve como base para actividades subsecuentes. Describe la funcin y desempeo de un sistema y las

    restriccin que tiene.

    Hay muchas tcnicas para escribir especificaciones: diagramas, narraciones en prosa, modelos matemticos, dibujos, etc.

  • Validacin

    El producto generado por la ingeniera de requerimientos debe ser evaluado en trminos de congruencia y calidad. Se debe asegurar que la especificacin concuerda con las expectativas del usuario y que no es ambigua.

    Deben detectarse y corregirse errores, omisiones e inconsistencias con respecto a los estndares establecidos en el proyecto.

    El mecanismo comn de validacin es la revisin tcnica formal.

  • Administracin de requerimientos

    Actividades que ayudan al equipo de trabajo a identificar, controlar y seguir los requerimientos y cambios que ocurren en ellos a travs de todo el proceso de desarrollo.

    La administracin empieza con la identificacin de cada requerimiento. Posteriormente se generan tablas que permitirn darles seguimiento. Algunas de stas son:

    Tablas de caractersticas

    Tablas de fuentes

    Tablas de dependencias

    Tablas de subsistemas

    Tablas de interfaces

  • Descripcin detallada de las Tareas de la Ing.

    de Requerimientos

    Iniciacin (Inception)

    Obtencin (Elicitation)

    Elaboracin

    Negociacin

    Especificacin

    Validacin (Validation)

    Administracin

  • Pasos del proceso de Iniciacin.

    1. Identificacin de involucrados (Stakeholders).

    2. Reconocimiento de diferentes puntos de vista.

    3. Desarrollo de un ambiente colaborativo. Implica identificar puntos en comn, reas de conflicto e inconsistencias.

    4. Aplicacin de preguntas iniciales.

  • Algunas preguntas Iniciales tpicas

    Primeras Quin est detrs de la requisicin de este trabajo? Quin usar la solucin ? Cual es el beneficio econmico de una solucin exitosa? Hay otras fuentes para obtener la solucin buscada que se

    necesitarn?

    Siguientes: Qu sera una buena salida para generar una solucin

    eficiente? Que problemas aparecern con esta solucin? Podra describirme el medio ambiente en que la solucin

    funcionar? Qu aspectos de desempeo o limitaciones afectan la solucin?

  • Algunas preguntas tpicas (2)

    Siguientes:

    Es Usted la persona correcta a preguntarle? Son sus respuestas oficiales?

    Considera mis preguntas relevantes al problema que Usted tiene?

    Le estoy preguntando demasiado?

    Puede alguien mas darme informacin adicional ?

  • Caractersticas de un(a) buen(a) Ing. de

    Requerimientos

    Habilidad para captar conceptos abstractos sintetizndolos y

    reorganizndolos en divisiones lgicas.

    Habilidad para obtener hechos importantes de situaciones confusas.

    Habilidad para entender el medio ambiente.

    Habilidad para comunicarse bien en forma verbal y escrita.

    Habilidad para "ver el bosque a travs de las hojas".

  • Generacin de las Necesidades del Cliente

    Herramientas para obtener informacin de las necesidades del Cliente:

    Cuestionarios

    Entrevistas

    Estudio de campo

    Revisin de documentos en la base de datos de conocimiento de la organizacin

    Autoaprendizaje

  • Cuestionarios

    Los cuestionarios son tiles especialmente cuando hay una gran cantidad de usuarios finales.

    El diseo de un cuestionario requiere de tiempo y dedicacin, ya que un cuestionario deficiente produce frustracin y prdida de inters en el

    usuario.

    El cuestionario debe ser fcil de procesar

    En caso de que el cuestionario no se aplique a todos los usuarios, se debe seleccionar correctamente al grupo que realice el cuestionario.

  • Entrevistas

    La entrevista es una herramienta muy til para

    obtener informacin.

    Se puede llevar a cabo en cualquier nivel dentro de la organizacin, desde el presidente hasta el

    obrero en la lnea de ensamble.

    La entrevista debe prepararse adecuadamente.

  • Consejos para Realizar una Entrevista

    1) Preparacin de la entrevista:

    a) Buscar el apoyo del gerente de departamento o jefe donde se

    llevar a cabo la entrevista.

    b) Preparar la entrevista para un tiempo determinado, y drselo

    a conocer al entrevistado.

    c) Identificar de antemano la posicin del entrevistado en la

    organizacin, sus responsabilidades y actividades.

    d) Acordar de antemano la hora y el lugar de la entrevista. Evitar

    las interrupciones.

    e) Preparar el contenido de la entrevista: temas, preguntas etc.

  • Consejos Para Realizar Una Entrevista (continuacin)

    2) Conduciendo la entrevista: a) Presentarse al entrevistado y presentar al proyecto en el que se trabaja. b) Asegurarse de se entendieron correctamente las responsabilidades del

    entrevistado. Realizar preguntas de la forma: "tengo entendido que... ". c) Estudiar el mtodo de decisin del entrevistado. d) Evitar palabras tcnicas o rebuscadas. e) Darse una idea del "sentimiento" del entrevistado con respecto al sistema. f) Escuchar al entrevistado. g) Preguntar al entrevistado sobre algunas ideas propias que pudieron olvidarse. h) Al final de la entrevista resumir las conclusiones y escribir una bitcora. i) No tomar demasiadas notas. j) Grabar la entrevista la mayora de las veces resulta anti-productivo.

  • - Respuestas falsas por temor a admitir ignorancia - El usuario tiende a decir lo que el entrevistador quiere or

    - Boicoteo de informacin

    - Actitud cerrada hacia cambios

    - Pesimismo total

    - Desvo del objetivo fundamental hacia otros problemas de la

    organizacin

    Algunos Problemas Durante las

    Entrevistas

  • Tareas de la Ing. de Requerimientos

    Iniciacin (Inception)

    Obtencin (Elicitation)

    Elaboracin

    Negociacin

    Especificacin

    Validacin (Validation)

    Administracin

  • Continuando con el anlisis...

    Segn [Larman 99] las principales actividades asociadas al anlisis son:

    Definir los casos de uso

    Definir el modelo conceptual

    Definir los diagramas de colaboracin

    Definir diagramas de diseo de clases

  • Desarrollo de casos de uso

    Un caso de uso describe el comportamiento del sistema en condiciones diferentes,

    as como la respuesta del sistema a las requisiciones de uno o mas stakeholders

    El primer paso es definir por escrito los actores que estarn involucrados en el

    sistema. Los actores son personas o dispositivos que usan el producto dentro de un

    contexto o funcin. Representan los roles de las personas o dispositivos

  • Desarrollo de casos de uso (2)

    Una vez que se han identificado los actores, lo siguiente es desarrollar el caso de uso. Jacobson sugiere hacer las siguientes preguntas:

    Quienes son los actores primarios y secundarios?

    Cuales son las metas de los actores?

    Que precondiciones deben existir antes de que la historia empiece?

    Que tareas principales son realizadas por el actor?

    Que excepciones se pueden considerar con respecto a la descripcin de la historia?

    Contina...

  • Smbolos usados en los Diagrama de Casos

    de Uso de UML*

    Caso de

    Uso

  • Ejemplo de un Diagrama de Casos de

    Uso1

    1. Sistema de control de registro para maquinas tragamonedas.

  • Escenarios

    Cada ovalo en el diagrama de casos de uso debe ser descrito detalladamente, a travs

    de un escenario.

  • (C) P. Gmez-Gil, INAOEP 2009

    De

    scrip

    ci

    n e

    sce

    na

    rios

    [Computer, 02]

  • (C) P. Gmez-Gil, INAOEP 2009

    Otra

    Pla

    ntilla

    pa

    ra d

    escrib

    ir

    esce

    na

    rios

    [Larman,99]

  • Ejemplo de caso de uso del proyecto

    Casa Segura

    Involucrados:

    Dueo de la casa

    Administrador de la configuracin (probablemente la misma persona que el dueo)

    Sensores

    Subsistema de monitoreo

    Escogiendo como actor al dueo de la casa

  • Sistema Casa Segura

  • Interacciones de dueo de la casa con

    el sistema

    Introduce un password para permitir otras interacciones

    Pregunta sobre el status de una zona de seguridad

    Pregunta sobre el status de un sensor

    Oprime el botn pnico en caso de una emergencia

    Activa o desactiva el sistema de seguridad

  • Ejemplo de caso de uso del proyecto

    Casa Segura

    [Pressman 2004]

  • Diagrama de actividades

    Representa el flujo de interaccin con respecto a un escenario especfico

    Los rectngulos indican funciones, las flechas indican flujo, los diamantes indican ramas de

    decisin y las lneas horizontales indican que

    ocurren actividades en paralelo.

  • Diagrama de actividades para Licitacin

    de Requerimientos

    [Pressman 2004]

  • Diagramas tipo Swimlane (carriles)

    Son una variacin de los de actividades. Permiten representar el flujo de actividades y al

    mismo tiempo indicar que actor(a) o clase tiene

    la responsabilidad de la accin descrita por el

    rectngulo. Se divide con lneas verticales el

    diagrama, una columna por cada actor (como

    los canales de nado en una piscina).

  • Diagrama tipo carriles

    Fig. 8.8 [Pressman 04]

  • Diagrama de flujo de datos de

    Priscus

  • [Perea-Centeno 2012]

  • Sistmica Ing. Karin Rojas Romero. 61

    Metodologa Del Diseo de BD

  • Gracias.