jueves, 7 de junio de 2012

Ciclo de Vida de una Base de Datos

Todo sistema de información va pasando por fases a lo largo de su vida. Las etapas del ciclo de vida de una aplicación son las siguientes:

Planificación del proyecto.
La planificación de la base de datos también incluye el desarrollo de estándares que sirvan para especificar como llevar a cabo la recolección de datos, el formato que deben llevar, cuál es la documentación necesaria y como se llevara a cabo el diseño y la implementación.

Definición del Sistema.
Aquí se especifica el ámbito y los limites de la aplicación de un sistema de Base de Datos, así como con que otros sistemas interactua, quienes son los usuarios y sus áreas de aplicación.

Recolección y Análisis de Requisitos.
Se recaba información sobre el uso que se le piensa dar a la Base de Datos, sobre los usuarios y las aplicaciones que se les desea dar. En esta etapa se tiene como resultado un conjunto de documentos con especificaciones de requisitos de los usuarios.

Diseño Conceptual de la Base de Datos.
Consta de tres fases: diseño conceptual, lógico y físico.
La primera fase consiste en la creación de un esquema conceptual que después es refinado y mejorado para convertirse en un esquema lógico. En la tercera fase el esquema lógico se traduce en un esquema físico para el SGBD escogido.

Selección del SGBD.

Un sistema gestor de bases de datos es un producto software con capacidad para definir, mantener y utilizar bases de datos. El sistema de gestión de bases de datos que decidamos utilizar debe permitirnos, definir estructuras de almacenamiento adecuadas y acceder a los datos de forma eficiente y segura.

Diseño de Aplicación.
En esta etapa se diseñan los programas de aplicación que usarán y procesarán la base de datos, esta etapa y el diseño de la base de datos, son paralelas. Por otro lado, la base de datos existe para dar soporte a las aplicaciones, por lo que habrá una realimentación desde el diseño de las aplicaciones al diseño de la base de datos.

Implementación.
En esta etapa se crean las definiciones de la base de datos a nivel conceptual, externo e interno, así como los programas de aplicación. Se crear una tabla en nuestra base de datos.
También se implementan en esta etapa todos los controles de seguridad e integridad. 

Conversión y carga de datos.
Esta etapa es necesaria cuando se está reemplazando un sistema antiguo por uno nuevo. Los datos se cargan desde el sistema viejo al nuevo, se convierten al formato que requiera el nuevo SGBD y luego se cargan.

Prueba.
Aquí se prueba y valida el sistema con los requisitos especificados por los usuarios. Para ello, se debe diseñar una batería de test con datos reales que se deben llevar a cabo de manera metódica y rigurosa.
Es importante darse cuenta de que la fase de prueba no sirve para demostrar que no hay fallos, sirve para encontrarlos. Si la fase de prueba se lleva acabo correctamente, descubrirá los errores en los programas de  aplicación y en la estructura de la base de datos. 


Mantenimiento.
Una vez que el sistema esta implementado y comprobado, se pone en marcha.
El sistema está ahora en fase de mantenimiento, en el cual se llevan a cabo las siguientes tareas: 
Monitorización de las prestaciones del sistema. Mantenimiento y actualización del sistema. Cuando sea necesario, los nuevos requisitos que vayan surgiendo se incorporaran al sistema, siguiendo de nuevo las etapas del ciclo de vida que se acaban de presentar.

miércoles, 6 de junio de 2012

Ciclo de vida del sistema

Ciclo de vida clásico
Este ciclo consta de siete pasos:
-Análisis de las necesidades (planificación)
-Estudio de viabilidad
-Definición de requisitos
-Diseño conceptual/lógico 
-Implementación
-Pruebas o Evaluación
-Mantenimiento (Perfeccionamiento)

Análisis de las necesidades
-Propósito: recabar información sobre el uso que se piensa dar a la base de datos (Analista)
-El proceso inicia con la peticion de una persona
-Cuanta mas presicion , mejor desarrollo
-En la reunion tambien se aclara lo siguiente:
*Nivel de seguridad de los usuarios
*Derechos de cada uno sobre los datos
*Requisitos de los sistemas informativos del cliente
*Ubicacion de los usuarios

Estudio de viabilidad
Implica la preparacion de un informe con las siguientes caracteristicas:
-Viabilidad tecnologica: Depende de los recursos humanos disponibles e implicadeterminar si el sistema funcionara una ves que se instale
-Viabilidad operacional: El analista busca la opinion de fabricantes en relacion a las especificaciones de la tecnologia a utilizar, ya que puede ser muy costoso y no cubrir los requerimientos.
-Viabilidad economica: Estudiar los costos de la inversion para tener na proyeccion de las ganancias, de manera que los costos operativos no sean superiores

Definición de requisitos
- Involucran:
*El software y el hardware (incluyendo los costos de cada uno), necesarios para la implementacion
*Los recursos humanos (internos o extenos)
*Formacion del personal
-Recomendación:
*Parar y planificar las acciones
*Elaborar un cronograma del proyecto
*Elaborar un organigrama con las responsabilidades de cada miembro del equipo

