Viene con el codigo fuente incluido.
CONSISTE EN CONECTAR UN PROGRAMA HECHO EN VISUAL EXPRESS C# CON MYSQL
mysql -h “IPDELAOTRACOMPU” -u “USUARIOCREADO” -p ;
//Bloquear lectura de tabla
LOCK TABLES “NOMBRE_DE_TABLA” READ;
//DESBLOQUEAR TABLAS
UNLOCK TABLES;
//BLOQUEAR ESCRITURA DE LA TABLA
LOCK TABLES “NOMBRE_DE_TABLA” WRITE;
TRANSACCIONES
BEGIN;
//SETENCIAS;
COMMIT;
//BORRAR TABLA
DROP TABLE “Nombre_Tabla”;
Estos son bloqueos y son técnicas para controlar el acceso concurrente.
Granularidad.- Es el nivel que se puede obtener los datos. Que son el Compartido y Exclusivo
Compartido,. Es el de lectura Read
Exclusivo.- Es el de escritura Write
Serializabilidad.- Implica que las transacciones se realizan en paralelo pero el resultado es como se hubieran realizados en serie.
Esto es para evitar usar datos que no son ciertos
Ejemplo el de un banco donde 2 personas entran a diferentes cajeros con la misma cuenta
Cumpliendo estos 4 requerimientos un sistema gestor de bases de datos puede ser considerado ACID Compliant.
MATRIZ DE COMPATIBLIDAD LAS TRANSACCIONES
|
TRANSACCION II
|
|||
| TRANSACCION
I
|
Compartido |
V
|
F
|
| Exclusivo |
F
|
F
|
|
Compartido = Read;
Exclusivo = Write
//Bloquear lectura de tabla
LOCK TABLES “NOMBRE_DE_TABLA” READ;
//DESBLOQUEAR TABLAS
UNLOCK TABLES;
//BLOQUEAR ESCRITURA DE LA TABLA
LOCK TABLES “NOMBRE_DE_TABLA” WRITE;
Si es sistema se cae cuando inicia verifica la línea de tiempo las transacciones que están cometidas y las que están cometidas se ejecutan y las que no se hacen un Rollback
Para recuperar mas rápido se hace un ChekPoint “Punto de verificación” En donde se guarda el
Granularidad
Al referirnos a lo que es bloqueo en bases de datos en realidad utilizamos lo que se conoce como granularidaddel bloqueo.
La granularidadse refiere a que tan fino se quiere que sea un bloqueo. Por ejemplo ¿desceabloquear la tabla completa (un bloqueo de granularidad gruesa) o solo deceabloquear una fila especifica (un bloqueo de granularidad fina)?.
mysql -h “IPDELAOTRACOMPU” -u “USUARIOCREADO” -p ;
//Bloquear lectura de tabla
LOCK TABLES “NOMBRE_DE_TABLA” READ;
//DESBLOQUEAR TABLAS
UNLOCK TABLES;
//BLOQUEAR ESCRITURA DE LA TABLA
LOCK TABLES “NOMBRE_DE_TABLA” WRITE;
TRANSACCIONES
BEGIN;
//SETENCIAS;
COMMIT;
//BORRAR TABLA
DROP TABLE “Nombre_Tabla”;
Estos son bloqueos y son técnicas para controlar el acceso concurrente.
Granularidad.- Es el nivel que se puede obtener los datos. Que son el Compartido y Exclusivo
Compartido,. Es el de lectura Read
Exclusivo.- Es el de escritura Write
Serializabilidad.- Implica que las transacciones se realizan en paralelo pero el resultado es como se hubieran realizados en serie.
Esto es para evitar usar datos que no son ciertos
Ejemplo el de un banco donde 2 personas entran a diferentes cajeros con la misma cuenta
/* CRAPS
Un jugador tira 2 dados,
Cada dado tiene 6 caras, COn sus numeros del 1-6 en cada cara
Una vez que los dados dejen de moverse, se calcula la suma de los puntos en los dos lados. Si la suma es 7 u 11
en el primero tiro el jugador gana
Si la suma es 3,2,12 en el primer tiro el jugador pierde
Si la suma es 4,5,6,8,9,10 en el primer tiro esta se convierte en el punto del jugador.
Para ganar.El jugador debe seguir tirando los dados hasta que salga otra vez su punto (Es decir, que tire ese mismo valor de punto)
*/
namespace Craps
{
class Program
{
//PROGRAMA PARA GENERAR NUMEROS ALEATORIOS, PARA USARLA EN EL METODO TIRAR DADO
private Random numerosAleatorios = new Random();
private enum Estado { CONTINUA, GANO, PERDIO }
private enum nombresDados{DOS_UNOS=2,
TRES=3,SIETE=7,ONCE=11,DOCE=12}
//METODO EJECUTA EL JUEGO CE CRAPS
public void Jugar()
{
//PRIMER TIRO DEDOS
Estado EstadoJuego=Estado.CONTINUA;
int puntos=0;
int sumaDeDados=tirarDados();
//DETERMINA EL ESTADO DE JUEGO Y EL PUNTO CON BASE EN EL PRIMER TIRO
switch((nombresDados)(sumaDeDados))
{
case nombresDados.SIETE:
case nombresDados.ONCE:
EstadoJuego = Estado.GANO;
break;
case nombresDados.DOCE:
case nombresDados.TRES:
case nombresDados.DOS_UNOS:
EstadoJuego = Estado.PERDIO;
break;
default: EstadoJuego = Estado.CONTINUA; //NO GANO NI PERDIO, ENTONCES HAY QUE RECORDAR EL PUNTO
break;
//AUN NO TERMINA
puntos = sumaDeDados;
Console.WriteLine(“{0}”,puntos);
break;
}
//MIENTRAS EL JUEGO NO TERMINE
while (EstadoJuego == Estado.CONTINUA)
{
sumaDeDados = tirarDados(); //TIRA LOS DATOS OTRA VEZ
if (sumaDeDados == puntos)
EstadoJuego = Estado.GANO;
if(sumaDeDados==(int) nombresDados.SIETE) //PIERDES SE CAE 7 ANTES DEL PUNTO
EstadoJuego=Estado.PERDIO;
}//FIN DEL WHILE
//MUESTRA MENSAJE
if (EstadoJuego == Estado.GANO)
{
Console.WriteLine(“PERDISTE”);
}
if (EstadoJuego == Estado.PERDIO)
{
Console.WriteLine(“GANASTE”);
}
}
//TIRAR DADO
public int tirarDados()
{
//ELIGE VALORES ALEATORIOS PARA LOS DADOS
int dado1 = numerosAleatorios.Next(1, 7);
int dado2 = numerosAleatorios.Next(1, 7);
int suma = dado1 + dado2;
//MUESTRA EL RESULTADO DE ESTE TIRO
Console.WriteLine(“DADO UNO= {0}” + dado1+ ” DADO DOS{1}” + dado2+ “SUMA={2}” + suma);
return suma;
}
static void Main(string[] args)
{
Program AAAA=new Program();
AAAA.Jugar();
Console.ReadLine();
}
}
}
Nos desplegara lo siguiente:
mysqld -P 3305
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: namespace Co
6: {
7: class Program
8: {
9: static void Main(string[] args)
10: {
11: Int32 num;
12: Console.WriteLine("Inserte un numero: ");
13: num=Int32.Parse(Console.ReadLine());
14: for (int x = 1; x <= 10; x++)
15: {
16: Console.WriteLine(num+"X"+x+"=" +num*x);
17: }
18: Console.ReadLine();
19: }
20: }
21: }
Ahora ya podras meter los archivos de tu pagina a esa carpeta para que todo mundo que sepa tu IP la pueda ver
Ahora en la dirección de la carpeta te la mostrare en la siguiente imagen
Creado con WordPress & Tema de Anders Norén