Curso de PHP II. Acceso a Bases de Datos. MySQL.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Curso de PHP II. Acceso a Bases de Datos. MySQL."

Transcripción

1 Curso de PHP II. Acceso a Bases de Datos. MySQL.

2 Índice Capítulo 1. Introducción Conceptos básicos... 4 Capítulo 2. El Modelo Entidad/Relación Introducción Entidades Atributos Relaciones entre entidades Paso a tablas Dominios Capítulo 3. El lenguaje SQL Introducción Sintaxis básica de las órdenes SQL Contenido de la Base de Datos Ejemplos de SELECT Ejemplos de INSERT Ejemplos de UPDATE Ejemplos de DELETE Capítulo 4. phpmyadmin: MySQL Introducción Instalación phpmyadmin Capítulo 5. Conexión y Desconexión a una Base de Datos Introducción Establecer la conexión Control básico de errores Desconexión de la Base de Datos Capítulo 6. Acceso a la Base de Datos Obtención de Datos Insertar nuevos datos Modificar datos existentes Borrar datos Página 2 de 43

3 Índice de Ilustraciones Ilustración 1. Entidades...5 Ilustración 2. Atributos...6 Ilustración 3. Claves de una entidad....6 Ilustración 4. Relación Unaria...7 Ilustración 5. Relación Binaria...7 Ilustración 6. Relación Ternaria...7 Ilustración 7. Relación Binaria 1:1...8 Ilustración 8. Ejemplo de Relación Binaria 1:1...9 Ilustración 9. Relación Binaria 1:N...9 Ilustración 10. Ejemplo de Relación Binaria 1:N Ilustración 11. Relación Binaria N:N Ilustración 12. Ejemplo de Relación Binaria N:N Ilustración 13. Diseño del ejercicio de ejemplo Ilustración 14. Ejemplo de ejecución inicial de PHP en 23 Página 3 de 43

4 Capítulo 1. Introducción. 1.- Conceptos básicos. En la primera parte de este curso de PHP estudiamos cómo hacer una página dinámica, en la cual la página Web que el usuario veía podía contener una o otra información en función de lo que quisiéramos mostrarle. Es esta segunda parte vamos a aprender cómo obtener el contenido de la página que mostraremos al usuario a partir de una Base de Datos, en concreto usaremos el Sistema Gestor de Bases de Datos MySQL. Para comenzar el curso nos centraremos en el lenguaje de acceso a datos SQL, basándonos en un ejemplo muy simple con sólo dos tablas de datos. Este ejemplo será usado durante todo el curso para el desarrollo del mismo. En este capítulo instalaremos el gestor de Bases de Datos MySQL y aprenderemos a crear las tablas, sus campos, introducir datos, importar/exportar datos, etc. Esto último es muy importante porque nos servirá para poder exportar la Base de Datos que hayamos creado en nuestro ordenador (junto a las páginas PHP) al servidor que tengamos en Internet. El siguiente capítulo tratará de cómo conectarnos a la Base de Datos. Esto lo haremos desde PHP con los comandos necesarios. Finalmente accederemos a la Base de Datos para realizar en ella las operaciones básicas de acceso: seleccionar/buscar datos, insertar nuevos datos, borrar datos y finalmente modificar los datos ya existentes. Página 4 de 43

5 Capítulo 2. El Modelo Entidad/Relación. 1.- Introducción. Antes de pasar a implementar la Base de Datos en un Sistema Gestor de Base de Datos como puede ser MySQL deberemos realizar un diseño correcto de la misma, por que si el diseño es incorrecto (o inexistente) la Base de Datos tendrá errores que nos dificultarán su uso, y sobre todo nos complicarán mucho cualquier modificación posterior. Como MySQL es un Sistema Gestor de Bases de Datos Relacional usaremos en modelo Entidad/Relación (E/R) para realizar el análisis inicial. Un consejo muy importante es realizar este diseño en papel (usando los dibujos que a continuación se explicarán) por que visualmente resulta mucho más sencillo de entender. 2.- Entidades. Entenderemos como entidad como cualquier objeto real o abstracto sobre el cual deseamos guardar información. Por ejemplo, podríamos tener las siguientes entidades: persona, alumno, cliente, factura, población, etc. Su representación en el modelo E/R es mediante un rectángulo dentro del cual aparecerá el nombre de dicha entidad. Como norma que se seguirá en este curso, el nombre aparecerá en mayúsculas y en plural. Ejemplos: Ilustración 1. Entidades 3.- Atributos. Las entidades se componen de atributos que son cada una de las propiedades o características que tienen las entidades. Cada ejemplar de una misma entidad posee los mismos atributos, tanto en nombre como en número, diferenciándose cada uno de los ejemplares por los valores que toman dichos atributos. Por ejemplo, para la entidad persona aparecida en el apartado anterior podríamos tener los siguientes atributos: nombre, apellidos, sexo, fecha de nacimiento, DNI, etc. Los atributos aparecerán representados mediante una elipse, y una línea que une al atributo con su correspondiente entidad. Ejemplos: Página 5 de 43

6 Ilustración 2. Atributos Claves. Cuando uno de los atributos de una entidad no puede tomar valores repetidos entonces hablaremos de atributos clave. Un ejemplo de esto sería el atributo DNI en la entidad personas : no podremos tener dos personas con el mismo DNI. Las claves pueden ser simples (como el ejemplo del DNI) o compuestas: en la entidad personas si suponemos que no puede haber dos personas con el mismo nombre y apellidos entonces la clave es compuesta. Puede darse el caso de que tengamos dos posibles claves o más, entonces una de ellas será la clave principal, y la otra u otras serán claves alternativas. Esto es importante, pues en el posterior diseño de la Base de Datos habrá que indicárselo al Sistema Gestor de Bases de Datos (de una forma muy sencilla, como ya veremos). Una vez decidida cual es la lave principal y cual/es la/s alternativa/s deberemos indicarlo en el diseño E/R de la siguiente forma: Clave principal: la subrayaremos. Claves alternativas: las subrayaremos, pero de forma discontinua. Veamos un ejemplo con la entidad alumnos. Para esta entidad vamos a tener los siguientes atributos: DNI, Num.Expediente, Nombre, Apellidos, Sexo. Una vez tenemos los atributos observamos que tenemos dos posibles claves: DNI y Num.Expediente. Decidimos que la clave principal será DNI, y la alternativa Num.Expediente. La representación sería la siguiente: Ilustración 3. Claves de una entidad. 4.- Relaciones entre entidades. Como ya se ha comentado, estamos usando el modelo relacional, el cual se basa en que todas las entidades están relacionadas. Página 6 de 43

7 Por ejemplo, en una Base de Datos de un colegio, la entidad alumnos estará relacionada con la entidad profesores por que un profesor impartirá clases a un alumno (o a varios) y de la misma forma la entidad de cursos estará relacionada con la entidad profesores para indicarnos que profesores imparten un curso, y con la entidad alumnos para indicarnos que alumnos están en dicho curso. En resumen, todo diseño de una Base de Datos tendrá varias entidades, y además toda entidad estará relacionada con al menos otra entidad, es decir, si tenemos una entidad que no se relaciona con ninguna otra hay algo que no es correcto en el diseño. Si se desea profundizar en el Modelo E/R se recomienda que se busque bibliografía a cerca de dicho modelo por que este tema se sale de los contenidos previstos en este curso. 5.- Paso a tablas. Una vez realizado el diseño de E/R se procederá al paso a tablas, es decir, a indicar que tablas y atributos tendremos que implementar en el Sistema Gestor de Bases de Datos. Al tratarse de un tema que se sale de los contenidos de este curso se verá sin profundizar. Podremos tener relaciones entre entidades de varios tipos: Unarias: una entidad se relaciona consigo misma. Ilustración 4. Relación Unaria Binarias: dos entidades que se relacionan entre sí. Ilustración 5. Relación Binaria Ternarias: tres relaciones relacionadas entre sí. Ilustración 6. Relación Ternaria Para indicar que dos entidades se relacionan entre sí (o una consigo misma) las uniremos con una línea que contendrá un rombo partido en su punto medio, tal como Página 7 de 43

8 aparece en la Ilustración 5, o un triángulo si se trata de una relación ternaria tal y como aparece en la Ilustración 6. Al salirse de los objetivos de este curso veremos sólo el caso más usual, que son las relaciones binarias y algunas de sus características. A continuación veremos los 3 casos posibles de relaciones binarias y su forma de pasarlas a tablas. Para ello veremos que el equivalente a una entidad será una tabla (aunque no sea siempre así, lo veremos en las relaciones uno a uno ) y el equivalente a un atributo será un campo Relaciones Binarias 1:1 (uno a uno). En este primer caso veremos una relación R que relaciona las entidades A y B. Cada una de ellas con sus atributos correspondientes y además pondremos también un atributo en la misma relación. Ilustración 7. Relación Binaria 1:1 Este caso nos permite tener relaciones en las que un elemento de la entidad A se va a relacionar con uno solo de B, y al revés. Más adelante veremos un ejemplo para aclarar mejor esta idea. En principio podríamos pensar que tendríamos dos tablas, pero éste es el único caso en el que obtenemos menos tablas que entidades. Veamos la tabla que nos aparece: A = a 0 + a 1 + b 0 + b 1 + r Clave Principal: a 0 Clave Alternativa: b 0 Como podemos ver obtenemos una tabla solamente que tiene todos los atributos de las dos entidades y además el de la relación. Además hay que observar que tenemos una clave principal (la de la entidad A) y otra alternativa (la de la entidad B), que podríamos haber escogido al revés. Veamos ahora un ejemplo para aclarar esta idea: Tenemos una Base de Datos que nos guardará Equipos de Fútbol y sus correspondientes Entrenadores. Como podemos observar un equipo de fútbol sólo podrá tener un entrenador, y a su vez, un entrenador sólo podrá entrenar a un equipo. Además, y para este ejemplo, pondremos un atributo en la relación Entrenan para indicarnos la fecha el la cual el entrenador comenzó a entrenar el equipo. Página 8 de 43

9 La tabla resultante sería la siguiente: Ilustración 8. Ejemplo de Relación Binaria 1:1 ENTRENAN = DNI + Nombre + Apellidos + NombreEquipo + Estadio + FechaInicio Clave Principal: DNI Clave Alternativa: NombreEquipo Podemos observar varias cosas: Como hemos unido las dos entidades, hemos tenido que cambiar el nombre al atributo Nombre de la entidad Equipos para que no fuese el mismo que el de la entidad Entrenadores. Nos aparece, como ya se vio, una clave principal y otra alternativa Relaciones Binarias 1:N (uno a muchos). En este caso vamos a ver el paso a tablas cuando una entidad A puede relacionarse con varios elementos de la entidad B, pero un elemento de la entidad B sólo puede relacionarse con uno de la entidad A. La parte del muchos aparecerá sombreada en el rombo. Veamos las tablas que nos aparecen: A = a 0 + a 1 Clave Principal: a 0 B = b 0 + b 1 + a 0 + r Clave Principal: b 0 Ilustración 9. Relación Binaria 1:N Podemos ver que la parte del muchos, en este caso la entidad B, coge tanto la clave de la entidad A como el atributo de la relación R. De esta forma podemos saber cada elemento de B con cual está relacionado en A. Veamos ahora un ejemplo para aclarar esta idea: Tenemos una Base de Datos que nos guardará Equipos de Fútbol y sus correspondientes Jugadores. Como podemos observar un equipo de fútbol podrá tener varios jugadores, pero un jugador sólo podrá jugar en un equipo. Además, y para este ejemplo, pondremos un atributo en la relación Juegan para indicarnos la fecha el la cual el jugador comenzó a jugar el equipo. Página 9 de 43

