Está en la página 1de 62

BASE DE DATOS

MYSQL

AXEL AMAVIZCA

Estudiante en TI
ÍNDICE

TEMA PÁGINA
¿Qué es una base de datos?. 3
Modelo de datos. 4
Lenguaje SQL. 6
Base de datos relacional . 7
Diagramas Entidad-Relación. 15
Esquema E-R a relacional. 20
Normalización. 26
MYSQL. 32
¿Qué es una base de datos?

Las bases de datos son estructuras


organizadas de datos relacionados
entre sí que nos permiten obtener,
eventualmente, información actualizada
acerca de una organización.

El propósito de una base de datos


es ayudar a las personas a dar
seguimiento a las cosas.

Un sistema gestor de bases de datos (SGBD) consiste en


una colección de datos interrelacionados y un conjunto de
programas para acceder a dichos datos. La colección de
datos, normalmente denominada base de datos, contiene
información relevante para una empresa.

Los sistemas de bases de datos se diseñan para gestionar


grandes cantidades de información. La gestión de los datos
implica tanto la definición de estructuras para almacenar la
información como la provisión de mecanismos para la
manipulación de la información.
Modelo de Datos

La idea primaria de los sistemas informáticos es


poder plasmar, a través de diferentes herramientas,
situaciones del mundo real. Para traspasar la
realidad de una situación en concreto a una base de
datos. Una estas herramientas es el modelo de
datos, que permite describir de modo abstracto en
qué forma se van almacenar y a recuperar la
información existente en una base.

Modelo
relacional

El modelo relacional usa una colección de tablas para


representar tanto los datos como sus relaciones. Cada
tabla tiene varias columnas, y cada columna tiene un
nombre único. El modelo relacional es un ejemplo de
un modelo basado en registros.

Los modelos basados en registros se denominan así


porque la base de datos se estructura en registros de
formato fijo de varios tipos. Cada tabla contiene
registros de un tipo dado. Cada tipo de registro define
un número fijo de campos, o atributos.
Modelo
Entidad-
Relación
El modelo de datos entidad-relación (E-R) se basa en
una percepción del mundo real que consiste en una
colección de objetos básicos, denominados entidades,
y de las relaciones entre ellos.

Una entidad es una “cosa” u “objeto” del mundo real


que es distinguible de otros objetos. El modelo
entidad-relación se usa mucho en el diseño de bases
de datos es una parte importante de este.

Ejemplo: Modelo entidad-relación

Ejemplo: Modelo relacional


Lenguaje SQL

SQL
Structure Query Language
(Lenguaje de Consulta
Estructurado) es un
lenguaje de programacion
para trabajar con base de
datos relacionales como
MySQL, Oracle, etc.

SQL es un lenguaje estándar para acceder y


manipular bases de datos.

¿Qué se puede hacer con SQL?

Puede ejecutar consultas en una base de datos


Puede recuperar datos de una base de datos
Puede insertar registros en una base de datos
Puede actualizar registros en una base de datos
Puede eliminar registros de una base de datos
Entre otros...

Ejemplo: Select * from clientes;


Base de datos relacional

Entendemos el modelo relacional como una propuesta


para ver los datos como objetos del mundo real,
diferenciales entre sí por sus características básicas.
Un objeto dado puede ser descrito por la colección de
características que tiene (llamadas atributos) y
distinguido de otros objetos a partir de eso mismo.
Este modelo admite relaciones uno a varios, uno a
uno y varios a varios, haciendo referencia a la
información que guardamos, por ejemplo: (mundo
real) una factura de una casa de computación alberga
los datos de uno a muchos productos; esto
equivaldría a una relación de uno (factura) a muchos
(productos). A continuación se explica uno por uno
los componentes de una base de datos relacional.

TABLA
Es una colección de una o más
columnas y cero o más filas. Puede
entenderse como una estructura de
datos simple que se asemeja a una
matriz de dos niveles: el primero
podría representar el número de fila, y
el segundo, el número de columna.

La tabla permite organizar los datos en filas (también


llamadas tuplas o registros) y columnas (atributos,
campos). Cada una de estas filas (así como los datos
que se encuentran contenidos en ella) debe ser
distinta con respecto a las demás.
Cada columna dentro de una fila es el valor de un
atributo de esa fila.

