You are on page 1of 94

Instituto Tecnolgico de Huejutla

Direccin General de Educacin Superior Tecnolgica PROYECTO INTEGRADOR DE BASES DE DATOS DISTRIBUIDAS: LLANTERA DE LA HUASTECA BASES DE DATOS DISTRIBUIDAS M.T.I FAUSTINO PERAZA RODRIGUEZ PRESENTA: LILIBETZI YATZEL MENDOZA BAUTISTA ARTURO ENRIQUE CRUZ HERNNDEZ DENNIS HERNNDEZ HERNNDEZ ARACELI FELICIANO HERNNDEZ MARICELA GARCA SABINO EDGAR RANGEL TORRES CARRERA: Lic. En Informtica SEMESTRE: VII GRUPO: A 07 de Diciembre del 2012

Secretara de Educacin Pblica

SEP

NDICE INTRODUCCIN.................................................................................................... i Objetivo................................................................................................................ ii Justificacion........................................................................................................ ii MARCO TEORICO.............. 3 1.1 Introduccin a BDD......................... 3 1.2 Caractersticas y Ventajas de las BDD.................................................. 3 1.3 Clasificacin del SGBDD. ...................................................................... 4 1.4 Alternativas de diseo............................................................................. 4 1.5 Fragmentacin........................................................................................ 4 1.6 Replicacin................... 5 BASE DE DATOS DISTRIBUIDOS............................................................... 24 2.1 Procesamiento de consultas............................................................... 24 2.2 Descomposicin de Consultas Globales............................................. 27 2.3 Localizacin de Datos........................................................................... 28

2.4 Base de Datos Distribuidos Homogneas................................................28 2.5 Base de Datos Distribuidos Heterogneas.. 29 2.6 Herramientas de SQL server a utilizar..30 2.7 Configuracin remota......30 2.7 Servidores vinculados. 36 ANALISIS DE DISEO DEL SISTEMA.................................................... 42 3.1 Requisitos del Software.... 42 3.2 Diseo Centralizado.. 42 IMPLEMENTACIN DEL SISTEMA......................................................... 45 4.1 Instalacin y configuracin de servidores....... 45 4.2 Configuracin del servidor SQL Server 2008. 56 4.3 Configuracin de Base de Datos y Tablas de SQL Server 2008. 64 4.4 Codificacin del sistema cliente en Virtual Basic 2008.. 68 EXPERIMENTACIN Y RESULTADOS...................................................80 BIBLIOGRAFIA........................................................................................81

INTRODUCCION

a. Objetivo

b. Justificacin

MARCO TEORICO. 1.1 Introduccin a BDD.

Una base de datos, es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Es una coleccin de datos relacionados. Un dato representa hechos conocidos que pueden registrarse y que tienen un resultado implcito. Cada base de datos se compone de una o ms tablas que guarda un conjunto de datos. Cada tabla tiene una o ms columnas y filas. Una BD representa algunos aspectos del mundo real, a veces denominado Universo de Discurso. BD Distribuidas: varios servidores de BD usados por la misma aplicacin.

1.2 Caractersticas y Ventajas de las BDD. Caractersticas

Independencia fsica y lgica de los datos Redundancia mnima Acceso concurrente de mltiples usuarios Integridad de datos Consultas optimizadas Seguridad de acceso y auditoria Respaldo de recuperacin

Ventajas Control sobre la redundancia de datos. Mejora de la integridad de datos. Consistencia de datos. Comparticin de datos. Mantenimiento de estndares. Mejora en la seguridad. Mejora en la accesibilidad de datos. Mejora en la productividad. Mejora en el mantenimiento. Aumento de la concurrencia. Mejora en los servicios de copias de seguridad.

Inconvenientes Complejidad Costo del equipamiento adicional Vulnerable a los fallos

1.3 Clasificacin del SGBDD

1.4 Alternativas de Diseo. 1.5 Fragmentacin

La fragmentacin es la descomposicin de un conjunto de datos.

Ventajas:

Utilizacin. Generalmente las aplicaciones trabajan con vistas en vez de con relaciones completas

Eficiencia. Los datos se almacenan dnde ms se utilizan. Paralelismo. Las transacciones pueden dividirse en subconsultas que operan con fragmentos.

Seguridad. Los datos no necesarios localmente no se almacenan y se evita su uso por los usuarios no autorizados Inconveniente:

Consultas ms lentas al tener que buscar datos de diferentes fragmentos en distintas sedes.

Aumenta la complejidad para garantizar la integridad, consistencia y recuperabilidad.

Reglas para la fragmentacin

Integridad: Si una relacin R es descompuesta en fragmentos R1, R2 Rn cada dato que pueda ser encontrado en R tambin debe ser encontrado en una o ms relaciones Ris.

Reconstruccin : Si una relacin R es descompuesta en fragmentos R1, ,Rn, debe ser posible definir el operador relacional tal que: R = Ri, "Ri Fr El operador diferir segn el tipo de fragmentacin realizada.

Desacoplamiento

Si R es descompuesta verticalmente, su PK debe estar en todos los Fragmentos. Si R es descompuesta horizontalmente en fragmentos R1, R2,, Rn y el dato di est en Rj, no debe haber otro fragmento Rk (kj) que lo contenga.

1.6 Replicacin Es el proceso de copiar y mantener objetos de las base de datos, como por ejemplo relaciones, en mltiples bases de datos que forman un sistema de bases de datos distribuido. La replicacin de datos permite que ciertos datos de la base de datos sean almacenados en ms de un sitio, y su principal utilidad es que permite aumentar la disponibilidad de los datos y mejora el funcionamiento de las consultas globales a la base de datos. La replicacin en SQL Server consiste, en el transporte de datos entre dos o ms instancias de servidores. Para ello SQL Server brinda un conjunto de soluciones que permite copiar, distribuir y posiblemente modificar datos de toda la organizacin. Componentes del modelo de replicacin

El publicador es un servidor que pone los datos a disposicin de otros servidores mediante una publicacin para poder replicarlos. Una publicacin es un conjunto de artculos de una base de datos. Los suscriptores reciben los datos replicados. Una suscripcin es una peticin de copia de datos o de objetos de base de datos para replicar, adems define qu publicacin se recibir, dnde y cundo. Beneficios de la replicacin Disponibilidad Fiabilidad Rendimiento Reduccin de la carga Procesamiento desconectado Soporta muchos usuarios Soporta aplicaciones avanzadas

