Usuario:ManuelRomero/PHPBasico/BD/Conceptos

De WikiEducator
Saltar a: navegación, buscar



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.


Icon casestudy.gif

Ejemplo

El usuario inserta un nombre de usuario y password


  • 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

  • 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


Icon activity.jpg

Diagrama Entidad/Relación

  1. De QUÉ elementos queremos almacenar información entidades
  2. QUÉ información quiero almacenar atributos
  3. QUÉ relación existe entre las entidades



ElementosER.png


Icon casestudy.gif

Ejemplo

Quiero guardar información de los usuarios de una biblioteca (nombre y dirección) que toman prestados libros (título y autor)





Icon casestudy.gif

Ejemplo

En un instituto necesitamos saber qué alumnos (nombre y edad) están matriculados en cada asignatura (título y horas de clase) y los profesores que las imparten (nombre y titulo universitario


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

Entidades

  • Se representa mediante un cuadrado como ya hemos visto antes

ElementosEntidad.png

  • Es el objeto básico de representación en el modelo E/R.


Icon define.gif

Definición

  • Ente del mundo real con existencia independiente;
  • La existencia puede ser física o conceptual.

Es un elementos del sistema, acerca del cual queremos almacenar información


  • Suelen ser nombre


Icon casestudy.gif

Ejemplo

  • Un socio de la biblioteca toma prestados libros
  • Un visitante se identifica con nombre y usario para acceder al sistema

...


Atributos

  • Cada una de las propiedades o características de una entidad.
  • Se representa medianta un círculo con su nombre

ElementosAtributo.png

  • 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.


Icon casestudy.gif

Ejemplo

Un socio que se identifica por el número de socio y de él queremos saber su nombre, dirección , edad e idiomas que habla


EntidadSocio.png

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

ElementoRelacion.png

  • Normalmente la relación se identifican por verbos en la narrativa del sistema

Cardinalidades

  • Representa el número mayor y menor de ocurrencias de una entidad que pueden estar interrelacionadas con una ocurrencia
de la  otra entidad.
  • Cada entidad en una interrelación, tiene su propia cadinalidad.
  • Los valores que se pueden establecer en la cardinalidad, son los siguientes:
[0,1]
[1,1]
[0,N]
[1,N]
  • 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

Plantilla:Ejemplos

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.

Almacenados Necesito un dispositivo de almacenamiento permanente (un disco duro)

== do

f

==


elementos
  1. tabla
  2. atributo
  3. relaciones
atributo

tipo restricciones o reglas

relaciones

integridad referencial

Qué es un gestor de bases de datos

campo campo clave

Mysql con php

Conectándonos a la base 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
 $miConexion = new mysqli(....);

</div>

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(...)
 $host="localhost"
 $usuario="manolo";
 $pass="romero";
 $nombreBD="alumnos";
 
 $miConexion = new mysqli ($host,$usuario,$pass,$nombreBD);
 if ($miConexion==null)
     echo"Error conectando a la base de datos";
 else
     echo "Conectado a la base de datos";



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



Icon activity.jpg

Actividad

Optén todos los registros de la tabla familia y visualizalos en una tabla usando los tres modos de lectura de datos vistos anteriormente



  • 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
  • Tenemos una lista completa
http://es.php.net/manual/es/class.mysqli-result.php

{{Resumen|

$conexion= new mysqli($host,$user,$pass,$bd);
if ($conexion->connect_errno==null){
   $resultado = $conexion->query($consulta);
   $numFilas = $resultado->num_rows;
   $numCampos = $resultado->fields_count;
   echo "La consulta ha retornado $numFilas filas con  $numCampos columnas";
   $fila = $resultado->fetch_array();
   while ( $fila){
          echo"El valor del primer campo es $fila[0]";
          $fila = $resultado->fetch_array();
   }
   $resultado->free();
   $conexion->close();
}