Horarios

(Aquí enlaces a las entradas de horarios)

Sectarios

miércoles, 8 de febrero de 2012

SQL server

En SQL las consultas cambian un poco. Aquí ejemplos de SQL server.

Creando la base de datos

create database libreria

go

use libreria

go

create table editorial
(
cif char(11),
nombre varchar(20),
direccion varchar(50),
pais varchar(20),
primary key (cif)
)

go

create table libro
(
ISBN varchar(13),
cif char(11),
titulo varchar(30),
num_paginas int,
tema varchar(20),
ano_publicacion date,
primary key (ISBN),
constraint fk_libedi foreign key (cif) references editorial(cif)
)

go

create table ejemplar
(
ISBN varchar(13),
num_ejemplar int,
fecha_compra date,
precio float,
primary key (ISBN, num_ejemplar),
constraint FK_isbn foreign key (ISBN) references libro(ISBN)
)

go

create table autor
(
pasaporte char(11),
nombre varchar(20),
apellidos varchar(50),
direccion varchar(50),
fecha_nacimiento date
primary key (pasaporte)
)

go

create table escribe
(
ISBN varchar(13),
pasaporte char(11),
fecha_escritura date,
primary key (ISBN, pasaporte),
constraint FK_isbne foreign key (ISBN) references libro(ISBN),
constraint FK_pass foreign key (pasaporte) references autor(pasaporte)
)

Lanzando consultas

use libreria
go
select * from dbo.autor

Creando procedimientos almacenados

Si quisiésemos devolver información dentro de un parámetro deberíamos poner "output" después del tipo del parámetro. Si queremos que un parámetro sirva tanto para que entre información como para que salga en vez de "output" será "inout".

Altas en autores

use libreria
go
create procedure pr_altasautor(@ppasaporte char(11), @pnombre varchar(20), @papellidos varchar(50), @pdireccion varchar(50), @pfecha_nacimiento date)
as
begin
insert into dbo.autor values (@ppasaporte, @pnombre, @papellidos, @pdireccion, @pfecha_nacimiento);
end

Bajas en libros

use libreria
go
create procedure pr_bajaslibro(@pISBN char(13))
as
begin
delete from dbo.libro where ISBN = @pISBN;
end

Como llamar a un procedimiento

Ejemplo de llamada a procedimiento
use libreria
go
Call pr_bajaslibro("IDF3234B")
go

Añadimos nuevas tablas a la base de datos

use libreria
go

create table cliente
(
id_cliente int primary key Identity, nomb_cliente varchar(20), renta_anual float, tipo_cliente varchar(20)
)
go

create table camion
(num_camion int primary key identity,
nomb_chofer varchar(20)
)
go

create table ciudad
(nom_ciudad varchar(20) primary key,
poblacion varchar(20)
)
go
create table ciudad_copia
(nom_ciudad_copia varchar(20) primary key,
poblacion_copia varchar(20)
)
go
create table embarque
(
num_embarque int primary key Identity,
id_cliente int,
num_camion int,
peso float,
destino varchar(20),
fecha_embarque date,
constraint fk_cli foreign key (id_cliente) references cliente(id_cliente),
constraint fk_cam foreign key (num_camion) references camion(num_camion),
constraint fk_ciu foreign key (destino) references ciudad(nom_ciudad)
)
go

Creando vistas

Ciudades que han recibido embarques de clientes con una renta anual mayor que 15 millones

use libreria
go
Create View rentas_mayores_15
as
select e.destino
from dbo.embarque e inner join dbo.cliente c on e.id_cliente = c.id_cliente
where c.renta_anual > 15000000

Creando trigger

# En el trigger en MSSQL server ya no nos valdrán el "new" y el "old" como tal. Serán sustituidos por "inserted" y "deleted".
#No esta bien, hay que corregir
use libreria
go
create trigger tr_copia_ciudad on dbo.ciudad
after insert
as
begin
insert into copia_ciudad values (inserted.nom_ciudad, inserted.poblacion);
end

Prestashop

Es un tipo de tienda online independiente de plataformas CMS, esta tienda en si es la plataforma.
Para administrarla tendremos que cargar la dirección de administración.
martes, 7 de febrero de 2012

DHCP

