Base de datos

·

Una vez terminado, el servidor Web añadiremos la base de datos, tendremos que empezar a configurar la base de datos, 1º lo que tenemos que hacer es diseñarla antes de hacerla:
El diseño consiste solamente en escribir en un simple papel como sera la BD.
BD: institucion
Director: Modifica datos
Profesores: Modifican las notas
Alumno: Visitan sus datos personales y sus notas
2º Esto es lo que queremos hacer, ahora vamos haber que campos insertamos:
Profesores
id_profesores, nombre, apellidos, asignatura
Alumnos
id_alumnos, nombre, apellidos, codigo_postal, Fecha_nacimiento, sexo, direccion, poblacion, email
Notas
id_notas, agc, fol, bd, mpi, ims
Contrasenia
id_contrasenia, usuario, contrasenia

Para ejecutar Mysql nos colocamos en una ventana del shell (consola) y como root digitamos #mysql y nos aparece mysql> . Podemos empezar a crear, borrar , insertar a la base de datos que crearemos con el nombre de institucion
Empezaremos creando la base de datos . Antes quizas veremos los comandos basicos dentro de la Base de datos

mysql> SELECT USER();"ver usuario"
mysql> SHOW DATABASES;"muestra bases de datos"
mysql> SHOW TABLES;"muestra tablas"
mysql> DESCRIBE profesores;"muestra la estructura"
mysql> quit "salir de la BD"
mysql> SELECT * FROM profesores; "muestra el contenido"
mysql> update contrasenias set usuario='root@localhost' where id_contrasenia=1
"modificar el campo usuario de la tabla contrasenias donde el id_contrasenia sea 1"
mysql> delete from user where user='manolo';"borrar usuario manolo"
mysql> drop database marismas; "borrar base de datos"
#mysqldump -u root -p --opt marismas >marismas.sql
"Crear copia de seguridad de la base de datos marismas.sql"

La seguridad es muy importante y asignaremos nuestro password a la Base de datos y usuario root(si no lo tiene) . Escribimos esto en consola

#mysqladmin -u root password admindbase " lo que hace es asignar un password cada vez que entremos a Mysql nos pedira el password admindbase"

Creamos la base de datos con el nombre ‘institucion’
#mysqladmin -u root create institucion -p

Iniciamos el servidor mysql
#mysql -h localhost -u root –padmindbase institucion

Aqui trabajaremos todo a pie y tenemos que ir creando tabla por tabla(profesores, alumno,notas, contrasenias).
Pero existe una manera mas facil creando un archivo de texto que contenga todas la tablas y todos los datos, a lo que llamaremos script.sql y en la línea de comandos le decimos que ejecute el script en la base de datos llamada institucion. Lo veremos mas adelante, si aqui mismo no mañana si mas abajo pues :)

Esto es lo que haremos:
#Creamos unas tablas que tiene los campos que dijimos antes en el diseño
#Un campo se llama KEY es la clave primaria
#INT(2) significa que se va a introducir un número entero entre el 0 y el 99
#VARCHAR(20) una línea de caracteres, como máximo 20
#DATE es para las fechas
#NOT NULL es que no puede ser un campo vacío
#Introducimos los registros de las tablas

Y ahora si estamos en mysql nos salimos
con #mysql>quit
Crearemos ahora el archivo llamado script.sql Tecleamos en la consola.
#cd /root
#gedit script.sql
Y escribimos lo siguiente . Los numeros nos indican el codigo de cada linea pero no deben de ir.


  1. #-------------------------------------------------
  2. # Creando tablas
  3. #-------------------------------------------------
  4. CREATE TABLE profesores(
  5. id_profesores INT(2) NOT NULL,
  6. nombre VARCHAR(20) NOT NULL,
  7. apellidos VARCHAR(20),
  8. asignatura VARCHAR(20) NOT NULL,
  9. KEY id_profesores));
  10. CREATE TABLE alumnos( id_alumnos INT(2) NOT NULL,
  11. nombre VARCHAR(20) NOT NULL,
  12. apellidos VARCHAR(20) NOT NULL,
  13. codigo_postal VARCHAR(20),
  14. fecha_nacimiento DATE,
  15. sexo CHAR(1),
  16. direccion VARCHAR(60) NOT NULL,
  17. poblacion VARCHAR(20),
  18. ciudad VARCHAR(20),
  19. email VARCHAR(30),
  20. KEY(id_alumnos));
  21. CREATE TABLE notas( id_notas INT(2) NOT NULL,
  22. agc INT(2),fol INT(2), bd INT(2), mpi INT(2), ims INT(2),
  23. KEY (id_notas));
  24. CREATE TABLE contrasenias( id_contrasenia INT(2) NOT NULL, usuario VARCHAR(20) NOT NULL,
  25. contrasenia VARCHAR(20) NOT NULL,
  26. KEY (id_contrasenia)
  27. );
  28. #-------------------------------------------------
  29. # Insertando registros en las tablas
  30. #-------------------------------------------------
  31. INSERT INTO profesores VALUES('1','Jesus','no lo se','mpi');
  32. INSERT INTO profesores VALUES('2','Eduardo','no lo se','db');
  33. INSERT INTO profesores VALUES('3','Encarni','no lo se','ims');
  34. INSERT INTO profesores VALUES('4','Julia','no lo se','fol');
  35. INSERT INTO profesores VALUES('5','Julia','no lo se','agc');
  36. INSERT INTO alumnos VALUES '1','Isabel','Aguadel','21003','1986-02-
  37. 15','F','-','Huelva','Lepe','-');
  38. INSERT INTO alumnos VALUES('2','Angel','Baldera','2004','1985-01-26','M','-','Huelva','Huelva','-');
  39. INSERT INTO alumnos VALUES('3','Fermin','Bermejo','21005','1986-06-14','M','-','Huelva','Huelva','-');
  40. INSERT INTO notas VALUES('1','9','5','7','7','8');
  41. INSERT INTO notas VALUES('2','5','6','4','5','7');
  42. INSERT INTO notas VALUES('3','6','2','5','6','5');
  43. INSERT INTO contrasenias VALUES('1','isabel','unisabel'); INSERT INTO contrasenias VALUES('2','angel','unangel'); INSERT INTO contrasenias VALUES('3','pelopua','unpelopua');
  44. #-------------------------------------------------
  45. # FIN del script
  46. #-------------------------------------------------