10 Ilustración 10. Ejemplo de Relación Binaria 1:N Las tablas resultantes serían las siguientes: JUGADORES = DNI + Nombre + Apellidos + NombreEquipo + FechaInicio Clave Principal: DNI EQUIPOS = NombreEquipo + Estadio Clave Principal: NombreEquipo Podemos observar varias cosas: Hemos tenido que cambiar el nombre al atributo Nombre de la entidad Equipos para que no fuese el mismo que el de la entidad Jugadores. En la tabla Equipos aunque no hacía falta también le hemos cambiado el nombre para mayor claridad. La clave de la entidad con el uno (la parte en blanco en el rombo) pasa a la otra entidad, de esta forma para cualquier jugador miraremos el atributo NombreEquipo y sabremos tanto el equipo al que pertenece como cualquier otro dato de ese equipo: mirando con esa clave en la entidad Equipos obtendremos el resto de atributos para ese Equipo. La FechaInicio también pasaría a la entidad que tiene el Muchos (rombo relleno) junto a ella Relaciones Binarias N:N (muchos a muchos), Por último vamos a ver el paso a tablas de dos entidades para las cuales un elemento de una de ellas puede relacionarse con varios de la otra y viceversa. Veamos las tablas que nos aparecen: A = a 0 + a 1 Clave Principal: a 0 B = b 0 + b 1 Clave Principal: b 0 R = a 0 + b 0 + r Clave Principal: a 0 + b 0 Ilustración 11. Relación Binaria N:N Podemos ver que para cada entidad aparece una tabla, pero además aparece otra tabla nueva que contendrá la relación entre ambas entidades junto con el atributo (o Página 10 de 43

11 atributos) que tenga la relación, y como clave principal tendrá las claves principales de las dos entidades que forman parte de la relación. Veamos ahora un ejemplo para aclarar esta idea: Tenemos una Base de Datos que nos guardará Equipos de Fútbol y sus correspondientes Jugadores. Como podemos observar un equipo de fútbol podrá tener varios jugadores, y además un jugador podrá haber jugado en más de un equipo. Además, y para este ejemplo, pondremos un atributo en la relación Juegan para indicarnos la temporada en la cual el jugador perteneció al equipo. Ilustración 12. Ejemplo de Relación Binaria N:N Las tablas resultantes serían las siguientes: JUGADORES = DNI + Nombre + Apellidos Clave Principal: DNI EQUIPOS = NombreEquipo + Estadio Clave Principal: NombreEquipo JUEGAN = DNI + NombreEquipo + Temporada Clave Pincipal: DNI + NombreEquipo Podemos observar varias cosas: Para cada una de las dos entidades tenemos una tabla que contiene sólo los atributos de dicha entidad. Para la tabla correspondiente a la relación tendremos una clave principal doble que estará formada por las claves principales de las entidades que forman parte de la relación. Obsérvese que un jugador podrá aparecer varias veces en la tabla Juegan pero nunca podrá aparecer más de una vez relacionado con un mismo equipo, pues los pares Jugador,Equipo no pueden repetirse por ser la clave principal de la tabla. (Este ejemplo no sería muy correcto por que un jugador podría haber estado en un equipo en varias temporadas, y para ese caso deberíamos incluir el atributo Temporada en la clave para permitir esos casos). Además la tabla Juegan tendrá los atributos que estaban en la relación (en este caso la temporada). 6.- Dominios. Por último, y una vez decidido que Sistema Gestor de Bases de Datos vamos a usar tendremos que decidir que dominio tendrá cada atributo de las tablas, es decir, que tipo de datos almacenará. Para ello nos basaremos en MySQL y en el ejemplo que vamos a usar en este curso. Como podrá observarse el ejemplo será muy sencillo, pues el curso se centra en los accesos a la Base de Datos desde páginas Web Diseño del ejemplo usado en el curso. El ejemplo en el que basaremos el curso va a ser el siguiente: tenemos un centro Página 11 de 43