Aplicaciones de replicacin Soporte para un equipo de ventas remoto.sistema de base de datos corporativo. Aplicaciones Financieras.- requieren que los datos de mltiples servidores se sincronicen de manera continua e instantnea. Requiere la sincronizacin

peridica de un gran nmero de pequeos nodos mviles remotos con el

PASOS PARA REALIZAR LA REPLICACION EN SQL SERVER 2008

1. Para comenzar con la replicacion , lo primero que debemos hacer es dar clic derecho en publicaciones locales seleccionamos la opcion Nueva publicacion, esta pasos se realiza en el servidor pincipal. Que en este caso estaremos trabajando cen el servidor de EDGAR-PC.

2. Posteriormente nos mostrara la ventana del Asistente para una nueva publicacin en la que daremos <siguiente.

3. Despus tendremos que elegir la base de datos que se va a publicar >BDLLANTERA1>siguiente.

4. En el tipo de publicacin elegiremos el tipo de publicacin de mezcla>siguiente.

5. Ya teniendo el Asistente para nueva publicacin, seleccionaremos las tablas que se van a publicar< siguiente

6. Agregamos un filtro.

7. Seleccionamos la tabla que se desea filtrar.

8. Se agrega el filtro creado a las tablas de publicadas. Daremos siguiente.

9. Realizamos la configuracin de seguridad para el agente de instantneas.

10. Especificamos el proceso de cmo se ejecutara el Agente de instantneas, damos clic en aceptar.

11. Hacemos clic en siguiente.

12. Ponemos el nombre a la publicacin que se va a crear a la cual llamaremos publicacion_llantera y por ultimo seleccionaremos finalizar.

SUSCRIPCION 1. Una vez concluido con la nueva publicacion en el servidor,se prosigue en realizar la suscripion a dicha publicacion. Para crear la suscripcion nos posicionamos en: replicacion > suscripciones locales > Hacemos clic derecho en y seleccionamos Nueva publicacion

2. Posteriormente, nos arrojara el Asistente para nueva suscripcin, y pulsamos en > siguiente.

3.Aqu nos abre otra nueva ventana en la que buscaremos al publicador, para ello hacemos clic en <Buscar publicador en SQL Server>

4. Nuevamente tendremos otra ventana en la que nos mandara a conectarnos al servidor al cual pertenece la publicacin.

5. Nos vamos a servidores de redes, donde en el <Motor de bases de datos> nos mostrara los servidores que se encuentran conectados. Hacemos clic en Aceptar.

6. Una vez seleccionado el servidor EDGAR-PC, entramos como en el modo Autenticacin de SQL Server donde colocamos <sa>como nombre de sesin y <bdd> como contrasea. Y damos clic en conectar.

7. Una vez entrado al publicador, seleccionamos la base de datos y la publicacin que se ha generado. Hacemos clic en siguiente.

8. Se agrega el suscriptor de SQL Server. Seleccionamos la ubicacin del Agente de Mezcla la de < ejecutar todos los agentes en el distribuidor EDGAR-PC> y damos clic en siguiente.

9. Posteriormente se crea una base de datos nueva para el suscriptor MARYPC.

Aqu se observa la nueva ventana en la que en el nombre de la base de datos la llamaremos <BDLLANTERA1_copia> y por ultimo daremos <siguiente>.

10. Ya una vez suscrito a la publicacin daremos <siguiente>.

11. Aqu nos mostrara una ventana llamada Seguridad del Agente d mezcla en la que escogeremos el tipo de seguridad

12. Hacemos click en siguiente.

13. Nos muestra otra ventana en la que elegiremos el tipo de programacin del agente y seleccionaremos<Ejecutar continuamente<siguiente.

14. Despus inicializamos las suscripcin en el modo <Inmediatamente< siguiente.

15. Agregamos el tipo de suscripcin que en este caso ser <cliente<siguiente.

16. Daremos siguiente.

17. Y por ltimo finalizamos.

18. Aqu se observa que la suscripcin se ha correctamente.

19. Y notamos que se ha creado en nuestro servidor la suscripcin a la publicacin de EDGAR-PC llamada <publicacion_llantera>.

20. Y posteriormente vemos que se ha agregado una copia de la base de datos BDLLANTERA1, que fue esta que se utiliz en la publicacin.

BASE DE DATOS DISTRIBUIDAS 2.1 Procesamiento de Consultas

El procesamiento de consultas tiene varias etapas a seguir para resolver una consulta SQL, las caractersticas del modelo relacional permiten que cada motor de base de datos elija su propia representacin que, comnmente, resulta ser el lgebra relacional. La optimizacin de consultas es, entonces, una de estas etapas (que por cierto otros modelos de bases de datos no poseen). Existen distintos mtodos para optimizar consultas relacionales, sin embargo el enfoque de optimizacin basada en costos combinado con heursticas que permitan reducir el espacio de bsqueda de la solucin es el mtodo mayormente utilizado por los motores de base de datos relaciones de la actualidad, en todo caso, independiente del mtodo elegido para optimizar la consulta, la salida de este proceso debe ser un plan de ejecucin, el cual comnmente es representado en su forma de rbol relacional. La optimizacin de consultas en base a costos supone la utilizacin de una medida de costo que sea comn a lo largo del proceso, esta medida debe representar el criterio de minimizacin en la utilizacin de recursos del sistema, la medida estndar para bases de datos relacionales es usualmente la cantidad de E/S (tanto de disco como de la memoria intermedia). Este enfoque estima un costo que estar determinado por formulas predefinidas y por la informacin del catlogo inherente a la consulta. Sin embargo el optimizador no siempre escoge el plan ms ptimo, ya que una bsqueda exhaustiva de la estrategia ptima puede consumir demasiado tiempo de proceso. Se dice entonces que el optimizador escoge una estrategia razonablemente eficiente. El catlogo de la base de datos guarda informacin estadstica de cada una de las relaciones como tambin de los ndices de cada una de la relaciones, estas estadsticas permiten estimar los tamaos de los resultados de varias operaciones. Esta informacin es particularmente til cuando se dispone de

