Usuario:ManuelRomero/PHPBasico/BD/Conceptos

Modelo de datos de una aplicación

 * Cuando vamos a realizar una aplicación sea web o sea de escritorio, nos vamos a encontrar con que nuestra aplicación va a gestionar datos
 * Estos datos que en nuestra aplicación será información, en muchas ocasiones los tendremos que almacenar para que permanezcan accesibles despúes de que la aplicación deje de ejecutarse, de modo que en próximas ejecuciones podamos acceder a ella.


 * Para este cometido están las bases de datos. Un sistema de información informatizado y organizado que permite almacenar datos de manera organizada que persisten en el sistema.

La base de datos

 * La base de datos hay que construirla
 * Como todas las construcciones, antes de construirla hay que diseñar como va a ser
 * En este campo para diseñar la base de datos vamos

Modelo entidad relación
400px|center
 * Es un diagrama que nos va a permitir hacer una especie de análisis/diseño de nuestra base de datos
 * Se trata de investigar y obtener la siguiente información


 * A continuación vamos a realizar una visión general del modelo.

Entidades
Imagen:elementosEntidad.png
 * Se representa mediante un cuadrado como ya hemos visto antes
 * Es el objeto básico de representación en el modelo E/R.


 * Suelen ser nombre

Atributos

 * Cada una de las propiedades o características de una entidad.
 * Se representa medianta un círculo con su nombre
 * Hay varios tipos de atributos, vamos a considerar dos casos especiales
 * Las entidades tienen uno o varios atributos especiales, que es (o son), los atributos que identifican de forma unívoca cada ocurrencia de esa entidad.
 * Ese atributo o conjunto de atributos se denomina Atributo Identificador Principal (AIP), o atributo clave


 * También hay situaciones en las que los atributos pueden tomar varios valores para cada elemento de la entidad.
 * Este se conoce como atributo multivaluados.

Relaciones

 * Define una relación o asociación existente entre dos entidades.
 * Se representa con un rombo en cuyo interior se introduce en nombre da la relación
 * Normalmente la relación se identifican por verbos en la narrativa del sistema

Cardinalidades
de la otra entidad. [0,1] [1,1] [0,N] [1,N]
 * Representa el número mayor y menor de ocurrencias de una entidad que pueden estar interrelacionadas con una ocurrencia
 * Cada entidad en una interrelación, tiene su propia cadinalidad.
 * Los valores que se pueden establecer en la cardinalidad, son los siguientes:
 * El primer valor de la pareja solo puede ser 0 o 1 y dice si un elemento obligatoriamente se tiene que relacionar con otro o no
 * El segundo valor del par puede tomar los valores 1 o muchos (N) y respresenta si un elemento solo se puede relacionar con 1 o con varios

Almacenados Necesito un dispositivo de almacenamiento permanente (un disco duro) ' == do
 * Qué es una base de datos
 * Una base de datos es un conjunto de información (datos) almacenados de forma organizada siguiendo algún criterio de forma que se optimice su gestión.

f
==

tipo restricciones o reglas integridad referencial campo campo clave
 * elementos
 * 1) tabla
 * 2) atributo
 * 3) relaciones
 * atributo
 * relaciones
 * Qué es un gestor de bases de datos



Mysql y su extensión mysqli para php

 * CONECTARNOS A LA BASE DE DATOS


 * A continuación iremos viendo como implementar las acciones básicas en el lenguaje
 * Conectarse


 * Para conectarse a una base de datos, creamos una instacia de la clase mysqli de la forma


 * Extensión Mysqli
 * El constructor de la clase puede recibir hasta 5 parámetros, de los cuales 4 se suelen usar con bastante frecuencia
 * 1) $host nombre o ip del equipo (null o localhost, identificaría el equipo actual).i
 * 2) $usario es el usuario de la base de datos
 * 3) $pass
 * 4) $nombreBD
 * 5) $puerto
 * 6) $shocket


 * Ejemplo new mysqli(...)

Clausula SELECT con query

 * Tenemos dos maneras de realizar consultas con mysqli
 * 1) query
 * 2) real_query
 * En el primero caso el método nos retorna un cursor que será de la clase mysqli_result
 * En el segundo caso nos retornará un booleano y para leer los datos deberemos usar o store_result o use_result según veamos a continuación.

Método query

 * Una vez que tenemos los datos almacenados debemos saber acceder.
 * Tenemos 4 formas de poder acceder a los datos según usemos un método u otro
 * fetch_array
 * Va obteniendo cada registro como un array
 * Este array podemos usar tanto de forma indexada, como asociativa (con el nombre del campo)


 * fetch_assoc
 * En este caso el array que retorna es asociativo


 * fetch_row
 * En este caso el array que retorna es indexado


 * fetch_object
 * En este caso en lugar de retornar un array, retorna un objeto, donde cada campo son los diferentes atributos de ese objeto


 * En todos los casos cada vez que leemos un elemento de mysqli_result, lo que por comparativa sería un cursor, vamos avanzando al siguiente. Cuando hayamos leído todos retornaría null


 * Para liberar un recurso del tipo mysqli_result, usamos el método free;
 * La clase mysqli_result, además de los métodos vistos tiene un par de atributos interesantes
 * int $field_count;
 * Nos dice cuantas columnas tiene el query actual


 * int $num_rows;
 * Nos dice cuantas filas hemos obtenido con la consulta

http://es.php.net/manual/es/class.mysqli-result.php {{Resumen|
 * Tenemos una lista completa