12 que imparte cursos por profesores (para hacerlo de forma sencilla no se tendrán en cuenta los alumnos, pero para ello sólo haría falta incluir una nueva entidad que relacione los cursos con los alumnos ). Un profesor podrá impartir varios cursos, pero un curso solo podrá ser impartido por un profesor, por lo que tendremos una relación uno a muchos. El diseño sería el siguiente: Ilustración 13. Diseño del ejercicio de ejemplo Paso a tablas del ejemplo. Una vez realizado el diseño, el siguiente paso será el paso a tablas, cuyo resultado será el siguiente: CURSOS = CodCurso + Nombre + CodProfesor Clave Principal: CodCurso PROFESORES = CodProfesor + DNI + Nombre + Apellidos Clave Principal: CodProfesor Clave Alternativa: DNI Asignación de dominios. El primer paso para decidir los dominios será asignar a cada campo de la tabla un dominio genérico. Para ello vamos a considerar los siguientes dominios: Enteros: campos que no necesitaremos decimales. Además este campo podrá ser autonumérico, es decir, según vayamos dando de alta registros en la tabla se le asignará un número entero consecutivo, que nos evitará que lo tengamos que hacer nosotros y por lo tanto que tengamos que saber cual es el siguiente número a asinar. Reales: campos para los que necesitemos tener decimales. Alfanuméricos: campos en los cuales almacenaremos letras, números, caracteres especiales (como los siguientes: $ % _ : ; * + etc.). Para este tipo de campo deberemos decidir su longitud, o si será de longitud infinita (usado para campos como descripciones, notas, observaciones, etc. Fecha/hora: campos que contendrán una fecha, una hora, o ambas a la vez. Lógicos o booleanos: contendrán valores como si o no, verdad o falso, activado o desactivado, etc. Otros: como pueden ser campos que contengan imágenes, contenido en binario, etc. En el ejemplo anterior tendríamos los siguientes dominios: CURSOS = CodCurso... Alfanumérico(5) + Nombre... Alfanumérico(30) + CodProfesor... Entero PROFESORES = CodProfesor... Entero(Autonumérico) Página 12 de 43

13 + DNI... Alfanumérico(9) + Nombre... Alfanumérico(20) + Apellidos... Alfanumérico(30) Veamos algunas observaciones sobre lo anterior: El código de curso se ha decidido que sea alfanumérico pues contendrá una abreviación del nombre del curso. El CodProfesor en la tabla de Profesores es autonumérico, de forma que cada vez que demos de alta un profesor se le asignará un número correlativo y de forma automática, e esta forma no tendremos que escribirlo nosotros ni deberemos saber cual es el siguiente código a asignar cuando vayamos a dar de alta otro profesor. El CodProfesor de la tabla Cursos debe ser del mismo tipo que el de la tabla Profesores para que podamos relacionar ambas tablas. Recordemos que ambas tablas estaban unidas a través de este atributo. Así cuando veamos que un curso es impartido por el CodProfesor 23 podremos ir a la tabla de Profesores y buscar el que tenga ese CodProfesor para obtener el resto de datos de este profesor. El DNI se ha decidido que sea alfanumérico para poder almacenar los 8 números y la letra del NIF. Y recordemos que no permitirá duplicados por ser clave alternativa. En segundo lugar, después de decidir que Sistema Gestor de Bases de Datos vamos a usar (en nuestro caso MySQL), deberemos de ver los tipos de datos o dominios de que disponemos en éste y elegir los más adecuados para nuestros campos. Así tendremos: CURSOS = CodCurso... Alfanumérico(5)... VARCHAR(5) + Nombre... Alfanumérico(30)... VARCHAR(30) + CodProfesor... Entero... INT PROFESORES = CodProfesor... Entero(Autonumérico) INT(AutoInc.) + DNI... Alfanumérico(9)... VARCHAR(9)UNIC. + Nombre... Alfanumérico(20)... VARCHAR(20) + Apellidos... Alfanumérico(30)... VARCHAR(30) Y veamos algunos comentarios sobre estas decisiones: Para los campos alfanuméricos escogeremos el tipo VARCHAR, pues aunque le digamos que va a tener una longitud de 20 caracteres, internamente no ocupa esos 20 caracteres sino sólo los que realmente contengan algo. Es decir, si un profesor se llama Juan sólo usará 4 bytes, y no 20 como cabría esperar (o como haría si usamos el tipo CHAR). Para el CodProfesor de la tabla Profesores deberemos de marcar la casilla AUTO_INCREMENT. El resto de tipos de campos serán comentados en el Capítulo 4. más detalladamente. Página 13 de 43

14 Capítulo 3. El lenguaje SQL. 1.- Introducción. SQL (Structured Query Language) es un lenguaje de programación para acceder y manipular bases de datos. SQL surgió de un proyecto de IBM en el que investigaba el acceso a bases de datos relacionales. Esto poco a poco se ha ido convirtiendo en un estándar de lenguaje de bases de datos y gran parte de ellas lo soportan. Por esta razón, se considera a SQL como un lenguaje normalizado, que nos permite interactuar con cualquier tipo de base de datos (MS Access, SQL Server, MySQL...) Básicamente SQL está formado por dos tipos de comandos: DDL que permiten crear y definir nuevas bases de datos, campos e índices. DML que permiten generar consultas para ordenar, filtrar, insertar, modificar y extraer datos de la base de datos. En este capítulo se usarán solamente los comandos DML, dejándose los comandos DDL para el capítulo correspondiente a MySQL, desde el cual se crearán las tablas y sus campos de forma visual desde su página gestora. También podremos realizar las operaciones correspondientes a los comandos DML desde la página de MySQL, pero su utilidad principal será desde las páginas PHP que creemos. 2.- Sintaxis básica de las órdenes SQL. Para los comandos SQL usaremos la siguiente nomenclatura: Las palabra clave del lenguaje SQL se pondrán en mayúsculas (aunque los gestores de Bases de Datos funcionan indistintamente en mayúsculas, minúsculas o aunque mezclemos ambas en una palabra). Ejemplos de estas palabras son: SELECY, FROM, INSERT, ORDER, etc. Entre corchetes cuadrados indicaremos las partes de un comando opcional. Si además aparecen varias opciones separadas por la barra esto nos indica que podremos usar una u otra, pero no las dos. Entre las llaves { y } indicaremos las partes del comando que pueden aparecer varias veces. Entre los símbolos < y > indicaremos qué deberemos de poner en ese lugar y que lo sustituiremos por el texto correspondiente, por ejemplo, por el nombre de una tabla o de un campo (sin poner esos símbolos). Se recomienda el uso del sangrado para indicar que una parte de un comando está incluida en la parte del comando que aparece en la línea anterior (un comando podrá necesitar más de una línea, por eso se recomienda el uso del sangrado ). Recordamos al alumno que el objetivo de este curso no es conocer perfectamente SQL, por lo que se verán las instrucciones más importantes y sin entrar en detalle en ellas. 3.- Contenido de la Base de Datos. Para los siguientes ejemplos vamos a suponer que las tablas del ejemplo cursosprofesores contienen los siguientes datos: Página 14 de 43

15 PROFESORES: CodProfesor DNI Nombre Apellidos L Carlos García López M Pedro Rodríguez Abad B Carlos Martínez Díaz A Manuel Arroyo Gil CURSOS: CodCurso Nombre CodProfesor PHP01 Introducción al PHP 1 PHP02 PHP. Acceso a Bases de Datos 1 OFI01 Ofimática: Word y Excel. 2 OFI02 Ofimática: Writer y Calc. 2 OFI03 Ofimática Avanzada: Word, Escel. 2 Notese que para cada ejercicio siempre vamos a partir de estas tablas, aunque en un ejercicio anterior se haya modificado alguna de ellas. 4.- Ejemplos de SELECT Esta instrucción nos permite seleccionar información de la Base de Datos. Su sintaxis general es la siguiente: SELECT [ALL DISTINCT ] <nombre_campo> [{,<nombre_campo>}] FROM <nombre_tabla> [{,<nombre_tabla>}] [WHERE <condicion> [{ AND OR <condicion>}]] [GROUP BY <nombre_campo> [{,<nombre_campo>}]] [HAVING <condicion>[{ AND OR <condicion>}]] [ORDER BY <nombre_campo> [ASC DESC] [{,<nombre_campo> <indice_campo> [ASC DESC ]}]] Aunque no veremos todas sus posibilidades, vamos a ir poco a poco viendo sus posibles usos basándonos en las tablas del ejemplo cursos-profesores. Obtener todos los datos de todos los profesores. SELECT * FROM Profesores; El resultado será: CodProfesor DNI Nombre Apellidos L Carlos García López M Pedro Rodríguez Abad B Carlos Arroyo Díaz A Manuel Martínez Gil Como podemos ver nos muestra tanto todos los campos de la tabla Profesores (esto viene indicado por el asterísco) como todos los profesores. Además, y como se puede ver, es recomendable terminar la instrucción con un punto y coma. Obtener el nombre y apellidos de todos los profesores. En este caso como sólo queremos ver el nombre y los apellidos sustituimos el asterísco por esa información: Página 15 de 43

16 SELECT Nombre, Apellidos FROM Profesores; Observemos que la lista de campos que queremos obtener está separada por una coma. Y la solución será: Nombre Carlos Pedro Carlos Manuel Apellidos García López Rodríguez Abad Arroyo Díaz Martínez Gil Obtener el nombre y apellidos de los profesores con código mayor que 2. SELECT Nombre, Apellidos FROM Profesores WHERE CodProfesor > 2; Y el resultado será: Nombre Carlos Manuel Apellidos Arroyo Díaz Martínez Gil Obtener todos los datos de todos los profesores ordenados por nombre. En los ejemplos anteriores vemos que el listado normalmente saldrá en el orden en que se dieron de alta los profesores. Para que nos salgan los datos ordenados usaremos ORDER: SELECT * FROM Profesores ORDER BY Nombre; Y el resultado será: CodProfesor DNI Nombre Apellidos L Carlos García López B Carlos Arroyo Díaz A Manuel Martínez Gil M Pedro Rodríguez Abad Como puede observarse salen ordenados por nombre, pero en el caso de que haya dos profesores con el mismo nombre posiblemente aparezcan en el orden en que se dieron de alta, esto dependerá del Sistema Gestor de Bases de Datos Obtener todos los datos de todos los profesores ordenados por nombre y apellidos. SELECT * FROM Profesores ORDER BY Nombre, Apellidos; Y el resultado será: CodProfesor DNI Nombre Apellidos B Carlos Arroyo Díaz L Carlos García López A Manuel Martínez Gil M Pedro Rodríguez Abad Obtener los cursos impartidos por el profesor Carlos. Página 16 de 43

17 En este ejemplo vamos a ver como obtener datos de dos tablas a través de la relación que existe entre ellas con el campo CodProfesor. SELECT Profesores.Nombre, Cursos.CodCurso, Cursos.Nombre FROM Profesores, Cursos WHERE Profesores.Nombre = Carlos AND Profesores.CodProfesor = Cursos.CodProfesor; Y el resultado será: Nombre CodCurso Nombre Carlos PHP01 Introducción al PHP Carlos PHP02 PHP. Acceso a Bases de Datos En la instrucción podemos observar varias cosas: Cuando tenemos varias tablas y en ellas hay campos con el mismo nombre (en este caso el campo Nombre ) debemos poner delante el nombre de la tabla seguido de un punto para hacer referencia a dicho campo: Profesores.Nombre, Profesores.CodProfesor, etc. Cuando usamos el signo igual para compararlo con un número no hacía falta poner las comillas, pero en el caso de querer compararlo con un texto (en este caso con el nombre Carlos ) debemos ponerlo entre comillas. Si necesitamos que se cumplan varias condiciones en el WHERE usaremos AND si estas condiciones se han de complir simultáneamente, y usaremos OR si es sufuciente con que se cumpla sólo alguna de ellas. Para expresar la relación entre dos tablas usaremos la igualdad entre los campos que hacen referencia a dicha relación entre las dos tablas (o más si fuera necesario): Profesores.CodProfesor = Cursos.CodProfesor. 5.- Ejemplos de INSERT Esta instrucción nos permite insertar información de la Base de Datos. Su sintaxis general es la siguiente: INSERT INTO <nombre_tabla> [(<campo1>[,<campo2>,...])] VALUES (<valor1>,<valor2>,...); Las inserciones sólo se pueden hacer de una en una, es decir, si deseamos insertar 3 nuevos registros deberemos hacer 3 veces esta instrucción: una para cada nuevo registro. A continuación veremos unos ejemplos de esta instrucción. Insertar un curso nuevo al profesor Manuel. INSERT INTO Cursos VALUES ( PRG01, Programación en C, 4); Esta instrucción nos insertará un registro nuevo, y la tabla Cursos quedará como: CodCurso Nombre CodProfesor PHP01 Introducción al PHP 1 PHP02 PHP. Acceso a Bases de Datos 1 OFI01 Ofimática: Word y Excel. 2 OFI02 Ofimática: Writer y Calc. 2 Página 17 de 43

18 OFI03 Ofimática Avanzada: Word, Escel. 2 PRG01 Programación en C 4 En el ejemplo vemos que en caso de no indicar los campos que vamos a rellenar, se toma por defecto que vamos a darle valor a todos los campos en el orden en los que aparecen definidos. Si no queremos dar valor a todos los campos deberemos indicar a cuales vamos a darselo (ver siguiente ejemplo). Crear un nuevo curso, sin asignarle profesor. INSERT INTO Cursos CodCurso, Nombre VALUES ( PRG01, Programación en C ); Esta instrucción nos insertará un registro nuevo, y la tabla Cursos quedará como: CodCurso Nombre CodProfesor PHP01 Introducción al PHP 1 PHP02 PHP. Acceso a Bases de Datos 1 OFI01 Ofimática: Word y Excel. 2 OFI02 Ofimática: Writer y Calc. 2 OFI03 Ofimática Avanzada: Word, Escel. 2 PRG01 Programación en C Podemos observar que no le hemos asignado profesor (CodProfesor) al curso, por lo que éste aparecerá con valor nulo. Entonces pueden pasar varias cosas: Si el campo no acepta nulos (esto se indica cuando definimos los campos): la instrucción dará error. Que se guarde el registro y que a los campos que no se les ha indicado nada re pongan a nulo. Que se guarde el registro y que a los campos que no se les ha indicado nada tomen un valor por defecto (que se indicó al definirlos), o un valor automático (cuando se definió de tipo autoincremental). Crear un nuevo profesor. INSERT INTO Profesores DNI, Nombre, Apellidos VALUES ( E, Luis, Olmos Pérez ); Esta instrucción nos insertará un registro nuevo, y la tabla Profesores quedará como: CodProfesor DNI Nombre Apellidos L Carlos García López M Pedro Rodríguez Abad B Carlos Martínez Díaz A Manuel Arroyo Gil E Luis Olmos Pérez Y podemos observar que el campo CodProfesor, de tipo autoincremental, toma el siguiente valor. 6.- Ejemplos de UPDATE Esta instrucción nos permite actualizar información de la Base de Datos. Su Página 18 de 43

19 sintaxis general es la siguiente: UPDATE <nombre_tabla> SET <campo1> = <valor1> {[,<campo2> = <valor2>,...,<campon> = <valorn>]} [WHERE <condicion>]; Las actualizaciones pueden afectar a uno, varios o a todos los registros de una tabla de la Base de Datos. Con esta instrucción (igual que con la de borrado) debemos tener cuidado por que es muy importante usar la opción WHERE (aunque sea opcional) pues si no la ponemos nos actualizará todos los registros de la tabla. Asignarle el curso PHP01 al profesor Manuel. UPDATE Cursos SET CodProfesor = 4 WHERE CodCurso = PHP01 ; La tabla Cursos quedará: CodCurso Nombre CodProfesor PHP01 Introducción al PHP 4 PHP02 PHP. Acceso a Bases de Datos 1 OFI01 Ofimática: Word y Excel. 2 OFI02 Ofimática: Writer y Calc. 2 OFI03 Ofimática Avanzada: Word, Escel. 2 Asignar al profesor Manuel los cursos que tiene el profesor Pedro. Normalmente en la condición se usará con el campo clave de la tabla para así conseguir que sólo afecte el cambio a un registro (como en el ejemplo anterior), pero podemos usar cualquier campo y condición (como en este ejemplo). UPDATE Cursos SET CodProfesor = 4 WHERE CodProfesor = 2; La tabla Cursos quedará como: CodCurso Nombre CodProfesor PHP01 Introducción al PHP 1 PHP02 PHP. Acceso a Bases de Datos 1 OFI01 Ofimática: Word y Excel. 4 OFI02 Ofimática: Writer y Calc. 4 OFI03 Ofimática Avanzada: Word, Escel. 4 Vemos que se han realizado cambios en 3 registros. 7.- Ejemplos de DELETE Esta instrucción nos permite borrar información de la Base de Datos. Su sintaxis general es la siguiente: DELETE FROM <nombre_tabla> [WHERE <condicion>]; El borrado puede afectar a uno, varios o a todos los registros de la Base de Datos. Hemos de tener en cuenta que aunque borremos todos los registros, la tabla seguirá existiendo, aunque sin datos. Para borrar la tabla o su estructura existen otras órdenes Página 19 de 43

20 que no usaremos por que en caso de necesitarlo podremos hacerlo desde pmpmyadmin de forma más sencilla (igual que cuando hemos creado la tabla). Esta instrucción es muy sencilla, pero debermos tener en cuenta una cosa: no debemos de borrar un profesor si éste tiene cursos asignados. Esto aveces es imposible: cuando al definir la tabla Cursos le hemos indicado que CodProfesor es referencia a otra tabla ( Profesores ) y que no puede tener valores nulos. Borrar el curso OFI03. DELETE FROM Cursos WHERE CodCurso = OFI03 ; La tabla Cursos quedará como: CodCurso Nombre CodProfesor PHP01 Introducción al PHP 1 PHP02 PHP. Acceso a Bases de Datos 1 OFI01 Ofimática: Word y Excel. 4 OFI02 Ofimática: Writer y Calc. 4 Borrar los cursos del profesor Pedro. DELETE FROM Cursos WHERE CodProfesor = 2; La tabla Cursos quedará como: CodCurso Nombre CodProfesor PHP01 Introducción al PHP 1 PHP02 PHP. Acceso a Bases de Datos 1 Página 20 de 43

21 Capítulo 4. phpmyadmin: MySQL. 1.- Introducción. Para realizar las pruebas en nuestro ordenador necesitaremos instalar un programa que traduzca las peticiones PHP a código HTML para ser enviado al ordenador que ha solicitado la página. Para más información puede consultarse la primera parte de este curso: Curso de PHP. Además necesitaremos un Sistema gestor de Bases de Datos, que en este caso será MySQL, y usaremos PhpMyAdmin para acceder a las tablas, etc. 2.- Instalación. A continuación explicaremos como instalar dicho programa tanto en Windows como en Linux Instalación en Windows Para realizar este curso se ha usado WampServer 2.0i, que se puede bajar de su página " que incluye: Apache PHP MySQL Phpmyadmin Nos bajaremos el programa y una vez instalado (cuidado, no hacerlo si se tiene instalada la versión Wamp5, para ello seguir las instrucciones de la página que se indicó anteriormente) deberemos ponerlo en funcionamiento para que atienda las solicitudes. Para ello simplemente accederemos al acceso directo que se nos ha creado o lo buscaremos en el menú "Inicio/Todos los Programas". (No se ha hecho ningún comentario sobre su instalación por su sencillez). A partir de ese momento nos aparecerá el símbolo a la derecha de la barra de estado, y si situamos en cursor del ratón sobre él nos debe indicar: "All services running" (todos los servicios ejecutándose). Si pulsamos con el botón derecho del ratón sobre dicho símbolo nos permitirá terminar el programa, es decir, parar completamente el servidor. Y si pulsamos con el botón izquierdo nos permitirá, entre otras cosas: Iniciar, parar o reiniciar todos los servicios. Iniciar, parar o reiniciar el servidor Apache. Iniciar, parar o reiniciar el servidor MySQL. Editar los ficheros de configuración. Ir directamente al directorio donde tenemos nuestra página Web Instalación en Linux. Distribución Debian. En el caso de estar creando el servidor en un ordenador con Linux el procedimiento sería muy parecido. Desde la consola del sistema y siendo el usuario root ejecutaremos los siguientes comandos: #apt-get install apache2 #apt-get install PHP5 Página 21 de 43

22 Si todo ha ido bien los dos servicios deberán estar en funcionamiento y no necesitaremos ejecutarlos pues Linux lo hará al encender el sistema. (Previamente se recomienda haber hecho "apt-get update") De todas formas, en caso de necesitar reiniciar el servicio ejecutaremos la orden: #/etc/init.d/apache2 restart en caso de querer pararlo: #/etc/init.d/apache2 stop y en caso de querer volverlo a poner en funcionamiento: #/etc/init.d/apache2 start Deberemos de hacer lo mismo con el servicio PHP Fichero de configuración httpd.conf. Para configurar el servidor Web deberemos editar el fichero "httpd.conf" y realizar la siguiente modificación: Debemos indicarle en que directorio se encuentra nuestra página Web, es decir, la página raíz del servidor. Este directorio se encuentra definido en la directiva "DocumentRoot", y deberemos sustituirla por nuestro directorio, por ejemplo: DocumentRoot "C:/paginas/mipagina.com" Deberemos tener en cuenta lo siguiente: Las barras son las que se usan en Linux, y no las usadas en Windows. Después de cualquier modificación de cualquier fichero de configuración deberemos de reiniciar el servicio o servicios afectados Comprobar que todo ha funcionado bien. Para comprobar que todo ha ido bien deberemos de abrir un explorador de páginas Web y escribir en su barra de direcciones: Entonces nos aparecerá una página como la que se muestra en la Ilustración 14. Página 22 de 43

23 Ilustración 14. Ejemplo de ejecución inicial de PHP en En caso de que hayamos modificado la directiva "DocumentRoot" del fichero "httpd.conf" nos aparecerá la página principal de nuestra página Web. Recordemos que la página principal por defecto viene indicada por la directiva "DirectoryIndex", como se muestra a continuación: DirectoryIndex index.php index.html index.htm En este caso, si no se le indica que página queremos que abra, el navegador buscará los ficheros que se le han indicado en "DirectoryIndex" en ese mismo orden, dando error en caso de no encontrar ninguno de ellos. Como puede observarse, la primera página es "index.php". Si no aparece deberemos incluirla. 3.- phpmyadmin Definición de la Base de Datos y de las Tablas. Basándonos en el ejemplo que se desarrolló en el apartado vamos a pasar a diseñar las tablas con phpmyadmin. Para ello escribiremos localhost en la barra de direcciones del navegador y después seleccionaremos la opción phpmyadmin dentro del apartado Your Aliases (en la parte inferior de la pantalla), o bien escribiremos en la barra de direcciones del navegador Web. Entonces tendremos una pantalla como la que aparece a continuación: Página 23 de 43

24 Ilustración 15. Pantalla inicial de phpmyadmin Podemos observar en la parte izquierda que en la lista desplegable de Bases de Datos tenemos ya dos Bases de Datos: information_schema (17) y mysql (17), y como podemos ver en la siguiente ilustración, la Base de Datos mysql tiene 17 tablas (como aparece indicado entre paréntesis): Ilustración 16. Contenido de la Base de Datos "mysql". Una vez situados en este entorno vamos a comenzar a definir las tablas que necesitamos, para ello podemos ir a la página de inicio (pulsando sobre el dibujo con una casa que aparece en la parte superior-izquierda) y después iremos a la opción Bases de Datos para comenzar con su diseño (ver Ilustración 17). Página 24 de 43

25 Ilustración 17. Opción de diseño de la nueva Base de Datos. Una vez en la pantalla correspondiente crearemos la Base de Datos llamada cursophp2 (tener cuidado de escribirlo todo en minúsculas para evitar problemas posteriormente) y pulsar el botón Crear. Ilustración 18. Crear la Base de Datos "cursophp2". A continuación pasaríamos a crear las dos tablas del curso: cursos y profesores, para ello escribiríamos el nombre de la primera de ellas en el cuadro que aparece con el título Crear nueva tabla en la base de datos cursophp2 (en este caso la tabla cursos ), en la parte derecha el número de campos que tiene dicha tabla (en este caso 3) y pulsamos el botón Continuar. Si nos equivocamos en el número de campos no hay problema, pues en cualquier momento podremos añadir o eliminar campos de la tabla, pero teniendo en cuenta que si hay datos y eliminamos un campo, los datos de dicho campo se perderán. Ahora rellenaremos los datos de los campos que nos interesan (más adelante se comentan con más detalle todos): Campo: Nombre del campo. Para el ejemplo pondremos los nombres: codcurso, nombre y comprofesor. Tipo: El tipo de cada campo. Para el ejemplo serán: VARCHAR, VARCHAR y INT. Longitud: hace falta indicar la longitud de los campos alfanuméricos, en este caso pondremos longitud 5 al campo codcurso y longitud 30 al campo nombre. Nulo: Dejaremos el valor por defecto not null. Predeterminado: Aquí podemos indicar que valor por defecto queremos que Página 25 de 43

26 tenga un campo, por ejemplo, si tenemos un campo país y la mayoría de veces vamos a tener España lo indicamos aquí y así no sería necesario insertar dicho valor pues si no se le indica nada pondría ese valor, es decir, cuando hagamos un INSERT (sentencia de SQL) si no ponemos nada en ese campo, tomará este valor. Extra: si queremos que un valor numérico se ponga de forma automática y de forma creciente (como por ejemplo el campo codprofesor ) aquí se lo indicaremos con auto_increment y así para cada profesor que demos de alta nos pondrá un valor numérico consecutivo. Clave Primaria: En este caso marcaremos esta opción en el campo codcurso para indicar que es la clave primaria (recordemos que no permitirá registros con un mismo valor en este campo). Índice: Si queremos crear un índice en algún campo lo indicaremos aquí. Normalmente se usa para búsquedas u ordenaciones con este campo y así el acceso es más rápido. Único: Aquí se indica si un campo es clave alternativa (recordemos que no podrán haber registros que tengan el mismo valor en este campo). Ninguna de las tres anteriores: Dejaremos marcada esta opción cuando el campo no sea ni clave primaria, ni índice, ni único. Comentarios: Este campo se usa para poner una pequeña descripción de la información que va a contener, de esta forma si otra persona accede a la Base de Datos para realizar alguna modificación (o nosotros mismos al cabo de un tiempo) saber que contiene el campo. También podremos añadir un comentario a la tabla en la parte inferior de la misma pantalla, grabar la tabla o añadir más campos (como se dijo anteriormente). De esta forma, y tras grabar las tablas, éstas quedarían de la siguiente forma (sólo se muestran los datos de los campos que se han considerado más importantes): Ilustración 19. Definición de la tabla "Cursos". Página 26 de 43

27 Ilustración 20. Definición de la tabla "Profesores". Y ahora podemos ver que nuestra Base de Datos cursophp2 tiene dos tablas: Ilustración 21. Tablas de la Base de Datos "cursophp2". En esta última pantalla podemos ver que hay una lista desplegable con el texto Para los elementos que están marcados:. Es aquí dónde (después de seleccionar una o varias de las tablas) podremos: Vaciar: eliminará los datos que contiene la tabla, pero no su definición. Eliminar: eliminará tanto los datos que haya en la tabla como su definición. Entre las acciones que podemos realizar a una tabla tenemos las siguientes: Examinar: nos muestra un listado con los registros que tiene. Estructura: vemos la estructura de la tabla (ver la Ilustración 22 y la Ilustración 23). Buscar: nos permite realizar búsquedas en la tabla. Insertar: nos permite insertar registros a la tabla. Vaciar: borra todos los registros de la tabla, pero no su definición. Eliminar: borra la definición de la tabla. A continuación mostraremos unas imágenes con las estructuras de ambas tablas: Página 27 de 43

28 Ilustración 22. Estructura de la tabla "Cursos". Ilustración 23. Estructura de la tabla "Profesores". También podemos ver el Diccionario de Datos (desde la pantalla de la Base de Datos cursophp2 ) y entonces veríamos lo siguiente: Página 28 de 43

29 Ilustración 24. Diccionario de Datos Tipos de datos en phpmyadmin. Los Tipos que tiene phpmyadmin (o el Sistema Gestor de Bases de Datos MySQL) son los siguientes: Página 29 de 43

30 Ilustración 25. Tipos de Datos. Podemos encontrarlos en la lista desplegable que aparece en la pantalla en la que definimos los campos de una tabla, y estas son sus características: a) Tipos de cadena: Char(n): almacena una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres. VarChar(n): almacena una cadena de longitud variable. La cadena podrá contener desde 0 a 255 caracteres. Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test y los tipo BLOB (Binary large Object) La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en cuenta las Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas en cuenta. Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros. TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres. Blob y Text: un texto con un máximo de caracteres. MediumBlob y MediumText: un texto con un máximo de caracteres. Página 30 de 43