ndices para auxiliar el procesamiento de la consulta, sin embargo, la existencia de estas estructuras influencia de manera significativa en la eleccin del plan de ejecucin de la consulta. Una mala administracin de la informacin que contiene el catlogo conducir inevitablemente a una desafortunada eleccin del plan de ejecucin. Para ayudar a solucionar este problema existen varios enfoques que conjunta o separadamente pueden asistir al optimizador en su eleccin. Uno de estos consiste en la actualizacin automtica de las estadsticas que algunos motores de base de datos incluyen como opcin. Otro enfoque es la opcin de guardar en el catlogo planes de ejecucin precalculados que adems le ahorran al motor el tiempo de clculo del plan. Obviamente estos planes son vulnerables a ser invalidados si se producen cambios lgicos en el esquema de la base de datos o si hay un cambio en la distribucin de los datos a ser recuperados. Uno de los primeros optimizadores de consultas y el que se conoce como base para la mayora de los optimizadores tradicionales es el optimizador de System R. System R es un optimizador basado en costos pero que utiliza heursticas para desplazar selecciones y proyecciones hacia abajo en el rbol de la consulta, la resolucin de joins se realiza mediante el uso de rboles de profundidad por la izquierda O (n!) lo que permite el uso de evaluaciones encauzadas cuando sea posible. La estimacin de los caminos de acceso para ndices secundarios supone que se necesita un acceso a disco por cada tupla de la relacin lo que supone el peor caso. Es probable que la estimacin sea precisa con tamaos de buffer pequeos, sin embargo con un buffer de mayor tamao la pgina que contiene la tupla podra estar todava en memoria. Las contribuciones del optimizador de system R con respecto a otras investigaciones hechas hasta ese entonces se basan en un mejor aprovechamiento de las estadsticas del catlogo, la inclusin de la utilizacin de CPU en las frmulas del clculo de costos y los mtodos para determinar ordenes de join. El concepto de factor de seleccin le permite al optimizador estimar

cuantas tuplas satisfacen los predicados de antemano, el concepto de interesting orders agrega una importancia relativa al orden en que se solicit la salida, por lo tanto agrega un nivel de importancia a todos aquellos ordenamientos que respondan al orden solicitado permitiendo evitar (cuando sea posible) un reordenamiento del resultado final.

OBJETIVOS DEL PROCESAMIENTO DE CONSULTAS

Los objetivos del procesamiento de consultas son transformar una consulta escrita en un lenguaje de alto nivel, normalmente SQL, en una estrategia de ejecucin correcta y eficiente expresada en un lenguaje de bajo nivel, por ejemplo, el lgebra relacional, y ejecutar dicha estrategia para extraer los datos solicitados.

En los sistemas de bases de datos en red y jerrquicos de primera generacin, el sistema de consulta procedimental de bajo nivel est generalmente incrustado en un lenguaje de programacin de alto nivel tal como COBOL, y es responsabilidad del programador seleccionar la estrategia de ejecucin ms apropiada.

FASES DEL PROCESAMIENTO DE CONSULTAS El procesamiento de consultas puede dividirse en cuatro fases principales: 1. Descomposicin. 2. Optimizacin. 3. Generacin de cdigo. 4. Ejecucin.

ETAPAS DE LA DESCOMPOSICIN DE CONSULTAS

La descomposicin de consultas transforma una consulta d alto nivel en una consulta de lgebra relacional y comprueba que dicha consulta sea sintctica y semnticamente correcta.

Las etapas tpicas de la descomposicin de consultas son: Anlisis Normalizacin. Anlisis semntico. Simplificacin. Reestructuracin de la consulta.

2.2 Descomposicin de Consultas Globales

La primera capa descompone una consulta en el clculo relacional en una consulta en el lgebra relacional que opera sobre relaciones globales. Consiste de cuatro partes: 1.-Normalizacin. Involucra la manipulacin de los cuantificadores de la consulta y de los calificadores de la misma mediante la aplicacin de la prioridad de los operadores lgicos. 2.-Anlisis. Se detecta y rechazan consultas semnticamente incorrectas. 3.-Simplificacin. Elimina predicados redundantes.

4.-Reestructuracin. Mediante reglas de transformacin una consulta en el clculo relacional se transforma a una en el lgebra relacional. Se sabe que puede existir ms de una transformacin. Por tanto, el enfoque seguido usualmente es empezar con una consulta algebraica y aplicar transformaciones para mejorarla. Localizacin de Datos. La entrada a esta capa es una consulta algebraica definida sobre relaciones distribuidas. El objetivo de esta capa es localizar los datos de la consulta usando la informacin sobre la distribucin de datos. Esta capa determina cuales fragmentos estn involucrados en la consulta y transforma la consulta distribuida en una consulta sobre fragmentos.

Optimizacin Global de Consultas. Dada una consulta algebraica sobre fragmentos, el objetivo de esta capa es hallar una estrategia de ejecucin para la consulta cercana a la ptima. La estrategia de ejecucin para una consulta distribuida puede ser descrita con los operadores del lgebra relacional y con primitivas de comunicacin para transferir datos entre nodos. Para encontrar una buena transformacin se consideran las caractersticas de los fragmentos, tales como, sus cardinalidades. Un aspecto importante de la optimizacin de consultas es el ordenamiento de juntas, dado que algunas permutaciones de juntas dentro de la consulta pueden conducir a un mejoramiento de varios rdenes de magnitud. La salida de la capa de optimizacin global es una consulta algebraica optimizada con operacin de comunicaciones incluidas sobre los fragmentos.

2.3 Localizacin de Datos.

2.4 Base de Datos Distribuidas Homogneas

En los sistemas de bases de datos distribuidas homogneas todos los sitios emplean idntico software de gestin de bases de datos, son conscientes de la existencia de los dems sitios y acuerdan cooperar en el procesamiento de las solicitudes de los usuarios. En estos sistemas, los sitios locales renuncian a una parte de su autonoma en cuanto a su derecho a modificar los esquemas o el software de gestin de bases de datos. Ese software tambin debe cooperar con los dems sitios en el intercambio de la informacin sobre las transacciones para hacer posible su procesamiento entre varios sitios. Las BDs Heterogneas o Multibase de Datos son aquellas donde Sitios diferentes utilizan diferentes DBMS, siendo cada uno esencialmente autnomo. Es posible que algunos sitios no sean conscientes de la existencia de los dems y quizs proporcionen facilidades limitadas para la cooperacin en el procesamiento de transacciones.

