La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

UNIDAD 3 - MySQL Rafael Albertti.

Presentaciones similares


Presentación del tema: "UNIDAD 3 - MySQL Rafael Albertti."— Transcripción de la presentación:

1 UNIDAD 3 - MySQL Rafael Albertti

2 SQL Structured Query Language (en español Lenguaje Estructurado de Consultas) Ya muchos productos son compatibles con SQL y se ha hecho un estándar de bases de datos relacionales.

3 Componentes de SQL Lenguaje de definición de datos (LDD). El LDD de SQL proporciona órdenes para la definición de esquemas de relación, borrado de relaciones, creación de índices y modificación de esquemas de relación. Lenguaje interactivo de manipulación de datos (LMD). El LMD de SQL incluye un lenguaje de consultas, basado tanto en el álgebra relacional como en el cálculo relacional de tuplas. Incluye también órdenes para insertar, borrar y modificar tuplas de la base de datos. Definición de vistas. El LDD de SQL incluye órdenes para la definición de vistas. Control de transacciones. SQL incluye órdenes para la especificación del comienzo y final de transacciones. SQL incorporado y SQL dinámico. SQL dinámico e incorporado define cómo se pueden incorporar las instrucciones SQL en lenguajes de programación de propósito general, tales como C, C++, Java, PL/I, Cobol, Pascal y Fortran. Integridad. El LDD de SQL incluye órdenes para la especificación de las restricciones de integridad que deben satisfacer los datos almacenados en la base de datos. Las actualizaciones que violen las restricciones de integridad se rechazan. Autorización. El LDD de SQL incluye órdenes para especificar derechos de acceso para las relaciones y vistas.

4 Principales comandos para empezar a administrar.
Comandos SQL Principales comandos para empezar a administrar. Comando Descripción show databases; Mostrar todas las bases de datos que tenemos create database nombre_BD Crear una base de datos use nombre_BD Usar una base de datos de las disponibles

5 Comandos SQL Existen dos tipos de comandos SQL: 1. LDD que permiten crear y definir nuevas bases de datos, campos e índices. 2. LMD que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos. 3. Lenguaje de Control de Datos (LCD): Algunas instrucciones de SQL que no pertenecen al LDD ni al LMD.

6 Lenguaje de Definición de Datos (LDD).
Comandos SQL Lenguaje de Definición de Datos (LDD). Comando Descripción CREATE Podemos crear tablas, campos y la base de datos. DROP Nos permite eliminar tablas. ALTER Permite modificar las tablas agregando campos o cambiando la definición de los campos. Truncate Vacía la Tabla

7 Comando CREATE Podemos crear una base de datos: Create database nombre_BD O crear una tabla: Create table nombres de campos y tipos de datos

8 Ejemplo de crear Tabla CREATE TABLE JUEGOS
(id INT not null AUTO_INCREMENT, nombre VARCHAR (50) not null , empresa VARCHAR (50) not null , plataforma VARCHAR (50) not null, copias INT (3) not null, PRIMARY KEY (id)); JUEGOS id nombre empresa plataforma copias 1 Dark Souls II From Software Playstation 4 12 2 Mario Kart 8 Nintendo WII 10 3 Uncharted Sony 11 4 Grand Theft Auto V Rockstar XBOX ONE 13 5 Destiny Bungie Studios 9 6 King of Fighters 2002 SNK PC 7 Fifa 15 EA 14

9 Permite vaciar la tabla: TRUNCATE TABLE nombre_tabla
Comando TRUNCATE Permite vaciar la tabla: TRUNCATE TABLE nombre_tabla

10 Ejemplo TRUNCATE TABLE JUEGOS JUEGOS id nombre empresa plataforma
copias TRUNCATE TABLE JUEGOS

11 Comando ALTER Permite agregar y quitar columnas
ALTER TABLE `nombre_tabla` ADD `campo` char(100) NOT NULL alter table NOMBRETABLA drop column NOMBRECAMPO

12 Cambiar nombre al campo
ALTER TABLE nombre_tabla CHANGE nombre_campo_actual nuevo_nombre varchar(30)

13 RENAME TABLE nombre_tabla TO nuevo_nombre_tabla
Cambiar nombre Tabla RENAME TABLE nombre_tabla TO nuevo_nombre_tabla

14 Eliminar SQL Se puede eliminar tanto la tabla como la Base de datos. Drop table nombre_tabla Drop Database nombre_BD

15 Lenguaje de Manipulación de Datos (LMD).
Comandos SQL Lenguaje de Manipulación de Datos (LMD).  Consultas de selección. Consultas de acción. Consultas de control de concurrencia.

16 Filtra registros sin modificar información.
Consulta de Selección Comando Descripción SELECT Filtra registros sin modificar información.