31 LongBlob y LongText: un texto con un máximo de caracteres Hay que tener en cuenta que debido a los protocolos de comunicación los paquetes pueden tener un máximo de 16 Mb. Enum: campo que puede tener un único valor de una lista que se especifica. El tipo Enum acepta hasta valores distintos Set: un campo que puede contener ninguno, uno ó varios valores de una lista. La lista puede tener un máximo de 64 valores. Tamaños de almacenamiento: Tipo de campo CHAR(n) VARCHAR(n) TINYBLOB, TINYTEXT BLOB, TEXT MEDIUMBLOB, MEDIUMTEXT LONGBLOB, LONGTEXT ENUM('value1','value2',...) SET('value1','value2',...) Tamaño de Almacenamiento n bytes n +1 bytes Longitud + 1 bytes Longitud +2 bytes Longitud +3 bytes Longitud +4 bytes 1 ó dos bytes dependiendo del número de valores 1, 2, 3, 4 ó 8 bytes, dependiendo del número de valores Diferencia de almacenamiento entre los tipos Char y VarChar: Valor CHAR(4) Almacenamiento VARCHAR(4) Almacenamiento '' '' 4 bytes " 1 byte 'ab' 'ab ' 4 bytes 'ab' 3 bytes 'abcd' 'abcd' 4 bytes 'abcd' 5 bytes 'abcdefgh' 'abcd' 4 bytes 'abcd' 5 bytes b) Tipos numéricos: Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos, los que están en coma flotante (con decimales) y los que no. TinyInt: es un número entero con o sin signo. Con signo el rango de valores válidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255 Bit ó Bool: un número entero que puede ser 0 ó 1 SmallInt: número entero con o sin signo. Con signo el rango de valores va desde a Sin signo, el rango de valores es de 0 a MediumInt: número entero con o sin signo. Con signo el rango de valores va desde a Sin signo el rango va desde 0 a Integer, Int: número entero con o sin signo. Con signo el rango de valores va desde a Sin signo el rango va desde 0 a BigInt: número entero con o sin signo. Con signo el rango de valores va desde Página 31 de 43

