domingo, 1 de mayo de 2011

Portafolio Segundo Corte 1°

INDICES

Para entender lo que es un índice debemos saber primero como se almacena la información internamente en las tablas de una base de datos, Cada tabla se divide en páginas de datos al estilo pergamino egipcio, o bien en páginas a las que podemos acceder rápidamente a atreves de un índice. Está idea es la que se aplica en el mundo de las bases de datos, la información esta guardada en una tabla ( el libro) que tiene muchas hojas de datos (las páginas del libro), con un índice en el que podemos buscar la información que nos interesa.

Ejemplo:
CREATE TABLE departamento
(
Clave AUTO_INCREMENT PRIMARY KEY COMMENT ‘clave principal’,
Nombre CHAR (25) NOT NULL,
Ubicación CHAR (25) NULL DEFAULT ‘principal’
);
 INSERT INTO departamento (nombre)VALUES (‘madrid’);
INSERT INTO departamento (nombre)VALUES (‘roma’);

CRETAE UNIQUE INDEX indx_ubicacion
ON departamento (ubicación ASC)

Ya no es posible porque Aunque sea otra cuidad, ya no deja por que creamos un índice sobre la ubicación y ya esta ingresada la ubicación con un DEFAULT como ‘principal’
La única alternativa para que nos funcione es no utilizar el UNIQUE, para que admita campos duplicados.

CREATE INDEX indx_ubicacion
ON departamento (ubicación ASC)




CLAVES PRIMARIAS COMPUESTAS

En los motores de bases de datos es posible crear llaves compuestas, o sea es decir que requieren que no haya duplicidad en la combinación de dos o mas datos.

EJEMPLO

CREATE TABLE tamd_det_pago
(
Num_pago TINYINT NOT NULL,
Item NUMERIC (8) NOT NULL,
id_concepto NUMERIC (8) NOT NULL,
valor_unitario NUMERIC (8) NOT NULL,
valor_pagado NUMERIC (8) NOT NULL,
id_forma_pago NUMERIC (8) NOT NULL
);

Ahora creamos la llave compuesta.

ALTER TABLE tamd_det_pago
ADD CONSTRAINT PK_DET_PAG
PRIMARY KEY (num_pago, item);

Luego se debe agregar a num_pago llave foránea de la tabla pago.

ALTER TABLE tamd_det_pago
ADD CONSTRAINT tamd_detpago_FK
FOREIGN KEY (num_pago)
REFERENCES tamd_pago (numero);

CONSULTAS


Para realizar una consulta a una base de datos MySQL desde PHP, deberemos usar dos lenguajes de programacion distintos, el lenguaje PHP, para ejecutar la página en el servidor y el lenguaje de SQL para entendernos con la base de datos.

Una vez conectados a la base de datos, crearemos la variable $sql, para almacenar la sentencia que será enviada al servidor MySQL.



La sintaxis para realizar una consulta en MySQl es la siguiente:
SELECT campos FROM tabla WHERE condicion
Donde campos son los campos que nos devolverá separados por comas o * para devolverlos todos, tabla la tabla en la que trabajaremos y condicion es una condición que deberan cumplir las entradas devueltas.

Esta condición sera de la forma:
nombre = "Jose"
Donde tenemos que nombre es un campo que deberá ser igual (=) a "Jose", además del igual (=), tenemos el distinto (!=), el mayor (>), el menor (<), el mayor o igual (>=), el menor o igual (<=) y el parece (like).
Además, podemos añadir las palaras 'order by' y un campo para ordenar por ese campo y 'asc' o 'desc' para que sea ascendente o descendente.

Tambien la palabra 'limit' seguida del resultado a empezar, una coma (,) y en número de resultados a mostrar para paginarlos.