Sunteți pe pagina 1din 12

“Aplicaciones Web dinámicas

con PHP y MySql”

Base de Datos en la web:

RDBMS

Sergio Gabriel Rodríguez


http://www.3trex.com.ar

¿Qué es una Base de Datos?


• Es un conjunto de datos almacenados con una estructura lógica.

• La colección de datos, normalmente llamada base de datos, contiene


información relevante para una empresa.

• Tan importante como los datos, es la estructura conceptual con la que se


relacionan entre ellos.

• Si no tenemos los dos factores unidos no podemos hablar de una base


de datos, ya que ambos combinados dan la coherencia necesaria para
poder trabajar con los datos de una manera sistemática.

Modelo Relacional: en las bases de datos relacionales se utilizan un


grupo de tablas para representar los datos y las relaciones entre ellos.

• El Modelo Relacional evita la redundancia e inconsistencia de los datos.


Definiciones de BDR
Tabla Conjunto de datos organizados referentes a una entidad.
Está compuesta por filas y columnas
Tupla Es una hilera o fila en una tabla.
Atributo Es una columna en una tabla.

Dominio Es el conjunto de valores que puede tomar un Atributo.

Clave Es un atributo con una característica de relevancia para


identificar la tupla.
Clave Primaria Es una clave de valor único, no ocurre más de una vez en
el atributo.
Cardinalidad Es el número de tuplas de una tabla.

Grado Es el número de atributos de una tabla.

Relación Una definición simple, es que una relación se corresponde


con una tabla.

¿Qué es una DBMS?


• Son las siglas de “Sistema de Gestión de Bases de Datos”. En inglés
“DataBase Manager System”

• Consiste en una colección de datos interrelacionados y un conjunto de


programas para acceder a dichos datos.

• Su objetivo principal es proporcionar una forma de almacenar y recuperar


información de una Base de Datos, tanto práctica como eficientemente.

• Deben proporcionar la fiabilidad de la información almacenada, a pesar


de las caídas del sistema.

• Debe garantizar la seguridad de acceso a los datos.

• Debe proveer herramientas para definición de estructuras (DDL) y


manipulación de datos (DML). Ej: creación de tablas, consultas, etc.
Bases de datos en la web
•Las bases de datos permiten almacenar de una forma
estructurada y eficiente toda la información de un sitio web.

Algunas Ventajas:

• Proporcionar información actualizada


• Facilitar la realización de búsquedas
• Disminuir los costos de mantenimiento
• Implementar sistemas de control de acceso
• Almacenar preferencias de los usuarios

Bases de datos en la web


Solicitud de una página web dinámica con Base de datos
El cliente solicita una El server busca el
Página dinámica Script solicitado
El script tiene código de
Internet acceso a BD

El documento HTML generado es


enviado al cliente

El navegador interpreta y El script PHP genera un


muestra el HTML documento HTML a partir
de los datos extraídos de la
BD PHP se conecta y
accede a la BD
DBMS: MySQL
• MySQL es un Sistema de Gestión de Base de Datos, multihilo y
multiusuario con más de seis millones de instalaciones

• MySQL AB es la empresa que desarrolla MySQL como software libre en


un esquema de licenciamiento dual. Por un lado lo ofrece bajo la GNU
GPL, pero, empresas que quieran incorporarlo en productos privativos
pueden comprar una licencia que les permita ese uso.

• Su popularidad como aplicación web está muy ligada a PHP, que a


menudo aparece en combinación con MySQL.

• Es una base de datos muy rápida en la lectura cuando utiliza el motor no


transaccional MyISAM, pero puede provocar problemas de integridad en
entornos de alta concurrencia en la modificación.

• En aplicaciones web hay baja concurrencia en la modificación de datos y


en cambio el entorno es intensivo en lectura de datos, lo que hace a
MySQL ideal para este tipo de aplicaciones.

Características de MySQL
• Un amplio subconjunto de ANSI SQL 99, y varias extensiones.

• Soporte a multiplataforma.
• Procedimientos Almacenados.
• Triggers.
• Vistas.
• Motores de almacenamiento independientes (MyISAM para lecturas
rápidas, InnoDB para transacciones e integridad referencial)
• Soporte SSL.
• Query caching.
• Sub-SELECTs (or nested SELECTs).
• Full-text indexing and searching using MyISAM engine

• ACID compliance using the InnoDB, BDB and Cluster engines (La prueba
ACID es un test usado por profesionales para determinar la robustez y fiabilidad de un RDBMS determinado )
Tipos de Columnas
• En MySQL existen bastantes tipos diferentes disponibles, de modo que será
mejor que los agrupemos por categorías: de caracteres, enteros, de coma flotante,
tiempos, bloques, enumerados y conjuntos.