32 a Sin signo el rango va desde 0 a Float: número pequeño en coma flotante de precisión simple. Los valores válidos van desde E+38 a E-38, 0 y desde E-38 a E+38. xreal, Double: número en coma flotante de precisión doble. Los valores permitidos van desde E+308 a E- 308, 0 y desde E-308 a E+308 Decimal, Dec, Numeric: Número en coma flotante desempaquetado. El número se almacena como una cadena. Tamaños de almacenamiento: Tipo de Campo TINYINT SMALLINT MEDIUMINT INT INTEGER BIGINT FLOAT(X) FLOAT DOUBLE DOUBLE PRECISION REAL Tamaño de Almacenamiento 1 byte 2 bytes 3 bytes 4 bytes 4 bytes 8 bytes 4 ú 8 bytes 4 bytes 8 bytes 8 bytes 8 bytes DECIMAL(M,D) M+2 bytes sí D > 0, M+1 bytes sí D = 0 NUMERIC(M,D) M+2 bytes if D > 0, M+1 bytes if D = 0 c) Tipos de fecha: A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes esta comprendido entre 0 y 12 y que el día esta comprendido entre 0 y 31. Date: tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de El formato de almacenamiento es de año-mes-dia DateTime: Combinación de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de año-mes-dia horas:minutos:segundos TimeStamp: Combinación de fecha y hora. El rango va desde el 1 de enero de 1970 al año El formato de almacenamiento depende del tamaño del campo: Tamaño Formato Página 32 de 43

33 14 AñoMesDiaHoraMinutoSegundo aaaammddhhmmss 12 AñoMesDiaHoraMinutoSegundo aammddhhmmss 8 AñoMesDia aaaammdd 6 AñoMesDia aammdd 4 AñoMes aamm 2 Año aa Time: almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS' Year: almacena un año. El rango de valores permitidos va desde el año 1901 al año El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o cuatro dígitos. Tamaños de almacenamiento: Tipo de Campo DATE DATETIME TIMESTAMP TIME YEAR Tamaño de Almacenamiento 3 bytes 8 bytes 4 bytes 3 bytes 1 byte Privilegios. Hasta ahora hemos definido tanto la Base de Datos como sus tablas como si fuéramos el usuario root, el cual tiene todos los privilegios. Además dicho usuario no tiene contraseña, lo cual es muy peligroso. En este apartado veremos como poner contraseña al usuario root y cómo crear nuevos usuarios. Para ello accedemos a dicha pantalla pulsando en la opción Privilegios desde la pantalla inicial. Ver Ilustración 26. Ilustración 26. Acceso a la pantalla de "Privilegios". Desde la siguiente pantalla procederemos a pulsar en el botón que nos permite editar los privilegios. Ver Ilustración 27. Página 33 de 43

34 Ilustración 27. Editar los privilegios de "root". En la pantalla que nos aparece solamente cambiaremos la contraseña, poniendo en este caso la nueva contraseña: root2 Ilustración 28. Cambiar la contraseña de "root". Una vez la contraseña ha sido cambiada en la página, deberemos de cambiarla también en la configuración de phpmyadmin. Para ello accedemos al fichero config.inc.php (que está situado en el directorio C:\wampapps\phpmyadmin ) y buscamos las siguientes líneas: $cfg['servers'][$i]['user'] = 'root'; // MySQL user $cfg['servers'][$i]['password'] = ''; // MySQL password (only needed Poniendo en la segunda de ellas la contraseña: // with 'config' auth_type) $cfg['servers'][$i]['user'] = 'root'; // MySQL user $cfg['servers'][$i]['password'] = 'root2'; // MySQL password (only needed // with 'config' auth_type) De esta forma el acceso al Sistema Gestor de Bases de Datos es más seguro, y luego usaremos el usuario root y su contraseña para acceder a los datos. Debemos tener en cuenta que esta contraseña puede que cambie en el Sistema Gestor de Bases de Datos (MySQL) de donde tengamos alojada nuestra página web Importar/Exportar a) Exportar. Por último vamos a ver cómo exportar la Base de Datos, para después importarla a phpmyadmin del servidor de Internet donde vayamos a tener nuestra página. Para exportar accederemos a través de la opción Exportar desde la página inicial: Página 34 de 43

35 Ilustración 29. Exportar la Base de Datos. Desde la siguiente pantalla que nos aparezca deberemos de seleccionar en primer lugar la Base de Datos que queremos exportar (en nuestro caso cursophp2 ). Si queremos seleccionar mas de una Base de Datos podemos hacerlo pulsando la tecla Ctrl. Y haciendo clic con el ratón sobre ellas. En la opción de Exportar (situada a la izquierda) dejaremos la opción SQL. Las Opciones SQL las dejaremos tal y como están. Y por último marcaremos la casilla Enviar (genera un archivo descargable) dejando la opción por defecto (Compresión: ninguna). A continuación pulsaremos el botón Continuar y nos aparecerá una ventana en la que podremos decir donde queremos que nos guarde el fichero SQL con los datos exportados (posiblemente en el escritorio). El contenido de dicho fichero serán las instrucciones SQL necesarias para importar la Base de Datos. Veámoslo: -- phpmyadmin SQL Dump -- version Servidor: localhost -- Tiempo de generación: a las 21:01:35 -- Versión del servidor: Versión de PHP: SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; Base de datos: `cursophp2` -- CREATE DATABASE `cursophp2` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE `cursophp2`; Estructura de tabla para la tabla `cursos` -- CREATE TABLE `cursos` ( Página 35 de 43

36 `codcurso` varchar(5) NOT NULL COMMENT 'Código del curso', `nombre` varchar(30) NOT NULL COMMENT 'Nombre del curso', `codprofesor` int(11) NOT NULL COMMENT 'Cód. del prof.', PRIMARY KEY (`codcurso`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Tabla con los cursos.'; Volcar la base de datos para la tabla `cursos` Estructura de tabla para la tabla `profesores` -- CREATE TABLE `profesores` ( `codprofesor` int(11) NOT NULL auto_increment COMMENT 'Cód. del prof.', `dni` varchar(9) NOT NULL COMMENT 'DNI del prof.', `nombre` varchar(20) NOT NULL COMMENT 'Nombre del prof.', `apellidos` varchar(30) NOT NULL COMMENT 'Apellidos del prof.', PRIMARY KEY (`codprofesor`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Tabla con los profesores.' AUTO_INCREMENT=1 ; Volcar la base de datos para la tabla `profesores` -- En caso de que hubiéramos introducido datos, estos aparecerían detrás de las líneas que tienen el siguiente texto: Volcar la base de datos para la tabla `cursos` -- y Volcar la base de datos para la tabla `profesores` -- b) Importar. Para importar la Base de Datos seleccionaremos dicha opción en la página inicial, después desde la página que nos aparece seleccionamos el fichero exportado anteriormente y después pulsaríamos el botón Continuar. Deberemos tener en cuenta que si la Base de Datos ya existe nos dará error al tratar de importarla. Para ello, si queremos que nos elimine la Base de Datos si ya existe, antes de importarla, deberemos de seleccionar la opción Añada DROP DATABASE en el apartado Opciones de exportación de la base de datos cuando vayamos a realizar la exportación. Página 36 de 43

37 Capítulo 5. Conexión y Desconexión a una Base de Datos. 1.- Introducción. Lo primero y principal para acceder a una Base de Datos va a ser establecer una conexión con ella. Esto va a ser muy simple y lo único que deberemos hacer será comprobar si se ha conseguido correctamente o si ha habido algún error. 2.- Establecer la conexión. Como ya se ha indicado en el apartado anterior, lo primero será estableces una conexión con el servidor MySQL, y para ello usaremos la instrucción mysql_connect, a la que deberemos de indicarle lo siguiente: El nombre del servidor de la Base de Datos. El nombre de usuario con el que nos conectaremos. La contraseña del usuario con el que nos estamos conectando. Y nos devolverá: FALSE (es decir, un cero) si se ha producido un error en la conexión y TRUE en caso contrario (es decir, un valor numérico que nos indicará el número de conexión para usarlo más adelante). Veamos un ejemplo para la Base de Datos que estamos usando en el curso: $conexion=@mysql_connect("localhost","root","root2"); if(!$conexion) { echo("error. No contesta el servidor.(mysql_connect)<br>"); return; } echo("conexión realizada correctamente<br>"); mysql_close($conexion); Como hemos podido ver, la conexión es muy simple. Y podemos observar que al final de ésta debemos cerrar la conexión con la instrucción mysql_close, a la que solamente le debemos indicar la conexión que queremos cerrar. Ahora tendremos que seleccionar la Base de Datos a la que queremos acceder, pues podemos tener varias. Para ello usaremos la instrucción mysql_select_db, a la que deberemos indicarle lo siguiente: La Base de Datos a la que queremos conectarnos. La conexión que queremos usar, es decir, el valor que nos devolvió la llamada que realizamos antes al establecer la conexión. Y nos devolverá: FALSE si ha habido algún error o TRUE si ha funcionado correctamente. Página 37 de 43

38 Veamos nuevamente un ejemplo: if(!$conexion) { echo("error. No contesta el servidor.(mysql_connect)<br>"); return; } echo("conexión realizada correctamente<br>"); if (!mysql_select_db("cursophp2", $conexion)) { echo("error. No contesta el servidor. (mysql_select_db)<br>"); return; }; echo("base de Datos seleccionada correctamente<br>"); mysql_close($conexion); 3.- Control básico de errores. El control de errores que deberemos de realizar serán las dos instrucciones if que podemos observar en el código anterior. Ambos trozos de código nos garantizan que se ha realizado correctamente la conexión y que hemos elegido una Base de Datos correcta. En caso contrario nos mostrará un mensaje de error descriptivo y terminará la ejecución del código PHP de la página con la instrucción return. 4.- Desconexión de la Base de Datos. Como se comentó anteriormente, una vez hayamos terminado con el acceso a los datos deberemos desconectarnos de la Base de Datos con la instrucción mysql_select_db. Esta instrucción podemos no ponerla, pues al terminar de ejecutar las instrucciones del fichero PHP en el que estamos se cerrará automáticamente la conexión, pero es aconsejable hacerlo por claridad en el código. Página 38 de 43

39 Capítulo 6. Acceso a la Base de Datos. 1.- Insertar nuevos datos. Para comenzar con los accesos a la Base de Datos lo haremos insertando datos en ella, y para eso usaremos la instrucción insert. Su sintaxis ya se vio en el apartado 5.- Ejemplos de INSERT, por lo que ahora haremos un ejemplo: Insertar el profesor Carlos García López con DNI L : $conexion=@mysql_connect("localhost","root","root2"); if(!$conexion) { echo("error. No contesta el servidor.(mysql_connect)<br>"); return; } echo("conexión realizada correctamente<br>"); if (!mysql_select_db("cursophp2", $conexion)) { echo("error. No contesta el servidor. (mysql_select_db)<br>"); return; }; echo("base de Datos seleccionada correctamente<br>"); $query="insert into profesores (nombre, apellidos, dni) values ('Carlos','García López',' L')"; $result=@mysql_query($query,$conexion); if (!$result) { echo("error en el servidor.(mysql_query:insert)"); return; } else { echo("profesor dado de alta correctamente.<br>"); } mysql_close($conexion); El código que hemos añadido al que teníamos ya del capítulo anterior (establecer conexión y seleccionar Base de Datos) está resaltado en negrita. Podemos observar que se ha dado de alta el profesor si entramos en MySQL, seleccionamos la tabla profesores de la Base de Datos cursophp2, y pulsamos sobre la opción examinar que nos aparece en la parte superior. Entonces obtenemos la siguiente pantalla: Página 39 de 43

40 Ilustración 30. Resultado después de hacer "INSERT". Después de ver la imagen destacaremos lo siguiente: En el insert no hemos incluido el código del profesor (codprofesor) porque este campo es autonumérico, y MySQL le asigna valores consecutivamente. En este caso, al ser el primer registro le ha asignado un Obtención de Datos. Para ver los datos que tenemos usaremos la instrucción select con la única diferencia que en ese caso, al estar programando en PHP y no interactuando directamente con la Base de Datos con SQL deberemos realizar primero la instrucción select y después usar un bucle para tratar todos los registros que nos devuelva dicha instrucción. $conexion=@mysql_connect("localhost","root","root2"); if(!$conexion) { echo("error. No contesta el servidor.(mysql_connect)<br>"); return; } echo("conexión realizada correctamente<br>"); if (!mysql_select_db("cursophp2", $conexion)) { echo("error. No contesta el servidor. (mysql_select_db)<br>"); return; }; echo("base de Datos seleccionada correctamente<br>"); $query="select nombre, apellidos from profesores"; $result=@mysql_query($query,$conexion); if (!$result) { echo("error en el servidor.(mysql_query:select)"); Página 40 de 43

TIPOS DE DATOS MYSQL

TIPOS DE DATOS MYSQL TIPOS DE DATOS MYSQL Los tipos de datos que puede haber en un campo, se pueden agrupar en tres grandes grupos: 1. Tipos numéricos 2. Tipos de Fecha 3. Tipos de Cadena 1 Tipos numéricos: Existen tipos de

Más detalles

Qué es SQL. Características de SQL:

Qué es SQL. Características de SQL: Qué es SQL SQL (Structured Query Language) es un lenguaje declarativo estándar para la gestión de bases de datos relacionales, que permite recuperar y modificar fácilmente información de interés de las

Más detalles

Unidad 5. Lenguaje Estructurado de Consultas SQL

Unidad 5. Lenguaje Estructurado de Consultas SQL Unidad 5 Lenguaje Estructurado de Consultas SQL Introducción y Origen SQL El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo para

Más detalles

MANUAL BÁSICO DE MYSQL

MANUAL BÁSICO DE MYSQL MANUAL BÁSICO DE MYSQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO MANUAL BÁSICO DE MYSQL... 1 INTRODUCCIÓN... 3 1. CONECTARSE CON

Más detalles

MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL

MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL Rubén Andrés Leiva Cordero Este manual pretende ser un material de apoyo al trabajo realizado en las asignaturas de laboratorio de programación de bases

Más detalles

SQL - DDL y consultas de actualización. José Muñoz Jimeno Febrero 2015

SQL - DDL y consultas de actualización. José Muñoz Jimeno Febrero 2015 SQL - DDL y consultas de actualización José Muñoz Jimeno Febrero 2015 Control de cambios Versión Fecha Comentarios 1.0 13/02/2015 Primera versión para el curso Introducción a las bases de datos con MySQL

Más detalles

Manual de Sentencias Básicas en SQL

Manual de Sentencias Básicas en SQL Manual de Sentencias Básicas en SQL Pues hoy que he estado enredando un rato con MySQl, y me he acordado de aquellos comienzos en los que tenía que volver a mis antiguos apuntes para lograr entender las

Más detalles

MySQL por línea de comandos

MySQL por línea de comandos MySQL por línea de comandos Acceso a un servidor MySQL y administración de la base de datos por línea de comandos. Es muy normal que utilicemos MySQL a través de páginas PHP y para administrar la base

Más detalles

CREACIÓN DE TABLAS Y BASE DE DATOS

CREACIÓN DE TABLAS Y BASE DE DATOS Autor:Lic. Sandra Chávez CREACIÓN DE TABLAS Y BASE DE DATOS http://www.infop.hn 2014 Objetivo Al finalizar el estudio de esta unidad, el participante estará en capacidad de explicar las diferentes opciones

Más detalles

Práctica: OpenOffice IV Aplicar estilos e insertar. un índice de contenidos

Práctica: OpenOffice IV Aplicar estilos e insertar. un índice de contenidos Práctica: OpenOffice IV Aplicar estilos e insertar un índice de contenidos Cuando un documento de texto es muy extenso y contiene varios apartados es muy difícil crear un índice temático que nos muestre

Más detalles

Programación en Visual Basic Ricardo Rodríguez García

Programación en Visual Basic Ricardo Rodríguez García Manual Básico de Programación en Visual Basic 1.- Estructura de un proyecto Visual Basic Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un único paquete que denominaremos proyecto.

Más detalles

Generador de Listados

Generador de Listados Generador de Listados El Generador de Listados de Géminis es una herramienta potente que permite al usuario final realizar de forma fácil sus propios listados. Al Generador se accede mediante el menú Listados/Etiq,

Más detalles

Modulo I: Introducción Gestores de Bases De Datos

Modulo I: Introducción Gestores de Bases De Datos Modulo I: Introducción Gestores de Bases De Datos El SQL El SQL (Lenguaje de Consulta Estructurado Structure Query Language), es un lenguaje de consulta estructurado establecido claramente como el lenguaje

Más detalles

Calc I Primeros pasos: Entorno de trabajo, celdas y. rangos

Calc I Primeros pasos: Entorno de trabajo, celdas y. rangos Calc I : Entorno de trabajo, celdas y rangos 1. Entorno de trabajo Entre la amplia variedad de software existente, las aplicaciones de ámbito general que más interesan a nivel del ámbito científico son

Más detalles

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B)

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B) APRENDERAPROGRAMAR.COM CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B) Sección: Cursos Categoría: Tutorial básico del programador

