Академический Документы
Профессиональный Документы
Культура Документы
aplicaciones para
mviles
MDULO 1 UNIDAD 1
NIVELACIN BASE DE DATOS
Qu es una base de datos? ..................................................................................... 3
Bases de Datos Relacionales ..................................................................................... 4
Tablas.................................................................................................................... 4
Columnas ............................................................................................................... 5
Filas ...................................................................................................................... 5
Valores .................................................................................................................. 5
Campo Llave........................................................................................................... 6
Tipos de datos numricos ......................................................................................... 9
Operadores ............................................................................................................ 9
Funciones de clculos ............................................................................................ 10
Lenguaje estructurado de consulta .......................................................................... 11
Creacin de una Base de Datos ............................................................................... 11
Creacin de un tabla.............................................................................................. 12
LENGUAJE DE MANIPULACION DE DATOS DE MYSQL (LMD) ............................... 12
SELECT: Selecciona datos de una tabla y devuelve un resultado ................................. 12
INSERT: Inserta nuevos registros en una tabla ......................................................... 16
DELETE: Elimina registros de una tabla .................................................................... 17
UPDATE: Modifica registros de una tabla .................................................................. 18
UPDATE nombre_de_tabla...................................................................................... 18
UPDATE Sueldos SET Importe=2000 WHERE Puesto=Puesto2 ................................... 18
PGINAS DINMICAS CON BASES DE DATOS ........................................................... 19
Qu es PHP? ....................................................................................................... 19
CONCEPTOS BSICOS DE MYSQL Y PHP INTEGRADOS............................................... 20
Conexin al servidor MySQL desde PHP.................................................................... 20
Uso de la consulta SELECT ..................................................................................... 23
Relacionales
Orientadas a Objetos
Lgicas
Tablas
o Columnas
o Filas
Valores
Campos Llave
o Relaciones
Esquemas
Tablas
Las bases relacionales se componen de relaciones, ms comnmente llamadas
tablas.
Una tabla es lo que su nombre indica, un cuadro de doble entrada en el cual se
relacionan datos.
Es bastante parecido a cuando uno guarda informacin en una planilla de clculo:
all tambin lo hace en tablas compuestas por Columnas y Filas.
Veamos la siguiente tabla, que muestra el ranking mundial de Tenis (los datos
estn desactualizados, es solo a modo de ejemplo)
Ranking
puesto
1
2
3
4
5
6
7
8
9
10
nombre
Roger
Rafael
Nicolay
James
Ivan
Andy
Tommy
David
Mario
Fenando
apellido
Federer
Nadal
Davydenko
Blake
Ljubicic
Roddick
Robredo
Nalbandian
Ancic
Gonzlez
edad
25
20
25
26
27
24
24
24
22
26
nacionalidad
Suizo
Espaol
Ucraniano
Estadounidense
Ucraniano
Estadounidense
Espaol
Argentino
Croata
Chileno
Columnas
Cada columna (o campo de la tabla) dentro de una tabla tiene un nombre nico ,
un tipo de dato y almacenan diferente informacin.
Filas
Cada fila (o registro) en la tabla Ranking representa a un tenista diferente.
Como las filas dependen de una tabla, todas van a tener la misma estructura pero
contenidos diferentes entre s.
Valores
Cada fila esta compuesta de un grupo de valores, los cuales corresponden a cada
una de las columnas.
Como cada uno corresponde a una columna, su tipo de dato es el indicado por
dicha columna.
Campo Llave
Cada fila (o registro) tiene que tener informacin diferente, ya que de otra
manera, estaramos duplicando registros.
Los campos Llave, son campos (columnas) cuyo contenido va a ser nico a lo largo
de toda la tabla, evitando de esta manera la duplicacin de informacin.
nombre
apellido
direccin
telfono
Pablo
Martnez
Rivadavia 2564
4567-9852
Diego
Romar
4258-6985
Alfredo
Romero
Pasco 1151
4587-9856
Silvia
4358-5874
Adelina
Caraibo
Charcas 4312
4562-9874
Pablo
Martnez
4578-4253
Diego
Gassi
4312-9098
Jorge Daro
Paley
4313-4251
Nicols
4125-7689
nombre apellido
direccin
telfono
Pablo
4567-9852
Pablo
4578-4253
Lo cual es correcto.
Ahora si lo que buscamos es que la consulta devuelva un solo registro, podemos
agregar un nuevo campo, = nro_cliente, que represente una identificacin
univoca para cada cliente.
nombre
Pablo
Diego
Alfredo
Silvia
Adelina
Pablo
Diego
Jorge Daro
Nicols
apellido
Martnez
Romar
Romero
Lanzillotta
Caraibo
Martnez
Gassi
Paley
Moldavsky
direccin
Rivadavia 2564
Cucha Cucha 3506
Pasco 1151
Crmer 1743
Charcas 4312
San Pedrito 111
Virrey Olaguer 2955
Juana Azurduy 1520
Campichuelo 462
telfono
4567-9852
4258-6985
4587-9856
4358-5874
4562-9874
4578-4253
4312-9098
4313-4251
4125-7689
Primarias
o Son campos llave que identifican unvocamente registros que estn
dentro de la tabla.
Forneas
o Son campos llave que permiten referenciar unvocamente a un registro
que est dentro de otra tabla.
Esquemas
El conjunto de todos los diseos de las tablas de una BD se llama Esquema.
En el Esquema de la BD se muestran todas las tablas, junto con sus campos y
llaves primarias y/o forneas.
Los esquemas pueden mostrarse mediante diagramas informales (como los que
usamos arriba para indicar la relacin entre rdenes y Clientes), Diagramas de
Entidad-Relacin, o mediante texto:
Clientes(nro_cliente, nombre, apellido, direccin, telfono)
Ordenes(nro_pedido, nro_cliente, descripcin, importe)
Con subrayado se indica la llave primaria y en cursiva la llave fornea.
Definicin
Integer
Numeric(n,m)
Decimal(n,m)
Float
Char(n)
Varchar(n)
Image
Text
Operadores
Los operadores se dividen en:
Aritmticos
+
Suma
Resta
Producto
Divisin
**
^ Exponenciacin
Relacionales
<
Menor que
<=
>
Mayor que
>=
<>
!= Distinto
!<
No menor que
!>
No mayor que
Lgicos
AND
OR
NOT
Funciones de clculos
MAX()
MIN()
SUM()
COUNT()
AVG()
10
11
Creacin de un tabla
SELECT
INSERT
DELETE
UPDATE
SELECT nombre_de_columna(s)
FROM nombre_de_tabla;
SELECT *
FROM nombre-tabla
SELECT nombre_de_columna(s)
FROM nombre_de_tabla
WHERE nombre_de_columna operador valor ;
12
SELECT nombre_de_columna(s)
FROM nombre_de_tabla
WHERE nombre_de_columna operador valor
AND|OR nombre_de_columna operador valor ;
Descripcin
Igual
<>
Distinto
>
Mayor que
<
Menor que
>=
<=
LIKE
13
SELECT nombre_de_columna(s)
FROM nombre_de_tabla
LIMIT numero_fila_inicial, numero_de_filas;
Donde:
numero_fila_inicial es desde qu fila de las que nos devolvera queremos
empezar
Valor promedio
SELECT avg(precio)
FROM libros
WHERE titulo LIKE %php;
14
Agrupar registros
SELECT titulo
FROM libros
GROUP BY autor
Grupo de registros
La clusula having permite seleccionar o rechazar un grupo de registros:
SELECT editorial,
FROM libros
WHERE precio is NOT NULL
GROUP BY editorial
HAVING editorial<>'Planeta';
Clusula Distinct
Indica obviar registros duplicados
15
Ejemplo:
El resultado :
ID_Empleado
01
02
03
Nombre
Juan
Diego
Carlos
Apellido
Prez
Rodrguez
Garca
16
Ejemplo:
Nombre
Juan
Carlos
17
Apellido
Prez
Garca
UPDATE nombre_de_tabla
SET nombre_de_columna=valor
WHERE nombre_de_columna operador valor;
ID_Empleo
01
02
Puesto
Puesto1
Puesto2
18
Importe
2300
2000
Incorporar bases de datos a pginas dinmicas con PHP sirve para almacenar
informacin en el sitio que puede cambiar dinmicamente.
Esta informacin luego se recuperara bajo scripts PHP para mostrarla por pantalla.
Ejemplos concretos de esto pueden ser:
Qu es PHP?
PHP significan PHP: Hypertext Processor - Procesador Previo al Hipertexto.
Es un lenguaje de programacin que sirve para hacer pginas de Internet
dinmicas, con la posibilidad de combinarlo con bases de datos.
Los script de PHP suelen intercalarse en el cdigo HTML de una pgina, y el
encargado de procesar esos scripts es el intrprete del servidor web.
Funcionamiento.
PHP es un lenguaje de lado de servidor.
Lo que significa, que lo que el programador codifique en PHP dentro de una pgina
de Internet, no va a ser interpretado por el cliente (navegador), si no por un
servidor que procese el cdigo y devuelva al cliente el cdigo HTML resultante.
19
Cada vez que se vayan a usar bases de datos en una pgina PHP, primero se debe
hacer una conexin al servidor MySQL.
$Conexion=mysql_connect("servidor","username","password");
20
Cerrar conexin
mysql_close();
mysql_select_db("nombre_de_base_de_datos", $conexion);
Detener la ejecucin
Ejemplo:
<?php
//Creamos una conexin
$conexion=mysql_connect("localhost", "root", "")
/*Si la conexin no se puede establecer, se detiene la ejecucin del cdigo y se
muestra el error.*/
or exit("No se pudo establecer una conexin");
/*Seleccionamos una base de datos del Servidor MySQL al que nos acabamos de
conectar.*/
$dbseleccionada=mysql_select_db("Empleos", $conexion)
/*Si la seleccin de la DB no se puede establecer, se detiene la ejecucin del cdigo
y se muestra el error.*/
or exit("No se pudo seleccionar la base de datos");
?>
21
Manejo de consultas
Una vez establecida la conexin a la base de datos, se puede acceder a los datos
almacenados en la misma.
A continuacin se listan algunas de las funciones ms usadas para trabajar con
MySQL desde PHP:
mysql_query(query, conexion):
Ejecuta una consulta.
Se debe usar con 2 parmetros: el primero ser la consulta MySQL y el
segundo la conexin utilizada.
Si la consulta fue DELETE, UPDATE o INSERT devuelve true o false para
saber si se realiz con xito.
Si la consulta fue SELECT devuelve el conjunto de filas obtenidas en
caso exitoso o false en caso contrario.
mysql_num_rows(resultado):
Permite saber cuntas filas tiene el resultado obtenido en una consulta
SELECT.
mysql_fetch_row(resultado):
Recupera los datos que contiene la fila actual dentro del resultado de la
consulta SELECT realizada previamente.
La variable que guarda la fila ser un vector (array), y para acceder a cada
uno de los datos debe usarse el subndice respetando el orden que se le dio
a las columnas en la consulta.
Por ejemplo, si recuperramos una fila haciendo
$fila=mysql_fetch_row($resultado) l
luego se accedera a cada columna de esa fila as: $fila[0], $fila[1], etc...
mysql_fetch_array(resultado):
Parecido al mysql_fetch_row, pero el subndice puede ser el nombre de la
columna a la que queramos acceder.
Por ejemplo, si recuperramos una fila haciendo
$fila=mysql_fetch_array($resultado)
luego se accedera a cada columna de de la siguiente manera:
$fila[Nombre], $fila[Apellido], etc...
mysql_free_result(resultado):
Libera la memoria consumida por el resultado de la consulta SELECT
realizada previamente.
22
Al recuperar datos de una base de datos con la consulta SELECT, luego debemos
listarlos en pantalla.
Para eso se suelen usar tablas.
La primer fila de la tabla sern los ttulos de cada campo, y una segunda fila de esa
tabla se repetir por cuantos registros haya recuperado desde la base de datos.
El siguiente ejemplo explica cada paso en los comentarios:
<?php
//Creamos una conexin
$conexion=mysql_connect("localhost", "root", "")
/*Si la conexin no se puede establecer, se detiene la ejecucin del cdigo y se
muestra el error.*/
or exit("No se pudo establecer una conexin");
/*Seleccionamos una base de datos del Servidor MySQL al que nos acabamos
de conectar.*/
$dbseleccionada=mysql_select_db("Empleos", $conexion)
/*Si la seleccin de la DB no se puede establecer, se detiene la ejecucin del
cdigo y se muestra el error.*/
or exit("No se pudo seleccionar la base de datos");
//Si la base de datos se seleccion correctamente, realizamos una consulta.
//Queremos mostrar en pantalla a todos los empleados
$result = mysql_query("SELECT * FROM empleados", $conexion);
//Verificamos si se encontr al menos un resultado
23