ATRIBUTOS

Un atributo define y diferencia una entidad de otra.


Los atributos pueden verse como características de las
entidades. Por ejemplo: un perro puede tener un
nombre, un dueño, un color de pelo, una edad, una
comida preferida y demás.
Entendemos al perro como una (entidad) y su nombre
como (atributo) de esa entidad.
RELACIÓN

Una relación es una vinculación entre ideas, un modo


de asociar entidades/tablas para lograr el objetivo que
tienen en común. Es decir que mediante esa
vinculación es posible realizar una función.
La relación es una asociación entre entidades. Por
ejemplo, podemos decir que la entidad factura tiene
una relación con la entidad productos (de donde se
obtienen los detalles de lo que vamos a registrar).

CLAVE PRIMARIA

Para diferenciar una entidad de otra, debemos


remitirnos a sus atributos y, para distinguir una fila de
otra dentro de una tabla, nos guiamos por la clave
primaria o llave primaria.
Una clave primaria ofrece la particularidad de no tener
valores repetidos. Para decidir cual de todos los
atributos formarán parte de la clave primaria,
debemos buscar uno que cumpla con el requisito
anterior,y, si no existe, demos crear una clave primaria
artificial para que actue como llave primaria.

Si se tuvieran los siguientes atributos de una tabla


llamada alumnos:

En la tabla alumnos no hay ningún atributo que no


pueda llegar a repetirse en los distintos alumnos. Por
lo que se tiene que crear una clave y asignarla a cada
alumno, por ejemplo, puede ser codigo_alumno.
CLAVE FORÁNEA

Las claves foráneas permiten establecer conexiones


entre las filas de las relaciones. Para hacer la conexión,
una clave foránea tiene el conjunto de atributos de
una relación que referencian la clave primaria de otra
relación (o incluso de la misma relación).

Las claves foráneas tienen por objetivo establecer una


conexión con la clave primaria que referencian. Por lo
tanto, los valores de una clave foránea deben estar
presentes en la clave primaria correspondiente, o bien
deber ser valores nulos. En caso contrario, la clave
foránea representa una referencia incorrecta.
Acontinuación un ejemplo:

En el ejemplo anterior, se tienen dos tablas


relacionadas, una tabla llamada cliente con clave
primaria Codigo_cliente y otra tabla llamada factura
con clave primaria Numero_factura y clave foránea
Codigo_cliente que referencia a la clave primaria de
la tabla clientes. De esta forma, con la relación entre
cliente y factura se pueden obtener datos como que
facturas tiene tal cliente o que cliente tiene tal factura
RELACIONES ENTRE TABLAS

Una base de datos está compuesta por tablas que se


relacionan de alguna manera para darle un sentido al
sistema y plasmar lo más fielmente posible lo que
sucede en el mundo real.
Las relaciones pueden catalogarse según sus
propiedades, como por ejemplo sus cardinalidades. La
cardinalidad específica el número de instancias de una
entidad que se puede relacionar con un número de
instancias de otra entidad.

Existen tres tipos de cardinalidades:

Uno a uno
Uno a varios
Varios a varios

Cardinalidad uno a uno:

Una relación de uno a uno entre dos tablas tiene lugar


cuando, a cada elemento de la clave de la tabla A, se le
asigna un único elemento de la tabla B y, para cada
elemento de la clave de la tabla B, existe un único
elemento en la tabla A. Por ejemplo, cada país tendrá
solo un presidente, y cada presidente tendrá a su cargo
solo un país.
Cardinalidad uno a varios:
Se dice que existe una relación de uno a varios entre las
tablas A y B cuando una clave de la tabla A posee varios
elementos relacionados en la tabla B y cuando una clave
de la tabla B posee un único elemento relacionado en la
tabla A. Por ejemplo, cada ciudadano vota por un
candidato, y cada candidato tendrá la posibilidad de ser
votado por más de un ciudadano.

Cardinalidad varios a varios:


Una relación es de varios a varios entre las tablas A y B
cuando una clave de la tabla A posee varios elementos
relacionados en la tabla B y, a su vez, una clave de la
tabla B posee varios elementos relacionados en la
tabla A. Por ejemplo, un libro pudo haber sido escrito
por varios autores, y cada autor pudo haber escrito
varios libros.
Cardinalidad Cardinalidad
uno a uno uno a varios

