Bases de datos en PHP con MySQL - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Bases de datos en PHP con MySQL

Description:

Componentes de SQL El lenguaje SQL est compuesto por comandos, cl usulas, operadores y funciones de agregado. ... FUNDAMENTOS DE BASES DE DATOS - KORTH, ... – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 29
Provided by: moi78
Category:
Tags: mysql | php | bases | con | datos | fundamentos

less

Transcript and Presenter's Notes

Title: Bases de datos en PHP con MySQL


1
Bases de datos en PHP con MySQL
  • Introducción a la ingeniería en computación
  • UTM

2
Qué es una base de datos?
  • Una base de datos (BD) es una colección de
    información organizada de tal forma que un
    programa pueda seleccionar rápidamente conjuntos
    de datos deseados.
  • Las bases de datos tradicionales se organizan por
    campos, registros y archivos.
  • Un campo es una pieza simple de información.
  • Un registro es un conjunto completo de campos.
  • Un archivo es un conjunto de registros
  • Una base de datos está determinada por un
    conjunto de archivos.
  • Para accesar a la información de una base de
    datos es necesario un sistema manejador de bases
    de datps (Database Management system). Este
    programa permite entrar, organizar, seleccionar
    la información contenida en la BD.

Es un conjunto exhaustivo no redundante de datos
estructurados organizados independientemente de
su utilización y su implementación en máquina
accesibles en tiempo real y compatibles con
usuarios concurrentes con necesidad de
información diferente.
3
Sistemas de gestión de bases de datos
  • Un conjunto de programas que permiten almacenar,
    modificar, y extraer información de una base de
    datos. Hay diferentes tipos de DBMS desde los muy
    pequeños para operar sobre PCs hasta los muy
    grandes que operan sobre mainframes.
  • Un DBMS contiene
  • DDL Lenguaje de Definición de Datos
  • DML Lenguaje de Manipulación de Datos
  • SQL Lenguaje de Consulta.
  • Entre los DBMS mas comunes están Oracle,
    SqlServer, Informix, Sysbase, MySQL, postgreSQL.
  • Una BD es una colección de archivos
    interrelacionados almacenados en conjunto sin
    redundancia y un DBMS es un conjunto de numerosas
    rutinas de software interrelacionadas cada una de
    ellas es responsable de una determinada tarea.

4
Algunas Aplicaciones con DBMS
  • Sistemas de reservación
  • Inventarios
  • Sistema de consulta de una biblioteca
  • Sistema para control de Recursos humanos
  • Bases de datos topográficas, etc
  • El modelo relacional
  • Este es el modelo que se está empleando con más
    frecuencia en la práctica, debido el rápido
    entendimiento por parte de los usuarios que no
    tienen conocimientos profundos sobre Sistemas de
    Bases de Datos
  • En este modelo toda la información se representa
    a través de arreglos bidimensionales o tablas.
  • Las operaciones básicas son
  • Seleccionar renglones de alguna tabla (SELECT)
  • Seleccionar columnas de alguna tabla (PROJECT)
  • Unir o juntar información de varias tablas (JOIN)

5
Cómo diseñar una BD?
  • Las etapas de diseño de una base de datos son
  • Diseño conceptual
  • Diseño lógico
  • Diseño físico
  • El diseño conceptual se refiere a identificar qué
    datos serán usados para una aplicación, por
    ejemplo para una agenda serían ?
  • El diseño lógico se refiere a la descripción de
    cada pieza de información y las relaciones que
    existen entre ellas.
  • En esta etapa se definen las tablas (y su
    contenido) que se van a usar, relaciones entre
    los datos, campos llave, así como la
    normalización de dichos datos.
  • Las tablas se relacionan con otras teniendo
    columnas en común, dicha columna puede aparecer
    en más de dos tablas. Existen tres tipos de
    relación uno a uno, uno a muchos y muchos a
    muchos.
  • Ejemplo de uno a uno un profesor estará
    solamente en un cubo, cada departamento solamente
    tiene un jefe.
  • Ejemplo de uno a muchos los profesores que están
    en cierto instituto. Los alumnos que son de
    cierta carrera.
  • Ejemplo de muchos a muchos un alumno puede
    asistir a más de un curso, cada curso puede tener
    más de un alumno.

