Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: WiseHidden en 13 Diciembre 2012, 21:48 pm



Título: Duda creacion tablas en base de datos
Publicado por: WiseHidden en 13 Diciembre 2012, 21:48 pm
Hola a todos.
Recien estoy comenzando con esto de las tablas en las bases de datos.
y tengo una duda que agradadeceria si pudieran guiarme.
Estoy haciendo una prueba y necesito insertar estos datos

Citar
PRIMARY KEY ( `nombre1` , `nombre2` )

) ENGINE = MYISAM ;

La estoy creando desde PHPMYADMIN, y no tengo mucha noción de para que sirve estos "datos" y como insertarlo, aprovechando el post mi siguiente duda es:

¿Como lo inserto luego en una web?

Gracias por todo, no se que haria sin los foreros del hacker.net :)
Un fuerte abrazo a todos.
Atentamente
WiseHidden


Título: Re: Duda creacion tablas en base de datos
Publicado por: Shell Root en 13 Diciembre 2012, 22:05 pm
Una clave primaria compuesta de 2 datos?
Una ingreso de datos a una tabla "normal" se componene de una clave primaria.

Para pasarla a la web, existen funciones independientes para estos procesos, por ejemplo en php, mysql_query(); (http://php.net/manual/es/function.mysql-query.php)


Título: Re: Duda creacion tablas en base de datos
Publicado por: WiseHidden en 13 Diciembre 2012, 22:20 pm
Citar
Una clave primaria compuesta de 2 datos?
Una ingreso de datos a una tabla "normal" se componene de una clave primaria.

Para pasarla a la web, existen funciones independientes para estos procesos, por ejemplo en php, mysql_query();

Disculpa mi ignorancia pero no entendí bien, si me has preguntado que si solo tiene dos datos o que es una de dos datos, la verdad es q no me he explicado suficientemente bien, voy a intentar esmerarme algo mas.

Estoy haciendo una pequeña prueba y tengo que crear la siguiente tabla:

Citar


CREATE TABLE `Nombredelatabla` (

`usuario` VARCHAR( 40 ) NOT NULL ,

`nombre1` TINYINT NOT NULL ,

`nombre2` TINYINT NOT NULL ,

`pagado` VARCHAR( 2 ) NOT NULL ,

PRIMARY KEY ( `nombre1` , `nombre2` )

) ENGINE = MYISAM ;

bien lo primero que hice es crear una base de datos y una vez hecha he creado una tabla, he ido asignando todas las columnas correspondientes hasta llegar a (pagado) pero ahora no se como realizar el resto. inserto primary key como columna tambien? o como lo hago? es que no se muy bien que significa lo de primary key segun su definicion es:

Citar
Es una columna o un conjunto de columnas que identifican unívocamente a cada fila. Debe ser única, no nula y obligatoria. Como máximo, podemos definir una clave primaria por tabla.
Esta clave se puede referenciar por una columna o columnas. Cuando se crea una clave primaria, automáticamente se crea un índice que facilita el acceso a la tabla

Pero que significa y como la inserto?

y por último lo de ENGINE = MYISAM ; (Aquí idem de lo mismo)

Disculpen mi ignorancia y gracias

Un saludo
Att.
WH


Título: Re: Duda creacion tablas en base de datos
Publicado por: Shell Root en 13 Diciembre 2012, 22:41 pm
La PRIMARY KEY, es un dato comun y corriente, sólo que no puede ser duplicado, es decir, es un registro único.

Código
  1. INSERT INTO `NombreDeLaTabla`(`usuario`,`nombre1`,`nombre2`,`pagado`) VALUES('shellroot', 1, 1, 'SI');
No se para que usas ese campo de tipo TINYINT para guardar 1 bit?

NOTA: A manera de ejemplo, inserta el mismo registro y verás que saldra un error por una PRIMARY KEY duplicada.


Título: Re: Duda creacion tablas en base de datos
Publicado por: WiseHidden en 13 Diciembre 2012, 22:47 pm
Citar
Insertar Cita
La PRIMARY KEY, es un dato comun y corriente, sólo que no puede ser duplicado, es decir, es un registro único.

Código

    INSERT INTO `NombreDeLaTabla`(`usuario`,`nombre1`,`nombre2`,`pagado`) VALUES('shellroot', 1, 1, 'SI');

No se para que usas ese campo de tipo TINYINT para guardar 1 bit?

NOTA: A manera de ejemplo, inserta el mismo registro y verás que saldra un error por una PRIMARY KEY duplicada.

Creo que ya entendí perfectamente que significa, no tengo que registrarlo es solo como si fuera una sugerencia para no repetir ningun campo n? Por decirlo de algun modo cierto?

Citar
No se para que usas ese campo de tipo TINYINT para guardar 1 bit?

Mira este es la prueba que estoy haciendo (de unos ejercicios de esta web)

Código:
http://www.iesjuandelacierva.com/paginade/difisi/php/porra.html

Asi explico mucho mejor lo que quiero hacer :)