Cardinalidad
varios a varios

Las cardinalidades apropiada para un conjunto de


relaciones particular depende obviamente de la
situación del mundo real que el conjunto de relaciones
modela. Por ejemplo, si en un banco particular un
préstamo puede pertenecer únicamente a un cliente y
un cliente puede tener varios préstamos, entonces el
conjunto de relaciones de cliente a préstamo es uno a
varios. Si un préstamo puede pertenecer a varios
clientes el conjunto de relaciones es varios a varios.
Diagramas Entidad-Relación

Los diagramas E-R pueden expresar gráficamente las


estructuras lógica general de las bases de datos. Los
diagramas E-R son sencillos y claros, cualidades que
pueden ser responsables en gran parte de la
popularidad del modelo E-R. Estos diagramas consta
de las siguientes componentes principales:

Rectángulos, que representan conjuntos de


entidades.
Elipses, que representan atributos.
Rombos, que representan conjuntos de relaciones.
Lineas, que unen los atributos con los conjuntos de
entidades y los conjuntos de entidades con los
conjuntos de relaciones.
Elipses discontinuas, que denotan atributos
derivados.
Líneas dobles, que indican participación total de
una entidad en un conjunto de relaciones.
Rectángulos dobles, que representan conjuntos de
entidades débiles.
Cardinalidades:
1 a 1 - Uno a uno
1 a N - Uno a varios
N a N / N a M - Varios a varios

Tipos de cardinalidades:

Un maestro imparte a un solo alumno y a un alumno le


imparte un solo maestro.

Un maestro imparte a varios alumnos y a un alumno le


imparte un solo maestro.

Un maestro imparte a un solo alumno y a un alumno le


imparten varios maestros.

Un maestro imparte a varios alumnos y a un alumno le


imparten varios maestros.

Nota: Cuando la cardinalidad es 1, la línea debe tener


una punta de flecha hacia la entidad.
En la imagen anterior, se tiene un esquema E-R con dos
entidades (cliente y cuenta). Cliente tiene como
atributos nombre,calle,ciudad y su identificador único
llamado id-cliente. Cuenta tiene como atributos
número-préstamo que es su identificador único y saldo.
Ambas entidades tienen una relación llamada
impositor con un atributo unido llamado fecha-acceso.

Note que los identificadores de cada entidad (clave


primaria), deben estar subrayados.

En este ejemplo, la relación tiene un atributo. Si un


conjunto de relaciones tiene también algunos atributos
asociados a él, entonces se unen esos atributos a ese
conjunto de relaciones.

En el ejemplo, se tiene el atributo descriptivo fecha-


acceso unido al conjunto de relaciones impositor para
especificar la fecha más reciente en la que un cliente
accedió a esa cuenta.

Los atributos descriptivos son propiedades que brindan


información extra  en la relación de las entidades.
Ejercicios de ejemplo:

1. Si desea informatizar la gestión de una tienda


informática. La tienda dispone de una serie de
productos que se pueden vender a los clientes." De
cada producto informático se desea el código,
descripción, precio y número de existencias. Un
cliente puede comprar varios productos en la
tienda y un mismo producto puede ser comprado
por varios clientes. Cada vez que se compre un
articulo quedara registrada la compra en la base
de datos junto con la fecha en la que se ha
comprado el articulo. La tienda tiene contactos con
varios proveedores que son los que suministran
los productos. Un mismo producto puede ser
suministrado por varios proveedores. De cada
proveedor se desea guardar el código, nombre,
apellidos, dirección, y número de teléfono.
2. Se desea diseñar una base de datos para almacenar y
gestionar la información empleada por una empresa
dedicada a la venta de automóviles, teniendo en cuenta
los siguientes aspectos: La empresa dispone de una serie
de coches para su venta. Se necesita conocer la
matrícula, marca y modelo, el color y el precio de venta
de cada coche. Los datos que interesa conocer de cada
cliente son el NIF, nombre, dirección,ciudad y número de
teléfono: además, los clientes se diferencian por un
código interno de la empresa que se incrementa
automáticamente cuando un cliente se da de alta en ella.
Un cliente puede comprar tantos coches como desee a la
empresa. Un coche determinado solo puede ser
comprado por un único cliente. El concesionario también
se encarga de llevar a cabo las revisiones que se realizan
a cada coche. Cada revisión tiene asociado un código que
se incrementa automáticamente por cada revisión que
se haga. De cada revisión se desea saber si se ha hecho
cambio de filtro, si se ha hecho cambio de aceite, si se ha
hecho cambio de frenos u otros. Los coches pueden
pasar varias revisiones en el concesionario.
Transformación de un
esquema E-R a un esquema
relacional.