• Tipos de datos de cadenas de caracteres

CHAR: Contiene una cadena de longitud constante. Para mantener la longitud de


la cadena, se rellena a la derecha con espacios. Estos espacios se eliminan al
recuperar el valor. Los valores válidos para M son de 0 a 255.

CHAR es un alias para CHARACTER

VARCHAR: Contiene una cadena de longitud variable. Los valores válidos para M
son de 0 a 255, y de 1 a 255 en versiones de MySQL anteriores a 4.0.2.
Los espacios al final se eliminan.

VARCHAR es un alias para CHARACTER VARYING

Tipos de Columnas
• Tipos de datos enteros

TINYINT: Contiene un valor entero muy pequeño. El rango con signo es entre -128
y 127. El rango sin singo, de 0 a 255.

BIT, BOOL, BOOLEAN: son sinónimos de TINYINT.

SMALLINT : Contiene un entero corto. El rango con signo es de -32768 a 32767. El


rango sin singo, de 0 a 65535.

MEDIUMINT : Contiene un entero de tamaño medio, el rango con signo está entre -
8388608 y 8388607. El rango sin signo, entre 0 y 16777215.

INT: Contiene un entero de tamaño normal. El rango con signo está entre
-2147483648 y 2147483647. El rango sin singo, entre 0 y 4294967295.

BIGINT: Contiene un entero grande. El rango con signo es de -


9223372036854775808 a 9223372036854775807. El rango sin signo, de 0 a
18446744073709551615.
Tipos de Columnas
• Tipos de datos en coma flotante

FLOAT: Contiene un número en coma flotante pequeño (de precisión sencilla).


Los valores permitidos son entre -3.402823466E+38 y -1.175494351E-38, 0, y
entre 1.175494351E-38 y 3.402823466E+38. Si se especifica el modificador
UNSIGNED, los valores negativos no se permiten.

DOUBLE: Contiene un número en coma flotante de tamaño normal (precisión


doble). Los valores permitidos están entre -1.7976931348623157E+308 y -
2.2250738585072014E-308, 0, y entre 2.2250738585072014E-308 y
1.7976931348623157E+308. Si se especifica el modificador UNSIGNED, no se
permiten los valores negativos.

DECIMAL: Contiene un número en coma flotante sin empaquetar. Se comporta


igual que una columna CHAR: "sin empaquetar" significa que se almacena como
una cadena, usando un carácter para cada dígito del valor. El punto decimal y el
signo '-' para valores negativos, no se cuentan en M (pero el espacio para estos se
reserva). Si D es 0, los valores no tendrán punto decimal ni decimales.

Tipos de Columnas
• Tipos de datos para tiempos
DATE: Contiene una fecha. El rango soportado está entre '1000-01-01' y '9999-
12-31'. MySQL muestra los valores DATE con el formato 'AAAA-MM-DD', pero es
posible asignar valores a columnas de este tipo usando tanto números como
cadenas.

DATETIME: Contiene una combinación de fecha y hora. El rango soportado está


entre '1000-01-01 00:00:00' y '9999-12-31 23:59:59'. MySQL muestra los valores
DATETIME con el formato 'AAAA-MM-DD HH:MM:SS', pero es posible asignar
valores a columnas de este tipo usando tanto cadenas como números.

TIMESTAMP: Contiene un valor del tipo timestamp. El rango está entre '1970-01-
01 00:00:00' y algún momento del año 2037.

TIMESTAMP: Una hora. El rango está entre '-838:59:59' y '838:59:59'. MySQL


muestra los valores TIME en el formato 'HH:MM:SS', pero permite asignar valores
a columnas TIME usando tanto cadenas como números.
Tipos de Columnas

• Tipos de datos datos sin tipo o grandes bloques de datos

TINYBLOB, TINYTEXT: Contiene una columna BLOB o TEXT con una longitud
máxima de 255 caracteres (28 - 1).

BLOB, TEXT: Contiene una columna BLOB o TEXT con una longitud máxima de
65535 caracteres (216 - 1).

MEDIUMBLOB, MEDIUMTEXT: Contiene una columna BLOB o TEXT con una


longitud máxima de 16777215 caracteres (224 - 1).

LONGBLOB, LONGTEXT: Contiene una columna BLOB o TEXT con una longitud
máxima de 4294967298 caracteres (232 - 1).

Tipos de Columnas

