Vous êtes sur la page 1sur 6

Gua rpida de SQL Ing. CARLOS ENRIQUE POSSO S.

Bases de Datos
Una base de datos (en ocasiones abreviada con la sigla DB Data Base) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. El lenguaje ms habitual para construir las consultas a bases de datos es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estndar implementado por los principales motores o sistemas de gestin de bases de datos. Existen programas denominados Sistemas Gestores de Bases de Datos, abreviado SGBD en espaol o DBMS en ingls, que permiten almacenar y posteriormente acceder a los datos de forma rpida y estructurada. De los principales DBMS que existen tenemos: MySQL, PostgreSQL, SQL Server, Oracle, Derby SQL, etc. Las bases de datos pueden ser manejadas directamente a travs de una interfaz amigable y visual, pero la mayora de veces es utilizado a travs de lenguajes de programacin como es PHP, ASP, Java, C++, Phyton, dado que da ms potencia y flexibilidad para el manejo de usuarios finales que no se requieren que interacten directamente con el DBMS.

Estructura de una Base de Datos


Una base de datos, a fin de ordenar la informacin de manera lgica, contiene una o ms tablas, que cumplen la funcin a su vez de contener campos.

Un registro representa un objeto nico de datos implcitamente estructurados en una tabla. En trminos simples, una tabla de una base de datos puede imaginarse formada de filas (registros) y columnas (campos). Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura.
Pg. 1/6

Gua rpida de SQL Ing. CARLOS ENRIQUE POSSO S.

Una llave primaria (Primary Key - PK) es uno o varios campos que nos permiten identificar un registro como nico en toda la tabla. Ejemplo el nmero de identificacin, es una clave nica en el registro de poblacin, permiten identificar a una persona en particular en una entidad de personas. Una llave fornea (Foreign Key - FK) es el campo de una tabla que permite referenciarse con otra tabla donde el campo es una llave primaria. Esto permite que no exista duplicidad de campos entre las tablas de forma innecesaria (normalizacin). Se requiere de una maquina especial de almacenamiento para trabajar con llaves primarias, en el caso de MySQL se utiliza la mquina de almacenamiento innoDB. Diagrama de Relaciones

Los campos de las tablas pueden almacenar diferentes tipos de datos o valores , como son enteros, flotantes o decimales, texto, fecha, horas, lgicos, etc. Para cada caso existe un tipo de dato que se le asigna a cada campo. Los mas utilizados son: VARCHAR: Almacena texto de longitud determinada, con la caracterstica que no reserva exactamente la longitud exacta sino que varia segn su longitud. TEXT: Almacena texto sin limite alguno. INT: Almacena valores que son nmericos enteros. Existen unas variaciones dependiento del tamao del valor a almacenar: TINYINT, SMALLINT y MEDIUMINT. Tener presente que solo se
Pg. 2/6

Gua rpida de SQL Ing. CARLOS ENRIQUE POSSO S.

debe asignar a un campo INT o similares, si y solo si, se requiere hacer clculos con los valores almacenados en l. Por ejemplo, no usar INT para almacenar el nmero de identificacin. DATE: Permite el almacenamiento de fechas en el formato AAAA-MM-DD TIME: Permite el almacenamiento de horas en formato 24h. DATETIME: Permite almacenar simultneamente fechas y horas. DECIMAL: Permite almacenar valores decimales. BOOLEAN: Permite almacenar un TRUE o FALSE. Recordar que FALSE =0, y TRUE=1, por lo tanto podra utilizarse un TINYINT o similares para tal efecto.

Administracin de una Base de Datos


A una base de datos, bsicamente se le pueden hacer cuatro operaciones: Insertar datos, Modificar datos, Eliminar datos y Consultar datos. Las consultas pueden tener datos compuestos de varias tablas, mientras que las otras tres operaciones solo se le puede realizar a una tabla a la vez. Cuando nos conectamos a una base de datos en realidad nos estamos conectando al DBMS, por lo tanto, para cualquier manipulacin con la base de datos siempre se siguen los siguientes parmetros: 1. Autenticarse ante el DBMS: Se requiere de un usuario, normalmente es root, y de una contrasea (esta puede no haber sido asignada, pero hay que ternerla en cuenta). 2. Seleccionar o Usar la base de datos: Se debe escoger la base de datos que se va a manipular o administrar. 3. Realizar la Operacin deseada: Se realiza alguna de las cuatro operaciones bsicas deseadas (Pueden existir otras operaciones a realizar con la base de datos). 4. Cerrar la conexin: Siempre que se sale del DBMS se cierra la conexin con el gestor.