Una vez obtenido el esquema conceptual mediante el


modelo E-R, hay que definir el modelo lógico de datos.
Las reglas básicas para transformar un esquema
conceptual E-R a un esquema relacional son:

Toda entidad se transforma en una tabla.


Todo atributo se transforma en columna dentro de
una tabla.
El identificador único de la entidad se convierte en
clave primaria.
Toda relación N:M se transforma en una tabla que
tendrá como clave primaria la concatenación de los
atributos clave de las entidades que asocia.

Imagen-1
En Imagen-1:

1. Cada entidad se convierte en una tabla y los


atributos de las entidades se convierten en columnas
de las tablas. Lo representamos así:

Clientes(Cod_cliente,nombre,dirección,teléfono).
Artículos(Cod_articulo,precio,strock,denominación).

2. La relación N:M se convierte a tabla. El nombre que


se la da es el que pongamos a la relación, en este caso
COMPRA. La clave estará formada por la
concatenación de claves de las tablas anteriores. Estas
a su vez pasan a ser claves ajenas y referencian a las
tablas CLIENTE y ARTÍCULO.
En esta relación, además de añadir las claves de las
entidades anteriores, se añaden los atributos que
intervienen en la relación. La tabla nos queda así:

Compra(cod_cliente (FK),cod_articulo
(FK),Uni_ventas,Fecha_ventas).

El esquema relacional queda de la siguiente manera:

Nota: La tabla compra también tiene que tener un identificador


(clave primaria), FK significa Foreign Key - Llave Foránea.
En la transformación de relaciones 1:N existen dos
soluciones posibles:

Transformar la relación en una tabla. Se hace como


si se tratara de una relación N:M. Esta solución se
realiza cuando se prevé que en un futuro la relación se
convertirá en N:M y cuando la relación tiene atributos
propios. También se crea una nueva tabla cuando la
cardinalidad es opcional, es decir, (0,1) y (0,M). La clave
de esta tabla es la de la entidad del lado muchos.

Propagar la clave. Este caso se aplica cuando la


cardinalidad es obligatoria, es decir, cuando tenemos
cardinalidad (1,1) y (0,M) o (1,M). Se propaga el
atributo principal de la entidad que tiene de
cardinalidad máxima 1 a la que tiene de cardinalidad
máxima N, desapareciendo el nombre de la relación.
Si existen atributos propios en la relación, éstos
también se propagarán.

Imagen-2
En la imagen-2:

1. Se convierten a tabla las dos entidades:

TEMAS (COD_TEMA, DESCRIPCIÓN).


LIBROS (COD_LIBRO, AUTOR, ISBN, TÍTULO,
NUM_EJEMPLARES).

2. Se propaga la clave, de la entidad TEMAS a la


entidad LIBROS. La entidad LIBROS quedará así:

LIBROS (COD_LIBRO, AUTOR, ISBN, TÍTULO,


NUM_EJEMPLARES, COD_TEMA(FK)).

El esquema relacional queda de la siguiente manera:

En la transformación de relaciones 1:1 se tienen en


cuenta las cardinalidades de las entidades que
participan. Existen dos soluciones:

Transformar la relación en una tabla. Si las


entidades poseen cardinalidades (0,1), la relación se
convierte en una tabla.
Propagar la clave. Si una de las entidades posee
cardinalidad (0,1) y la otra (1,1), conviene propagar la
clave de la entidad con cardinalidad (1,1) a la tabla
resultante de la entidad de cardinalidad (0,1). Si ambas
entidades poseen cardinalidades (1,1), se puede
propagar la clave de cualquiera de ellas a la tabla
resultante de la otra. En este caso, también se pueden
añadir los atributos de una entidad a otra, resultando
una única tabla con todos los atributos de las entidades
y de la relación, si los hubiera, eligiendo como clave
primaria una de las dos.