Diseño
-Diseño conceptual: Descripcion del esquema de la base de datos utilizando un modelo de datos conceptual
-Diseño logico: Descripcion de la base de datos con un modelo de datos implementable
-Diseño físico: Descripción de la base de datos a nivel interno
Implementación
-Carga de datos, integracion de los recursos
-Consiste en el desarrrollo de: tablas, indices, validacion de datos, la relacion entre tablas, definicion de las consultas, etc.
-A medida que se avanza, el administrador  asegura la correcion del modelo y el validador su utilidad

Evaluación
Los usuarios acceden a la base de datos y se aseguran de:
-Correcto funcionamiento
-Si sus derechos son adecuados 
-Si disponen de la informacion necesaria
-Validador: asegura la cobertura de las necesidades del cliente

Mantenimiento
-Mantenimiento correctivo: Para reparar fallas en el diseño, codificacion o implementacion
-Mantenimiento adaptativo: Para que las funcionalidades del sistema evolucionen a la par de los cambios del usuario
-Mantenimiento perfectivo: Para agregar nuevas funciones al sistema y mejorar su desempeño
-Mantenimiento preventivo: Para evitat posibles problemas en el futuro

 





martes, 5 de junio de 2012

Operadores Adicionales de Consulta


Son los operadores, que nos permiten realizar consultas de datos  o comprobar datos atraves de operaciones aritméticas, comparaciones, asignación de valores, etc., Además de poder responder a consultas comunes y frecuentes. Aparte, son los que nos van a ayudar a tener un mejor manejo de las tablas y  facilitar el trabajo.

Finalidad.
Este tipo de operadores se han introducido para poder mejorar el poder del algebra relacional. A partir de las operaciones fundamentales, es posible generar nuevas, que aunque su poder dentro del algebra relacional es muy poco, pues ayudan bastante  en la escritura de consultas.

Operaciones de algebra relacional. (Operadores adicionales de consulta)
Existen tres tipos de operadores adicionales de consulta: De Intersección, de Join Natural y de División.
Estos tres tipos de operaciones, son más puras, porque ya con los otros tipos de operaciones, se esta hablando de subdivisiones de estas tres y aparte se mezclan con las otras operaciones de los otros tipos de operadores.

Intersección entre conjuntos de tuplas. (∩)
La operación de intersección permite identificar filas que son comunes en dos relaciones. Para poder hacer esta operación es necesario que las tablas a unirse tengan las mismas estructuras y que sus campos sean iguales. La operación de intersección permite identificar filas que son comunes en dos relaciones.
Equivalência
R∩S ( R−( R−S) )

Join Natural o Reunión Natural. (Operación Producto)
Consiste en la realización de un producto cartesiano. Dando como resultado todas las posibles combinaciones entre los registros de la primera y segundo tabla.

División.
Operación del álgebra relacional que crea una nueva relación, seleccionando las filas en una relación que se corresponden con todas las filas en otra relación.


Operadores Derivados


Los operadores derivados son aquellos que se pueden expresar siempre en función de operadores primitivos, pero su introducción tiene por fin la simplificación de las consultas.

Entre ellos están:
La combinación o reunión (join)  permite cruzar los valores de tablas relacionadas
La combinación toma dos relaciones y devuelve una relación con las tuplas que resultan de concatenar tuplas de la primera con tuplas de la segunda y después seleccionar las que cumplen una condición de combinación C.
Una combinación entre las relaciones R y Q mediante la condición C se denota como R[C]Q.
Si la condición es la de igualdad, se denomina combinación por igualdad (equi_join).
La llamada combinación natural es una combinación por igualdad donde se ha eliminado en la relación resultante uno de los atributos idénticos. Es el caso más común para relaciones que tienen un atributo común.


AUTOR
NOMBRE
NACIONALIDAD
INSTITUCION
Date C.J.
Norteamericana
Relational Ins.
De Miguel
Española
FIM
Saltor F.
Española
FI de UPB
Ceri S.
Italiana
Polit.Milan

LIBROS
LIBRO
AUTOR
EDITORIAL
DB Systems
Date C.J.
Addison
Basi di Dati
Ceri S.
Clup
SQL stan.
Date C.J.
Addison
Diseño BD
De Miguel
Rama
  
AUTOR * LIBROS (autor.nombre = libros.autor)
NOMBRE
NACIONALIDAD
INSTITUCION
LIBRO
EDITORIAL
Date C.J.
Norteamericana
Relational Ins.
DB Systems
Addison
De Miguel
Española
FIM
Diseño BD
Rama
Date C.J.
Norteamericana
Relational Ins.
SQL stan
Addison
Ceri S.
Italiana
Polit.Milan
Basi di Dati
Clup

Intersección ()
La intersección de dos relaciones compatibles en su esquema es otra relación definida sobre el mismo esquema de relación, cuya extensión estará constituida por las tuplas que pertenezcan a ambas relaciones.

AUTOR


NOMBRE
NACIONALIDAD
INSTITUCION
Date C.J.
Norteamericana
Relational Ins.
De Miguel
Española
FIM
Saltor F.
Española
FI de UPB
Ceri S.
Italiana
P.Milan