Más detalles

BASE DE DATOS ARTICULOS DE COMPUTACION.

BASE DE DATOS ARTICULOS DE COMPUTACION. BASE DE DATOS ARTICULOS DE COMPUTACION. Ejercicio 1. Agregar una Tabla Clientes: la cual contenga los siguientes campos: cedula, nombre, apellido, teléfono. Ejercicio 2. Agregarle cinco registros a la

Más detalles

Instalación de MySQL, PHP y Servidor Apache en Windows

Instalación de MySQL, PHP y Servidor Apache en Windows Instalación de MySQL, PHP y Servidor Apache en Windows La forma más sencilla de instalar el servidor de MySQL, el Servidor Apache y soporte para lenguaje PHP en Windows es utilizando el conjunto de software

Más detalles

Los tipos de datos que puede permitirnos MySQL es muy variada y se los refieren a continuación:

Los tipos de datos que puede permitirnos MySQL es muy variada y se los refieren a continuación: UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN CATEDRA: BASE DE DATOS II TIPOS DE DATOS Los tipos de datos que puede permitirnos MySQL es muy variada y se los refieren a continuación:

Más detalles

MySQL y Sesiones en PHP. Área de Ingeniería Telemática

MySQL y Sesiones en PHP. Área de Ingeniería Telemática MySQL y Sesiones en PHP Contenido Repaso de SQL PHP y MySQL MySQL en PHP 2 Numéricos Standard: Repaso SQL: tipo de datos INTEGER o INT, SMALLINT, DECIMAL o DEC, NUMERIC FLOAT, REAL, DOUBLE PRECISION BIT

Más detalles

Insertar Datos en Tablas

Insertar Datos en Tablas Insertar Datos en Tablas La instrucción básica para insertar valores a los atributos (columnas) de una tabla es la instrucción INSERT INTO Insertar una sola tupla Para insertar una tupla en la tabla, se

Más detalles

El SQL es un lenguaje estándar de programación para el acceso a bases de datos.

El SQL es un lenguaje estándar de programación para el acceso a bases de datos. El SQL es un lenguaje estándar de programación para el acceso a bases de datos. El lenguaje SQL se utiliza para acceder y manipular datos en cualquier base de datos del mercado, como por ejemplo, para

Más detalles

UNIDAD 4. MODIFICAR TABLAS DE DATOS

UNIDAD 4. MODIFICAR TABLAS DE DATOS UNIDAD 4. MODIFICAR TABLAS DE DATOS Aquí veremos las técnicas de edición de registros para modificar tanto la definición de una tabla como los datos introducidos en ella. Esta unidad está dedicada, principalmente,

Más detalles

Introducción a SQL (DDL)

Introducción a SQL (DDL) Introducción a SQL (DDL) Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2012 Introducción a SQL Objetivos de este tema

Más detalles

Tablas -SQL Curso Bases de Datos. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS

Tablas -SQL Curso Bases de Datos. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS Tablas -SQL Curso Bases de Datos Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS SQL (Structured Query Language) SQL lenguaje usado para definir, manipular,

Más detalles

MANUAL WINEX-TPV WINDOWS (Revisión /02/2016)

MANUAL WINEX-TPV WINDOWS (Revisión /02/2016) IMPRESIÓN DE COMANDAS / GESTION DE IMPRESORAS AUXILIARES Lo primero que tenemos que hacer es activar el uso del servidor de impresión esto lo haremos en la pantalla del TPV pulsaremos sobre MAS OPCIONES,

Más detalles

Página 1 de 18. Revisado: 2006

Página 1 de 18. Revisado: 2006 Página 1 de 18 Jose Ignacio González Gómez. Departamento de Economía Financiera y Contabilidad Universidad de La Laguna www.ecofin.ull.es/users/jggomez. Tema: Vincular datos de Access a Excel. Creación

Más detalles

Práctica 6: Consultas

Práctica 6: Consultas Práctica 6: Consultas INTRODUCCIÓN Para la realización de las siguientes prácticas el alumno debe descargar el fichero EMPRESA.ZIP, que contiene la base de datos objeto de las prácticas. La base de datos

Más detalles

Paso 1. Instalar Apache

Paso 1. Instalar Apache Tener instalado Ubuntu 14.04 Paso 1. Instalar Apache El servidor web Apache es actualmente el servidor web más popular en el mundo, lo que hace que sea una gran opción por defecto para alojar un sitio

Más detalles

Gestión de la Información Práctica 1

Gestión de la Información Práctica 1 Gestión de la Información Práctica 1 Departamento de Lenguajes y Ciencias de la Computación UNIVERSIDAD DE MÁLAGA SQL - Server SQL Server 2008 es la base datos cliente-servidor de Microsoft. Su lenguaje

Más detalles

Pero es que además, en ocasiones no hay otra forma de conseguir el resultado deseado que crear la consulta directamente en SQL.

Pero es que además, en ocasiones no hay otra forma de conseguir el resultado deseado que crear la consulta directamente en SQL. 1. INTRODUCCIÓN A unque ya hemos visto cómo realizar consultas para obtener resultados de una base de datos Access a través de la vista Diseño, debes conocer el lenguaje en el que realmente se realizan

Más detalles

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE Microsoft Word SALOMÓN CCANCE Microsoft Word 2013 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE UNIDAD 20: MACROS 20.1. Introducción Al utilizar cotidianamente Word suelen surgir tareas

Más detalles

Tutorial MySql - 1 -

Tutorial MySql - 1 - Tutorial MySql - 1 - Índice 1 - Introducción...4 2 - show databases...5 3 - Creación de una tabla y mostrar sus campos (create table - show tables - describe - drop table)...6 4 - Carga de registros a

Más detalles

Unidad 5. Tablas. La celda que se encuentra en la fila 1 columna 2 tiene el siguiente contenido: 2º Celda

Unidad 5. Tablas. La celda que se encuentra en la fila 1 columna 2 tiene el siguiente contenido: 2º Celda Unidad 5. Tablas Una tabla está formada por celdas o casillas, agrupadas por filas y columnas, en cada casilla se puede insertar texto, números o gráficos. Lo principal antes de empezar a trabajar con

Más detalles

Unidad N 5. Los datos.

Unidad N 5. Los datos. Unidad N 5. Los datos. Ya hemos visto que Excel se utiliza principalmente para introducir datos, ya sean datos literales o fórmulas. En este tema, nos centraremos centrar en algunas de las operaciones

