Archivos de la categoría: Ejemplo

Usando la funcion NEWID()

¡Quee taaaaal! Esta función genera un valor único, de tipo uniqueidentifier cada vez que se ejecuta.  Esta función es muy útil al tener que crear valores únicos. Por ejemplo: Una clave primaria.

Veamos algunos ejemplos:

Seleccionar un valor único aleatorio

Valor Unico

Valor Unico

Seleccionar varios valores al mismo tiempo para comprobar su característica de ser único

Valores Unicos

Valores Unicos

Ahora usemos esto en un caso real. Creemos una tabla, cuya clave primaria sea un campo de tipo uniqueidentifier


CREATE TABLE MiTabla
(
id UNIQUEIDENTIFIER PRIMARY KEY NOT NULL,
color VARCHAR(10) NOT NULL
)

Ojo con el tipo de datos que tiene el campo id.
Insertamos unos datos

INSERT INTO MiTabla (ID, color) VALUES (NEWID(),'VERDE')
INSERT INTO MiTabla (ID, color) VALUES (NEWID(),'AMARILLO')
INSERT INTO MiTabla (ID, color) VALUES (NEWID(),'ROJO')

Y seleccionamos los datos a ver que tenemos:

SELECT * FROM MiTabla

Y el resultado:

Ejemplo de tabla con valores unicos

Ejemplo de tabla con valores unicos

Compresión de respaldos con SQL Server

Mayo ha sido un mes movido, por lo menos, para mi. He tenido bastantes actividades, tanto en el trabajo como en mi vida personal, que me tenían un poco privado de tiempo para compartir alguna cosa poca.

Por ejemplo, estuve en Concepción la semana pasada hablando sobre SQL Server (¡Que novedad! ¿o no?) y aprobé el examen para la licencia de radioaficionado. Desde ahora soy CD6375. Supongo que a nadie le importa esto, así que vamos a lo importante.

Comprimir respaldos se realiza por los siguientes motivos:

  • Toma menos tiempo generar uno.
  • Ocupa menos espacio en disco.
  • Si respaldamos en cintas, ocupa menos espacio en cinta, por lo tanto, ocupará menos respaldo en el lugar donde guardemos las cintas.
  • Toma menos tiempo hacer una restauración desde un respaldo.

En este ejemplo solo tocaré la creación de respaldos. Dejemos la cháchara y vamos al choque.


--Estadisticas
set statistics io on
set statistics time on

--Respaldo sin comprimir
backup database AdventureWorks2012_Data
to disk = 'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLBackupbak1.bak'
with init, no_compression

--Limpiar caché
dbcc freeproccache

--Respaldo con comprimir
backup database AdventureWorks2012_Data
to disk = 'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLBackupbak2.bak'
with init, compression

El script tiene varias partes:

  1. Estadisticas: Activa las estadisticas del servidor para la transaccion.
  2. Respaldo sin comprimir: Crea un respaldo comun y corriente de la base de datos. Respaldo sin tratamiento
  3. Liberar Caché: Limpia la caché.
  4. Respaldo con “comprimir”: Crea un respaldo comprimido de la base de datos.

Esto suena muy lindo. Tal para no creer. Veamos algunas imágenes

Estadisticas sin comprimir

Estadisticas sin comprimir

 

Estadisticas con compresión habilitada

Estadisticas con compresión habilitada

 

Propiedades archivo de respaldo sin comprimir

Propiedades archivo de respaldo sin comprimir

 

Propiedades archivo de respaldo comprimido

Propiedades archivo de respaldo comprimido

Si no les gusta copiar y pegar, pueden descargar el archivo .sql desde aqui: http://www.4shared.com/document/nN-PRmL1/demo_compresion_respaldos.html

 

Sencillisimo uso de una clase y metodos

En mi aprendizaje ( que por cierto, me ha costado mucho) he tenido que lidiar con ciertos problemas en Java. Estos estan directamente relacionados con la orientacion a objetos.

Mas abajo, les dejare un sencillo ejemplo que lleva el siguiente enunciado:

Almacenar en un arreglo unidimensional la informacion basica de 4 libros ( Titulo, Autor, Año de publicacion y Editorial). Usar un metodo para mostrar los datos del arreglo.

import java.io.*;

public class Biblioteca {

public String TituloLibro;
public String AutorLibro;
public String EditorialLibro;
public String AnoPublicacionLibro;

public Biblioteca() {
}

public Biblioteca(String TituloLibro, String AutorLibro, String EditorialLibro, String AnoPublicacionLibro) {
this.TituloLibro = TituloLibro;
this.AutorLibro = AutorLibro;
this.EditorialLibro = EditorialLibro;
this.AnoPublicacionLibro = AnoPublicacionLibro;
}

public String getAnoPublicacionLibro() {
return AnoPublicacionLibro;
}

public void setAnoPublicacionLibro(String AnoPublicacionLibro) {
this.AnoPublicacionLibro = AnoPublicacionLibro;
}

public String getAutorLibro() {
return AutorLibro;
}

public void setAutorLibro(String AutorLibro) {
this.AutorLibro = AutorLibro;
}

public String getEditorialLibro() {
return EditorialLibro;
}

public void setEditorialLibro(String EditorialLibro) {
this.EditorialLibro = EditorialLibro;
}

public String getTituloLibro() {
return TituloLibro;
}

public void setTituloLibro(String TituloLibro) {
this.TituloLibro = TituloLibro;
}

public static void main(String[] args)throws IOException {

String TituloLibro = null,AutorLibro = null, EditorialLibro = null, AnoPublicacionLibro = null;
int i;

Biblioteca[] MatrizBiblioteca = new Biblioteca[4];

BufferedReader Bf = new BufferedReader(new InputStreamReader(System.in));

//Ingreso de Datos
for(i=0;i<4;i++){
System.out.println(“Ingrese el Titulo del Libro “);
TituloLibro = Bf.readLine();
System.out.println(“Ingrese el Autor del Libro “);
AutorLibro = Bf.readLine();
System.out.println(“Ingrese la Editorial del Libro “);
EditorialLibro = Bf.readLine();
System.out.println(“Ingrese el año de publicacion del Libro”);
AnoPublicacionLibro = Bf.readLine();

Biblioteca Bi = new Biblioteca(TituloLibro,AutorLibro,EditorialLibro,AnoPublicacionLibro);

MatrizBiblioteca[i] = Bi;

System.out.println(“Informacion almacenada correctamente”);
}

Biblioteca Bi = new Biblioteca();

Bi.MostrarMatriz(MatrizBiblioteca);

}

public void MostrarMatriz(Biblioteca MatrizBiblioteca[]){
int i;
for(i=0;i<4;i++){
System.out.println(“[ ” + MatrizBiblioteca[i].getTituloLibro() + ” ” + MatrizBiblioteca[i].getAutorLibro() + ” ” + MatrizBiblioteca[i].getEditorialLibro() + ” ” + MatrizBiblioteca[i].getAnoPublicacionLibro() + ” ]”);

}

}

}

Un saludo!