EDITOR
NOMBRE
NACIONALIDAD
INSTITUCION
Chen P.
Norteamericana
ER Ins.
De Miguel
Española
FIM
Yao L.
Norteamericana
U.NY
Ceri S.
Italiana
Polit.Milan

AUTOR  EDITOR
NOMBRE
NACIONALIDAD
INSTITUCION
De Miguel
Española
FIM
Ceri S.
Italiana
Polit.Milan

División (:)
La división de dos relaciones es otra relación cuya extensión estará constituida por las tuplas que al completarse con las tuplas de la segunda relación permiten obtener la primera.
Formalmente: Sean dos relaciones con esquemas R y R’, la división de ambos, denotada R : R’ será una relación de grado n-n’ cuyo esquema estará formado por los n-n’ atributos A - A’ es decir: (Ai:Di,...,An-n’:Dn-n’)
y cuya extensión será: < vi1,...,vi(n-n’) > / < vi(n-n’+1),..., vin >  r’  < vi1,...,vi(n-n’) , vi(n-n’+1),..., vin > 

AUTOR
NOMBRE
NACIONALIDAD
EDITORIAL
Date C.J.
Norteamericana
Addison
De Miguel
Española
Rama
Saltor F.
Española
Paraninfo
Ceri S.
Italiana
Club
Costilla C.
Española
Diaz de Santos
Codd E.
Norteamericana
Prentice Hall
De Miguel
Española
Addison
AUTOR : EDITORIAL (saber los autores que han publicado en Addison y Rama)
NOMBRE       NACIONALIDAD
De Miguel       Española

EDITORIAL
EDITORIAL
Addison
Rama



Operadores Primitivos


Los operadores unarios son la proyección y restricción. Los operadores binarios son la Unión,Diferencia y Producto cartesiano.
Selección o restricción
La selección, también llamada restricción, extrae las tuplas de una relación que satisfaga una condición específica. 

La aplicación consecutiva del operador de selección de una relación σpn(σpn-1...( σp1(R))) es igual a una única operación de restricción con todos los predicados p1, p2, ... pn unidos por el operador boleeano Y σ p1 y p2 ... pn
σnacionalidad = “española” Y institución = “U.P.C.” (AUTOR)
σnacionalidad = “española” (σ institución = “U.P.C.” (AUTOR))

Proyección
La proyección de una relación sobre un subconjunto  de atributos es una relación definida sobre ellos, eliminando las tuplas duplicadas que hubieran podido resultar; es, por tanto un subconjunto vertical de la relación a la que se aplica el operador.

Unión
Construye una relación con todas las tuplas que aparezcan en cualquiera de las dos relaciones especificadas. Para usar este operador es necesario que las dos relaciones especificadas tengan los mismos atributos definidos sobre los mismos dominios.

Diferencia
Construye una relación con las tuplas de la primera que no aparecen en la segunda. Para utilizar este operador es necesario que las dos relaciones especificadas tengan los mismos atributos definidos sobre los mismos dominios.

Producto Cartesiano
A partir de dos relaciones especificadas, construye una relación concatenando cada tupla de la primera con cada una de las tuplas de la segunda. La relación resultante está definida sobre la unión de los atributos de las dos relaciones especificadas.





Álgebra Relacional


El álgebra relacional consiste de algunas simples pero poderosas maneras de construir nuevas relaciones a partir de otras. Si pensamos que las relaciones iniciales son los datos almacenados entonces las nuevas relaciones se pueden ver como respuestas a algunas consultas deseadas.
Algebra Relacional
Un  algebra es un sistema matematico constituido por
• Operandos: objetos (valores o variables) desde los cuales
nuevos objetos pueden ser construidos.
• Operadores: sımbolos que denotan nuevos objetos desde
objetos dados.
El  algebra relacional es un algebra en la cual
• Sus operandos son relaciones (instancias) o variables que
representan relaciones.
• Sus operadores estan diceñados para hacer la tareas mas
comunes que se necesitan para manipular relaciones en una
base de datos.
El resultado es que el  algebra relacional se puede utilizar
como un lenguaje de consulta.
En la practica el algebra relacional debe ser extendida para
abarcar la mayor parte de las tareas reales que se hacen con
los datos.
El álgebra relacional permite entender el modelo relacional de bases de datos desde la perspectiva matemática. Aquí se introducen los fundamentos del álgebra relacional y se les relaciona con la estructura del lenguaje de consulta de bases de datos relacionales SQL, para conectar la teoría con la práctica.
Una relación de nombre R se define sobre el un conjunto de atributos Ai y se denota como R(A1, A2, ... , An).A la definición del conjunto de atributos se le denomina esquema de la relación. En contraste, la extensión de la relación de esquema R(A1, A2, ... , An) es un conjunto de tuplasti (i = 1, 2, ..., m), donde cada tupla es un conjunto de pares:
t i = {<A1:v[i,1]>, <A2:v[i,2]> ... <An:v[i, n])>}
y, para cada par <Aj:v[i,j]>, se cumple que v[i,j] es un valor que pertenece dominio(Aj), o bien un valor especial que denominaremos nulo.