Más detalles

Manual básico de Wordpress

Manual básico de Wordpress Manual básico de Wordpress Instalación del programa sobre el espacio web asociado a la cuenta de correo de PDI/PAS 25/03/2011 Centro de servicios de informática y redes de comunicaciones Nodo Cartuja Contenido

Más detalles

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1 ÍNDICE Introducción... XI Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1 Características y novedades de Access 2010... 1 Comienzo rápido del trabajo y seguimiento de la información...

Más detalles

Introducción de datos en el. Plan de Organización. Docente de los Departamentos

Introducción de datos en el. Plan de Organización. Docente de los Departamentos GUÍA DE MANEJO Introducción de datos en el Plan de Organización Docente de los Departamentos INCIDENCIAS: Unidad.planificacion.docente@uva.es 1 INDICE 1 INTRODUCCIÓN... 3 2 CONFIGURACIÓN... 3 3 ENTRADA

Más detalles

MANUAL WinPoET 1/31. MANUAL WinPoET

MANUAL WinPoET 1/31. MANUAL WinPoET 1/31 MANUAL WinPoET Mayo 2006 1/31 INDICE 1. Introducción... 2 2. Windows 2000, 98 y ME - Instalación y configuración del WinPoET... 3 3. Windows XP Configuración de la conexión... 10 4. Windows XP - Comprobación

Más detalles

Manual de configuración de wifilocal Windows XP Antena externa Ubiquiti Nanostation 2 9 de Septiembre de 2010

Manual de configuración de wifilocal Windows XP Antena externa Ubiquiti Nanostation 2 9 de Septiembre de 2010 Manual de configuración de wifilocal Windows XP Antena externa Ubiquiti Nanostation 2 9 de Septiembre de 2010 1. Configuración del adaptador de red para acceder a la configuración de la antena... 2 2.

Más detalles

MICROSOFT EXCEL MICROSOFT EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

MICROSOFT EXCEL MICROSOFT EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE MICROSOFT EXCEL MICROSOFT EXCEL 2013 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LOS DATOS 5.1. Eliminar filas duplicadas Frecuentemente, cuando trabajamos con un gran volumen de información

Más detalles

Solicitudes de Formación C.F. Don Benito - Manual de Usuario - Servicio Extremeño Público de Empleo

Solicitudes de Formación C.F. Don Benito - Manual de Usuario - Servicio Extremeño Público de Empleo Solicitudes de Formación C.F. Don Benito - Manual de Usuario - Servicio Extremeño Público de Empleo Página: 2 de 15 Índice de contenidos Introducción... 3 Autentificación... 4 Página Principal... 7 Datos

Más detalles

PROCESADOR DE TEXTOS: WRITER

PROCESADOR DE TEXTOS: WRITER PROCESADOR DE TEXTOS: WRITER Profesor: José María González Centro: I.E.S. AZAHAR - ( Antas Almería ) Teoría OpenOffice Writer Capítulo I: Formato Documento Nivel de Dificultad: Medio 1. Creación y eliminación

Más detalles

Ejercicio paso a paso. Crear, abrir y cerrar una base de datos

Ejercicio paso a paso. Crear, abrir y cerrar una base de datos Ejercicio paso a paso. Crear, abrir y cerrar una base de datos Objetivo. Practicar las operaciones de Crear, abrir y cerrar una base de datos con Access2000. 1 Si no tienes abierto Access2000, ábrelo para

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL) Qué es una base de datos? Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Diferentes programas y

Más detalles

Creando CRUD en PHP: operaciones básicas para la gestión de bases de datos

Creando CRUD en PHP: operaciones básicas para la gestión de bases de datos Creando CRUD en PHP: operaciones básicas para la gestión de bases de datos Cualquier portal web utiliza algún sistema de base de datos para almacenar la información que luego mostrará en sus páginas. Para

Más detalles

ITACA La aplicación de Gestión de Identidad

ITACA La aplicación de Gestión de Identidad ITACA La aplicación de Gestión de Identidad Índice La aplicación de Gestión de Identidad 3 Cambiar mis datos personales 3 Cambiar Contraseña 6 Administración de Usuarios 7 Creación de Usuario 10 Añadir

Más detalles

Creación de una Base de datos

Creación de una Base de datos Creación de una Base de datos Para poder crear una Base de datos es necesario abrir phpmyadmin desde el menú de WampServer al cual se accede con clic derecho en el icono de WampServer o ingresando a la

Más detalles

CREACIÓN DE CARTAS, SOBRES Y ETIQUETAS PARA ENVÍO MASIVO DE CORRESPONDENCIA

CREACIÓN DE CARTAS, SOBRES Y ETIQUETAS PARA ENVÍO MASIVO DE CORRESPONDENCIA UNIDAD DIDÁCTICA CREACIÓN DE CARTAS, SOBRES Y ETIQUETAS PARA ENVÍO MASIVO DE CORRESPONDENCIA Los objetivos de este tema son: 1. Conocer cómo funciona el asistente de Word para crear correspondencia, creando

Más detalles

- Si usas Open Office, puedes ver las instrucciones de como grabar una Macro en el siguiente enlace, o si lo prefieres en vídeo, aquí

- Si usas Open Office, puedes ver las instrucciones de como grabar una Macro en el siguiente enlace, o si lo prefieres en vídeo, aquí Qué es una macro? - Si usas Open Office, puedes ver las instrucciones de como grabar una Macro en el siguiente enlace, o si lo prefieres en vídeo, aquí Una macro es un conjunto de comandos o instrucciones

Más detalles

2 - Para instalar PostgreSQL. # apt-get install postgresql

2 - Para instalar PostgreSQL. # apt-get install postgresql La base de datos es el corazón de toda empresa, en ella se almacena y se gestiona toda la información que se necesita para operar y crecer. Las (buenas) bases de datos se manejan a través de SQL (Standar

Más detalles

PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS

PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS CONTENIDOS PROPIEDADES DE LOS CAMPOS TAMAÑO DEL CAMPO FORMATO DEL CAMPO LUGARES DECIMALES MÁSCARA DE ENTRADA TÍTULO

Más detalles

07 Variables. 7.1 Variables globales Definición

07 Variables. 7.1 Variables globales Definición 07 Variables 07 Variables 7.1 Variables globales 7.1.1. Definición Las variables se utilizan para almacenar datos individuales en disco o en memoria. Son datos globales a la aplicación y comunes, en el