El DHCP es un servicio de asignación automatica de IP y sirve para dar servicio a los equipos que tengan su tarjeta de red asignadas como automáticas.

Configuración

Este servicio tiene unas características concretas que tendremos que determinar.

Identificador de Red y Máscara

Especificaremos el identificador de red y la máscara sobre la que vamos a asignar IPs a los que nos realicen peticiones.

Rango de IPs

Especificaremos un rango de IPs para saber que IPs se repartirán entre las maquinas que nos pidan una IP. Siempre tenemos que dar un rango algo mayor que el que hemos estimado que vamos a necesitar para evitar imprevistos por excesos de petición. También debemos recordar que si tenemos máquinas dando servicio o la misma puerta de enlace deberemos excluir estas direcciones de IP del rango que vamos a repartir pués ya están en uso.

Puerta de enlace

La IP de la puerta de enlace que recibirán los equipos que soliciten una IP al servicio DHCP.

Servidores DNS

Los servidores DNS que recibirán los equipos que soliciten una IP al servicio DHCP.

Ip de multidifusión

Es algo evidente en una configuración IP, pero aún así hay que añadirlo.

Instalación

En este caso vamos a hacer las pruebas desde linux de manera que instalamos un servidor de DHCP en linux.
apt-get install dhcp3-server

Nada más instalarlo falla en el arranque. No asustarse que es normal, ya que aún tenemos que configurarlo.

Configuración

Vamos a /etc/dhcp/dhcpd.conf y editamos el fichero.
ddns-update-style none;

option domain-name-servers 172.20.0.2, 8.8.8.8; # Servidores DNS

default-lease-time 86400;
max-lease-time 604800;

authoritative;

subnet 172.20.0.0 netmask 255.255.0.0 { #Identificador de red y marcara de red
range 172.20.237.104 172.20.237.222; #Rango IP
option subnet-mask 255.255.0.0; #Máscara de subred
option broadcast-address 172.20.255.255; #Ip de multidifusión
option routers 172.20.9.92; #Dirección de la puerta de enlace
}

Es IMPRESCINDIBLE que el fichero que acabamos de crear lo tengas tanto en "/etc/dhcp3" como en "/etc/dhcp", lo copiamos. Sin realizar este paso el servicio no funcionará.

Puesta en funcionamiento

Para administrar su servicio al igual que en muchos otros sería desde "/etc/init.d/".
isc-dhcp-server start
isc-dhcp-server stop
jueves, 2 de febrero de 2012

Sistemas RAID

Conjunto redundante de discos independientes.

RAID 0




 RAID cero no es un sistema redundante (no se replica). Nos da más velocidad de accesso a la información (Lectura y escritura). Si uno de los discos falla nos quedamos colgados. Se necesita como mínimo dos discos.

RAID 1

RAID uno nos duplica la información que tengamos (Información lógica). Tantos discos duros o particiones como tengamos. Si uno de los dos falla el sistema siguen funcionando.

RAID 5


Es un sistema parecido al raid 0, solo que introducimos controles de paridad para asegurar que la información es correcta. Cada bloque tendría su control como vemos en la imagen. Más apropiado en sistemas multiusuario. Buen rendimiento general. No plantea una solución cuando una de las unidades lógicas falla.

Combinaciones

A menudo para tener las ventajas de varios sistemas podemos combinarlos. Por ejemplo 0+1 o 1+0.
0 + 1: Primero aplicariamos el raid 0, osea se separar la información sin replicar. Después se aplicaría el raid 1 es decir duplicar la información que ya hemos separado. Alto costo.

 1 + 0: Primero aplicamos raid 1, es decir duplicamos la información. Una vez duplicada aplicamos el raid 0, es decir separamos la información en discos diferentes para acelerar la velocidad de accesso. Conocido como raid 10. La mejor opción para replicas de bases de datos. Alto costo.


¿Lo más correcto?
En ambos casos si perdemos una unidad de almacenamiento lógico podemos seguir funcionando. ¿Pero si perdemos dos? 1 + 0 sería estadisticamente la mejor opción.

Contra la ley Sinde

¿Estas en desacuerdo con la ley sinde? No permitas que coarten tu libertad.
labioswert Bájame

Top Resumenes

Publicidad