Cdigos SQL
Para conectarse al DBMS MySQL abra la consola de Windows con CMD. Cambiese al directorio de mysql con el comando: CD \XAMPP\MYSQL\BIN Ingrese a mysql con el comando que aparece en la imagen siguiente:

Pg. 3/6

Gua rpida de SQL Ing. CARLOS ENRIQUE POSSO S.

Para ver las bases de datos que existen use: SHOW DATABASES; Para crear una base de datos: CREATE DATABASE nombreDB; Para usar una base de datos que ya existe: USE nombreDB;

El cdigo SQL para la creacin de una tabla es:


CREATE TABLE tabla1 ( campo1 VARCHAR(longitud), campo2 INT, campo3 TEXT, campo4 DATE, PRIMARY KEY (campo1) ) ENGINE=InnoDB;

Se puede apreciar en el cdigo SQL anterior que las palabras en color violeta son comandos SQL, mientras que las palabras de color verde son los nombres que se le asigna a la tabla y a los campos o columnas. Algunos tipos de datos no requieren asignarles una longitud, por ejemplo: INT, TEXT, DATE. Las llaves forneas se dejan de ltimo para ser creadas, y se debe utilizar directamente sintaxis SQL para tal efecto. La sintaxis para llaves forneas es:
ALTER TABLE tablaFK ADD FOREIGN KEY (campoFK) REFERENCES tablaPK (campoPK);

Operaciones Bsicas SQL


1. INSERTAR un dato.
INSERT INTO tabla1 (campo1, campo2, campo3, ,campoN) VALUES ('valor1', 'valor2', 'valor3', , 'valorN');

Si se van a utilizar todos los campos o columnas de la tabla en el mismo orden, se puede simplificar el comando SQL quitando los nombres de los campos o columnas:
INSERT INTO tabla1 VALUES ('valor1', 'valor2', 'valor3', , 'valorN');

Pg. 4/6

Gua rpida de SQL Ing. CARLOS ENRIQUE POSSO S.

2. MODIFICAR un dato.
UPDATE tabla1 SET campo1='valorNuevo1', campo2='valorNuevo2', ... , campoN='valorNuevoN' WHERE campoPK='valorViejoN';

El campo utilizado para ubicar el registro a modificar despus del WHERE, normalmente es el campo que tiene la llave primaria. 3. ELIMINAR un dato.
DELETE FROM tabla1 WHERE campoPK='valorViejoN';

Sucede lo mismo que lo anterior con el campo despus del WHERE, normalmente es el campo que tiene la llave primaria, y que permite ubicar el registro a eliminar. 4. CONSULTAR un dato.
SELECT campo1, campo2, campo3, ,campoN FROM tabla1 WHERE campoN='valorN';

Si se van a traer todos los campos o columnas en la consulta, se puede reemplazar todos los campos por el comodn asterisco (*).

Variaciones de consulta.
4.1. Un listado
SELECT * FROM tabla1 WHERE campoN operador 'valorN';

El operador puede ser cualquiera de los operadores de comparacin. Utilizar la segunda fila del comando SQL anterior si desea filtrar la informacin a mostrar; si solo quiere mostrar el listado de todo lo que tiene la tabla, solo utilice la primera fila del comando SQL anterior. 4.2. Ordenar un listado
SELECT campo1, campo2, campo3, , campoN FROM tabla1 WHERE campoN operador 'valorN' ORDER BY campoN ASC;

Se puede ordenar en forma ascendente (ASC) o en forma descendente (DESC). Recuerde que la parte de WHERE hasta antes de ORDER se puede omitir si no hay un filtro y se quiere sacar todo lo que existe en la tabla.

Pg. 5/6

Gua rpida de SQL Ing. CARLOS ENRIQUE POSSO S.

4.3. Consulta compuesta Una consulta compuesta tambin es llamada una subconsulta, y es la forma de mostrar datos de varias tablas. Existen varias formas para realizar subconsultas, la siguiente una de ellas:
SELECT tabla1.campo1, tabla2.campo2, tabla3.campo3 FROM tabla1 INNER JOIN tabla2 ON (tabla1.campo1FK=tabla2.campoPK) INNER JOIN tabla3 ON (tabla1.campo2FK=tabla3.campoPK);

Se utiliza el nombre de los campos o columnas a seleccionar de forma completa (nombre de la tabla con el nombre del campo) y se hace un JOIN con cada tabla relacionada indicando los campos que tienen llave fornea que se relacionan con campos de llave primaria en la tabla relacionada.

Pg. 6/6

Vous aimerez peut-être aussi