You are on page 1of 29

BASES DE DATOS

MySQL

BASE DE DATOS
Estructuras

o contenedores donde se almacena informacin siguiendo determinadas pautas de disposicin y ordenacin para el posterior procesado de los datos. BASES DE DATOS RELACIONALES son aquellas que nos permiten establecer relaciones entre las diferentes tablas que componen a una Base de Datos.

Las

ELEMENTOS DE UNA BASE DE DATOS


CAMPO CLAVE O LLAVE PRIMARIA
CAMPO

No.
1
REGISTRO O TUPLA

NOMBRE
Alfonso Gmez Mauricio Rodrguez John Foster Alice Coppertone

CIUDAD
Distrito Federal Lima Londres Nevada

PAS
Mxico Per Reino Unido Estados Unidos

2 3 4

TABLA

DISEO DE UNA BASE DE DATOS


Incluye

identificar los datos que necesita y organizarlos en la forma requerida por el software de la base de datos.

PROCESO DE DISEO DE LA BASE DE DATOS

Escoger los datos


Identificar cul informacin debe estar en su base de datos. Con base en la lista de tareas que desea que la aplicacin realice, determine cul informacin necesita para completar cada una de esas tareas.

Organizar los datos


Definir las tablas que organizaran los datos. Cada tabla se concentra en un objeto (una cosa) sobre el cual se desea guardar informacin. Se debe crear una tabla para cada objeto. El nombre de la tabla debe identificar claramente los objetos que contiene con una palabra o un trmino descriptivos

Organizar los datos en tablas


Identifique los atributos de cada objeto. Defina y nombre las columnas para cada uno de los atributos que identific. Identifique la clave primaria. Defina los valores predeterminados. Identifique columnas con datos obligatorios.

Definir relaciones entre tablas


Una fila en una tabla estar relacionada con varias filas en otra tabla. Se necesita una columna para conectar las filas relacionadas en tablas diferentes. En muchos casos, habr que incluir una columna en una tabla para guardar los datos que concuerden con los datos en la columna de llave primaria de otra tabla.

DISEO DE BASE DE DATOS: EJEMPLO


Problemtica: Se desea generar una catalogo con los empleados que laboran en la empresa y el departamento en el que laboras.
1.

Definir el nombre de la Base de datos El nombre del catalogo ser Personal Identificar los objetos La lista de la informacin es: Numero del empleado Nombre del empleado Departamento donde labora Puesto que ocupa Toda esta informacin es acerca del empleado por lo que el objeto ser EMPLEADO.

2.

3.

Identificar los atributos del objeto


Ahora se debe considerar la informacin a detalle.

El nmero de identificacin del empleado: Un nmero secuencial asignado a cada empleado cuando se aade a la tabla. Este nmero es la clave primaria. El nombre del empleado: El nombre o nombres del empleado. Los apellidos del empleado: Los apellidos paterno y materno del empleado. El departamento del empleado: El nombre del rea donde labora el empleado. El puesto del empleado: El nombre del puesto que ocupa el empleado en la empresa.

4.

Defina y nombre las columnas para cada uno de los atributos que identific
La tabla EMPLEADO tiene una fila para cada empleado. Las columnas de la tabla EMPLEADO son:

Cve_empleado: Un nmero secuencial nico asignado a cada empleado. Nombre: Nombre o nombres del empleado. Apellidos: Apellido paterno y materno del empleado. Departamento: Nombre del rea del empleado. Puesto: Nombre del puesto que ocupa el empleado.

SQL

SQL (Lenguaje de consulta estructurado) es el lenguaje informtico usado para comunicarse con MySQL. Las instrucciones de SQL (consultas) se dividen en dos grupos:

ESTRUCTURALES (de Definicin de Datos o DLL). Destinadas a crear, modificar y eliminar las Bases de Datos y las estructuras de las tablas que las conforman as como los ndices. DE DATOS (de Manipulacin de Datos o DML). Incorporan nuevos registros a las tablas, buscar determinados registros segn los criterios necesarios, modificar los datos grabados o eliminarlos.

CONSULTAS ESTRUCTURALES

CREAR BASE DE DATOS Lo primero que se debe hacer para gestionar una Base de Datos, para lo cul se utiliza la instruccin CREATE DATABASE. SINTAXIS:

CREATE DATABASE IF NOT EXISTS nombrebase;


Opcional
Nombre de la Base de Datos