17 Ejemplo de Selección SELECT nombre FROM prueba.juegos JUEGOS nombre
Dark Souls II Mario Kart 8 Uncharted Grand Theft Auto V Destiny King of Fighters 2002 Fifa 15

18 Ejemplo de Selección SELECT * FROM juegos WHERE nombre = "Mario Kart 8" JUEGOS id nombre empresa plataforma copias 2 Mario Kart 8 Nintendo WII 10

19 Ejemplo de Selección SELECT * FROM juegos WHERE nombre = "Mario Kart 8" OR copias = 12 JUEGOS id nombre empresa plataforma copias 1 Dark Souls II From Software Playstation 4 12 2 Mario Kart 8 Nintendo WII 10

20 Ejemplo de Selección JUEGOS id nombre empresa plataforma copias SELECT * FROM juegos WHERE nombre = "Mario Kart 8" AND copias = 12 Ir al menú

21 Selección de dos o más tablas
Select campos From tabla1, tabla2 where tabla1.id = tabla2.id Ir al menú

22 Selección con INNER JOIN
SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla2.id_tabla1 = tabla1.id INNER JOIN tabla3 ON tabla2.id = tabla3.id_tabla2 Ir al menú

23 Comando ORDER BY Permite ordenar el resultado Ejemplo: select campos from nombre_tabla order by campo Ir al menú

24 Consultas de Acción Para modificar la base de datos. Comando
Descripción INSERT Puede insertar grandes cantidades de datos. UPDATE Modifica o actualiza registros. DELETE Elimina registros de la base de datos.

25 Insert into nombre_tabla (campo) values ( ‘valor’)
Insertar datos Insert into nombre_tabla (campo) values ( ‘valor’)

26 Insertar varios datos ejemplo
insert into ciudad1 (nombre, poblacion) values('México','Tlalpan'),('Nuevo Leon','Monterrey');

27 UPDATE nombre_tabla SET campo = 20 WHERE campo = 12
Modificar registros UPDATE nombre_tabla SET campo = 20 WHERE campo = 12

28 Modificar registros ejemplo
UPDATE juegos SET copias = 20 WHERE copias = 12

29 Eliminar datos En MySQL Workbench hay una protección para modificar o eliminar datos, para quitarla:

30 1. Vamos al menú en la opción “edit”.
2. Seleccionamos la opción preferencias.

31 Quitar opción “Safe Updates”

32 Eliminar datos Ahora si podemos eliminar
DELETE FROM nombre_tabla WHERE campo = valor

33 Consultas de control de concurrencia
Comando Descripción COMMIT Se graban las ultimas modificaciones en la base de datos de manera permanente. ROLLBACK Permite volver al estado en el que estaba la base de datos tras el último COMMIT.

34 Lenguaje de Control de Datos (LCD).
Comandos SQL Lenguaje de Control de Datos (LCD). Comando Descripción GRANT Se emplea para dar permisos a los usuarios. REVOKE Con él podemos eliminar permisos a los usuarios.

35 Operadores agregados SQL tiene algunos operadores que funcionan con el nombre de un atributo, estos son: AVG, COUNT, SUM, MIN, MAX

36 Ejemplo en la table llamada producto:
Valores agregados AVERAGE Se obtiene un promedio. Ejemplo en la table llamada producto: SELECT AVG (precio) FROM producto

37 Valores agregados COUNT Cuenta el número de registros, los registros repetidos son descartados. Ejemplo: SELECT COUNT(DISTINCT nombres) FROM productos_orden; Resultado = 2

38 Suma los registros. Ejemplo:
Valores agregados SUM Suma los registros. Ejemplo: select sum(precio) from producto

39 Suma los registros. Ejemplo:
Valores agregados SUM Suma los registros. Ejemplo: select sum(precio) from producto

40 Muestra el valor máximo. Ejemplo:
Valores agregados MAX Muestra el valor máximo. Ejemplo: select max(precio) from producto

41 Muestra el valor mínimo. Ejemplo:
Valores agregados MIN Muestra el valor mínimo. Ejemplo: select min(precio) from producto

42 Respaldo en MySQL workbench
El respaldo es importante en cualquier manejador.

43 Respaldo BD

44 Respaldo BD

45 Respaldo BD

46 Vistas En SQL las vistas (“views”) son un mecanismo que permite generar un resultado a partir de una consulta (query) almacenada, después se puede utilizar como si fuera una tabla existente.

47 Ejemplo CREATE VIEW vista_paises AS SELECT nombre_pais, nombre_estado, nombre_municipio FROM pais INNER JOIN estado ON estado.id_pais = pais.id INNER JOIN municipio ON estado.id = municipio.id_estado