Imagen-3

En este caso, la clave se propaga desde la entidad


PUESTOTRABAJO, con cardinalidad (1,1), a la entidad
EMPLEADO, con cardinalidad (0,1). Las tablas las
representaremos así:

PUESTOTRABAJO (COD_PUESTO, DESCRIPCIÓN,


OFICINA, DESPACHO, MESA).
EMPLEAD (COD_EMPLE, NOMBRE, DIRECCIÓN,
TELEFONO, COD_PUESTO(FK)).
El esquema relacional queda de la siguiente manera:

Resumiendo:

1a1
La llave primaria de una de las 2 cardinalidades (1),
se ira como foránea a la otra entidad.

1aN
Opción 1:
La llave Primaria de la Cardinalidad (1), se va como
llave foránea, a la entidad de Cardinalidad de Muchos (N).
Opción 2:
Si la relación tiene atributos, se resolverá igual que N a M

NaM
La Relación se Convertirá en una Nueva Entidad, y se
nombrará con el mismo nombre de la relación.
Se debe crear una llave primaria para la nueva entidad.
Normalización
Cuando normalizamos una base de
datos lo que hacemos es aplicar
una serie de reglas con el objetivo
fundamental de evitar problemas
futuros relacionados con la lógica
de diseño implementada en ella.

Aplicar las reglas de normalización nos asegura, en principio,


las dos siguientes cosas:
Evitar la redundancia de datos.
Evitar errores en lo que se refiere a la
inserción,actualización y borrado de registros.

DATOS
REDUNDANTES

Uno de los principios fundamentales en lo que respecta al


diseño de bases de datos es el evitar la redundancia de
datos. A continuación un ejemplo en donde se explicará
cuando se tiene redundancia de datos:
Se tiene una tabla de clientes con los siguientes datos:
Aquí el campo que tiene claras posibilidades de repetir
datos es Nacionalidad (si tenemos más de un cliente
con la misma nacionalidad, ya hay redundancia, pero
no hay que esperar a que esto suceda: si existe la
posibilidad ya es suficiente).

¿Por qué no pensar lo mismo de Nombre y Apellido o


de Fecha de nacimiento? Porque tanto los nombres
como los apellidos son infinitos y lo mismo ocurre con
las fechas. Incluso a la hora de ingresar los datos de
un cliente, es más seguro que seleccionemos su
nacionalidad desde una lista, y no que la ingresemos
manualmente, ya que esto posibilitaría errores de
tipeo o distintas formas de ingreso (Argentina,
Argentino, Arg.,etc) y, por ende, datos erróneos y
difíciles de tratar en nuestra base.

Si quisiéramos saber la cantidad de clientes por país


que tienen depósitos en el banco, aunque
construyamos correctamente la consulta SQL,
posiblemente los datos recuperados no reflejen la
realidad. Guardando las nacionalidades en una tabla
se pueden listar después. Si no se hiciera, la tabla
quedaría de la siguiente manera:
Para solucionar el problema anterior y otros derivados
que surgen a partir de la redundancia de datos,
modificamos la estructura de la tabla de esta menera:

La idea madre de todo esto es que los índices


numéricos ocupan menos espacio que las cadenas
de caracteres: así, en nuestro ejemplo, escribimos la
palabra "Argentina" sólo una vez, y el número 1
(código correspondiente a Argentina) varias veces en
reemplazo de "Argentina". Por eso, casi nunca se
habla de redundancia de datos cuando los campos
en cuestión son numéricos.

Reglas normales

Aunque existen 5
formas normales, una
base de datos ya se
considera normalizada
al llegar a la tercera
forma normal.
Primera Forma Normal - 1FN:

Una tabla se encuentra en la primera forma normal si


cada una de las columnas admite un único valor para
cada registro. Veamos un ejemplo:

En la tabla anterior existe una serie de problemas. A


través de instrucciones SQL no podríamos contestar,
por ejemplo, cuántos productos compró Juan López
o cuál es el producto más vendido de la empresa.

Estos inconvenientes se dan posiblemente porque