6
Normalización
  • Es el proceso para eliminar redundancia y
    aumentar la estabilidad y rendimiento de una BD.
    Ayuda a determinar qué dato pertenece a qué tabla
    y las relaciones entre las columnas de una tabla.
  • Primera forma normal (1NF)
  • Cada atributo de la tabla es atómico debe
    almacenar el dato más pequeño posible, esto para
    facilitar la búsqueda y ordenamiento de los
    datos. Ejemplo el nombre de una persona puede
    ocasionar problemas, ya que se podrían hacer
    búsquedas por nombre o por apellidos. Entonces es
    necesario tener un campo para el nombre y otro
    para apellidos.
  • No existen atributos multivaluados por ejemplo
    un libro puede tener más de un autor, y además
    tener estar en más de una categoría. Para este
    caso dichos atributos deben ser movidos a otra
    tabla.

7
2NF
  • Todas las columnas deben depender directamente de
    la llave primaria. En caso de encontrar atributos
    que no dependan de la clave primaria deberán ser
    enviados a otra tabla.

8

9
3NF
  • Se cumple con esta forma cuando se tienen
    columnas independientes. Es decir cuando una
    columna no puede ser derivada de otra.
  • Por ejemplo no es necesario un campo edad si se
    tiene por ejemplo la fecha de nacimiento.
  • Llaves
  • Es una columna o grupo de, que funciona como un
    identificador único en una columna.

10
El diseño físico
  • Se hace un refinamiento del diseño lógico y se
    elige qué DBMS se usará. En esta etapa se
    determina
  • Los datos que se usarán más comunmente
  • Columnas que requieran índices
  • Áreas que necesitarán más espacio físico por un
    mayor incremento de la información que habrá en
    ella
  • Si es factible hacer una desnormalización de los
    datos para obtener una mejora en el rendimiento
    de la BD
  • SQL
  • El lenguaje de consulta estructurado (SQL) es un
    lenguaje de base de datos normalizado, utilizado
    por los diferentes motores de bases de datos para
    realizar determinadas operaciones sobre los datos
    o sobre la estructura de los mismos.

11
Componentes de SQL
  • El lenguaje SQL está compuesto por comandos,
    cláusulas, operadores y funciones de agregado.
    Estos elementos se combinan en las instrucciones
    para crear, actualizar y manipular las bases de
    datos.
  • Comandos
  • Existen dos tipos de comandos SQL
  • Los DLL que permiten crear y definir nuevas bases
    de datos, campos e índices.
  • Los DML que permiten generar consultas para
    ordenar, filtrar y extraer datos de la base de
    datos.
  • Comandos DLL
  • CREATE Utilizado para crear nuevas tablas, campos
    e índices
  • DROP Empleado para eliminar tablas e índices
  • ALTER Utilizado para modificar las tablas
    agregando campos o cambiando la definición de los
    campos.

12
  • Comandos DML
  • SELECT Utilizado para consultar registros de la
    base de datos que satisfagan un criterio
    determinado
  • INSERT Utilizado para cargar lotes de datos en la
    base de datos en una única operación.
  • UPDATE Utilizado para modificar los valores de
    los campos y registros especificados
  • DELETE Utilizado para eliminar registros de una
    tabla de una base de datos
  • Cláusulas
  • Las cláusulas son condiciones de modificación
    utilizadas para definir los datos que desea
    seleccionar o manipular.
  • FROM Utilizada para especificar la tabla de la
    cual se van a seleccionar los registros
  • WHERE Utilizada para especificar las condiciones
    que deben reunir los registros que se van a
    seleccionar
  • GROUP BY Utilizada para separar los registros
    seleccionados en grupos específicos
  • ORDER BY Utilizada para ordenar los registros
    seleccionados de acuerdo con un orden específico

13
  • Operadores lógicos
  • AND Es el "y" lógico. Evalua dos condiciones y
    devuelve un valor de verdad sólo si ambas son
    ciertas.
  • OR Es el "o" lógico. Evalúa dos condiciones y
    devuelve un valor de verdar si alguna de las dos
    es cierta.
  • NOT Negación lógica. Devuelve el valor contrario
    de la expresión.
  • Operadores de Comparación
  • lt Menor que
  • gt Mayor que
  • ltgt Distinto de
  • lt Menor ó Igual que
  • gt Mayor ó Igual que
  • Igual que
  • BETWEEN Utilizado para especificar un intervalo
    de valores.
  • LIKE Utilizado en la comparación de un modelo
  • In Utilizado para especificar registros de una
    base de datos

14
  • Funciones de Agregado
  • Las funciones de agregado se usan dentro de una
    cláusula SELECT en grupos de registros para
    devolver un único valor que se aplica a un grupo
    de registros.
  • AVG Utilizada para calcular el promedio de los
    valores de un campo determinado
  • COUNT Utilizada para devolver el número de
    registros de la selección
  • SUM Utilizada para devolver la suma de todos los
    valores de un campo determinado
  • MAX Utilizada para devolver el valor más alto de
    un campo especificado
  • MIN Utilizada para devolver el valor más bajo de
    un campo especificado