48 Tipos de datos Int Varchar Char Float

49 Llaves Superclave. Conjunto de atributos que permiten distinguir de forma única a una entidad dentro del conjunto de entidades. Por ejemplo, {Rfc} es una superclave de la entidad CONTRIBUYENTE, también {Rfc, Nombre} es una superclave, pero {Nombre} no es una superclave, pues varios contribuyentes pueden tener el mismo nombre.

50 Clave Candidata El concepto de clave candidata sirve para definir conjuntos con cardinalidad mínima de atributos que identifiquen a las entidades. Pueden existir varias claves candidatas para cada entidad.

51 Clave Primaria Clave candidata que elige el diseñador para distinguir a las entidades dentro del conjunto de entidades.

52 Clave candidata que no es la clave primaria.
Clave Alterna Clave candidata que no es la clave primaria.

53 Uso de Llave Foránea Una llave foránea ayuda a relacionar tablas, haciendo referencia a la llave primaria de otra tabla. Una llave foránea también puede ser llave primaría o incluso ser eliminada automáticamente si se elimina la llave primaria a la que hace referencia.

54 Uso de Llave Foránea con restricción de borrado
CREATE TABLE producto ( id INT NOT NULL, precio FLOAT, PRIMARY KEY (id));

55 Uso de Llave Foránea con restricción de borrado
CREATE TABLE productos_orden (no_orden INT NOT NULL AUTO_INCREMENT, nombre VARCHAR(30) NOT NULL, producto_id INT(2) NOT NULL, PRIMARY KEY(no_orden), FOREIGN KEY (producto_id) REFERENCES producto(id));

56 Borrar llave primaria en cascada
Crear tabla sucursal CREATE TABLE sucursal (id INT NOT NULL, nombre VARCHAR(50), PRIMARY KEY (id)); Crear tabla cuenta create table cuenta(id INT NOT NULL, id_sucursal INT (3) not null, foreign key (id_sucursal) references sucursal (id) on delete cascade on update cascade)

57 LIKE en SQL Permite hacer una selección de datos que empiecen, terminen o contengan ciertos caracteres. Que la palabra empiece con M atributo LIKE ‘M%')) Que la palabra termine con M atributo LIKE '%M')) Que contenga la letra M atributo LIKE '%M%'))

58 INNER JOIN LEFT JOIN RIGHT JOIN FULL JOIN CROSS JOIN
Tipos de JOIN INNER JOIN LEFT JOIN RIGHT JOIN FULL JOIN CROSS JOIN

59 Practica 1. Crear una base de datos llamada países 2. Crear 3 tablas: 3. Países, estados y municipios 4. Relacionarlos entre sí (llaves foráneas) 5. Insertar 15 municipios en una sola consulta 6. Insertar 10 estados en una sola consulta 7. Insertar 2 países en una sola consulta 8. Hacer una selección y mostrar un país con su respectivo estado y municipio. 9. Respaldar la base de datos

60 Practica resultado Crear una base de datos llamada países
Create database países 2. Crear 3 tablas: Países, estados y municipios, relacionarlos entre sí. CREATE TABLE `paises` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nombre_pais` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) CREATE TABLE `estados` ( `nombre_estado` varchar(50) NOT NULL, `id_pais` int(3) NOT NULL, CREATE TABLE `municipios` ( `nombre_municipio` varchar(50) NOT NULL, `id_estado` int(3) NOT NULL,

61 Practica resultado 5. Insertar 7 municipios en una sola consulta INSERT INTO `municipios` VALUES (1,'San Juan del Río',1),(2,'Pachuca',2),(3,'Zimapán',2),(4,'Cadereyta',1),(5,'Iztapalacra',3),(6,'Jalpan',1),(7,'Tlalpan',3); 6. Insertar 3 estados en una sola consulta INSERT INTO `estados` VALUES (1,'Querétaro',1),(2,'Hidalgo',2),(3,'DF',3); 7. Insertar 2 países en una sola consulta INSERT INTO `paises` VALUES (1,'México'),(2,'Argentina');

62 Practica resultado 9. Respaldar la base de datos
8. Hacer una selección y mostrar un país con su respectivo estado y municipio (INNER JOIN). SELECT nombre_pais, nombre_estado, nombre_municipio FROM países INNER JOIN estados ON estados.id_pais = paises.id INNER JOIN municipios ON estados.id = municipios.id_estado Where nombre_pais = "México“ 9. Respaldar la base de datos

63 Referencias Silverschatz, A., Korth, H., Sudarshan, S. (2010). Fundamentos de Base de Datos (pp ) USA. Mc Graw Hill.


Descargar ppt "UNIDAD 3 - MySQL Rafael Albertti."

Presentaciones similares


Anuncios Google