Puedes aportar cualquier sugerencia u aportación será muy bien recibida :)






Título: Re: Duda creacion tablas en base de datos
Publicado por: WiseHidden en 16 Diciembre 2012, 08:18 am
Que os parece el ejercicio? Lo veis bien enfocado o podria tener algunas mejoras? una vez hechas las tablas y demás como puedo "insertarlo" en mi web??
Un saludooo y mil gracias por todo
Att.
WH


Título: Re: Duda creacion tablas en base de datos
Publicado por: WiseHidden en 18 Diciembre 2012, 15:55 pm
Muy buenas a todos, he estado investigando por mi cuenta y he dado con la tecla para crear la key primary.

Ya he creado todas las tablas correspondientes. y ahora he pasado a "insertarlas" en mi web.

he creado un archivo llamado porra.php con el siguiente código:

Citar
<?php
function Conectarse()
{
   if (!($link=mysql_connect("localhost","admin","*********"))) //en este caso * (es la contraseña)
   {
      echo "Error conectando a la base de datos.";
      exit();
   }
   if (!mysql_select_db("db_apuestas",$link))
   {
      echo "Error seleccionando la base de datos.";
      exit();
   }
   return $link;
}

$link=Conectarse();
echo "Conexión con la base de datos conseguida.<br>";


$result=mysql_query("select * from Porra",$link);
?>
   <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
      <TR><TD> AQUI NO SE QUE CÓDIGO HE DE INTRODUCCIR </TD></TR>

<?php

      while($row = mysql_fetch_array($result)) {
         printf("<tr><td>&nbsp;%s</td></tr>", $row["codigo"]);
      }

      mysql_free_result($result);




   mysql_close($link); //cierra la conexion
?>

Cuestion despues de crear este código y subirlo a mi servidor pongo la url: www.miweb/porra.html/

y me aparece el siguiente mensaje:

Citar
Conexión con la base de datos conseguida.
(Y una tabla de 1 sola columna y fila donde se supone que tengo que escribir el código)

Se deberia de quedar algo similar a este ejercicio.
http://www.iesjuandelacierva.com/paginade/difisi/php/porra.html (http://www.iesjuandelacierva.com/paginade/difisi/php/porra.html)

Me pueden guiar a partir de aqui, ando un poco perdio en esto y se me está haciendo un lio!! agradeceria vuestra orientación como haceis siempre.

De ya mil gracias
Atentamente
WH


Título: Re: Duda creacion tablas en base de datos
Publicado por: WiseHidden en 19 Diciembre 2012, 21:50 pm
Nada?? 175 Visitas y nadie tiene una minima indicación que aportar, ningun ápice de orientación? Valla!! Pues si que ha cambiado elhacker.net. Veo que la comunidad no es lo que era, es una lastima, habia aprendido muchisimo en este portal al igual que yo siempre ayude u orienté a quien me fue posible, pero ultimamente esto deja mucho q desear. Pues nada.
Gracias por tiempos mejores
Un saludo
Att.
WH