SELECCIONAR

LA BASE DE DATOS

Para poder utilizar o almacenar tablas dentro de una Base de Datos, esta debe ser habilitada para lo cual se utiliza la instruccin USE. SINTAXIS:

USE nombrebase;
Nombre de la Base de Datos

CREACION DE TABLAS
Para poder generar una tabla se debe:
Identificar los campos de la tabla Definir el tipo de informacin que almacenara cada tabla, establecer el tipo de dato. Definir cul va a ser la clave principal de la tabla.

EJEMPLO:
EMPLEADO

ATRIBUTO
Clave Principal

CAMPO
Cve_empleado Nombre Apellidos

TIPO DE DATO
Int Varchar (30) Varchar (30)

Departamento
Puesto

Varchar (20)
Varchar (20)

Indicar para cada campo de la tabla los siguientes datos:


Field : Nombre del atributo. Type : Tipo de dato del atributo. Length/Values : Indica la longitud mxima del tipo de dato (especialmente para VARCHAR). Attributes : UNSIGNED. Slo toma valores positivos (para INTEGER, SMALLINT, etc.). Null : El atributo puede tomar valores nulos (la clave o identificador de la tabla nunca puede tener valores nulos). Default : Valor por defecto del atributo al aadir una nueva fila. Extra : AUTO_INCREMENT (normalmente se usa para generar, automticamente valores de la clave). Primary : Se debe marcar si el atributo es Clave Primaria (el identificador) de la tabla. Index : Crea un ndice dentro de la tabla. Unique: Se debe marcar si el valor del atributo es nico para toda la tabla.

TIPOS DE DATOS EN MYSQL:


Los tipos de datos que puede haber en un campo o atributo de una tabla forman tres grandes grupos:
1. Tipos Numricos 2. Tipos de Fecha 3. Tipos de Cadena de Caracteres

TIPOS NUMERICOS
Existen tipos de datos numricos, que se pueden dividir en dos grandes grupos, los que incluyen valores decimales (coma flotante) y los que no.
TinyInt: Es un nmero entero con o sin signo. Con signo el rango

vlidos va desde -128 a 127. Sin signo, el rango de


Bit Bool: un nmero entero que puede ser 0 1

de valores valores es de 0 a 255.

SmallInt: nmero entero con o sin signo. Con signo el rango de

desde -32768 a 32767. Sin signo, el rango de valores es


MediumInt:

valores va de 0 a 65535.

nmero entero con o sin signo. Con signo el rango de valores va desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0 a 16777215.
Integer,

Int: nmero entero con o sin signo. Con signo el rango de valores va desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295

TIPOS NUMERICOS (CONTINUACIN)


BigInt: nmero entero con o sin signo. Con signo el

rango valores va desde -9.223.372.036.854.775.808 9.223.372.036.854.775.807. Sin signo el rango va desde 0 18.446.744.073.709.551.615.
Float: nmero pequeo

de a a

en coma flotante de precisin simple. Los valores vlidos van desde -3.402823466E+38 a -1.175494351E38, 0 y desde 1.175494351E-38 a 3.402823466E+38.
Real, Double: nmero en coma flotante de precisin

doble. Los valores permitidos van desde - 1.7976931348623157E+308 a 2.2250738585072014E308, 0 y desde 2.2250738585072014E308 a 1.7976931348623157E+308
Decimal, Dec, Numeric: Nmero en coma flotante. El

nmero

se

almacena como una cadena

TIPO FECHA
Al almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es vlida o no. Simplemente comprueba que el mes est entre 0 y 12 y que el da est entre 0 y 31.
Date: Almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31

de diciembre de 9999. El formato de almacenamiento es de: ao-mes-dia.


DateTime:

Combinacin de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de ao-mes-dia horas:minutos:segundos.
TimeStamp:

Combinacin de fecha y hora. El rango va desde el 1 de enero de 1970

al ao 2037.
Time:

Almacena la hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS
Year:

almacena un ao. El rango de valores permitidos va desde el ao 1901 al ao 2155. El campo puede tener tamao dos o tamao 4 dependiendo de si queremos almacenar el ao con dos o cuatro dgitos.

TIPO CADENAS DE CARACTERES


Char(n):

almacena una cadena de longitud fija. La cadena podr contener desde 0 a 255 caracteres.
VarChar(n):

almacena una cadena de longitud variable. La cadena podr contener desde 0 a 255 caracteres.