2.5 Base de Datos Distribuidas Heterogneas

En las bases de datos distribuidas heterogneas puede que los diferentes sitios utilicen esquemas y software de gestin de sistemas de bases de datos diferentes. Puede que algunos sitios no tengan informacin de la existencia del resto y que slo proporcionen facilidades limitadas para la cooperacin en el procesamiento de las transacciones.

La heterogeneidad se debe a que los datos de cada BD son de diferentes tipos o formatos. El enfoque heterogneo es ms complejo que el enfoque homogneo y favorece el enfoque ascendente. Es una tecnologa reciente y an existen pocas en el mercado. El tratamiento de la informacin ubicada en bases de datos de bases de datos ya existentes. Esta capa de software se denomina sistema de bases de datos mltiples. Puede que los sistemas locales de bases de datos empleen modelos lgicos y lenguajes de definicin y de tratamiento de datos diferentes, en transacciones. 2.6 Herramientas de SQL server a utilizar. y que difieran sus mecanismos de control de concurrencia y de administracin de las distribuidas

heterogneas exige una capa de software adicional por encima de los sistemas

Transact-SQL

SQL Server 2008 Soporta el Lenguaje Estructurado de Consulta (siglas en ingls, SQL, Structured Query Language), como toda base de datos, pero agrega sus

propias extensiones. Transact-SQL (T-SQL) es el lenguaje que permite agregar, modificar, manipular y administrar la data y la base de datos. SQL Server Management Studio

Es el equivalente al Administrador Corporativo de SQL Server 2000. Es un administrador grfico de fcil uso e intuitivo para la administracin de la base de datos SQL Server 2008. En el panel de consulta se programa en T-SQL, pero tambin se lo realiza con la utilidad SQLCMD. Business Intelligence Development Studio (BIDS)

Est basado en componentes de Visual Studio, para crear aplicaciones de inteligencia de negocios. Usado para crear proyectos de SQL Server Integration Services, Analysis Services y Reporting Services.

2.7 Configuracin Remota. Las nuevas polticas de Seguridad de Microsoft incorporan restricciones a la hora de comenzar a usar SQL Server 2008. Los Servicios que antes estaban habilitados por defecto, ahora no lo estn, y es funcin del Administrador ir habilitndolos segn las necesidades de uso del mismo.

Una de las cuestiones ms importantes es la de Admitir Conexiones Remotas en nuestro Servidor. A fin de habilitarlas y asegurarnos que se pueden conectar desde otros ordenadores debemos seguir unos sencillos pasos:

1. Abriremos SQL Server Management Studio, nos situamos encima de la instancia de nuestro Servidor y pulsamos botn derecho, Propiedades, seleccionamos Conexiones, nos mostrara la siguiente pantalla:

Ahora marcamos el checkbox: Permitir conexiones remotas con este servidor y pulsamos aceptar. 2. Vamos al Men de Inicio > Programas > Microsoft SQL Server 2008 > Herramientas de Configuracin > Administrador de Configuracin de SQL Server, aparece la siguiente ventana:

Seleccionamos la Configuracin de red de SQL Server y luego Protocolos de MSSQLSERVER. Como podemos observar, por defecto solo tiene habilitado el

protocolo. Bsicamente es el tipo de protocolo que se usa, cuando nos conectamos a SQL Server desde el mismo Servidor. Lo que debemos hacer es habilitar los protocolos: Canalizaciones con nombre y TCP/IP. Para lo cual, pulsamos con el botn derecho del ratn encima de los mismos y pulsamos Habilitar. En las dos ocasiones nos mostrara un mensaje informndonos, que para que la nueva configuracin surta efecto abra que reiniciar el Servicio de SQL Server. Solo de Memoria compartida, el resto est deshabilitados.

Ahora nos quedar as:

3. Vamos al Men de Inicio > Ejecutar y escribimos services.msc y le damos aceptar. De esta forma nos abrir la Consola de Administracin de Servicios. Nos desplazamos hasta el Servicio Server nos pulsamos con nombre SQL y (MSSQLSERVER), situamos encima el botn derecho del

ratn, seleccionando; reiniciar. Con esto aplicaremos los cambios efectuados en el paso anterior.

4. SI estamos utilizando SQL Server con nombre de instancia y sin emplear un nmero concreto de puerto TCP/IP, debemos habilitar el servicio SQL Server Browser, que se encuentra en la misma ventana de Servicios con el nombre de SQL Server Browser. Nos situamos encima y con el botn derecho del ratn pulsamos en Propiedades, o bien podemos hacer doble click, es lo mismo.

En el Tipo de Inicio, seleccionamos Automtico y pulsamos Iniciar para que el Servicio arranque. Aceptar para cerrar la pantalla.

Este Servicio comporta ciertos riesgos de seguridad que deben ser considerados, pues existen otras alternativas a utilizar como configurar el Cliente de SQL Servidor con el Alias del Servidor, o utilizar la conexin incorporando el puerto de TCP/IP a usar, por defecto en SQL Server es el 1433.

5. Y por ltimo, en caso de tener habilitado el Firewall de Windows, cosa que deberamos tener por Seguridad, deberemos configurarlo para que los Servicios de SQL Server y SQL Browser puedan comunicarse con el exterior. Vamos a Men de Inicio, hacemos clic en Ejecutar, escribimos firewall.cpl y pulsamos Aceptar. Nos muestra esta ventana:

Pulsamos en Permitir un programa a travs del Firewall de Windows nos muestra:

Pulsamos en Agregar programa nos muestra la ventana:

Pulsamos en Examinar e introducimos la carpeta donde se encuentra el Servicio de SQL Server: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn en la misma seleccionamos el programa: sqlservr.exe y pulsamos Aceptar. Repetimos la operacin para aadir el SQL Server Browser que se encuentra en la carpeta: C:\Program Files\Microsoft aparecen en SQL la Server\90\Shared. pantalla de Seleccionamos Configuracin el del programa: Firewall. sqlbrowser.exe y pulsamos Aceptar. Veremos que ambas excepciones nos

Y con esto ya tenemos configurado nuestro Servidor SQL 2008 para permitir Conexiones desde cualquier ordenador de nuestra red.

2.8 Servidor Vinculados