no se respeta la primera forma normal: la columna
Producto contiene más de un valor por registro. Es
importante mencionar que aplicando la primera
forma normal, nuestra tabla original se divide en dos
y queda de la siguiente manera:
Segunda Forma Normal - 2FN:

En esta forma normal, lo que se trata de lograr es que


cada uno de los campos de una tabla depende
directamente de la clave primaria. Pensemos en el
siguiente ejemplo que consiste en guardar datos de
empleados(nombre,empresa en la que trabaja,
dirección de la empresa):

El campo Nombre_empleado depende directamente de la


clave Cod_empleado. En cambio, Dirección_empresa no
depende de Cod_empleado. En cambio, Dirección_empresa
no depende de Cod_empleado, sino de la empresa.
Ver este tipo de situaciones depende de la experiencia que
se vaya logrando. En definitiva la situacióon final podría ser
la siguiente manera:
O también:

En el primer caso podríamos suponer que un


empleado puede trabajar en más de una empresa.

Tercera Forma Normal - 3FN:

Una tabla está en tercera forma normal si sus campos


dependen únicamente de la clave, es decir, no
dependen unos de otros. Si repasamos el ejemplo
anterior veremos que esto nos sucede. Veamos otro
ejemplo de esto:

Si se presta atención, veremos que el campo Duración


depende más del campo DVD que de Cliente.
Aplicando la tercera forma normal obtendríamos el
siguiente escenario:
Gestor de base de datos:
MYSQL

Se dispone de varias herramientas para la gestión de


base de datos, por nombrar algunos esta:
SQL Server
Oracle
MongoDB
Cassandra
PostgreSQL
MariaDB
En este documento se trabajará con MYSQL.
¿Por qué MySQL?

MySQL es un sistema gestor de bases de datos muy


utilizados en la actualidad por los siguientes motivos:
Rapidez
Posibilidad de trabajar en diferentes plataformas
Múltiples formatos de tablas para cada necesidad
Seguridad
Gran estabilidad
Administración simple

Si bien todavía le queda mucho camino por recorrer,


en corto tiempo ha logrado darse a conocer en el
ámbito informático y fue afianzándose
progresivamente en el mundo de las bases de datos
relacionales. Desde hace algún tiempo, se ha ido
dando una particular unión entre base de datos y el
lenguaje de programación PHP, por este motivo,
MySQL se utiliza principalmente en sitios web.
INSTALACIÓN DE MYSQL

Link de descarga:
https://dev.mysql.com/downloads/windows/installer/8.0.html

En la siguiente pantalla seleccionamos "No thanks, just


start my download." y procedemos a descargar el
instalador de MySQL (este programa luego nos descargará
la última versión)Una vez descargado el archivo "mysql-
installer-web-community-8.0.12.0.msi" (o una versión
posterior) procedemos a ejecutarlo y luego de aceptar "los
términos y condiciones" dejaremos la mayoría de las
opciones por defecto:
En la segunda pantalla dejamos seleccionado
"Developer Default" que nos instalará la mayoría de
las herramientas que necesitaremos como
programador:

La pantalla siguiente nos informa algunos otros


programas que se instalarán para el correcto
funcionamiento de MySQL:
El siguiente paso es el que más tiempo demorará
debido a que se descargarán de internet el servidor de
MySQL propiamente dicho, manuales, drivers de
conexión para distintos lenguajes etc, una vez
descargados se ejecuta el proceso de instalación:

La siguiente ventana nos informa que se procederá a


configurar el "MySQL Server", "MySQL Router" y
"Samples":
Dejemos seleccionada la opción por defecto "Standalone
MySQL Server":

Para configurar el servidor debemos indicar en


"Connectivity" el puerto de comunicaciones que por
defecto está configurado con el valor "3306" (si ya tiene
instalada otra versión de MySQL en su computadora
cambie este puerto por "3307" y no tendrá conflictos con
la versión anterior):
Dejemos el método de autenticación recomendado:

En el siguiente paso debemos definir la clave para el


usuario "root" o raiz del servidor de base de datos. No
debemos olvidar dicha clave ya que cada vez que
necesitemos acceder al servidor MySQL se nos pedirá
dicha clave para el usuario "root":
No crearemos en este momento otras cuentas de
usuarios para el servidor MySQL (lo veremos más
adelante en este curso)

