SQL
Normalización de Bases de Datos
3Como siempre dando tumbos buscado ampliar mis conocimientos en distintas plataformas y dependiendo de cual orientándola y adaptándola para hacer mas fluido el trabajo con Velneo me encontré con la Normalización de Bases de Datos.
Es muy posible que muchos de vosotros lo haga inconscientemente o incluso que simplemente no sepa que esto es así.
El diseño lógico de la base de datos, las tablas y las relaciones entre las tablas, determinan el rendimiento de la base de datos.
Esto es algo que todos tenemos en cuenta a la hora de realizar nuestras tablas.
Una cierta normalización suele mejorar el rendimiento, pero solo hasta cierto punto.
No debemos pasarnos al usar las reglas ya que podemos pasar la línea y hacer que el rendimiento de la base de datos disminuya en lugar de aumentar.
La mayoría de los sistemas normalizan solo hasta la Tercera Forma Normal, aunque existen cinco formas normales.
Bueno entonces veamos las 3 Formas que deberíamos de usar.
Liberando código VelneoEsfera
2Siguiendo el consejo que me dio en su día David Martín aquí os pondré el código que he usado para la realización del conjunto para VelneoEsfera.
Bueno empezaremos con la base. El código para la generación de la tabla.
<?
#-----------------------------------#
#
# Script diseñado por:
#
# Javier Duran Garcia
# Contacto: javier.duran@nexusfireman.es
# Web: http://nexusfireman.es
#
#-----------------------------------#
include('config.php');
$link = mysql_connect($dbhost,$dbusuario,$dbpassword);
if (!$link)
die('Error al conectarse con MySql: ' .mysql_error().'<br>Numero del error:'.mysql_errno());
if (! mysql_select_db($dbdata, $link)){
echo "No se pudo conectar correctamente con la base de datos";
exit();
}
$result = mysql_query("SELECT * FROM ".$dbtabla." ORDER BY Nombre", $link);
if ($row = mysql_fetch_array($result)){
echo "<table border = '0'> n";
do {
$NomDat = espanol($row["Nombre"]);
$AutDat = espanol($row["Autor"]);
$DescDat = espanol($row["Descripcion"]);
echo "<tr><td><a href="".$row["Web"]."" target="_blank">".$NomDat."</a><br /><strong>By ".$AutDat."</strong><br />".$DescDat."</td></tr>";
}
while ($row = mysql_fetch_array($result));
echo "</table> n<br />";
}
else {
echo "No se ha encontrado ningun registro";
}
echo "<br />";
?>
Como podemos ver en el código lo primero es hacer la llamada a la configuración. Eso no lo pongo por motivos de contraseñas y demás.
Hosting Gratis 1 año
0Navegando por laspaginas de empleome he encontrado con un banner que no veia desde hace mas de 1 año.
Ahora el PlanAvanza ataca de nuevo hasta el 23 de Diciembre regalandonos 1 año de hosting y dominio . es gratis.
Desde la web de jovenesenred podemos acceder a todo el contenido que para los jovenes hay en cuestion de novedades tecnologicas propone el gobierno para la insercion de todos al mundo de internet y las nuevas tecnologias.
Hace tiempo tuvieron la misma idea de regalar un hosting por 1 año pero esta vez lo han hecho mejor.
Ahora podemos disponer de PHP y MySQL lo cual nos permitira el poder poner un Blog, portal o cualquier CMS que se nos ocurra. Esta propuesta no estaba en la convocatoria anterior, ademas ahora haces los tramites directamente con el proveedor sin tener que esperar mas de 1 mes en recibir los datos de acceso.
Las 2 compañias encargadas este año de la distribucion son Arsys y Piensa Solutions.
Tras ver las 2 ofertas creo que la mas competitiva es la de Piensa Solutions por que da mas capacidad en espacio web, MySQL y ademas el precio a la hora de renovar es mas barato que en Arsys.
Bueno sobre gustos no hay nada escrito asi que ahora os toca a vosotros el decidir.
Suerte y daros prisa que solo teneis hasta el 23 de Diciembre.
SCHEMA en Microsoft SQL Server
2Muchas veces trabajando con bases de datos nos encontramos que al ver el listado de las tablas nos aparece el nombre de usuario al lado izquierdo del nombre de la tabla separandola de este con un punto.
Esto se denomina SCHEMA y es por decirlo de algun modo la identificacion del propietario de la tabla.
Pero podemos indicarle que utilice el de la propia base de dator para que asi no haya ninguna complicacion a la hora de programar, que suele haberlas, al importar las tablas a otra base distinta.
Para este echo cambiaremos en las seccion de Seguridad, Usuarios, hay una opcion para indicar cual sera el SCHEMA por defecto. Aqui le indicaremos que use por defecto el propio de la base de datos, suele ser “dbo”.
Si ya tenemos muchas tablas creadas y sus respectivos procedimientos almacenados podemos realizar una consulta para cambiar todos los SCHEMA de un solo golpe.
Para las tablas es bien sencillo, solo tenemos que ejecutar esta simple consulta:
exec sp_MSforeachtable "ALTER SCHEMA dbo TRANSFER ? PRINT '? modified' "
Para los procedimientos almacenador utilizaremos una consulta:
SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.' + p.Name FROM sys.Procedures p INNER JOIN sys.Schemas s on p.schema_id = s.schema_id WHERE s.Name = 'schema'
Esta consulta nos devuelve una lista con los comandos para cambiar todos los procedimientos almacenados de schema a dbo.
Solo tenemos que copiar el resultado y pegarlo en una nueva consulta.
Espero que esto sea de ayuda y si teneis alguna pregunta o quereis añadir algua correccion no lo dudeis, estamos aqui para eso.