• Tipos de datos datos enumerados y conjuntos

ENUM: Contiene un enumerado. Un objeto de tipo cadena que puede tener un


único valor, entre una lista de valores 'valor1', 'valor2', ..., NULL o el valor especial
de error "". Un ENUM puede tener un máximo de 65535 valores diferentes.

SET: Contiene un conjunto. Un objeto de tipo cadena que puede tener cero o más
valores, cada uno de los cuales debe estar entre una lista de valores 'valor1',
'valor2', ...

Un conjunto puede tener un máximo de 64 miembros.


Lenguaje SQL
Un Sistema de Bases de Datos proporciona: Un Lenguaje de Definición de
Datos (DDL) para especificar el esquema de la Base de Datos y un
Lenguaje de Manipulación de Datos (DML) para expresar las consultas a
la Base de Datos.

En la práctica no son dos lenguajes separados, sino que forman parte de


un único lenguaje: SQL (Structured Query Language) es el lenguaje que
se utiliza para comunicarse con la Base de Datos.

Página orden SQL


PHP
Base de
datos
resultado

DML: Lenguaje de Consultas SQL


• Las instrucciones más habituales son SELECT, INSERT, UPDATE, DELETE

• Veamos su sintaxis básica y algunos ejemplos de uso

• Para ello utilizaremos una tabla Pelicula con cinco campos: un identificador
único de la película, el título, el director, los actores y el género de la misma.

Pelicula
idPelicula

título

director

actores

genero
SQL: SELECT
Mediante la sentencia SELECT es posible extraer datos de una tabla, seleccionando
las columnas de las que queremos obtenerlos.

Sintaxis:

SELECT expresión FROM tabla


[WHERE condición]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...]
[LIMIT [offset,] row_count | row_count OFFSET offset]

Ejemplo:

SELECT idPelicula, titulo FROM pelicula WHERE idPelicula > 5 ORDER BY


titulo DESC

Obtiene las películas con id mayor a 5, ordenadas por título

SQL: INSERT
Mediante la sentencia INSERT es posible agregar registros a una tabla.

Sintaxis:

INSERT [INTO] nombre_tabla [(nombre_columna,...)]


VALUES ((expresión | DEFAULT),...), (...),...

Ejemplo:

INSERT INTO pelicula (idPelicula, titulo, director, actores, genero) VALUES


(1, ‘Titanic’, ‘James Cameron, ‘Leonardo Di Caprio, Kate Winslet’,
‘Romántica’);

Agrega una fila a la tabla película con los valores indicados


SQL: UPDATE
Mediante la sentencia UPDATE es posible modificar los valores de los datos de un
registro dado.

Sintaxis:

UPDATE nombre_tabla
SET nombre_columna1=expr1 [, nombre_columna2=expr2 ...]
[WHERE condición]
[ORDER BY ...]
[LIMIT row_count]

Ejemplo:

UPDATE pelicula SET titulo = ‘Cadena de Favores’ WHERE id = 6;

Modifica el título de la película cuyo id es 6.

SQL: DELETE
Mediante la sentencia DELETE es posible eliminar registros de una tabla.

Sintaxis:

DELETE FROM nombre_tabla


[WHERE condición]
[ORDER BY ...]
[LIMIT row_count]

Ejemplo:

DELETE FROM pelicula WHERE genero = ‘Terror’;

Elimina de la tabla pelicula todas aquellas del género Terror.


Iniciando MySQL desde Xampp
Xammp integra una versión de MySQL lista para usar, como todo servidor,
MySQL necesita ser iniciado para poder recibir peticiones. Debemos iniciar
el servicio desde el Control Panel Application de XAMPP.

phpMyAdmin
phpMyAdmin es un Sistema de Administración de Bases de Datos MySQL,
desarrollado integramente en PHP, es open source, la última versión
disponible la pueden encontrar en http://www.phpmyadmin.net/

Con phpMyAdmin podemos realizar todo tipo de operaciones sobre una


base de datos MySQL, crear base de datos, tablas, realizar consultas,
exportar/importar, etc.
Ejercicio.
• Iniciar phpMyAdmin
• Crear la Base de datos ‘movieStore’
• Crear dos tablas, Película y Género con la siguiente estructura

• Ingresar datos (al menos 10 registros) en ambas tablas desde la consola SQL de
phpMyAdmin, utilizando la instrucción INSERT.

• Eliminar una fila de cualquiera de las tablas usando la instrucción DELETE.

• Rescatar todas las peliculas del género “Drama” con la instrucción SELECT

S-ar putea să vă placă și