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.
Top Related