Dejamos los valores por defecto para la pantalla de


"Window Service":

Finalmente confirmamos la configuración definida en


los diálogos anteriores:
Los mismos pasos ahora damos para configurar el
"MySQL Router", dejamos datos por defecto:

La siguiente pantalla nos permite verificar el correcto


funcionamiento del servidor, debemos ingresar la clave
que creamos anteriormente:
La última pantalla inicia las aplicaciones "Workbench" y
"MySQL Shell".

Tenemos ya todo el software necesario para desarrollar


en forma local el curso de MySQL instalado en nuestro
sistema operativo Windows:
Comenzar con MYSQL

TIPOS DE DATOS:
CREAR BASE DE DATOS:

Para crear una nueva base de datos usaremos la


sentencia create database:

Para eliminar una base de datos, usamos la sentencia


drop database:

MySQL es sensible al uso de mayúsculas y minúsculas,


tanto en la definición de base de datos como de tablas
o columnas.
USAR BASE DE DATOS CREADA:

Para trabajar con una base de datos, se tiene que


abrir, para eso se utiliza el comando "USE", para
indicar que base de datos se va a utilizar.

CREAR TABLA:

En este caso, la sentencia create table construye una


nueva tabla en la base de datos en uso. La tabla
contiene tres columnas, nombre,dirección, y teléfono,
todas de tipo carácter y de longitudes 30, 40 y 15
respectivamente. Si se intenta guardar en ellas valores
que sobrepasen esos límites, serán truncados para
poderlos almacenar. Por ese motivo, es importante
reservar espacio suficiente para cada columna. Si se
prevé que muchos registros ocuparán sólo una fracción
del espacio reservado, se puede utilizar el tipo varchar,
similar a char, con la diferencia de que el valor ocuparía
un espacio menor al especificado si la cadena es más
corta que el máximo indicado, ahorrando así espacio de
almacenamiento.
id int unsigned NOT NULL auto_increment crea la
columna id , este tipo de campo asignará una ID
numérica única a cada registro en la tabla (lo que
significa que no hay dos filas que tengan la misma id
en este caso), MySQL asignará automáticamente una
nueva, valor único para el campo de id del registro
(comenzando con 1).

Las tablas puedden eliminarse con drop table:

Alternativamente, se pueden utilizar la sintaxis


siguiente con condicional:
Aunque la creación de una clave primaria puede
declararse como atributo de columna, es conveniente
definirla como restricción de tabla. También es posible
indicar restricciones sobre la tabla y no sobre
columnas especificas:
La primera restricción se refiere a la clave primaria,
compuesta por las columnas nombre y nacimiento: no
puede haber dos personas que se llamen igual y que
hayan nacido en la misma fecha. La clave primaria
permite identificar de manera unívoca cada registro.

La segunda restricción define que la pareja de una


persona debe ser única: dos personas no pueden
tener la misma pareja. Too intento de insertar un
nuevo registro donde el nombre de la pareja ya exista,
será rechazado. Cuando se restringe una columna con
unique, los valores null reciben un trato especial, pues
permiten múltiples valores nulos.

La tercera restricción afecta a la columna proveedor,


sólo puede tomar valores que existan en la clave
primaria de la tabla proveedor.

Las restricciones de la tabla pueden definirse con un


identificador útil para hacer referencias posteriores a
la restricción:
INSERTAR UNA FILA EN UNA TABLA:

Las strings varchar también se pueden insertar


utilizando comillas simples:

ACTUALIZAR UNA FILA EN TABLA:

El valor int se puede insertar en una consulta sin


comillas. Las cadenas y las fechas deben estar entre
comillas simples ' o comillas dobles "

update usuarios set nombre='GustavoGarcia'


where nombre='Gustavo';

update usuarios set nombre='MarceloDuarte',


clave='Marce' where nombre='Marcelo';

ELIMINAR UNA FILA DE UNA TABLA:

Esto borrará la fila que tiene id es 8.


SELECCIONANDO FILAS:

MOSTRAR LISTA DE BASE DE DATOS:

MOSTRAR TABLAS EN UNA BASE DE DATOS:


MOSTRAR LOS CAMPOS DE UNA TABLA:

ORDENAR DATOS (ORDER BY):

Use la cláusula ORDER BY para ordenar el resultado