Para vincular un servidor SQL con otro servidor SQL desde Sql Server Management Studio expande el nodo Objetos de Servidor en el Explorador de Objetos. Posteriormente, sobre la carpeta servidores vinculados haz clic derecho y selecciona Nuevo servidor vinculado. Posteriormente, se mostrara una pantalla de configuracin de opciones. Donde en el nombre de Servidor vinculado, escribiremos el nombre con el que se desea referir al servidor (un alias). En la opcin Tipo de servidor elige otro tipo de servidor. Como proveedor elegiremos SQL Server Native Client 10.0. En nombre de producto escribe sql_server. En el origen de datos escribe el nombre de host, en este caso utilizamos la direccin ip del servidor al cual queremos conectarnos.

Continuando, seleccionamos la pgina de seguridad del men izquierdo.

Continuando, seleccionamos la pgina de seguridad del men izquierdo.

En la opcin Asignaciones entre inicios de sesin de servidor local y de servidor remoto, haz clic en Agregar. Elije un inicio de sesin local. Aqu puedes elegir suplantar, para suplantar al inicio de sesin remoto o declararlos directamente en las opciones Usuario remoto y Contrasea remota. En la opcin Para un inicio de sesin no definido en la lista anterior elige se establecern usando este contexto de seguridad y repite el usuario y contrasea remotos en las cajas de texto Inicio de sesin remoto y Con la contrasea, respectivamente. Elije ahora del men de la izquierda opciones de servidor.

Configura a TRUE las opciones Accesos a Datos, RPC, Salida RCP y a FALSE la opcin Usar intercalacin remota.

Hacemos clic en Aceptar.

El servidor vinculado deber agregarse al listado de Servidores vinculados. Seleccinalo, haz clic derecho sobre l y elige del men contextual Probar conexin.

Si todo ha sido

configurado correctamente, la conexin ser exitosa y ahora podrs acceder a datos del servidor vinculado desde el servidor local. Nos posicionamos en el servidor vinculado, damos clic derecho y seleccionamos Incluir servidor vinculado como > CREATE To > Nueva ventana del editor de conexin", esto es para realizar una nueva consulta.

Especificando la sintaxis Select *From [servidor]. [Catalogo]. [Esquema]. [Tabla] Ejemplo: Select *From [MARY-PC]. [ESCUELA]. [dbo]. [ALUMNOS], con esta sintaxis vamos a realizar un consulta donde nos seleccione todos los datos la tabla <ALUMNOS> de la base de datos <ESCUELA>, que corresponde al servidor MARY-PC.

Una vez realizando la consulta al servidor local, hacemos lo mismo con el servidor vinculado para esto hacemos la siguiente consulta: Select *From [EDGAR-PC]. [ESCUELA]. [dbo]. [ALUMNOS] UNION Select *From [MARY-PC]. [ESCUELA]. [dbo]. [ALUMNOS] Esta consulta una vez ejecutada nos arrojara los datos de ambas tablas de acuerdo a la base de datos con la que se est trabajando.

ANALSIS DE DISEO DEL SISTEMA

3.1 Requisitos del Software

En la creacin del sistema de base de datos se utiliz SQL server 2008 para la creacin de del sistema de base de datos, as como el VISUAL Studio 2008 para el desarrollo de aplicacin de nuestro sistema.

3.2 Diseo Centralizado 3.2.1 Diagramas E-R

3.2.1 Transformacin de un esquema Relacional.

3.2.2 Identificacin de los nodos de Distribucin

El problema de fragmentacin se refiere al particionamiento de la informacin para distribuir cada parte a los diferentes sitios de la red. El objetivo de la fragmentacin consiste en dividir la relacin en un conjunto de relaciones ms pequeas tal que algunas de las aplicaciones de usuario slo hagan uso de un fragmento. Las BDD pueden ser: Homogneas: Todos los sitios tienen el mismo SGBD, son conscientes de la existencia de los dems sitios y cooperan en el procesamiento de las solicitudes. Los sitios locales mantienen un mismo esquema y SGBD. Heterogneas: Cada sitio puede tener un SGBD distinto as como esquemas diferentes. Puede que algunos sitios no conozcan a otros. Puede que solo ofrezcan facilidades limitadas para la cooperacin en el procesamiento de transacciones.

3.2.3 Asignacin inicial de Tablas y Nodos 3.2.4 Asignacin de Fragmentacin a los nodos 3.2.5 Esquema de replicacin

Existen dos modelos de replicacin bsicos: activo y pasivo. En el modelo activo el cliente difunde su peticin a todas las rplicas o a travs de una de las rplicas, que difundir su peticin antes de intentar servirla; siendo esta segunda opcin la ms sencilla de implantar al utilizar grupos cerrados). Estas rplicas servidoras procesan cada una de ellas la peticin de manera local, sin necesidad de ninguna coordinacin, y retornan su resultado al cliente.

En el modelo pasivo el cliente slo interacta con una rplica primaria, que es la nica con capacidad para procesar activamente cada peticin. Posteriormente, esta rplica primaria difunde las actualizaciones al resto de rplicas y responde al cliente. A pesar de que estos dos modelos son los ms importantes y ms ampliamente implantados, para obtener un buen rendimiento se llegan a necesitar soluciones intermedias que precisan un protocolo de replicacin ms elaborado.

Existen dos modelos bsicos: cada no recuperable (fallo de parada) y cada recuperable. En el primero se asume que cuando un proceso falle, jams se recuperar. Esto es equivalente a asumir que cuando una rplica falle, perder por completo su estado y, cuando llegue a recuperarse, se presentar ante el resto como una rplica nueva, necesitando una transferencia completa del estado de la aplicacin. En el segundo modelo, la cada de un proceso no implica la prdida completa del estado. Se supone que parte de tal estado se mantiene de manera persistente. As, cuando vaya a reincorporarse al grupo, una rplica bajo este modelo slo necesita recuperar aquella parte de su estado (y las actualizaciones) que haya perdido.

IMPLEMENTACION DEL SISTEMA.

4.1 Instalacin y configuracin de servidores. Instalacin de SQL Server 2008 Microsoft SQL Server es un servidor de base de datos relacional, desarrollada por Microsoft: Es un producto de software cuya principal funcin es la de almacenar y