15
Supongamos la BD para una librería con la
siguiente estructura
autorLibro autorLibro
Field Type
ISBN  varchar(20) 
Nombre  varchar(40) 
Apellidos  varchar(40) 
Libros Libros
Field Type
ISBN  varchar(20) 
titulo  varchar(80) 
precio  float 
editorial  varchar(80) 
edicion  varchar(20) 
annoEdic  int(11) 
Idioma  varchar(40) 
existencia  tinyint(4) 
Ventas Ventas
Field Type
id  int(11) 
RFC  varchar(30) 
ISBN  varchar(20) 
Cliente  varchar(60) 
Fecha  date 
Cantidad  int(11) 
PrecioUnidad  float 
16
Mostrar todos los datos que están en la tabla
libros
  • Select from libros
  • Otra opción es poner exactamente qué campos
    quiere mostrar.

ISBN titulo precio editorial edicion annoEdic Idioma existencia
 84-181-36662-0   Fundamentos de programacion   325.23   McGraw Hill   3   2002   Español   7 
 84-89660-00-X   Fundamentos de Algoritmia   259.95   Prentice Hall   1   1997   Español   7 
 84-189-76952-0   Redes para todos   215.62   Prentice Hall   2   1999   Español   7 
 83-298-37952-x   Arquitectura de computadoras   250   Prentice Hall   2   1999   Español   7 
 33-588-37741-x   1001 tips para programar en Java   257.35   McGraw Hill   2   1997   Español   7 
17
Otras consultas
  1. select titulo, precio, precio1.15 from libros
  2. select titulo, precio, precio.15 from libros
    where preciogt250
  3. select titulo, precio, precio.15 from libros
    where preciogt250 order by precio
  4. select titulo, precio, precio.15 from libros
    where precio between 220 and 300 order by precio

18
Consultas que implican más de una tablaMostrar
apellido del autor y el título del libro.
  • select autorlibro.apellidos, libros.titulo from
    autorlibro, libros where libros.ISBN
    autorlibro.ISBN

Joyanes Aguilar   Fundamentos de programacion 
 Brassard   Fundamentos de Algoritmia 
 Bratley   Fundamentos de Algoritmia 
 Gibbs   Redes para todos 
 Mano   Arquitectura de computadoras 
 Chan   1001 tips para programar en Java 
 Griffith   1001 tips para programar en Java 
 Iasi   1001 tips para programar en Java 
19
Más consultas
  • select autorlibro.apellidos, libros.titulo from
    autorlibro, libros where libros.ISBN
    autorlibro.ISBN and autorlibro.apellidos like
    'Jo
  • Si hacemos la siguiente consulta
  • SELECT FROM ventas
  • La siguiente consulta
  • select sum(preciounidadcantidad) from ventas
  • select sum(preciounidadcantidad) from ventas
    where fecha '2003-12-13'
  • Arrojaría

id RFC ISBN Cliente Fecha Cantidad PrecioUnidad
 1   ZILJ-690122   84-181-36662-0   Ziga León Jorge   2003-12-13   2   210 
 2   SAHC-850226   84-89660-00-X   Santos Hernandez Cristina   2003-12-13   1   255.95 
sum(preciounidadcantidad)
 675.94999694824 
20
  • select autorlibro.apellidos, libros.titulo,
    libros.precio from autorlibro, libros where
    libros.ISBN autorlibro.ISBN and
    autorlibro.apellidos like 'Joy order by titulo
  • select autorlibro.apellidos, libros.titulo,
    libros.precio from autorlibro, libros where
    libros.ISBN autorlibro.ISBN and
    (autorlibro.apellidos like 'Joy' or
    autorlibro.apellidos like 'Br') order by titulo

apellidos titulo precio
 Joyanes Aguilar   Fundamentos de programacion   325.23 
apellidos titulo precio
 Bratley   Fundamentos de Algoritmia   259.95 
 Brassard   Fundamentos de Algoritmia   259.95 
 Joyanes Aguilar   Fundamentos de programacion   325.23 
21
La instrucción DELETE
  • Crea una consulta de eliminación que elimina los
    registros de una o más de las tablas listadas en
    la cláusula FROM que satisfagan la cláusula
    WHERE. Esta consulta elimina los registros
    completos, no es posible eliminar el contenido de
    algún campo en concreto. Su sintaxis es
  • DELETE FROM Tabla WHERE criterio
  • Ejemplo
  • delete from ventas where fecha gt '2003-12-16'

