BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información...

29
BASES DE DATOS MySQL

Transcript of BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información...

Page 1: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

BASES DE DATOSMySQL

Page 2: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

BASE DE DATOS

Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación para el posterior procesado de los datos.

Las BASES DE DATOS RELACIONALES son aquellas que nos permiten establecer relaciones entre las diferentes tablas que componen a una Base de Datos.

Page 3: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

ELEMENTOS DE UNA BASE DE DATOS

No. NOMBRE CIUDAD PAÍS

1 Alfonso Gómez Distrito Federal

México

2 Mauricio Rodríguez Lima Perú

3 John Foster Londres Reino Unido

4 Alice Coppertone Nevada Estados Unidos

TABLA

REGISTRO O TUPLA

CAMPOCAMPO CLAVE O LLAVE PRIMARIA

Page 4: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

DISEÑO 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.

Page 5: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

PROCESO DE DISEÑO DE LA BASE DE DATOS Escoger los datos

Identificar cuál información debe estar en su base de datos. Con base en la lista de tareas que desea que la aplicación realice, determine cuál información 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 información.

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 término descriptivos

Page 6: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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.

Page 7: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

DISEÑO DE BASE DE DATOS: EJEMPLOProblemática: 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 datosEl nombre del catalogo será Personal

2. Identificar los objetosLa lista de la información es:

Numero del empleado Nombre del empleado Departamento donde labora Puesto que ocupa

Toda esta información es acerca del empleado por lo que el objeto será EMPLEADO.

Page 8: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

3. Identificar los atributos del objeto

Ahora se debe considerar la información a detalle.

El número de identificación del empleado: Un número secuencial asignado a cada empleado cuando se añade a la tabla. Este número 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.

Page 9: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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 número 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.

Page 10: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

SQL SQL (Lenguaje de consulta estructurado) es el lenguaje informático

usado para comunicarse con MySQL.

Las instrucciones de SQL (consultas) se dividen en dos grupos:

ESTRUCTURALES (de Definición 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 Manipulación de Datos o DML). Incorporan nuevos registros a las tablas, buscar determinados registros según los criterios necesarios, modificar los datos grabados o eliminarlos.

Page 11: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

CONSULTAS ESTRUCTURALES CREAR BASE DE DATOS

Lo primero que se debe hacer para gestionar una Base de Datos, para lo cuál se utiliza la instrucción CREATE DATABASE.

SINTAXIS:

CREATE DATABASE IF NOT EXISTS nombrebase;

Opcional Nombre de la Base de Datos

Page 12: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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 instrucción USE.

SINTAXIS:USE nombrebase;

Nombre de la Base de Datos

Page 13: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

CREACION DE TABLASPara poder generar una tabla se debe:

Identificar los campos de la tabla Definir el tipo de información que almacenara cada tabla,

establecer el tipo de dato. Definir cuál va a ser la clave principal de la tabla.

EJEMPLO:

EMPLEADO

ATRIBUTO CAMPO TIPO DE DATO

Clave Principal Cve_empleado Int

Nombre Varchar (30)

Apellidos Varchar (30)

Departamento Varchar (20)

Puesto Varchar (20)

Page 14: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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 máxima del tipo de dato

(especialmente para VARCHAR).Attributes : UNSIGNED. Sólo 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 añadir una nueva fila.Extra : AUTO_INCREMENT (normalmente se usa para generar, automáticamente 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.

Page 15: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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 Numéricos2. Tipos de Fecha3. Tipos de Cadena de Caracteres

Page 16: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

TIPOS NUMERICOS

Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos, los que incluyen valores decimales (coma flotante) y los que no.

TinyInt: Es un número entero con o sin signo. Con signo el rango de valores válidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255.

Bit ó Bool: un número entero que puede ser 0 ó 1

SmallInt: número entero con o sin signo. Con signo el rango de valores va desde -32768 a 32767. Sin signo, el rango de valores es de 0 a 65535.

MediumInt: número 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: número 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

Page 17: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

BigInt: número entero con o sin signo. Con signo el rango de valores va desde -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va desde 0 a 18.446.744.073.709.551.615.

Float: número pequeño en coma flotante de precisión simple. Los valores válidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38.

Real, Double: número en coma flotante de precisión doble. Los valores permitidos van desde - 1.7976931348623157E+308 a -2.2250738585072014E- 308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308

Decimal, Dec, Numeric: Número en coma flotante. El número se almacena como una cadena

TIPOS NUMERICOS (CONTINUACIÓN)

Page 18: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

TIPO FECHAAl almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes está entre 0 y 12 y que el día 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: año-mes-dia.

DateTime: Combinación 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 año-mes-dia horas:minutos:segundos.

TimeStamp: Combinación de fecha y hora. El rango va desde el 1 de enero de 1970 al año 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 año. El rango de valores permitidos va desde el año 1901 al año 2155. El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o cuatro dígitos.

Page 19: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

TIPO CADENAS DE CARACTERESChar(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 Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas en cuenta.

Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros.

TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres.

.

Page 20: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

Blob y Text: un texto con un máximo de 65535 caracteres.

MediumBlob y MediumText: un texto con un máximo de 16.777.215 caracteres.

LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación en Internet, los paquetes pueden tener un máximo 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 máximo de 64 valores

TIPO CADENAS DE CARACTERES (CONTINUACIÓN)

Page 21: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

CREAR TABLA (CREATE TABLE)

SINTAXIS:

CREATE TABLE IF NOT EXIST nombretabla(campo1 tipocampo opciones clausulas, campo2 tipocampo opciones clausulas,

……… );

Campox Nombre del campoTipocampo Tipo de dato y tamaño del datoOpciones Establecer los atributos NULL, NO

NULL, DEFAULT, etc.Clausulas Definir Primary Key, Unique, Index…

Page 22: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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));

Page 23: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

CONSULTAS DE DATOS SHOW DATABASES. Visualiza las Bases de Datos.

SHOW TABLES. Visualiza las Tablas dentro de una Base de 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 añadir 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)

Page 24: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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;

Page 25: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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:

Page 26: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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;

Page 27: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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’, ‘Gómez Pérez’, ‘Contabilidad’, ‘Contador’);

Page 28: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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 condición y el limite se borran todos los

registros de la tabla.

Ejemplo: DELETE FROM Empleado WHERE Cve_empleado=1020;

Page 29: BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.

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;

Ejemplo: UPDATE Empleado SET

Departamento=“Personal” WHERE Cve_empleado=1020;

Campo a modificar

Valor a modificar