Más detalles

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD) TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD 6.1 Introducción Hasta ahora hemos estudiado las sentencias que forman parte del DML (Data Management Language lenguaje de manipulación de datos, todas esas

Más detalles

Desarrollo de sitios web con PHP y MySQL

Desarrollo de sitios web con PHP y MySQL Desarrollo de sitios web con PHP y MySQL Tema 4: Acceso a bases de datos MySQL en PHP José Mariano González Romano mariano@lsi.us.es Tema 4: Acceso a bases de datos MySQL en PHP 1. Bases de datos en la

Más detalles

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 2: Diseño de tablas

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 2: Diseño de tablas Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 2: Diseño de tablas Instituto de Tecnologías Educativas 2011 Bases de datos en la enseñanza Diseño de tablas Las tablas de una

Más detalles

UNIDAD 10. LAS CONSULTAS DE ACCIÓN

UNIDAD 10. LAS CONSULTAS DE ACCIÓN UNIDAD 10. LAS CONSULTAS DE ACCIÓN Las consultas de acción son consultas que permiten realizar cambios en los datos almacenados en una tabla. Con estas consultas podemos crear una nueva tabla a partir

Más detalles

SQL SERVER Para ingresar a la ventana de administración del SQL Server, proceda a realizar los siguientes pasos:

SQL SERVER Para ingresar a la ventana de administración del SQL Server, proceda a realizar los siguientes pasos: SQL SERVER 2005 Microsoft SQL Server es un sistema de gestión de bases de datos relacionales (SGBD) basada en el lenguaje SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos

Más detalles

5.1. Eliminar filas duplicadas

5.1. Eliminar filas duplicadas - Borrar Hipervínculos: Si seleccionas ésta opción se borrará el enlace pero el formato que excel aplica (color azul y subrayado) se mantendrá. Para eliminar también el formato deberás pulsar el icono

Más detalles

Manual de Instalación. WAMP Server Escuela de Ingeniería de Sistemas Informáticos

Manual de Instalación. WAMP Server Escuela de Ingeniería de Sistemas Informáticos Manual de Instalación WAMP Server 2 Creado: 28/05/204 Última Revisión: 28/05/204 204 Escuela de Ingeniería de Sistemas Informáticos Contenido Sección 2 2 Instalación de 0 Ejecución de 2 Configuración de

Más detalles

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL.

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL. CONTENIDO: 1. Lenguaje SQL 1. Componentes 2. Comandos 3. Clausulas 4. Operadores lógicos 5. Operadores de comparación 6. Funciones de agregado 2. MYSQL 1. Como entrar a MySQL 2. Comandos generales 3. Sintaxis

Más detalles

Gestión de Censos. 2. Una vez recibidos los usuarios y claves, entraremos a IntraFeB a través de ellos, y accederemos al nuevo módulo de Secretaría.

Gestión de Censos. 2. Una vez recibidos los usuarios y claves, entraremos a IntraFeB a través de ellos, y accederemos al nuevo módulo de Secretaría. Gestión de Censos Esta guía pretende ser una ayuda para la Federación Española de Baloncesto, las Federaciones Autonómicas y las Delegaciones que deseen generar los listados correspondientes a los diferentes

Más detalles

MANUAL DE USUARIO GCAM

MANUAL DE USUARIO GCAM MANUAL DE USUARIO GCAM Los responsables del programa, coordinadores, podrán ser gestores, para lo que deberán estar registrados en la aplicación; así como consultar información relevante respecto al programas

Más detalles

UD 1. Instalación de servidores web

UD 1. Instalación de servidores web IINSTALACIIÓN Y CONFIIGURACIIÓN DE XAMPP PROCESO DE INSTALACIÓN DE XAMPP PANEL DE CONTROL DE XAMPP Ejecutar el panel de control como administrador Aplicaciones como Servicio vs. Standalone Ejecutables

Más detalles

Introducción.- Entrando en la Web

Introducción.- Entrando en la Web DataWeb Tutorial de uso. DataWeb es la aplicación de Internet que le permite gestionar la inscripción de los participantes en competiciones deportivas: equipos, jugadores, etc. Introducción.- Entrando

Más detalles

Manual Gran Hotel. En principio, una estacionalidad no tiene el fin marcado, puede ser válida para siempre.

Manual Gran Hotel. En principio, una estacionalidad no tiene el fin marcado, puede ser válida para siempre. 2. Estacionalidad Una estacionalidad es el nombre que se le da a un grupo de tarifas, que se les reconocerá por el nombre, que podrá ser indefinida en el tiempo y que se dividirá a su vez en diferentes

Más detalles

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA BASES DE DATOS (ACCES 2007) OBJETIVO: Conocer el concepto de bases de datos y su funcionalidad además de crear destrezas en su creación y manipulación. Elementos básicos de Access 2007 Vamos a ver cuáles

Más detalles

UNIDAD 9 COMBINAR CORRESPONDENCIA

UNIDAD 9 COMBINAR CORRESPONDENCIA UNIDAD 9 COMBINAR CORRESPONDENCIA COMPETIC 3 TEXTOS Qué es la combinación de correspondencia Mediante la opción Combinar correspondencia se pueden incluir en un documento, datos almacenados en otro sitio.

Más detalles

Tipos de datos para Campos

Tipos de datos para Campos Tipos de datos para Campos Tipo de datos Almacena Tamaño Texto Memo Número Fecha/Hora Moneda Autonumérico Sí/No Objeto OLE Datos adjuntos Hipervínculo Asistente para búsquedas Caracteres alfanuméricos

Más detalles

SQL Sintaxis. Ejemplo de Alumno, Curso, Profesor. Esquemas de Alumno, Curso, Profesor. Andrés Moreno S.

SQL Sintaxis. Ejemplo de Alumno, Curso, Profesor. Esquemas de Alumno, Curso, Profesor. Andrés Moreno S. SQL Sintaxis Andrés Moreno S. 1 Ejemplo de Alumno, Curso, Profesor RutAlumno Nombre Apellido Carrera Alumno Apellido2 Créditos SiglaCurso Toma Curso Dicta NomProfesor Profesor ApellidoP Apellido2P NombreCurso

Más detalles

Base de Datos en Access 2007

Base de Datos en Access 2007 Base de Datos en Access 2007 Una base de datos consta de distintos objetos: tablas, índices, consultas, relaciones, informes, formularios, etc. Todos estos objetos se almacenan físicamente en un solo fichero,

Más detalles

Estilos. Utiliza los botones arriba y abajo del lateral derecho, y el desplegable estilos disponibles.

Estilos. Utiliza los botones arriba y abajo del lateral derecho, y el desplegable estilos disponibles. Estilos Los estilos sirven para indicar a cada elemento del texto cuál es su función en el mismo, o cuál es su naturaleza. Por ejemplo, existe el estilo Título 1, y el estilo Título 2. Los números no son

Más detalles

1. DML. Las consultas de resumen

1. DML. Las consultas de resumen 1.1 Introducción 1. DML. Las consultas de resumen Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes de los datos contenidos en las columnas de las tablas. Para poder llevarlo

Más detalles

FUNDACIÓN EDUCATIVA OBRERA FUNEDO TÉCNICO EN SECRETARIADO EJECUTIVO SISTEMATIZADO. Conceptos básicos de Access 2013

FUNDACIÓN EDUCATIVA OBRERA FUNEDO TÉCNICO EN SECRETARIADO EJECUTIVO SISTEMATIZADO. Conceptos básicos de Access 2013 Base de datos: Conceptos básicos de Access 2013 Una base de datos es un conjunto de datos que están organizados para un uso determinado y el conjunto de los programas que permiten gestionar estos datos

Más detalles

1.- CREACIÓN DE CONSULTAS.

1.- CREACIÓN DE CONSULTAS. 1.- CREACIÓN DE CONSULTAS. Una consulta permite efectuar preguntas acerca de la información almacenada en las tablas. En una consulta se pueden obtener datos de una tabla e incluso de varias tablas, por

Más detalles

Manual de Peticiones a Sistemas. Departamento: Tecnología y Desarrollo. Responsable: Javier Recio

Manual de Peticiones a Sistemas. Departamento: Tecnología y Desarrollo. Responsable: Javier Recio Manual de Peticiones a Sistemas Departamento: Tecnología y Desarrollo Fecha: 26/06/11 Responsable: Javier Recio Global Exchange; Central; España 1 ÍNDICE 1.- Peticiones a sistemas... 3 1.1.- Incidencias...

Más detalles

Manual de ayuda de ATILA.

Manual de ayuda de ATILA. Edición de un registro de la base de datos Podrá llegar a esta pantalla de edición de datos de un registro después de haber seleccionado algún registro obtenido a raíz de una búsqueda en la base de datos.

Más detalles

ACTIVIDADES BASE DE DATOS ACCESS 2007

ACTIVIDADES BASE DE DATOS ACCESS 2007 ACTIVIDADES BASE DE DATOS ACCESS 2007 En un primer momento vamos a practicar las opciones de Crear, abrir y cerrar una base de datos de Access 2007. Abrimos Access 2007 y haz clic sobre la opción Base

Más detalles

Manual de Usuario para. Sistema de Tickets de Soporte DOC

Manual de Usuario para. Sistema de Tickets de Soporte DOC Manual de Usuario para Sistema de Tickets de Soporte DOC Página 1 de 17 Tabla de contenido Introducción... 3 Conceptos básicos... 3 Asignar contraseña de usuario... 4 Entrada en el sistema... 5 Perfil

Más detalles

Tutorial Instalación Debían.

Tutorial Instalación Debían. Tutorial Instalación Debían. Este tutorial tiene como finalidad mostrar cómo se realiza la instalación del sistema operativo Linux versión debían. Primero debemos configurar el BIOS para que nos permita

Más detalles

Modelamiento y Diseño de Base de Datos

Modelamiento y Diseño de Base de Datos Modelamiento y Diseño de Base de Datos Sub consultas y vistas Objetivos: Elaborar sub consultas, a partir de una consulta. Generar diferentes vistas a partir de las tablas de una base de datos. Introducción

Más detalles

Conexión a una base de datos de MySQL utilizando Netbeans

Conexión a una base de datos de MySQL utilizando Netbeans Agosto 09 Conexión a una base de datos de MySQL utilizando Netbeans Guía rápida [ h t t p : / / w w w. o p e n b o x e r. 2 6 0 m b. c o m / j a v a. p h p ] Conexión a una base de datos de MySQL utilizando

Más detalles

Ubuntu Server 12.10 HOW TO : UBUNTU SERVER EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar un servidor de ubuntu.

Ubuntu Server 12.10 HOW TO : UBUNTU SERVER EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar un servidor de ubuntu. Ubuntu Server 12.10 HOW TO : UBUNTU SERVER EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar un servidor de ubuntu. Instalación De Ubuntu 10.04 LTS Server Este manual se

Más detalles

Guía de configuración Router NUCOM N300

Guía de configuración Router NUCOM N300 Guía de configuración Router NUCOM N300 1.- Diagrama de conexiónes del equipo - 1 - 2.- Administración y configuración del router 2.1.- Entrando en la página de administración Abra su navegador de Internet

Más detalles

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control PROPIEDADES DE LOS CAMPOS Cada campo de una tabla dispone de una serie de características que proporcionan un control adicional sobre la forma de funcionar del campo. Las propiedades aparecen en la parte

Más detalles

BASE DE DATOS EN EXCEL Por Mabel Cortes C.

BASE DE DATOS EN EXCEL Por Mabel Cortes C. BASE DE DATOS EN EXCEL Por Mabel Cortes C. BASE DE DATOS Una base de datos es cualquier conjunto de información organizada de tal forma que pueda ser utilizada eficientemente. Una agenda telefónica es

Más detalles

Replicación de datos en MySQL

Replicación de datos en MySQL Replicación de datos en MySQL Mantén activa tu aplicación web ante un fallo en los servidores Introducción Hoy en día, muchos negocios dependen del buen funcionamiento de sus aplicaciones web en Internet,

Más detalles

Programación de Videojuegos Tema 15 Tipos de Dato I. 15. Tipos de Dato I

Programación de Videojuegos Tema 15 Tipos de Dato I. 15. Tipos de Dato I 15. Por ahora ya sabemos lo suficiente sobre el muestreo de textos por pantalla, aunque por supuesto a falta de practicar un poco. Vamos a cambiar un poco de temática y vamos a ver otros aspectos avanzados

Más detalles

Generador de Etiquetas

Generador de Etiquetas Generador de Etiquetas Dentro del menú Listados/Etiq, se encuentran las utilidades para la generación de etiquetas. Hay dos modos de creación de etiquetas, según se desee generar una etiqueta sin acceder

Más detalles

MODIFICAR TABLA DE DATOS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

MODIFICAR TABLA DE DATOS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE MODIFICAR TABLA DE DATOS ACCESS 2010 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE MODIFICAR TABLA DE DATOS Aquí veremos las técnicas de edición de registros para modificar tanto la

Más detalles

GBD Diseño físico de DDBB

GBD Diseño físico de DDBB GBD Diseño físico de DDBB Mª Carmen Gabarrón Manual SQL de Oracle 10g http://download.oracle.com/docs/cd/b19306_01/server.102/b14200/index.htm SQL SQL es el lenguaje de consulta universal para bases de

Más detalles

PHP y MySQL Domine el desarrollo de un sitio Web dinámico e interactivo (3ª edición)

PHP y MySQL Domine el desarrollo de un sitio Web dinámico e interactivo (3ª edición) Introducción 1. Objetivo de la obra 15 2. Breve historia de PHP y MySQL 16 2.1 PHP 16 2.2 MySQL 16 3. Dónde conseguir PHP y MySQL 17 4. Convenciones de escritura 18 4.1 PHP 18 4.2 MySQL 19 Introducción

Más detalles

Colegio San Marón INFORMATICA TUTORIAL DE MICROSOFT ACCESS

Colegio San Marón INFORMATICA TUTORIAL DE MICROSOFT ACCESS Colegio San Marón INFORMATICA TUTORIAL DE MICROSOFT ACCESS 1 En este tutorial veremos cómo diseñar una base de datos relacional utilizando las herramientas de Microsoft Access, y cómo automatizar tareas

Más detalles

UNIDAD 4 FORMATO AVANZADO

UNIDAD 4 FORMATO AVANZADO UNIDAD 4 FORMATO AVANZADO COMPETIC 3 TEXTOS En esta unidad veremos funciones avanzadas para dar formato y configurar las páginas. Separar el documento en secciones Las secciones son las partes (invisibles)

Más detalles

Manual de instalación Inventario Dispositivo Móvil. ClassicGes 6

Manual de instalación Inventario Dispositivo Móvil. ClassicGes 6 Manual de instalación Inventario Dispositivo Móvil ClassicGes 6 Cómo instalar Inventario Dispositivo Móvil En este manual se van a indicar los pasos a llevar a cabo para utilizar el Inventario Dispositivo

Más detalles

MANUAL DE MACROS EXCEL 2010

MANUAL DE MACROS EXCEL 2010 MANUAL DE MACROS EXCEL 2010 1 CONTENIDO 1-COMO GRABAR UNA MACRO------------------------------------------------------------------------------------3 2-COMO EJECUTAR UNA MACRO QUE YA EXISTE-------------------------------------------------------------5

Más detalles

ACCIONES Photoshop. Primero explicaremos brevemente que son las Acciones de Photoshop y cómo utilizar esta interesante utilidad. Acciones Photoshop

ACCIONES Photoshop. Primero explicaremos brevemente que son las Acciones de Photoshop y cómo utilizar esta interesante utilidad. Acciones Photoshop ACCIONES Photoshop Uno de los problemas que mas echa para atrás a mucha gente a la hora de procesar archivos en Photoshop, especialmente cuando estos requieren procesados complejos, es el tiempo que requiere

Más detalles

EJEMPLO 1. CUADROS DE TEXTO

EJEMPLO 1. CUADROS DE TEXTO EJEMPLO 1. CUADROS DE TEXTO En este ejemplo vamos a ver la forma de crear cuadros de texto con los datos de vistas Para ello disponemos de una vista con los datos de los alumnos. En el formulario principal

Más detalles

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 3: Asistente para formularios

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 3: Asistente para formularios Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 3: Asistente para formularios Instituto de Tecnologías Educativas 2011 Asistente para crear formularios Una de las principales

Más detalles

UNIDAD 10. Introducción

UNIDAD 10. Introducción UNIDAD 10 Introducción Una plantilla es un modelo o patrón para crear nuevos documentos. En una plantilla se guarda internamente el formato utilizado, es decir, el estilo de la fuente, el tamaño, etc.,

Más detalles

En esta práctica vamos a realizar una base de datos sencilla pero completa mediante Microsoft Access.

En esta práctica vamos a realizar una base de datos sencilla pero completa mediante Microsoft Access. En esta práctica vamos a realizar una base de datos sencilla pero completa mediante Microsoft Access. Todas las bases tienen unos puntos comunes que debemos tener en cuenta, como son: entidades, tipos

Más detalles