22
INSERT
  • Insertar un único Registro
  • INSERT INTO Tabla (campo1, campo2, .., campoN)
  • VALUES (valor1, valor2, ..., valorN)
  • INSERT INTO ventas (id, RFC, ISBN, Cliente,
    Fecha, Cantidad, PrecioUnidad) VALUES (5,
    'SAHC-850226', '33-588-37741-x', 'Santos
    Hernandez Cristina', '2003-12-14', 6, 250)
  • Si los datos del registro a insertar le son
    enviados en el mismo orden en que están definidos
    en la tabla, se puede usar la siguiente sintaxis
  • INSERT INTO Tabla VALUES (valor1, valor2, ...,
    valorN)
  • También es posible insertar datos generados por
    una consulta.
  • INSERT INTO Tabla SELECT TablaOrigen. FROM
    TablaOrigen

23
Actualización de valores
  • No genera ningún resultado. Para saber qué
    registros se van a cambiar, hay que examinar
    primero el resultado de una consulta de selección
    que utilice el mismo criterio y después ejecutar
    la consulta de actualización.
  • Update tabla set campo1valor1, campo2valor2
    , where condiciones
  • update libros set precioprecio0.95
  • update libros set sueldosueldo1.05 where sueldo
    gt 45.50

24
USANDO PHP y MySQLConexión a la BD
  1. lt?php
  2. function Conectarse()
  3. if (!(linkmysql_connect("localhost","usuario"
    ,"Password")))
  4. echo "Error conectando a la base de datos."
  5. exit() //es posible también la instrucción
    die(mensaje)
  6. if (!mysql_select_db("base_datos",link))
  7. echo "Error seleccionando la base de
    datos."
  8. exit()
  9. return link
  10. linkConectarse()
  11. echo "Conexión con la base de datos
    conseguida.ltbrgt"
  12. mysql_close(link) //cierra la conexion
  13. ?gt

25
Instrucciones para conexión a BD en MySQL
  • Al ejecutar la instrucción mysql_connect se crea
    un vínculo entre la base de datos y la pagina
    PHP, este vínculo será usado posteriormente en
    las consultas que hagamos a la base de datos.
  • Finalmente, una vez que hemos terminado de usar
    el vínculo con la base de datos, lo liberaremos
    con la instrucción mysql_close para que la
    conexión no quede ocupada.
  • mysql_query sirve para hacer una consulta a la
    base de datos en el lenguaje de consultas SQL
  • mysql_fetch_array se extraen los datos de la
    consulta a un array.
  • mysql_free_result liberamos la memoria usada en
    la consulta.

26
  1. ltbodygt
  2. lt?php
  3. include("conex.php") //en este archivo está
    la función conectarse
  4. link conectarse()
  5. result mysql_query("select titulo, precio
    from libros",link)
  6. ?gt
  7. ltTABLE BORDER1 CELLSPACING1 CELLPADDING1gt
  8. ltTRgtltTDgtTitulolt/TDgtltTDgtPreciolt/TDgtlt/TRgt
  9. lt?php
  10. while(row mysql_fetch_array(result))
  11. printf("lttrgtlttdgtslt/tdgtlttdgtslt/tdgtlt/trgt",
    rowtitulo",rowprecio")
  12. mysql_free_result(result)
  13. mysql_close(link)
  14. ?gt
  15. lt/tablegt
  16. lt/bodygt

27
Inserción de registros
  1. lt?php
  2. include("conex.php")
  3. linkConectarse()
  4. //Petición de los datos desde la
    otra forma
  5. nombre_GET'nombre'
  6. apellidos_GET'apellidos'
  7. //ejecución de la inserción
  8. mysql_query ("insert into prueba
    (Nombre,Apellidos) values ('nombre','apellidos')
    ",link)
  9. mysql_close(link)
  10. ?gt

28
Bibliografía
  • Tutoriales SQL
  • http//www.programacion.com/tutorial/sql/
  • http//www.wwits.net/programs/dbtutorindex.phtml
  • PHP y MySQL
  • http//www.webestilo.com/php/php07a.phtml
  • Libros
  • Database Design Guide Pervasive Software
    (e-book)
  • FUNDAMENTOS DE BASES DE DATOS - KORTH, HENRY F.
  • Usen después de instalar el PHP-triad
  • http//localhost/phpmyadmin para definir sus
    tablas y hacer las pruebas necesarias
Write a Comment
User Comments (0)
About PowerShow.com