recuperar datos segn lo solicitado por otras aplicaciones de software, ya sea aquellos en el mismo equipo o que funcionan con otro ordenador a travs de una red (incluyendo el Internet). Hay por lo menos una docena de diferentes ediciones de Microsoft SQL Server destinadas a diferentes pblicos y diferentes cargas de trabajo (que van desde pequeas aplicaciones que almacenan y recuperan los datos en el mismo equipo, a millones de usuarios y equipos que el acceso a enormes cantidades de datos a travs de Internet al mismo tiempo).
1. 2.

Iniciamos la Instalacin. Seleccionamos "Installation" luego hacemos clic en "New installation or add features to an existing installation" para poder iniciar la instalacin.

Esperamos que cargue las Reglas de instalacin.

Ingresas un serial de activacin o especficas que solo usaras como prueba.

3.

Aceptamos los trminos de Licencia y activamos l envi de Email para poder enviar los datos de uso y caractersticas a Microsoft.

Esperamos que se instale la configuracin de archivos de instalacin.

Instalando todo las reglas de configuracin que usara para la instalacin.

4. 5.

En Reglas de Configuracin. Seleccionamos "SQL Server Features Installation" para que pueda instalar caractersticas de SQL Server.

Caractersticas de Seleccin: < Seleccionamos todo los casilleros< Dejamos la ruta de los directorios por defecto en el Disco C:.

Instalando las Reglas de Configuracin.

Instancia de Configuracin:< Seleccionamos "Default Instance" para poder usar por defecto.

Id de Instancia dejamos por defecto "MSSQLSERVER". La ruta de Directorio dejamos por defecto en el disco C:

Verificara si hay la Instalacin.

espacio

suficiente

requerimientos

suficientes

para

Configuracin de Servidor:<Servicios / Nombre de Cuenta o SQL Server Agent / AUTHOTITY\SYSTREM o SQL Server Database Engine / AUTHOTITY\SYSTREM
o

SQL Server Analysis Services / AUTHOTITY\SYSTREM

SQL Server Reporting Services / AUTHOTITY\SYSTREM

En la configuracin del Motor de Base de Datos:

Seleccionamos "Mixed Mode (SQL Server authentication and Windows authentication)" para poder autentificar con una contrasea. Designamos una Contrasea para nuestra Base de Datos. Hacemos clic en "Add Corrent User" para poder extraer el Nombre de Nuestra PC que por defecto usara como Nombre de Servidor.

Servicio de Configuracin de Anlisis: Hacemos clic en "Add Corrent User" para poder extraer el Nombre de Nuestra PC que por defecto usara como Nombre de Servidor.

Reportando Servicios de Configuracin: Seleccionamos "Install the native mode default configuration" para poder instalar a configuracin de forma nativa por defecto.

Reportando Errores: Seleccionamos el casillero para poder enviar a Microsoft algn error que se produzca en la Base de Datos.

Esperamos que cargue la Configuracin de Instalacin de Roles.

Nos muestra todo el Contenido que est Listo para poder Instalar.

Solo esperamos que se Instale el SQL Server 2008

No hay ningn error y con esto ya hemos completado la Instalacin.

Una vez terminado la Instalacin abrimos el SQL Server 2008. Ahora nos muestra un cuadro de "Conectar con el Servidor".

Como podemos ya tenemos listo para Usar el SQL Server 2008

4.2 Configuracin del servidor SQL Server 2008

Las nuevas polticas de Seguridad de Microsoft incorporan restricciones a la hora de comenzar a usar SQL Server 2008. Los Servicios que antes estaban habilitados por defecto, ahora no lo estn, y es funcin del Administrador ir habilitndolos segn las necesidades de uso del mismo.

Una de las cuestiones ms importantes es la de Admitir Conexiones Remotas en nuestro Servidor. A fin de habilitarlas y asegurarnos que se pueden conectar desde otros ordenadores debemos seguir unos sencillos pasos:

1. Abriremos SQL Server Management Studio, nos situamos encima de la instancia de nuestro Servidor y pulsamos botn derecho, Propiedades, seleccionamos Conexiones, nos mostrara la siguiente pantalla:

Ahora marcamos el checkbox: Permitir conexiones remotas con este servidor u pulsamos aceptar.

2. Vamos al Men de Inicio > Programas > Microsoft SQL Server 2008 > Herramientas de Configuracin > Administrador de Configuracin de SQL Server, aparece la siguiente ventana:

Seleccionamos la Configuracin de red de SQL Server y luego Protocolos de MSSQLSERVER. Como podemos observar, por defecto solo tiene habilitado el protocolo de Memoria compartida, el resto estn deshabilitados. Bsicamente es el tipo de protocolo que se usa, cuando nos conectamos a SQL Server desde el mismo Servidor. Lo que debemos hacer es habilitar los protocolos: Canalizaciones con nombre y TCP/IP. Para lo cual, pulsamos con el botn derecho del ratn encima de los mismos y pulsamos Habilitar. En las dos ocasiones nos mostrara un mensaje informndonos, que para que la nueva configuracin surta efecto abra que reiniciar el Servicio de SQL Server.

Ahora nos quedar as:

3. Vamos al Men de Inicio > Ejecutar y escribimos services.msc y le damos aceptar. De esta forma nos abrir la Consola de Administracin de Servicios. Nos desplazamos hasta el Servicio con nombre SQL Server (MSSQLSERVER), nos situamos encima y pulsamos el botn derecho del ratn, seleccionando; reiniciar. Con esto aplicaremos los cambios efectuados en el paso anterior.

4. SI estamos utilizando SQL Server con nombre de instancia y sin emplear un nmero concreto de puerto TCP/IP, debemos habilitar el servicio SQL Server Browser, que se encuentra en la misma ventana de Servicios con el nombre de SQL Server Browser. Nos situamos encima y con el botn derecho del ratn pulsamos en Propiedades, o bien podemos hacer doble click, es lo mismo.

En el Tipo de Inicio, seleccionamos Automtico y pulsamos Iniciar para que el Servicio arranque. Aceptar para cerrar la pantalla. Este Servicio comporta ciertos riesgos de seguridad que deben ser considerados, pues existen otras alternativas a utilizar como configurar el Cliente de SQL

