Cesar Systems

Herramientas Informaticas

ACORDEON PARA EL EXAMEN DE BASE DE DATOS DISTRIBUIDAS TRANSACCIONES

Conectar al Mysql de otro servidor

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

ACID

Atomicidad

Consistencia

Asolación

Durabilidad

  • Atomicidad: es la propiedad que asegura que la operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias.

  • Consistencia: Integridad. Es la propiedad que asegura que sólo se empieza aquello que se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper las reglas y directrices de integridad de la base de datos.

  • Aislamiento: es la propiedad que asegura que una operación no puede afectar a otras. Esto asegura que la realización de dos transacciones sobre la misma información sean independientes y no generen ningún tipo de error.

  • Durabilidad: es la propiedad que asegura que una vez realizada la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema.

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

·         acceso concurrente

·         Bloques

·         Stampa de tiempo

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)?.

Comandos basicos en Mysql aceso remoto

Conectar al Mysql de otro servidor

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

Algunos Gif Animados

Suele pasar

Andele

USANDO METODOS EN C# EXAMEN CRAPS

Logo_C_Sharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

/* 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();
        
         
        }
    }
}

COMANDOS BASICOS EN MYSQL

COMANDOS BASICOS EN MYSQL


Primero que nada entramos a la terminal
Y lo que vamos a escribir sera: mysql -u root -p
En caso de usar Linux sera: sudo mysql -u root -p

Le ponemos el password y nos saldra lo siguiente:
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 3
Server version: 5.1.49-3 (Debian)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

mysql> 

Ahora tenemos que ver que base de datos existen, para eso escribimos:
SHOW DATABASES;

Y nos saldra algo parecido a esto:
mysql> show databases;
+——————–+
| Database           |
+——————–+
| information_schema |
| mysql              |
+——————–+
2 rows in set (0.00 sec)


Ahora vamos a crear una base de datos, para ello escribiremos
CREATE DATA BASE JULIO;

Donde puse julio pueden poner el nombre que ustedes deseen 🙂

Ahora vamos a ver que base de datos existen de nuevo, igual usamos el mismo comando de arriba:
SHOW DATABASES;

Y nos saldra algo parecido a esto:
mysql> show databases;
+——————–+
| Database           |
+——————–+
| information_schema |
| JULIO              |
| mysql              |
+——————–+
3 rows in set (0.00 sec)


Ahora vamos a usar la base de datos JULIO o como ustedes le allan puesto, para ello escribiran:
use JULIO;

Es importante respetar MAYUSCULAS y minusculas

Ahora en la base de datos JULIO, vamos a crear una tabla llamada integrantes que tenga los campos de ID_Intengrante,Nombre,Semestre,Genero y Edad, todos con el tipo de dato de VARCHAR, para ello escribimos:
CREATE TABLE integrantes (ID_Integrante VARCHAR(25),Nombre VARCHAR(25),Semestre VARCHAR(25),Genero VARCHAR(25),Edad VARCHAR(25));

Para visualizar la estructura de la tabla el comando es el siguiente:
DESCRIBE integrantes;

Va a salir lo siguiente:
mysql> DESCRIBE integrantes;
+—————+————-+——+—–+———+——-+
| Field         | Type        | Null | Key | Default | Extra |
+—————+————-+——+—–+———+——-+
| ID_Integrante | varchar(25) | YES  |     | NULL    |       |
| Nombre        | varchar(25) | YES  |     | NULL    |       |
| Semestre      | varchar(25) | YES  |     | NULL    |       |
| Genero        | varchar(25) | YES  |     | NULL    |       |
| Edad          | varchar(25) | YES  |     | NULL    |       |
+—————+————-+——+—–+———+——-+
5 rows in set (0.00 sec)

Ahora le insertaremos datos a esta tabla, para ello utilizaremos el siguiente Sintaxis:
INSERT INTO integrantes VALUES (“1″,”Sotelo”,”7″,”M”,”25″);

Tambien podemos agregar datos de una sola vez, ejemplo:
INSERT INTO integrantes VALUES (“2″,”Peggy”,”9″,”M”,”22″),(“3″,”Claudia”,”9″,”F”,”22″),(“4″,”Martha”,”7″,”F”,”21″),(“5″,”Tavo”,”7″,”M”,”21″);

Ahora veremos los datos, tublas o filas como le quieran llamar, escribimos:
SELECT * FROM integrantes;

Y nos saldra lo siguiente:
mysql> SELECT * FROM integrantes;
+—————+———+———-+——–+——+
| ID_Integrante | Nombre  | Semestre | Genero | Edad |
+—————+———+———-+——–+——+
| 1             | Sotelo  | 7        | M      | 25   |
| 2             | Peggy   | 9        | M      | 22   |
| 3             | Claudia | 9        | F      | 22   |
| 4             | Martha  | 7        | F      | 21   |
| 5             | Tavo    | 7        | M      | 21   |
+—————+———+———-+——–+——+
5 rows in set (0.00 sec)
Ahora vamos a fragmentar la tabla verticalmente creando otra tabla a partir de la tabla creada anteriormente, tomando solamente los campos de ID_Integrante y Nombre para esto escribimos:
CREATE TABLE Nombres as select ID_Integrante,Nombre FROM integrantes;

Veamos como quedo la tabla nueva escribiendo:
SELECT * FROM Nombres;

Nos desplegara lo siguiente:
+—————+———+
| ID_Integrante | Nombre  |
+—————+———+
| 1             | Sotelo  |
| 2             | Peggy   |
| 3             | Claudia |
| 4             | Martha  |
| 5             | Tavo    |
+—————+———+
5 rows in set (0.00 sec)

Ahora la vamos a fragmentar en forma horizontal.en hombres y mujeres.
Para fragmentar la integrantes en una nueva tabla de hombres escribimos:
CREATE TABLE Hombres AS SELECT * FROM integrantes WHERE Genero=”M”;

Veamos como quedo la tabla:
SELECT * FROM Hombres;

Nos desplegara lo siguiente:
+—————+——–+———-+——–+——+
| ID_Integrante | Nombre | Semestre | Genero | Edad |
+—————+——–+———-+——–+——+
| 1             | Sotelo | 7        | M      | 25   |
| 2             | Peggy  | 9        | M      | 22   |
| 5             | Tavo   | 7        | M      | 21   |
+—————+——–+———-+——–+——+

Ahora hacemos la tabla para las mujeres:
CREATE TABLE Mujeres AS SELECT * FROM integrantes WHERE Genero=”F”;

Veamos como quedo la tabla:

SELECT * FROM Mujeres;


Nos desplegara lo siguiente:

+—————+———+———-+——–+——+
| ID_Integrante | Nombre  | Semestre | Genero | Edad |
+—————+———+———-+——–+——+
| 3             | Claudia | 9        | F      | 22   |
| 4             | Martha  | 7        | F      | 21   |
+—————+———+———-+——–+——+
2 rows in set (0.00 sec)


Para hacer UNION hacemos lo siguiente:
CREATE TABLE JUNTO AS SELECT * FROM Hombres UNION SELECT * FROM Mujeres;

Hacer Procedimientos
Primero vamos hacer una tabla llamada Bitacora, donde tendra un campo que se pondra automaticamente la hora del servidor. 
CREATE TABLE Bitacora (Id_Integrante VARCHAR(25),Accion VARCHAR (25),Fech TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
Ahora vamos hacer el procedimiento:
mysql> delimiter //
mysql> CREATE procedure insertar(IN Integrante VARCHAR (25),Accion VARCHAR(25))
    -> begin
    -> INSERT INTO Bitacora VALUES(Integrante,Accion,CURRENT_TIMESTAMP);
    -> end;
    -> //

Ahora invoquemos a la funcion
mysql> call insertar(“15″,”Entro al sistema”);
Ahora chekemos si se guardo:
SELECT * FROM Bitacora WHERE Id_Integrante=15;

Tiene que dar el siguiente resultado:
+—————+——————+———————+
| Id_Integrante | Accion           | Fech                |
+—————+——————+———————+
| 15            | Entro al sistema | 2011-09-25 19:54:12 |
+—————+——————+———————+
1 row in set (0.00 sec)

mysqld -P 3305




Bueno hasta ahora eso es todo, luego pongo como hacer UNION, JOIN ETC. ESPERO Y LES ALLA SERVIDO :), Saludos

Usando ciclo While en C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace While
{
    class Program
    {
        static void Main(string[] args)
        {
            Int32 num;
            Int32 x=1;
            Console.WriteLine(“Inserte un numero: “);
            num=Int32.Parse(Console.ReadLine());
            while (x < 11)
            {
            Console.WriteLine(num+”X”+x+”=” +num*x);
            x++;
            }
            Console.ReadLine();
        }
    }
}

Usando ciclo FOR en C#

   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: }

Instalando XAMPP y otros programas en Knoppix USB

INSTALANDO XAMPP Y OTROS PROGRAMAS EN KNOPPIX USB
Lo primero seria configurar la BIOS para poder arrancar la memoria USB, como hay muchas bios diferentes sere breve en esto:
  • Entrar a la bios con supr o F2 dependiendo de la maquina.
  • Ir a la pestaña Boot
  • Habres la opción Hard Diks Drivers
  • Y vas a poner el nombre de tu memoria USB como primera opción, si tu memoria no aparece conectala, reinicia y empieza desde el paso 1 de nuevo.
Luego booteara el sistema operativo y te vas a encontrar con una pantalla como esta.
Esto es necesario para que todo lo que hagas en tu sistema se quede guardado, por ejemplo, si le instalas algún programa se quedara guardado cada vez que prendas el sistema, te recomiendo que le pongas 1000 en el cuadro azul, es decir, 1Gb.
Luego de eso te pedira si deseas Encriptar, eso lo dejo a tu consideración. Si encriptas te pedira una contraseña cada vez que enciendas.
Una vez que el sistema encienda nos vamos la terminal y tecleamos la siguiente sentencia
sudo apt-get update
Luego le damos enter “tardara un rato” “A y tenemos que estar conectados a internet”
Luego descargarmos Xampp en la pagina de apachefriends http://www.apachefriends.org/en/xampp-linux.html
Posiblemente el archivo se descargo en la carpeta de downloads
entonces nos vamos a la terminal de nuevo y tecleamos las siguientes sentencias respetando mayusculas:
cd Downloads luego le das enter, luego escribes ls para saber que ahi dentro de ese directorio
debe aparecerte Xampp-linux-1.7.4.tar.gz
Despues de esto esto escribimo lo siguiente “Respetando mayusculas”:
sudo tar -xvzf xampp-linux-1.7.4.tar.gz -C /opt Y presionamos la tecla enter.
Tardara un rato
Ya que alla terminado, tendremos que darnos permisos para poder poner archivos de nuestra pagina, en la carpeta donde estan el index y sus archivo
para ello tecleamos lo siguiente:
cd /opt y enter
luego cd lampp enter le damos
y por ultimo sudo chmod 777 htdocs. Te saldra un mensaje de que se han cambiado los permisos.

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

Ahora hay que encender tu servidor, estando estacionado en la carpeta lampp solo tienes que escribir sudo ./lampp start y con esto iniciaras tu servidor.
Y esto seria todo, puede chekar tu pagina en el explorador ponen como URL http://localhost
 
Falta tomar medidas de seguridad pero pues tengo sueño
Ahora necesitaras un editor de texto, igual, vas a la terminal y escribes:
sudo apt-get install medit
Supongo que tambien necesitaras chatear para ello puedes instalar un cliente similar al Messenger Live 2009
Solo ve a la terminal:
sudo apt-get install emesene
Listo
Cualquier duda no duden en comentar

Instalar KNOPPIX V6.7.0CD En una memoria USB

Instalar KNOPPIX V6.7.0CD En una memoria USB
A veces uno como estudiante si no tiene laptop, y tiene un proyecto o cuaquier tarea, necesita tener un sistema operativo aparte, como en su memoria USB para no perder configuraciones o depender de configuraciones ajenas de sistemas operativos públicos, por ejemplo, si quieres montar un servidor, necesitas tener cierta configuración en tu sistema.
Las ventajas de tener tu sistema operativo en una memoria USB son:
  • Tener tus propias configuraciones en cualquier computadora
  • Estas libre de virus..
  • Podras correr tu sistema en cualquier maquina que tenga puerto USB, y que la BIOS pueda soportar el arranque via USB “La mayoria de la Computadoras actuales soportan el arranque USB”.
  • Tienen tus programas instalado siempre.
Por que Knoppix:
Por que de muchos que he probado en modo Live, Knoppix prende, arranca, enciende mas rapido al escritorio que los demas que he probado en modo USB.
Que necesitas para tener tu sistema Knoppix en tu USB
Ahora ya tienes lo necesario primero instala LiLi USB Creator, Una vez instalado y abierto el programa en el…
  • Paso 1 tienes que escoger la memoria USB donde vas instalar Knoppix, en el
  • Paso 2 eliges la fuente “La ISO”.
  • El paso 3 es el tamaño de persistencia, este no le podras mover ahor
  •  
  • El paso 4 la opciones, alli desactivaras Activar instalar LinuxLive en windows, esto es para agilizar el proceso, En el paso 5 le vas a dar clic en el rayo para empezar a instalar el sistema.
 la verdad es muy facil
EN LA SIGUIENTE ENTRADA VIENE LO IMPORTANTE


Para instalar mas programas visitar la siguiente entrada http://shalom-now.blogspot.com/2011/09/instalando-xampp-y-otros-programas-en.html aqui podras instalar el servidor XAMPP que contiene apache, PHPMYADMIN entre otras utilidades.

COMO INSTALAR XAMPP LAMPP EN SISTEMA, PARA TENER TU PROPIO SERVIDOR EN TU USB.

PROGRAMAS BASICO COMO MESSENGER ETC LO NECESARIO PARA QUE FUNCIONE COMO WINDOWS.

Uso del Switch en C# Ejemplo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Int32 num1;
            Int32 num2;
            Int32 opcion;

            Console.WriteLine(“Escriba un numero: “);
            num1 = Int32.Parse(Console.ReadLine());
            Console.WriteLine(“Escriba un numero: “);
            num2 = Int32.Parse(Console.ReadLine());

            Console.Clear();
            Console.WriteLine(“1.- Sumar: “);
            Console.WriteLine(“2.- Restar: “);
            Console.WriteLine(“3.- Dividir: “);
            Console.WriteLine(“4.-Multiplicar: “);

            Console.WriteLine(“Que desea hacer con los numeros: “);
            opcion = Convert.ToInt32(Console.ReadLine());

            switch (opcion)
            {
                case 1:
                    Console.Clear();
                    Console.WriteLine(num1+num2);
                    break;
                case 2:
                    Console.Clear();
                    Console.WriteLine(num1-num2);
                    break;
                case 3:
                    Console.Clear();
                    Console.WriteLine(num1/num2);
                    break;
                case 4:
                    Console.Clear();
                    Console.WriteLine(num1 * num2);
                    break;
            }

            Console.ReadLine(); 

        }
    }
}

Página 139 de 143

Creado con WordPress & Tema de Anders Norén