Download BASES DE DATOS

Document related concepts

Base de datos relacional wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Lenguaje de manipulación de datos wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

SQL wikipedia , lookup

Transcript
BASES DE DATOS
MySQL
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.
ELEMENTOS DE UNA BASE DE DATOS
CAMPO CLAVE O
LLAVE PRIMARIA
No.
REGISTRO O
TUPLA
CAMPO
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
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.
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


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.

DISEÑO DE BASE DE DATOS: EJEMPLO
Problemá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 datos
El nombre del catalogo será Personal
2.
Identificar los objetos
La 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.
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.

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.
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.
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
 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
CREACION DE TABLAS
Para 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
Clave Principal
CAMPO
Cve_empleado
TIPO DE DATO
Int
Nombre
Varchar (30)
Apellidos
Varchar (30)
Departamento
Varchar (20)
Puesto
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 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.
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éricos
2. Tipos de Fecha
3. Tipos de Cadena de Caracteres
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
válidos va desde -128 a 127. Sin signo, el rango de
de valores
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
desde -32768 a 32767. Sin signo, el rango de valores es
valores va
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
TIPOS NUMERICOS (CONTINUACIÓN)
BigInt: número 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.
de
a
a
Float: número pequeño
en coma flotante de precisión
simple.
Los valores válidos van desde -3.402823466E+38 a -1.175494351E38, 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.2250738585072014E308, 0 y desde 2.2250738585072014E308 a
1.7976931348623157E+308
Decimal, Dec, Numeric: Número en coma flotante. El
almacena como una cadena
número
se
TIPO FECHA
Al 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.
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 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
caracteres.
y TinyBlob: Columna con una longitud máxima de 255
TIPO CADENAS DE CARACTERES (CONTINUACIÓ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
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 tamaño 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.
SHOW TABLES. Visualiza las Tablas dentro de una Base
Datos.


de
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)
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’,
‘Gómez Pérez’, ‘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 condición 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;