Servidor con el Alias del Servidor, o utilizar la conexin incorporando el puerto de TCP/IP a usar, por defecto en SQL Server es el 1433. 5. Y por ltimo, en caso de tener habilitado el Firewall de Windows, cosa que deberamos tener por Seguridad, deberemos configurarlo para que los Servicios de SQL Server y SQL Browser puedan comunicarse con el exterior. Vamos a Men de Inicio, hacemos clic en Ejecutar, escribimos firewall.cpl y pulsamos Aceptar. Nos muestra esta ventana:

Pulsamos en Permitir un programa a travs del Firewall de Windows nos muestra:

Pulsamos en Agregar programa nos muestra la ventana:

Pulsamos en Examinar e introducimos la carpeta donde se encuentra el Servicio de SQL Server: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn en la misma seleccionamos el programa: sqlservr.exe y pulsamos Aceptar. Repetimos la operacin para aadir el SQL Server Browser que se encuentra en la carpeta: C:\ProgramFiles\Microsoft SQL Server\90\Shared. Seleccionamos el programa: sqlbrowser.exe y pulsamos Aceptar. Veremos que ambas excepciones nos aparecen en la pantalla de Configuracin del Firewall.

Y con esto ya tenemos configurado nuestro Servidor SQL 2008 para permitir Conexiones desde cualquier ordenador de nuestra red.

4.3 Configuracin de Base de datos y Tablas de SQL Server 2008 Configuracin de SQL Server 2008 Una vez terminada la instalacin procedemos a configurar SQL Server 2008.

Primero creamos un usuario administrador con inicio de sesin SQL Server. Para esto en el panel de la izquierda hacemos clic sobre nuestro motor de base SQL Server y escogemos la opcin Propiedades

Vamos a la opcin Seguridad y elegimos un modo de inicio de sesin Windows y SQL Server.

Luego regresamos al panel de la izquierda y en la carpeta Inicios de Sesin escogemos Nuevo Inicio de Sesin.

Colocamos el nombre de usuario y su correspondiente contrasea con la cual iniciaremos sesin.

Debido a que ser un usuario Administrador con autenticacin SQL Server, vamos a escoger todas las funciones de servidor para el usuario que estamos creando. Esto lo hacemos en la pestaa Funciones de servidor.

Finalmente en las herramientas de configuracin de SQL Server reiniciamos los servicios para que pueda generar las configuraciones recientemente realizadas.

Inicio ->Todos los programas ->Microsoft SQL Server 2008 R2->Herramientas de Configuracin -> Administrador de Configuracin de SQL Server 2008.

4.4 Codificacin de sistema cliente en Visual Basic 2008

Public Class Form1 Public BD As New ClassBD Private Sub Bienvenida_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress Me.Hide() frm_Login.Show()

End Sub End Class

INICIAR SESION Public Class frm_Login Private Sub cmdcancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdcancelar.Click End End Sub Private Sub cmdaceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdaceptar.Click Dim PsE As String PsE = EncriptarPS(Me.txtpassword.Text) If Form1.BD.ValidarUs(Me.txtusuario.Text, PsE) = True Then frm_Principal.lblBEUsuario.Text = Me.txtusuario.Text Me.Close() frm_Principal.Show() Else MsgBox("Usuario No Autorizado", MsgBoxStyle.Critical) End If End Sub Private Function EncriptarPS(ByVal Ps As String) As String Dim charPs(9) As Char charPs = Ps.ToCharArray()

Dim i As Integer For i = 0 To Len(Ps) - 1 charPs(i) = Chr(Asc(charPs(i)) * 2 / 4 + 5) Next EncriptarPS = charPs End Function End Class

Principal Public Class frm_Principal Private Sub frm_Principal_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing If MsgBox("Estas Seguro de Salir del Sistema?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Cerrar Sesin") = MsgBoxResult.Yes Then End Else e.Cancel = True End If End Sub Private Sub mnuusuarios_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuusuarios.Click frmUsuarios.MdiParent = Me frmUsuarios.Show()

End Sub Private Sub mnucerrarsesion_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnucerrarsesion.Click If MsgBox("Estas Seguro de Cerrar Sesin?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Cerrar Sesin") = MsgBoxResult.Yes Then Me.Hide() frm_Login.Show() End If End Sub Private Sub mnunormal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnunormal.Click frm_Ventas.MdiParent = Me frm_Ventas.Show() End Sub Private Sub mnunuevopedido_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) frm_pedprov.MdiParent = Me frm_pedprov.Show() End Sub Private Sub mnucredito_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) frm_ventacred.MdiParent = Me frm_ventacred.Show() End Sub Private Sub mnuagregprov_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuagregprov.Click frm_proveedor.MdiParent = Me frm_proveedor.Show() End Sub Private Sub mnusalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnusalir.Click If MsgBox("Estas Seguro de Salir del Sistema?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Cerrar Sesin") = MsgBoxResult.Yes Then End Else End If End Sub Private Sub AbonoCuentaCreditoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AbonoCuentaCreditoToolStripMenuItem.Click

frm_pagos.MdiParent = Me frm_pagos.Show() End Sub End Class

VENTAS Public Class frm_Ventas Dim pagos As Integer = 1 Dim abono As Integer Private Sub frm_Ventas_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Form1.BD.CargarCombo(Me.cmbCliente, "nombre_cliente", "cvcliente", "tblCliente") Form1.BD.CargarCombo(Me.cmbproducto, "nombre", "cvprod", "tblproducto") End Sub Private Sub mnuquitar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuquitar.Click If Me.lsvproductos.SelectedIndices.Count > 0 Then Me.lsvproductos.Items.RemoveAt(Me.lsvproductos.SelectedIndices(0)) CalcularTotal() End If End Sub