Dentro

de los tipos de cadena se pueden distinguir otros dos subtipos, los de tipo Text y los de tipo BLOB (Binary large Object). La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo Text se ordena sin tener en cuenta las Maysculas y las minsculas, el tipo BLOB se ordena tenindolas en cuenta.
Los

tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros. y TinyBlob: Columna con una longitud mxima de 255

TinyText

caracteres.

TIPO CADENAS DE CARACTERES (CONTINUACIN)


Blob y Text: un texto con un mximo de 65535 caracteres. MediumBlob

y MediumText: un texto con un mximo de 16.777.215

caracteres.
LongBlob

y LongText: un texto con un mximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicacin en Internet, los paquetes pueden tener un mximo de 16 Mb.
Enum:

campo que puede tener un nico valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos
Set: un campo que puede contener ninguno, uno varios valores de una

lista. La lista

puede tener un mximo de 64 valores

CREAR TABLA (CREATE TABLE)


SINTAXIS: CREATE TABLE IF NOT EXIST nombretabla( campo1 tipocampo opciones clausulas, campo2 tipocampo opciones clausulas, ); Campox Tipocampo Opciones Clausulas Nombre del campo Tipo de dato y tamao del dato Establecer los atributos NULL, NO NULL, DEFAULT, etc. Definir Primary Key, Unique, Index

CREAR TABLA: EJEMPLOS


CREATE TABLE IF NOT EXIST EMPLEADO (Cve_empleado INT NOT NULL, Nombre VARCHAR(30), Apellidos VARCHAR(30), Departamento VARCHAR(20), Puesto VARCHAR(20), PRIMARY KEY (Cve_empleado));

CONSULTAS DE DATOS

SHOW DATABASES. Visualiza las Bases de Datos. de

SHOW TABLES. Visualiza las Tablas dentro de una Base Datos.


DESCRIBE. Muestra las propiedades de una tabla.

SELECT. Permite hacer consultas en la BD, obteniendo una nueva tabla con los resultados de la consulta.

INSERT. Permite aadir registros en la BD (filas de una tabla).


UPDATE. Permite modificar registros en la BD (filas de una tabla). DELETE. Permite borrar registros en la BD (filas de una tabla)

MOSTRAR BASES DE DATOS

Para poder visualizar las Bases de Datos que han sido generadas en el Servidor se utiliza el siguiente comando:

SHOW DATABASES;

MOSTRAR TABLAS

Para poder visualizar las Tablas creadas dentro de una Base de se utiliza el siguiente comando: SHOW TABLES;

MOSTRAR LOS ATRIBUTOS DE UNA TABLA

Una vez que ha sido generada una tabla, para poder visualizar sus propiedades se utiliza el siguiente comando:

DESCRIBE NombreTabla;
Ejemplo:

BORRAR BASES DE DATOS

Para poder eliminar una Base de Datos con todas sus tablas que contiene se utiliza el siguiente comando:

DROP DATABASE IF EXIST NombreBase;

BORRAR TABLAS

Para eliminar una o mas Tablas creadas dentro de una Base de se utiliza el siguiente comando: DROP TABLE IF EXISTS nombreTabla;

INSERTAR DATOS EN UNA TABLA

Para dar de alta los registros de la tabla se utiliza el comando INSERT INTO.

SINTAXIS:
INSERT INTO NombreTabla VALUES (valor 1,valor 2.valor n);

Ejemplo: INSERT INTO Empleado VALUES (1020, Alfonso, Gmez Prez, Contabilidad, Contador);

ELIMINAR REGISTROS DE UNA TABLA

Para eliminar un registro que ha sido almacenado en una tabla se utiliza el comando DELETE.

SINTAXIS:

DELETE FROM nombreTabla [WHERE condicion] [LIMIT n];


NOTA: Si se omite la condicin y el limite se borran todos los registros de la tabla. Ejemplo: DELETE FROM Empleado WHERE Cve_empleado=1020;

MODIFICAR UN REGISTRO EN UNA TABLA

Para sustituir una valor en un registro que ha sido almacenado en una tabla se utiliza el comando UPDATE.

SINTAXIS:
UPDATE nombreTabla SET campoX=NuevoValor WHERE condicion;
Campo a modificar Valor a modificar

Ejemplo: UPDATE Empleado SET Departamento=Personal WHERE Cve_empleado=1020;

You might also like