Quiero compartir que esta informacion es gracias a un archivo llamado MinServ escrito por un alumno llamdo Antonio Diaz de IES las Marismas una institucion de España, pero la mayoria de cosas tienen mi toque de shaman. asi que cualquier cosa solo pregunte!!!.

Y tambien gracias a toda la mara de la UES que son genios en temas de Debian.

Ahora ya sin tanat paja. ya tenemos el script lo guardamos y para ejecutarlo tecleamos en la consola.

#mysql –u root institucion

Y ya tenemos la base de datos lista.

Ahora para ingresar tecleamos

#mysql –h localhost –u root –padmindbase institucion

Ahora explicaremos un poco de como se relacionan todo la base con el apache y php. por ejemplo adonde esta que puedo hacer con ellla, etc.

Imagina que los programas que comprenden un servidor son varios, como si de módulos se trataran, cada modulo se trata de un programa distinto, y desde el interprete de php puedes conectarte a la base de datos de la misma máquina. Una máquina puede reconocerse a si misma mediante la palabra “localhost” o mediante la IP “127.0.0.1”, de este modo para conectar a la base de datos de la misma maquina usamos o localhost o 127.0.0.1. Si quisiéramos conectar nuestro interprete de php a una base de datos de otro ordenador simplemente tendríamos que configurar la variable con la IP de dicha máquina.

Todo esto es porque queremos manipular la base de datos desde un gaina Web creada con PHP, que necesita una libreria llamada php5-mysql (algo asi es de buscarla en el synaptic e instalarla para poder conectarnos desde PHP).

Ahora ya tenemos la Base de datos y que hacemos , si solo tenemos tablas y unos cuantos campos , entonces podemos familiarizarlos con los comandos mysql

SHOW DATABASES; SHOW TABLES; drop datbases institucion; "esto te borra la base de datos".

Si no sabes lo que haces mejor ponte a jugar MetroidPrime y conviertete en un friki, viene derivado de freak=mounstro , entonces el friki en como un bicho raro que es superfanatico a un monton de babosadas que te roban la imaginacion y te dejan como a mi un poco maje, pero si que esos japoneses son buenos para inventar, que son beneficiosos -talves- pero a mi me quitan tiempo y estoy empezando a salir del circulo visioso de lo juegos aunque que buenos son a mi si me ofrecen un torneo de Mortal Kombat Deception, puta es lo mas vergon o ponerse a "topar" estar esperando el zelda Princess es de niños pero bueno que vamos a hacer.

Ahora vamos a empezar creando una conexión con la base de datos en PHP. Es como pegarle a un bolo dormido(pero para que le vas pegar si el pobre esta hecho mierda y todavia lo queres verguiar).

Vovliendo al proceso de enseñanza Algunas cosa que debemos saber son

Para crear una conexión tenemos que hacer uso de dos funciones. Por un lado tenemos “mysql_connect(host,usuario,contraseña)” y por otro tenemos “mysql_select_db(base de datos,conexión)

Empecemos declarando unas cuantas variables para organizar mejor nuestro código. En php las variables se declaran anticipando el nombre de variable con un “$”, entonces tendremos el siguiente código:$host = "localhost";$usuario = "nombredeusuario";$clave = "miclave";$bbdd = "nombredelabasededatos";

Todo esto lo crearemos siempre con e l

#gedit

Hay que destacar que nada del código PHP que se escriba lo podrá ver nunca el usuario (aunque intente descargar el .php), ya que el servidor genera y envía sólo código HTML.

Pero para comprobar que esta bien instalado el PHP escribimos

#cd /var/www
#gedit info.php

Y escribimos sólo esto

  1. ?>
NOTA:Falta un signo
Ahora nos salimos del editor ,si nos fijamos el documento se ha guardado en la carpeta /var/www que es la del apache sea que cuando abrimos firefox y escribimos localhost nos aparecera un archivo llamado info.php le damos click y nos saldra informacion de php.

Crearemos otro script que nos diga si se consigue una conexión con nuestra base de datos en MySQL.
Pero para otro dia por que tengo que regresarme a Londres City .

0 comentarios:

Publicar un comentario