Sub CalcularTotal() Dim c As Integer Dim Suma As Double For c = 0 To Me.lsvproductos.Items.Count - 1 Suma = Suma + Val(Me.lsvproductos.Items(c).SubItems(4).Text) Next Me.txttotal.Text = Suma End Sub Private Sub btnagregar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnagregar.Click With Me.lsvproductos Dim PrecioV As Double PrecioV = Form1.BD.RegresaPrecioProducto(Val(Me.cmbproducto.SelectedValue)) .Items.Add(Me.cmbproducto.SelectedValue) .Items(.Items.Count - 1).SubItems.Add(Me.cmbproducto.Text) .Items(.Items.Count - 1).SubItems.Add(PrecioV) .Items(.Items.Count - 1).SubItems.Add(Me.txtcantidad.Text) .Items(.Items.Count - 1).SubItems.Add(PrecioV * Val(Me.txtcantidad.Text)) CalcularTotal() End With End Sub Private Sub btnlimpiarform_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlimpiarform.Click lsvproductos.Items.Clear() txttotal.Text = "" txtcantidad.Text = "" End Sub Private Sub btnvender_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnvender.Click If CheckBox1.Checked = True Then abono = Val(Me.txttotal.Text) / pagos Else abono = Val(Me.txttotal.Text) End If If CheckBox1.Checked = True And Me.cmbtipopago.Text = "" Then MsgBox("Seleccione un modo de pago", MsgBoxStyle.Exclamation, "Mensaje") Else

Form1.BD.Vender(Val(Me.txttotal.Text), Val(Me.cmbCliente.SelectedValue), Me.lsvproductos, Me.cmbCliente.Text, pagos, abono, Me.cmbtipopago.Text.ToString) lsvproductos.Items.Clear() txtcantidad.Text = "" txttotal.Text = "" End If End Sub Private Sub cmdsalir_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsalir.Click Me.Close() End Sub Private Sub MENSAJE(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged pagos = InputBox("Numero de Pagos", "Pagos") End Sub End Class

Public Class frm_ventacred Dim pagos As Integer = 1 Dim abono As Integer Private Sub btnagregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnagregar.Click Form1.BD.CargarCombo(Me.cmbCliente, "nombre_cliente", "cvpago", "tblCliente") Form1.BD.CargarCombo(Me.cmbproducto, "nombre", "cvprod", "tblproducto") End Sub

Private Sub btnvender_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnvender.Click 'Form1.BD.Vender(Val(Me.txttotal.Text), Val(Me.cmbCliente.SelectedValue), Me.lsvproductos, Me.cmbCliente.Text, pagos, abono) End Sub Private Sub frm_ventacred_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class

Public Class frm_proveedor Private Sub cmdnuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdnuevo.Click 'With Me txtcvproveedor.Text = " " txtnombre.Text = " " txtdireccion.Text = " " txttelefono.Text = " " txtemail.Text = " " txtcelular.Text = " " txtcvproveedor.Focus() 'End With

End Sub Private Function EncriptarPS(ByVal Ps As String) As String Dim charPs(9) As Char charPs = Ps.ToCharArray() Dim i As Integer For i = 0 To Len(Ps) - 1 charPs(i) = Chr(Asc(charPs(i)) * 2 / 4 + 5) Next EncriptarPS = charPs End Function Private Sub cmdbuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdbuscar.Click Form1.BD.BuscarUsuario(Me.txtcvproveedor.Text) End Sub Private Sub cmdsalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsalirprov.Click Me.Close() End Sub End Class

Public Class frm_pedprov Private Sub cmdlimpiarform_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdlimpiarform.Click txtcvventa.Text = " " End Sub Private Sub cmdaceptarventa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdaceptarventa.Click End Sub End Class

Public Class frm_pagos Dim valores(4) As String Dim carga As Integer = 0 Dim multa As Integer = 20 Dim fechapago As String

Private Sub frm_pagos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, cmbCliente.SelectionChangeCommitted Dim fecha As Date Dim aux, sumadias, dias, meses, aos, diav, mesv, aov, diaa, mesa, aoa, totaldias As Integer Dim tipodepago, month, day, fechaactual As String Dim a As Date Dim pagoactual As Integer fecha = Format(Now, "dd/MM/yyyy") If carga = 0 Then carga = 1 Form1.BD.CargarCombo(Me.cmbCliente, "nombre_cliente", "cvcliente", "tblCliente") End If valores = Form1.BD.consultaabono(Val(Me.cmbCliente.SelectedValue)) tipodepago = valores(2) pagoactual = valores(1) a = valores(3) If tipodepago = "Quincenal" Then sumadias = 15 ElseIf tipodepago = "Semanal" Then sumadias = 7 ElseIf tipodepago = "Mensual" Then sumadias = 30 End If diaa = Format(fecha, "dd") mesa = Format(fecha, "MM") aoa = Format(fecha, "yyyy") diav = Format(a, "dd") mesv = Format(a, "MM") aov = Format(a, "yyyy") totaldias = 1 dias = diav + (pagoactual * sumadias) If dias > 30 Then aux = dias / 30 dias = dias Mod 30 meses = mesv + aux If meses > 12 Then aux = meses / 12 meses = meses Mod 12 aos = aov + aux Else

aos = aov End If Else meses = mesv aos = aov End If If diaa < 10 Then day = "0" + Trim(diaa) Else day = diaa End If If mesa < 10 Then month = "0" + Trim(mesa) Else month = mesa End If fechaactual = Trim(aoa) + Trim(month) + Trim(day) If dias < 10 Then day = "0" + Trim(dias) Else day = dias End If If meses < 10 Then month = "0" + Trim(meses) Else month = meses End If fechapago = Trim(aos) + Trim(month) + Trim(day) MsgBox(fechaactual, MsgBoxStyle.Exclamation, "Fecha Actual") MsgBox(fechapago, MsgBoxStyle.Exclamation, "Fecha Pago") Me.txtabono.Text = Val(valores(0)) If (Val(fechaactual) > Val(fechapago)) Then MsgBox("Se Ha Agregado una cantidad extra al pago", MsgBoxStyle.Information, "Multa") Me.txtabono.Text = Val(valores(0)) + multa End If fechapago = Trim(day) + "/" + Trim(month) + "/" + Trim(aos) End Sub Private Sub cmdabonar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdabonar.Click

Form1.BD.Abonar(Val(Me.cmbCliente.SelectedValue), Val(Me.txtabono.Text.ToString), fechapago, Val(multa)) End Sub End Class

EXPERIMENTACION Y RESULTADOS

BIBLIOGRAFIA

http://www.blogdemegastar.com/2010/09/pasos-para-configurar-sql-server2008.html

Sqlserver2008-110221144507-phpapp01.pptx

http://www.slideshare.net/brobelo/sql-server-2008-7002668

Cuestrep21rplj-1216999332785487-9.ppt

http://social.msdn.microsoft.com/Forums/es/sqlserveres/thread/7746df11-e4184177-a29d-b048931bb59d

You might also like