de una tabla en una o más columnas.
Si se desea que, al momento de hacer una consulta,
los datos aparezcan en un orden determinado, es
preciso utilizar la cláusula ORDER BY en la
sentencia SELECT.
FUNCIONES AGREGADAS:

AGRUPAR DATOS (GROUP BY):


La cláusula MySQL GROUP BY se usa en una
declaración SELECT para recopilar datos en varios
registros y agrupar los resultados por una o más
columnas. Ejemplo utilizando la función SUM:

La función SUM sumará todos los valores que se


encuentren en la columna quantity,mostrará el
resultado como "Total quantity" gracias a "AS" que se
utiliza para asignar un nombre alias a la nueva
columna que mostrará el resultado de la suma.

A continuación un ejemplo:
GRUPO USANDO LA FUNCIÓN MIN:
Supongamos una tabla de empleados en la que cada fila
es un empleado que tiene un name , un department y
un salary .

Esto le diría qué departamento contiene el empleado con


el salario más bajo y cuál es ese salario.

GRUPO USANDO LA FUNCIÓN COUNT:

GRUPO POR USO QUE TIENE:

Usar GROUP BY ... HAVING para filtrar registros agregados


es análogo a usar SELECT ... WHERE para filtrar registros
individuales.También podrías decir HAVING Man_Power >=
10 ya que HAVING entiende "alias".
HAVING:
La cláusula HAVING especifica condiciones de
búsqueda para grupos de filas; lleva a cabo la misma
función que antes cumplía la cláusula WHERE para las
filas de todas las tablas, pero ahora las condiciones se
aplican a los grupos obtenidos.

Se usan para mostrar los resultados de grupos de


filas en lugar de filas individuales.

GROUP BY CON FUNCIONES AGREGADAS:

Tabla de pedidos:
Contar:
Devuelve el número de filas que satisfacen un criterio
específico en la cláusula WHERE .

Ej .: Número de pedidos para cada cliente.

Resultado:

Sumar

Devuelve la suma de la columna seleccionada.


Ej : Suma del total y artículos para cada cliente
Resultado:

MAX:
Devuelve el valor más alto de una determinada
columna o expresión.
Por ejemplo: el mayor total de pedidos para
cada cliente.
Resultado:

MIN:

Devuelve el valor más bajo de una determinada


columna o expresión.
Ej .: El pedido más bajo para cada cliente.

Resultado:
SELECCIONAR POR NOMBRE DE COLUMNA:

Ejemplo:

Consulta:

Resultado:

SELECCIONAR TODAS LAS COLUMNAS:

Consulta:

Resultado:
SELECCIONAR CON WHERE:

Consulta:

Resultado:

SELECCIONAR CON LIKE (%):


"adm" en cualquier lugar:

Comienza con "adm":


Termina con "adm":

Al igual que el carácter % en una cláusula LIKE


coincide con cualquier número de caracteres, el
carácter _ solo coincide con un carácter. Por ejemplo:

SELECCIONAR CON ALIAS:

Los alias de SQL se utilizan para cambiar temporalmente


el nombre de una tabla o una columna.Generalmente se
utilizan para mejorar la legibilidad.

Consulta:

Resultado:
SELECCIONAR CON CASE O IF:

Consulta:

Resultado:

Con IF:

Nota:

Esto significa que: SI st.percentage> = 35 es TRUE


luego devuelva 'Pass' ELSE return 'Fail'
REFERENCIAS
BIBLIOGRÁFICAS

PHP + MYSQL DESDE CERO


Francisco Minera. (2014)

DESARROLLO PHP + MYSQL


Francisco Minera. (2011)

FUNDAMENTOS DE BASE DE DATOS


Silberschatz, Korth, Sudarshan. (2006)

BASES DE DATOS
Rafael Camps Paré, Luis Alberto Casillas
Santillán, Marc Gibert Ginestà, Carme Martín
Escofet, Oscar Pérez Mora. (2005)

PROCESAMIENTO DE BASES DE DATOS


David M. Kroenke. (2003)

APRENDIZAJE MYSQL
EBOOK. (2019)
AXEL
AMAVIZCA

BASE DE DATOS
MYSQL
Ebook: Realizado el 25/08/2020

También podría gustarte