viernes, 30 de mayo de 2014

Vistas







Practica Repaso Vistas:

Enter password: ***
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.51b-community-nt-log MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE NOTAS;
Query OK, 1 row affected (0.13 sec)
mysql> USE NOTAS;
Database changed
mysql> CREATE TABLE ALUMNOS(MATRICULA INT NOT NULL PRIMARY KEY,NOMBRE VARCHAR(30),APELLIDOSVARCHAR(50),SEMESTREVARCHAR(20),MODULOVARCHAR(50),CALIF_1 INT,CALIF_2 INT,CALIF_3 INT);
Query OK, 0 rows affected (0.20 sec)
mysql>INSERTINTOALUMNOS(MATRICULA,NOMBRE,APELLIDOS,SEMESTRE,MODULO,CALIF_1,CALIF_2,CALIF_3)VALUES(123,'EDITH','MARTINEZ_HERNANDEZ','CUARTO','COBD',8,9,10),(456,'MANUEL','ZAVALA_CONTRERAS','CUARTO','COBD',9,8,7),(678,'IRVING','GONZALEZ_MENA','CUARTO','COBD',7,6,5);
Query OK, 3 rows affected (0.22 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> CREATE VIEW VISTA_ALUMNOS AS SELECT MATRICULA,NOMBRE,APELLIDOS, (CALIF_1+
CALIF_2+CALIF_3)/3 AS PROMEDIO FROM ALUMNOS;
Query OK, 0 rows affected (0.07 sec)

mysql> SHOW TABLES;
+-----------------+
| Tables_in_notas |
+-----------------+
| alumnos         |
| vista_alumnos   |
+-----------------+
2 rows in set (0.13 sec)

mysql> SELECT *FROM VISTA_ALUMNOS;
+-----------+--------+--------------------+----------+
| MATRICULA | NOMBRE | APELLIDOS          | PROMEDIO |
+-----------+--------+--------------------+----------+
|       123 | EDITH  | MARTINEZ_HERNANDEZ |   9.0000 |
|       456 | MANUEL | ZAVALA_CONTRERAS   |   8.0000 |
|       678 | IRVING | GONZALEZ_MENA      |   6.0000 |
+-----------+--------+--------------------+----------+
3 rows in set (0.08 sec)
mysql> INSERT INTO ALUMNOS VALUES(912,'FABIAN','MORA_SANCHEZ','CUARTO','COBD',10,9,8);
Query OK, 1 row affected (0.03 sec)
mysql> SELECT *FROM ALUMNOS;

+-----------+--------+--------------------+----------+--------+---------+---------+---------+
| MATRICULA | NOMBRE | APELLIDOS          | SEMESTRE | MODULO | CALIF_1 | CALIF_2 | CALIF_3 |
+-----------+--------+--------------------+----------+--------+---------+---------+---------+
|       123 | EDITH  | MARTINEZ_HERNANDEZ | CUARTO   | COBD   |       8 |9 |      10 |
|       456 | MANUEL | ZAVALA_CONTRERAS   | CUARTO   | COBD   |       9 |8 |       7 |
|       678 | IRVING | GONZALEZ_MENA      | CUARTO   | COBD   |       7 |6 |       5 |
|       912 | FABIAN | MORA_SANCHEZ       | CUARTO   | COBD   |      10 |9 |       8 |
+-----------+--------+--------------------+----------+--------+---------+---------+---------+
4 rows in set (0.00 sec)

mysql> SELECT *FROM VISTA_ALUMNOS;
+-----------+--------+--------------------+----------+
| MATRICULA | NOMBRE | APELLIDOS          | PROMEDIO |
+-----------+--------+--------------------+----------+
|       123 | EDITH  | MARTINEZ_HERNANDEZ |   9.0000 |
|       456 | MANUEL | ZAVALA_CONTRERAS   |   8.0000 |
|       678 | IRVING | GONZALEZ_MENA      |   6.0000 |
|       912 | FABIAN | MORA_SANCHEZ       |   9.0000 |
+-----------+--------+--------------------+----------+
4 rows in set (0.00 sec)

Practica # 12 Manejo de Vistas mediante instrucciones del Lenguaje SQL.

1- Verifica que el equipo de cómputo se encuentra conectado.
2- Enciende equipo de cómputo.
3- Abre sesión de Ambiente Grafico.
4- Ingresa al Sistema Gestor Base de Datos.
5- Selecciona la base de datos biblioteca.
6- Crea una vista en la que obtenga los campos de título, isbn, editorial, paginas, y año de edición que correspondan a una editorial en específico y la guarde como el nombre de librosdeunaeditorial.
7- Elimina la vista denominada librosdeunaeditorial.
8- Guarda el archivo que contiene las Sentencias SQL.

Enter password: ***
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 6.0.4-alpha-community-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE biblioteca;
Database changed
mysql> CREATE VIEW biblioteca AS SELECT titulo,ISBN,num_paginas,(editorial)AS librosdeunaeditorial from libros;
Query OK, 0 rows affected (0.02 sec)
mysql> drop view Vista_biblioteca;
Query OK, 0 rows affected (0.00 sec)

lunes, 12 de mayo de 2014

Construcción de Base de Datos COBD-02

Unidad 1   R.A 1.1

Unidade de parendizaje :
Diseño de base de datos relacionales

Propocito de la unidad:

Diseñara base de datos a partir del modelo entidad relacion para almacenar, manejar y recuperar informacion

Resultado de aprendizaje:

1.1 Elabora el diseño conceptual de la base de datos a partir de la recopilacion y analisis de los requerimientos funcionales del usuario

Actividad de Evaluacion


Indicador  %

Entidades y atributos---------30%
Relaciones / Entidades--------20%
Notificacion grafica------------30%
Presentacion de resultados----10%
Total--------------------------100%


Mapa Conceptual

















 

Modelos Entidad Ralacion













 

 

 

 

 

 

 

 

 

 

 

 

 

Mapa Conceptual-Base de Datos (Equipo)

 

  R.A 1.2

RESULTADO DE APRENDIZAJE  1.2

Diseña la estructura logica de la base de datos medainte la normalización de los esquemas relacionales.



TEMARIO:


TEMAS DE LA PRESENTACION POWER POINT.

ACTIVIDAD DE EVALUACION:

1.2.1 diseño conceptual de una base de datos, que atienda las necesidades de una organización.
INDICADORES
PORCENTAJE
·       MODELO RELACIONAL  BASADO EN EL MODELO ENTIDAD /RELACION
25%
·       MODELO RELACIONAL DIRECTO BASADO EN LOS DATOS
45%
·       PRESENTACION DE LOS RESULTADOS
20%
·       ACTITUDES
10%

ACTIVIDADES DEL ALUMNO A SER EVALUADAS EN EL RESULTADO DE APRENDIZAJE 1.2

·       ENTRADA EN EL BLOG DEL TEMARIO

·       PRESENTACIÓN POWER POINT (A INCISO AY B)

·       ROTAFOLIOS DE LOS TEMAS DE LA PRESENTACIÓN POWER POINT.

·       FOTO DE ROTAFOLIOS EN BLOG

·       REPORTE DEL VIDEO ENVIADO A CORREO E IMPRESO.

·       CORRECCIÓN DE LO 7 DIAGRAMAS DE MODELO ENTIDAD/RELACION

·       ACTIVIDAD A SER EVALUADA:

o  POR CADA ENTIDAD UNA TABLA

o  POR CADA ATRIBUTO UN CAMPO EN LA TABLA

o  IDENTIFICAR CAMPOS ATOMICOS

o  IDENTIFICAR LA CLAVE PRIMARIA

o  IDENTIFICAR CLAVES FORANEAS

o  IDENTIFICAR LAS DEPENDENCIAS RELACIONALES.

·       ENVIOS PARCIALES DIGITAL DE LA ACTIVIDAD PARA REVISIONES (CORREO INSTITUCIONAL).

·       ENVIO DE LA ACTIVIDAD DE EVALUACION FINAL EL DÍA 19 DE MARZO (POR CORREO INSTITUCIONAL COPIA A CONTEO).

·       ENTREGA DE LA ACTIVIDAD DE EVALUACIÓN IMPRESA EL DÍA 21 DE MARZO DEL AÑO EN CURSO.

Video Resumen

En este video explica la definición de modelo entidad relación que tenemos que diferenciar lo que es una entidad, atributos y relaciones.

Una entidad es: Almacenar información (Ej: una persona). Las entidades están compuestas de atributos que son los datos que definen el objeto (para la entidad persona serían DNI, nombre, apellidos, dirección.

Un atributo es un Ovalo   

Relación es un Rombo

Primero tenemos que comprender modelo- relación para saber lo que es modelo relacional.

El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos. Es el modelo mas utilizado en la actualidad.

Primera Forma Normal

Una tabla está en Primera Forma Normal si:

  • Todos los atributos son dominio. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos.

  • La tabla contiene una clave primaria única.

  • La clave primaria no contiene atributos nulos.

  • No debe existir variación en el número de columnas.

  • Los Campos no clave deben identificarse por la clave .

  • Debe Existir una independencia del orden tanto de las filas como de las columnas.

  • Una tabla no puede tener múltiples valores en cada columna.

Segunda Forma Normal.

La Segunda Forma Normal nos habla de que cada columna de la tabla debe depender de la clave. Esto significa que todo un registro debe depender únicamente de la clave principal, si tenemos alguna columna que se repite a lo largo de todos los registros, dichos datos deben relacionarse en una nueva tabla.

Tercera Forma Normal.

Están son las características de lo que habla el vídeo de la 3ª regla:

  1. Ninguna Columna puede depender de una columna que no tenga una clave

  2. No puede haber datos derivados.

Es una forma normal utilizada en la normalización de bases de datos.

Regla de Boyce Coald.

La forma normal de Boyce-Coald requiere que no existan dependencias funcionales no triviales de los atributos que no sean un conjunto de la clave candidata.

 

Papel Bond





























































 

 

 

 

Tablas

 














 

 

 

 

 

 


Resultado de Aprendizaje 1.3

Desarrolla el diseño fisico de la base de datos partiendo del esquema logico.
A) Instalación y Configuración del Sistema Gestor de Base de Datos
                       -Instalacion
                       -Entorno de Tabajo

B) Elaboracion del Diseño Físico y su implementación en el sistema gestor
-Creación de base de batos
-Creación de tablas
-Eliminación de tablas
-Modificación de tablas
-Relaciones

C) Uso de herramientas CASE para el desarrollo de Base de Datos

Indicadores                                                Porcentaje
*Desarrollo y diseño físico-----------------------50%
*Uso de herramientas CASE---------------------30%
*Presentación de Resultado---------------------10% 
*Actitudes -------------------------------------------10%

































 

  EXAMEN



Ejercicio 1


mysql> create database Materia_prima;


Query OK, 1 row affected (0.02 sec)


mysql> use Materia_prima;


Database changed
mysql> create table Productos(codigo varchar(3),nombre varchar(10),precio varcha

r(8),fecha_de_compra varchar(12));

Query OK, 0 rows affected (0.09 sec)

mysql> insert into Productos values('a01','vinos','250','2009/11/02');

Query OK, 1 row affected (0.01 sec)

mysql> insert into Productos values('a02','silla_modelo.zaz','200','2009/11/03');

Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> insert into Productos values('a03','silla_modelo.xax','400','2009/11/03');

Query OK, 1 row affected, 1 warning (0.01 sec)

mysql> insert into Productos values('a04','florero.Chan','300','2009/11/03');

Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> insert into Productos values('a05','mesa_modelo.htp','100','2009/11/05');

Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> select* from productos;

+--------+------------+--------+-----------------+

| codigo | nombre     | precio | fecha_de_compra |

+--------+------------+--------+-----------------+

| a01    | vinos      | 250    | 2009/11/02      |

| a02    | silla_mode | 200    | 2009/11/03      |

| a03    | silla_mode | 400    | 2009/11/03      |

| a04    | florero.Ch | 300    | 2009/11/03      |

| a05    | mesa_model | 100    | 2009/11/05      |

+--------+------------+--------+-----------------+

5 rows in set (0.00 sec)

mysql> select* from productos where nombre='vinos';

+--------+--------+--------+-----------------+

| codigo | nombre | precio | fecha_de_compra |

+--------+--------+--------+-----------------+

| a01    | vinos  | 250    | 2009/11/02      |

+--------+--------+--------+-----------------+

1 row in set (0.00 sec)

mysql> select* from productos where nombre like 'S%';

+--------+------------+--------+-----------------+

| codigo | nombre     | precio | fecha_de_compra |

+--------+------------+--------+-----------------+

| a02    | silla_mode | 200    | 2009/11/03      |

| a03    | silla_mode | 400    | 2009/11/03      |

+--------+------------+--------+-----------------+

2 rows in set (0.00 sec)

mysql> select nombre,nombre,precio,fecha_decompra from productos where precio>433;

mysql> select nombre,precio from productos where precio>433;

Empty set (0.00 sec)

mysql> alter table productos add categoria varchar(10);

Query OK, 5 rows affected (0.18 sec)

Records: 5  Duplicates: 0  Warnings: 0

mysql> update productos set categoria='utensilio';

Query OK, 5 rows affected (0.00 sec)

Rows matched: 5  Changed: 5  Warnings: 0

mysql> update productos set categoria='mueble';

Query OK, 5 rows affected (0.00 sec)

Rows matched: 5  Changed: 5  Warnings: 0

mysql> update productos set categoria='mueble';

Query OK, 0 rows affected (0.00 sec)

Rows matched: 5  Changed: 0  Warnings: 0


Ejercicio 3

mysql> create database producto1;

Query OK, 1 row affected (0.11 sec)

mysql> use producto1;

Database changed

mysql> create table productos(codigo varchar(3),nombre varchar(30),precio decimal(6,2),fechaalta date,primary key (codigo));

Query OK, 0 rows affected (0.08 sec)

mysql> insert into productos values('a01','Afilador','2.50','200-11-02');

Query OK, 1 row affected (0.00 sec)

mysql> insert into productos values('s01','Silla mod.ZAZ','25','2007-11-03');

Query OK, 1 row affected (0.00 sec)

mysql> insert into productos values('s02','Silla mod.XAX','25','2007-11-03');

Query OK, 1 row affected (0.00 sec)

mysql> select* from productos;

+--------+---------------+--------+------------+

| codigo | nombre        | precio | fechaalta  |

+--------+---------------+--------+------------+

| a01    | Afilador      |   2.50 | 0200-11-02 |

| s01    | Silla mod.ZAZ |  25.00 | 2007-11-03 |

| s02    | Silla mod.XAX |  25.00 | 2007-11-03 |

+--------+---------------+--------+------------+

3 rows in set (0.00 sec)

mysql> select* from productos where nombre='Afilador';

+--------+----------+--------+------------+

| codigo | nombre   | precio | fechaalta  |

+--------+----------+--------+------------+

| a01    | Afilador |   2.50 | 0200-11-02 |

+--------+----------+--------+------------+

1 row in set (0.00 sec)

mysql> select* from productos where nombre like 'S%';

+--------+---------------+--------+------------+

| codigo | nombre        | precio | fechaalta  |

+--------+---------------+--------+------------+

| s01    | Silla mod.ZAZ |  25.00 | 2007-11-03 |

| s02    | Silla mod.XAX |  25.00 | 2007-11-03 |

+--------+---------------+--------+------------+

2 rows in set (0.00 sec)

mysql> select nombre,precio from productos where precio>22;

+---------------+--------+

| nombre        | precio |

+---------------+--------+

| Silla mod.ZAZ |  25.00 |

| Silla mod.XAX |  25.00 |

+---------------+--------+

2 rows in set (0.00 sec)

mysql> select avg(precio) from productos where left(nombre,5)='Silla';

+-------------+

| avg(precio) |

+-------------+

|   25.000000 |

+-------------+

1 row in set (0.00 sec)

mysql> alter table productos add categoria varchar(10);

Query OK, 3 rows affected (0.20 sec)

Records: 3  Duplicates: 0  Warnings: 0

mysql> update productos set categoria="silla" where left(nombre,5) 0 'silla';

mysql> update productos set categoria='utensilio';

Query OK, 3 rows affected (0.00 sec)

Rows matched: 3  Changed: 3  Warnings: 0

mysql> update productos set categoria="Sill" where left(nombre,5)='Silla';

Query OK, 2 rows affected (0.00 sec)

Rows matched: 2  Changed: 2  Warnings: 0

mysql> select distinct categoria from productos;

+-----------+

| categoria |

+-----------+

| utensilio |

| Silla      |

+-----------+

2 rows in set (0.00 sec)

mysql> select categoria, count(*) from productos group by categoria;

+-----------+----------+

| categoria | count(*) |

+-----------+----------+

| Sill      |        2 |

| utensilio |        1 |

+-----------+----------+

2 rows in set (0.00 sec) 

 

 Unidad 2 Resultado de Aprendizaje 2.1


Estructura la consulta de informacion mediante la seleccion, insercion, eliminacion y actualizacion de datos en el sistema gestor de base de datos.

Temario

a)Actulizacion de informacion mediante lenguaje SQL
-Operacion de Selección
-Operación de Eliminación
-Operación de de Actualización

b)Elaboración de consultas mediante lenguaje SQL
-Operación Selección
-Operación Arimeticos
-Operación comparacion y logicos
-Operación Logicos
-Operación Subconjunto en una Tabla
-Operación Comunicacion de Tablas

c)Majeno de disparadores de base de datos
-Creacion de un Disparador
-Tipos de Disparadores
-Operacion use

Rubrica

Indicadores                                                                 Porcentaje
*Consultas de selección----------------------------------25%
*Modificación y Actulizacion de información-------------30%
* Disparadores de base de datos------------------------25%
*Actitudes----------------------------------------------10%

 

 Sentencias Select



Base de Datos: Ministerio de salud.

Tabla: Hospitales.

Consultas de selección.

1- Obtener el campo llamado código y nombre.

mysql> select codigo,nombre from hospitales;

+--------+--------------------------------+

| codigo | nombre                         |

+--------+--------------------------------+

|      1 | Julian_Moreno_Mayen            |

|      2 | Miriam_Casimiro_Lopez          |

|      3 | Teresa_de_Anguiano_Cuauteconce |

|      4 | Edgar_Enrique_Angeles_Sanchez  |

|      5 | Guadalupe_Amaraini             |

|      6 | Rodrigo_Garcia_Soto            |

|      7 | Jonathan_Issac_Caballero_Peña  |

|      8 | Edzon_Avendaño_de_la_Rosa      |

|      9 | Amanda_Garcia_Fuentes          |

|     10 | Telesforo_Rojas_Marin          |

+--------+--------------------------------+

10 rows in set (0.02 sec)

2- Mostrar los nombres de las personas que vivan en Tultitlan.

mysql> select nombre from hospitales where Direccion='Tultitlan';

+-------------------------------+

| nombre                        |

+-------------------------------+

| Guadalupe_Amaraini            |

| Jonathan_Issac_Caballero_Peña |

| Amanda_Garcia_Fuentes         |

| Telesforo_Rojas_Marin         |

+-------------------------------+

4 rows in set (0.04 sec)

3- Mostrar los nombres de las personas que vivan en Atizapan de Zaragoza o Naucalpan de Juarez.

mysql> select nombre from hospitales where Direccion='Atizapan_de_Zaragoza' or Direccion='Naucalpan_de_Juarez';

+--------------------------------+

| nombre                         |

+--------------------------------+

| Teresa_de_Anguiano_Cuauteconce |

| Edgar_Enrique_Angeles_Sanchez  |

| Rodrigo_Garcia_Soto            |

| Edzon_Avendaño_de_la_Rosa      |

+--------------------------------+

4- Mostrar los datos de las personas cuya Direccion sea Naucalpan de Juarez y sean oredenados descendentemente.

mysql> select *from hospitales order by Direccion='Naucalpan_de_Juarez' desc;

+--------+--------------------------------+--------------------------------+------------+

| codigo | nombre                         | Direccion                      | telefono   |

+--------+--------------------------------+--------------------------------+------------+

|      6 | Rodrigo_Garcia_Soto            | Naucalpan_de_Juarez            | 2147483647 |

|      8 | Edzon_Avendaño_de_la_Rosa      | Naucalpan_de_Juarez            | 2147483647 |

|      9 | Amanda_Garcia_Fuentes          | Tultitlan                      | 2147483647 |

|      7 | Jonathan_Issac_Caballero_Peña  | Tultitlan                      | 2147483647 |

|      1 | Julian_Moreno_Mayen            | Av_san_Padreras_Naucalpan_de_J | 2147483647 |

|      5 | Guadalupe_Amaraini             | Tultitlan                      | 2147483647 |

|      4 | Edgar_Enrique_Angeles_Sanchez  | Atizapan_de_Zaragoza           | 2147483647 |

|      3 | Teresa_de_Anguiano_Cuauteconce | Atizapan_de_Zaragoza           | 2147483647 |

|      2 | Miriam_Casimiro_Lopez          | Cuatitlan                      | 2147483647 |

|  10 | Telesforo_Rojas_Marin  | Tultitlan| 2147483647 |

+--------+--------------------------------+--------------------------------+------------+

10 rows in set (0.03 sec)

5- Mostrar los nombres que hay en la tabla sin repeticiones.

mysql> select DISTINCT nombre from hospitales;

+--------------------------------+

| nombre                         |

+--------------------------------+

| Julian_Moreno_Mayen            |

| Miriam_Casimiro_Lopez          |

| Teresa_de_Anguiano_Cuauteconce |

| Edgar_Enrique_Angeles_Sanchez  |

| Guadalupe_Amaraini             |

| Rodrigo_Garcia_Soto            |

| Jonathan_Issac_Caballero_Peña  |

| Edzon_Avendaño_de_la_Rosa      |

| Amanda_Garcia_Fuentes          |

| Telesforo_Rojas_Marin          |

+--------------------------------+

10 rows in set (0.03 sec)

6- Seleccionar aquellas personas que empiezen con E.

mysql> select *from hospitales where nombre like 'E%';

+--------+-------------------------------+----------------------+------------+

| codigo | nombre                        | Direccion            | telefono   |

+--------+-------------------------------+----------------------+------------+

|      4 | Edgar_Enrique_Angeles_Sanchez | Atizapan_de_Zaragoza | 2147483647 |

|      8 | Edzon_Avendaño_de_la_Rosa     | Naucalpan_de_Juarez  | 2147483647 |

+--------+-------------------------------+----------------------+------------+







7- Obtener los nombres en Mayúsculas de las personas que vivan en Tultitlan.

mysql> select UPPER(nombre) from hospitales where Direccion='Tultitlan';

+-------------------------------+

| UPPER(nombre)                 |

+-------------------------------+

| GUADALUPE_AMARAINI            |

| JONATHAN_ISSAC_CABALLERO_PEñA |

| AMANDA_GARCIA_FUENTES         |

| TELESFORO_ROJAS_MARIN         |

+-------------------------------+

4 rows in set (0.04 sec)

8-Realizar una consulta que muestre longitud o letras de cada Direccion usando Length.

 mysql> select LENGTH(Direccion) from hospitales;

+-------------------+

| LENGTH(Direccion) |

+-------------------+

|  30 |

|  9 |

| 20 |

| 20 |

|   9 |

| 19 |

|  9 |

|  19 |

| 9 |

| 9 |

+-------------------+

10 rows in set (0.03 sec)

9- Mostrar el nombre que tenga la letra A en el nombre cuya function viva en Tultitlan.

mysql> select nombre from hospitales where nombre like 'A%' and Direccion='Tultitlan';

+-----------------------+

| nombre                |

+-----------------------+

| Amanda_Garcia_Fuentes |

+-----------------------+

1 row in set (0.00 sec)



10- Visualizar los datos de aquellas personas que no tengan el código 1, 2, 5, 6, 7,8, 9, 10 y sean de Atizapán de Zaragoza.

mysql> select nombre,Direccion from hospitales where codigo='3' or codigo='4' and Direccion='Atizapan_de_Zaragoza';

+--------------------------------+----------------------+

| nombre                         | Direccion            |

+--------------------------------+----------------------+

| Teresa_de_Anguiano_Cuauteconce | Atizapan_de_Zaragoza |

| Edgar_Enrique_Angeles_Sanchez  | Atizapan_de_Zaragoza |

Base de Datos: Mercosur

Tabla: Departamento

Consultas de selección.

1- Seleccionar toda la tabla llamada País.

mysql> select *from Pais;

+---------+

| Nombre  |

+---------+

| Mexico  |

| Japon   |

| Korea   |

| China   |

| EEUA    |

| Canada  |

| Chile   |

| Brasil  |

| Bolivia |

| Rusia   |

+---------+

10 rows in set (0.00 sec)

2- Mostrar el número de caracteres que tiene el nombre de cada Pais.

mysql> select LENGTH(Nombre) from Pais;

+----------------+

| LENGTH(Nombre) |

+----------------+

|              6 |

|              5 |

|              5 |

|              5 |

|              4 |

|              6 |

|              5 |

|              6 |

|              7 |

|              5 |

+----------------+

10 rows in set (0.00 sec)

3- Seleccionar toda la tabla país y ordenar el nombre Descendentemente.

mysql> select *from Pais order by Nombre desc;

+---------+

| Nombre  |

+---------+

| Rusia   |

| Mexico  |

| Korea   |

| Japon   |

| EEUA    |

| China   |

| Chile   |

| Canada  |

| Brasil  |

| Bolivia |

+---------+

10 rows in set (0.00 sec)

4- Seleccionar aquel pais que tenga la R.

mysql> select *from Pais where Nombre like'R%';

+--------+

| Nombre |

+--------+

| Rusia  |

+--------+

1 row in set (0.01 sec)

5- Mostrar los paises que hay en la tabla Pais sin repeticiones.

mysql> select DISTINCT Nombre from Pais;

+---------+

| Nombre  |

+---------+

| Mexico  |

| Japon   |

| Korea   |

| China   |

| EEUA    |

| Canada  |

| Chile   |

| Brasil  |

| Bolivia |

| Rusia   |

+---------+

10 rows in set (0.00 sec)

6- Mostrar en minúsculas el nombre de cada pais.

mysql> select LOWER(Nombre) from Pais;

+---------------+

| LOWER(Nombre) |

+---------------+

| mexico        |

| japon         |

| korea         |

| china         |

| eeua          |

| canada        |

| chile         |

| brasil        |

| bolivia       |

| rusia         |

+---------------+

10 rows in set (0.01 sec)

7- Mostrar los nombres de los paises en Mayusculas.

mysql> select UPPER(Nombre) from Pais;

+---------------+

| UPPER(Nombre) |

+---------------+

| MEXICO        |

| JAPON         |

| KOREA         |

| CHINA         |

| EEUA          |

| CANADA        |

| CHILE         |

| BRASIL        |

| BOLIVIA       |

| RUSIA         |

+---------------+

10 rows in set (0.00 sec)

8- Seleccionar toda la tabla Pais donde nombre sea Mexico.

mysql> select *from Pais where Nombre='Mexico';

+--------+

| Nombre |

+--------+

| Mexico |

+--------+

1 row in set (0.00 sec)

9- Seleccionar toda la tabla Pais donde nombre sea Mexico y Rusia

mysql> select *from Pais where Nombre='Mexico' or Nombre='Rusia';

+--------+

| Nombre |

+--------+

| Mexico |

| Rusia  |

+--------+

2 rows in set (0.00 sec)

10- Seleccionar toda la table Pais y ordenarlos ascendentemente.

mysql> select *from Pais order by Nombre;

+---------+

| Nombre  |

+---------+

| Bolivia |

| Brasil  |

| Canada  |

| Chile   |

| China   |

| EEUA    |

| Japon   |

| Korea   |

| Mexico  |

| Rusia   |

+---------+

10 rows in set (0.00 sec)



Base de Datos: Empresa

Tabla: Departamento

Consultas de selección.

1- Obtener el nombre y presupuesto de la tabla Departamento.

mysql> select nombre,presupuesto from Departamento;

+----------------+-------------+

| nombre         | presupuesto |

+----------------+-------------+

| Administracion |        6000 |

| Gerente        |        3000 |

| Finanzas       |        1500 |

| Produccion     |       10000 |

| Contabilidad   |        1500 |

| Supervision    |        1000 |

| Ventas         |        2000 |

| Ensamblaje     |        2000 |

| Ensamblaje     |        2000 |

| Contabilidad   |        5000 |

+----------------+-------------+

10 rows in set (0.00 sec)

2- Mostrar el nombre del departamento que tengan un presupuesto de 2000.

mysql> select nombre from Departamento where presupuesto='2000';

+------------+

| nombre     |

+------------+

| Ventas     |

| Ensamblaje |

| Ensamblaje |

+------------+

3 rows in set (0.00 sec)

3- Seleccionar el nombre del Departamento que su salario sea superior a 6000.

mysql> select nombre from Departamento where presupuesto>6000;

+------------+

| nombre     |

+------------+

| Produccion |

+------------+

1 row in set (0.00 sec)

4- Seleccionar el campo llamado nombre sin repeticiones.

mysql> select DISTINCT nombre from Departamento;

+----------------+

| nombre         |

+----------------+

| Administracion |

| Gerente        |

| Finanzas       |

| Produccion     |

| Contabilidad   |

| Supervision    |

| Ventas         |

| Ensamblaje     |

+----------------+

8 rows in set (0.00 sec)

5- Mostrar los datos de las personas que tengan un salario superior a 1500 y que sean del Departamento Ensamblaje y ordenar el presupuesto.

mysql> select *from Departamento where presupuesto>1500 and nombre='Ensamblaje'order by presupuesto desc;

+--------+------------+-------------+

| codigo | nombre     | presupuesto |

+--------+------------+-------------+

|      8 | Ensamblaje |        2000 |

|      8 | Ensamblaje |        2000 |

+--------+------------+-------------+

2 rows in set (0.00 sec)

6- Mostrar aquellas personas que tengan un preupuesto entre 1500 a 6000.

mysql> select *from Departamento where presupuesto between 1500 and 6000;

+--------+----------------+-------------+

| codigo | nombre         | presupuesto |

+--------+----------------+-------------+

|      1 | Administracion |        6000 |

|      2 | Gerente        |        3000 |

|      3 | Finanzas       |        1500 |

|      5 | Contabilidad   |        1500 |

|      7 | Ventas         |        2000 |

|      8 | Ensamblaje     |        2000 |

|      8 | Ensamblaje     |        2000 |

|     10 | Contabilidad   |        5000 |

+--------+----------------+-------------+

8 rows in set (0.00 sec)

7- Seleccionar toda la tabla llamada Departamentos y ordenar el nombre descendentemente.

mysql> select *from Departamento order by nombre desc;

+--------+----------------+-------------+

| codigo | nombre         | presupuesto |

+--------+----------------+-------------+

|      7 | Ventas         |        2000 |

|      6 | Supervision    |        1000 |

|      4 | Produccion     |       10000 |

|      2 | Gerente        |        3000 |

|      3 | Finanzas       |        1500 |

|      8 | Ensamblaje     |        2000 |

|      8 | Ensamblaje     |        2000 |

|     10 | Contabilidad   |        5000 |

|      5 | Contabilidad   |        1500 |

|      1 | Administracion |        6000 |

+--------+----------------+-------------+

10 rows in set (0.00 sec)

8- Seleccionar el campo llamado codigo de toda la tabla  Departamento y que sean de Ensamblaje y Contabilidad.

mysql> select codigo from Departamento where nombre='Ensamblaje' or nombre='Contabilidad';

+--------+

| codigo |

+--------+

|      5 |

|      8 |

|      8 |

|     10 |

+--------+

4 rows in set (0.00 sec)

9- Seleccionar el campo llamado nombre que sean del codigo 8 y tenga un preupuesto superior a 2000.

mysql> select nombre from Departamento where codigo='8' or presupuesto>2000;

+----------------+

| nombre         |

+----------------+

| Administracion |

| Gerente        |

| Produccion     |

| Ensamblaje     |

| Ensamblaje     |

| Contabilidad   |

+----------------+

6 rows in set (0.00 sec)

10- Obtener el nombre del departamento en Minuscula.

mysql> select LOWER(nombre) from Departamento;

+----------------+

| LOWER(nombre)  |

+----------------+

| administracion |

| gerente        |

| finanzas       |

| produccion     |

| contabilidad   |

| supervision    |

| ventas         |

| ensamblaje     |

| ensamblaje     |

| contabilidad   |

+----------------+

10 rows in set (0.00 sec)



mysql>





Base de Datos: Biblioteca

Tabla: Ficha del Autor

Consultas de selección.

1- Obtener el nombre del autor de la tabla llamada Ficha_del_autor.

mysql> select nombre_del_autor from Ficha_del_autor;

+------------------------------+

| nombre_del_autor             |

+------------------------------+

| Guillermo_del_Toro           |

| Octavio_Paz                  |

| Guillermo_del_Toro           |

| Miguel_Cervantes_de_Saavedra |

| Selma_Lagerlof               |

| Antonio_Velasco_Pena         |

| Jorge_Issac                  |

| Julio_Verne                  |

| Ziper_Joaquin                |

| Guillermo_del_Toro           |

+------------------------------+

10 rows in set (0.00 sec)

2- Mostrar el nombre del autor que tenga el código ‘10’.

mysql> select nombre_del_autor from Ficha_del_autor where codigo='10';

+--------------------+

| nombre_del_autor   |

+--------------------+

| Guillermo_del_Toro |

+--------------------+

3 rows in set (0.00 sec)











3- Seleccionar los  nombres del autor cuya función sea ordenar el código descendentemente.

mysql> select nombre_del_autor from Ficha_del_autor order by codigo desc;

+------------------------------+

| nombre_del_autor             |

+------------------------------+

| Jorge_Issac                  |

| Octavio_Paz                  |

| Julio_Verne                  |

| Guillermo_del_Toro           |

| Guillermo_del_Toro           |

| Guillermo_del_Toro           |

| Ziper_Joaquin                |

| Antonio_Velasco_Pena         |

| Selma_Lagerlof               |

| Miguel_Cervantes_de_Saavedra |

+------------------------------+

10 rows in set (0.00 sec)

4- Mostrar los datos de los nombres de los autores que hay en la tabla llamada Ficha del autor sin repeticiones.

mysql> select DISTINCT nombre_del_autor from Ficha_del_autor;

+------------------------------+

| nombre_del_autor             |

+------------------------------+

| Guillermo_del_Toro           |

| Octavio_Paz                  |

| Miguel_Cervantes_de_Saavedra |

| Selma_Lagerlof               |

| Antonio_Velasco_Pena         |

| Jorge_Issac                  |

| Julio_Verne                  |

| Ziper_Joaquin                |

+------------------------------+

8 rows in set (0.03 sec)

5- Mostrar los datos de las personas cuya función empiece con la letra ‘J’.

mysql> select *from Ficha_del_autor where nombre_del_autor like 'J%';

+--------+------------------+

| codigo | nombre_del_autor |

+--------+------------------+

|     32 | Jorge_Issac      |

|     12 | Julio_Verne      |

+--------+------------------+

2 rows in set (0.03 sec)





6- Obtener los nombres de los autores en Mayúsculas que tengan el codigo 10 y 15.

mysql> select UPPER(nombre_del_autor) from Ficha_del_autor where codigo='10' or codigo='15';

+-------------------------+

| UPPER(nombre_del_autor) |

+-------------------------+

| GUILLERMO_DEL_TORO      |

| OCTAVIO_PAZ             |

| GUILLERMO_DEL_TORO      |

| GUILLERMO_DEL_TORO      |

+-------------------------+

4 rows in set (0.00 sec)

7- Obtener los nombres de los autores en Minúsculas que su nombre sea Selma lagerlof.

mysql>select LOWER(nombre_del_autor) from Ficha_del_autor where nombre_del_autor='Selma_Lagerlof';

+-------------------------+

| LOWER(nombre_del_autor) |

+-------------------------+

| selma_lagerlof          |

+-------------------------+

1 row in set (0.00 sec)

8- Realizar una consulta donde te muestre cuantos caracteres tiene el campo llamado nombre_del_autor.

mysql> select LENGTH(nombre_del_autor)from Ficha_del_autor;

+--------------------------+

| LENGTH(nombre_del_autor) |

+--------------------------+

|                       18 |

|                       11 |

|                       18 |

|                       28 |

|                       14 |

|                       20 |

|                       11 |

|                       11 |

|                       13 |

|                       18 |

+--------------------------+

10 rows in set (0.01 sec)

9- Seleccionar los datos de aquellas personas cuya función sea Guillermo del Toro y Octavio Paz utilizando el operador (IN)

mysql> select nombre_del_autor from Ficha_del_autor where nombre_del_autor='Guillermo_del_Toro'  In nombre_del_autor='Octavio_Paz';

+--------------------+

| nombre_del_autor   |

+--------------------+

| Guillermo_del_Toro |

| Octavio_Paz        |

| Guillermo_del_Toro |

| Guillermo_del_Toro |

+--------------------+

4 rows in set (0.00 sec)

10- Obtener los nombres de los autores de Miguel Cervantes de Saavedra y Julio Verne y ordenarlos de manera descedentemente.

mysql> select nombre_del_autor from Ficha_del_autor where nombre_del_autor='Miguel_Cervantes_de_Saavedra' or nombre_del_autor='Julio_Verne' order by nombre_del_autor desc;

+------------------------------+

| nombre_del_autor             |

+------------------------------+

| Miguel_Cervantes_de_Saavedra |

| Julio_Verne                  |

+------------------------------+

2 rows in set (0.00 sec)





















Base de Datos: Equipo de Futbol

Tabla: Equipo

Consultas de selección.

1- Obtener Nombre,Esradio,Aforo,Ciudad de toda la tabla Equipos.

mysql> select Nombre,Esradio,Aforo,Ciudad from Equipo;

+-----------+-----------------+-----------------+-----------+

| Nombre    | Esradio         | Aforo           | Ciudad    |

+-----------+-----------------+-----------------+-----------+

| Chivas    | Estadio_de_las_ | Guadalajara     | Jalisco   |

| America   | Estadio_azteca  | DF              | DF        |

| Pumas     | Estadio_olimpic | DF              | DF        |

| Cruz_Azul | Estadio_azul    | DF              | DF        |

| Toluca    | Nemesio_diez    | EDO_MEX         | Toluca    |

| Leon      | Newse cup       | Guanajuato      | Leon      |

| Pachuca   | Tuzos           | Hidalgo         | Pachuca   |

| Tigres    | Olimpico        | Nuevo_Leon      | Monterrey |

| Monterrey | Olimpico        | Nuevo_Leon      | Monterrey |

| Tijuana   | Caliente        | Baja_California | Tijuana   |

+-----------+-----------------+-----------------+-----------+

10 rows in set (0.04 sec)









2- Mostrar el Nombre de la tabla Equipo cuya Aforo sea DF ordenados descedentemente.

mysql> select Nombre from Equipo order by Aforo='DF' desc;

+-----------+

| Nombre    |

+-----------+

| America   |

| Pumas     |

| Cruz_Azul |

| Chivas    |

| Monterrey |

| Tigres    |

| Pachuca   |

| Leon      |

| Toluca    |

| Tijuana   |

+-----------+

10 rows in set (0.01 sec)

3- Realizar la consulta que muestre aparecer los caracteres de cada uno del campo de cada  Ciudad.

mysql> select LENGTH(Ciudad) from Equipo;

+----------------+

| LENGTH(Ciudad) |

+----------------+

|              7 |

|              2 |

|              2 |

|              2 |

|              6 |

|              4 |

|              7 |

|              9 |

|              9 |

|              7 |

+----------------+

10 rows in set (0.00 sec)

4- Obtener Nombre,Esradio en minuscula .

mysql> select LOWER(Nombre),LOWER(Esradio) from Equipo;

+---------------+-----------------+

| LOWER(Nombre) | LOWER(Esradio)  |

+---------------+-----------------+

| chivas        | estadio_de_las_ |

| america       | estadio_azteca  |

| pumas         | estadio_olimpic |

| cruz_azul     | estadio_azul    |

| toluca        | nemesio_diez    |

| leon          | newse cup       |

| pachuca       | tuzos           |

| tigres        | olimpico        |

| monterrey     | olimpico        |

| tijuana       | caliente        |

+---------------+-----------------+

10 rows in set (0.00 sec)

5- Mostrar los datos del Nombre de la ciudad que tenga d y tenga antigüedad sea del 2011.

mysql> select *from Equipo where Ciudad like 'D%' and antiguedad='2011';

+----------------+--------+-----------+--------------+-------+--------+------------+

| DNI_Presidente | codigo | Nombre    | Esradio      | Aforo | Ciudad | antiguedad |

+----------------+--------+-----------+--------------+-------+--------+------------+

|              4 |  12097 | Cruz_Azul | Estadio_azul | DF    | DF     |       2011 |

+----------------+--------+-----------+--------------+-------+--------+------------+

1 row in set (0.00 sec)

6- Mostrar todas las ciudades sin repeticiones.

mysql> select DISTINCT Ciudad from Equipo;

+-----------+

| Ciudad    |

+-----------+

| Jalisco   |

| DF        |

| Toluca    |

| Leon      |

| Pachuca   |

| Monterrey |

| Tijuana   |

+-----------+

7 rows in set (0.00 sec)

7- Mostrar el Aforo de los Equipos que sean Chivas y America.

mysql> select Aforo from Equipo where Nombre='Chivas' or Nombre='America';

+-------------+

| Aforo       |

+-------------+

| Guadalajara |

| DF          |

+-------------+

2 rows in set (0.01 sec)

8- Mostrar el nombre en Mayusculas.

mysql> select UPPER(Nombre) from Equipo;

+---------------+

| UPPER(Nombre) |

+---------------+

| CHIVAS        |

| AMERICA       |

| PUMAS         |

| CRUZ_AZUL     |

| TOLUCA        |

| LEON          |

| PACHUCA       |

| TIGRES        |

| MONTERREY     |

| TIJUANA       |

+---------------+

10 rows in set (0.07 sec)

9- Obtener los datos de aquellos Equipos que tengan el codigo 1_10 y 2_20 ordernar el Aforo ascedentemente.

mysql> select Nombre from Equipo where DNI_Presidente='1_10' or DNI_Presidente='2_20' order by Aforo;

+---------+

| Nombre  |

+---------+

| America |

| Chivas  |

+---------+

2 rows in set, 19 warnings (0.00 sec)

10- Mostrar los datos de los Equipos que sean de la ciudad de Guanaguato y Guadalajara y tengan de antigüedad el año 2013.

mysql> select *from Equipo where Ciudad='Guanajuato' and Ciudad='Guadalajara' or antiguedad='2013';

+----------------+--------+-----------+----------+-----------------+-----------+

------------+

| DNI_Presidente | codigo | Nombre    | Esradio  | Aforo           | Ciudad    |antiguedad |

+----------------+--------+-----------+----------+-----------------+-----------+

------------+

|              8 |  12097 | Tigres    | Olimpico | Nuevo_Leon      | Monterrey |2013 |

|              9 |  12097 | Monterrey | Olimpico | Nuevo_Leon      | Monterrey |2013 |

|             10 |  12097 | Tijuana   | Caliente | Baja_California | Tijuana   |2013 |

+----------------+--------+-----------+----------+-----------------+-----------+

------------+

3 rows in set (0.00 sec)

Base de Datos: Automotriz

Tabla: Automóviles

Consultas de selección.

1- Obtener la Marca y el Modelo de los Automoviles.

mysql> select Marca,Modelo from Automoviles;

+---------+---------+

| Marca   | Modelo  |

+---------+---------+

| Honda   | CR-Z    |

| Nissan  | 370Z    |

| Forg    | Fiesta  |

| Ferrari | FF      |

| Susuki  | Swift   |

| Force   | Camaro  |

| Force   | Camaro  |

| Nissan  | X-Trail |

| Nissan  | X-Trail |

| Honda   | Civic   |

+---------+---------+

10 rows in set (0.00 sec)

2- Mostrar el nombre de los modelos cuya función tenga el color Rojo.

Mysql> select Modelo from Automoviles where Color=’Rojo’;

+---------+

| Modelo  |

+---------+

| FF      |

| X-Trail |

| X-Trail |

| Civic   |

+---------+

4 rows in set (0.00 sec)

3- Mostrar las matriculas que tengan la marca Nissan y Honda.

mysql> select Matricula from Automoviles where Marca='Nissan' or Marca='Honda';

+-----------+

| Matricula |

+-----------+

|         2 |

|        12 |

|        78 |

|        20 |

|        74 |

+-----------+

5 rows in set (0.00 sec)

4- Mostrar los datos de todos los modelos que hay en la table llamada Automoviles sin repeticiones.

mysql> select DISTINCT Modelo from Automoviles;

+---------+

| Modelo  |

+---------+

| CR-Z    |

| 370Z    |

| Fiesta  |

| FF      |

| Swift   |

| Camaro  |

| X-Trail |

| Civic   |

+---------+

8 rows in set (0.03 sec)

5- Seleccionar el Color que Empiece con R.

mysql> select *from Automoviles where Color like'R%';

+-----------+---------+---------+-------+

| Matricula | Marca   | Modelo  | Color |

+-----------+---------+---------+-------+

|        52 | Ferrari | FF      | Rojo  |

|        78 | Nissan  | X-Trail | Rojo  |

|        20 | Nissan  | X-Trail | Rojo  |

|        74 | Honda   | Civic   | Rojo  |

+-----------+---------+---------+-------+

4 rows in set (0.04 sec)

6- Seleccionar los datos de las Marcas cuya function sea el modelo Civic o X-Trail.

mysql> Select Marca from Automoviles where Modelo='Civic' In Modelo='X-Trail';

+--------+

| Marca  |

+--------+

| Nissan |

| Nissan |

| Honda  |

+--------+

3 rows in set (0.00 sec)

7- Mostrar los datos de las Matriculas 18-94 o 47-36 y que tenga el color Azul metal.

Mysql> select *from Automoviles where Matricula=’18-94’ and Matricula=’47-36’ or Color=’Azul_metal’;

+-----------+--------+--------+------------+

| Matricula | Marca  | Modelo | Color      |

+-----------+--------+--------+------------+

|        12 | Nissan | 370Z   | Azul_metal |

|        54 | Force  | Camaro | Azul_metal |

+-----------+--------+--------+------------+

2 rows in set, 11 warnings (0.00 sec)

8- Realizar una consulta donde muestre el numero de caracteres que hay de los regidtros dentro del campo Modelo.

mysql> select LENGTH(Modelo) from Automoviles;

+----------------+

| LENGTH(Modelo) |

+----------------+

|              4 |

|              4 |

|              6 |

|              2 |

|              5 |

|              6 |

|              6 |

|              7 |

|              7 |

|              5 |

+----------------+

10 rows in set (0.04 sec)

9- Mostrar los datos de los Automóviles cuya función que ordene los colores de manera descendentemente.

mysql> select *from Automoviles order by Color desc;

+-----------+---------+---------+------------+

| Matricula | Marca   | Modelo  | Color      |

+-----------+---------+---------+------------+

|        74 | Honda   | Civic   | Rojo       |

|        20 | Nissan  | X-Trail | Rojo       |

|        52 | Ferrari | FF      | Rojo       |

|        78 | Nissan  | X-Trail | Rojo       |

|        47 | Forg    | Fiesta  | negro      |

|         2 | Honda   | CR-Z    | Gris       |

|        23 | Susuki  | Swift   | Gris       |

|        12 | Nissan  | 370Z    | Azul_metal |

|        54 | Force   | Camaro  | Azul_metal |

|        18 | Force   | Camaro  | Amarillo   |

+-----------+---------+---------+------------+

10 rows in set (0.00 sec)

10- Obtener los Modelos en Mayusculas.

mysql> select UPPER(Modelo) from AUTOMOVILES;

+---------------+

| UPPER(Modelo) |

+---------------+

| CR-Z          |

| 370Z          |

| FIESTA        |

| FF            |

| SWIFT         |

| CAMARO        |

| CAMARO        |

| X-TRAIL       |

| X-TRAIL       |

| CIVIC         |

+---------------+

10 rows in set (0.00 sec)



Base de Datos: Escuela

Tabla: Profesores.

Consultas de selección.

1- Obtener el RFC, Nombre,Apellido_Paterno,Apellido_Materno,Fecha_de_Nac de la tabla llamada Profesores.

mysql> select RFC,Nombre,Apellido_Paterno,Apellido_Materno,Fecha_de_Nac from Profesores;

+-------+-----------+------------------+------------------+--------------+

| RFC   | Nombre    | Apellido_Paterno | Apellido_Materno | Fecha_de_Nac |

+-------+-----------+------------------+------------------+--------------+

| 15203 | Gilberto  | Perez            | Sanchez          | 1974/07/20   |

|  8632 | Maria     | Esther           | Jacobo           | 1974/05/07   |

| 13629 | Edwin     | Rodriguez        | Alvarez          | 1975/11/15   |

| 13629 | Yolanda   | Rivas            | Romero           | 1989/11/12   |

| 64744 | Edith     | Martinez         | Hernandez        | 1980/08/12   |

| 64744 | Edith     | Martinez         | Hernandez        | 1980/08/12   |

| 11120 | Andres    | Razo             | Guzman           | 1964/21/21   |

| 11120 | Nelida    | Alvarez          | Blancas          | 1976/04/06   |

| 34567 | Marisol   | Reyes            | Moreno           | 1981/03/31   |

| 12345 | Viridiana | Rosas            | Gonzalez         | 1987/08/30   |

+-------+-----------+------------------+------------------+--------------+

10 rows in set (0.01 sec)

2- Mostrar los nombres de los Profesores que vivan en Atizapan de Zaragoza.

mysql> select Nombre from Profesores where Direccion='Atizapan_de_Zaragoza';

+----------+

| Nombre   |

+----------+

| Gilberto |

| Marisol  |

+----------+

2 rows in set (0.01 sec)

3-Mostrar el Rfc de los profesores que vivan en Naucalpan de Juarez o Tlalnepantla.

mysql> select RFC from Profesores where Direccion='Naucalpan_de_Juarez' or Direc

cion='Tlalnepantla';

+-------+

| RFC   |

+-------+

| 64744 |

| 64744 |

| 11120 |

| 11120 |

+-------+

4 rows in set (0.00 sec)

4- Mostrar los nombres que tengan las siguientes fecha de Nacimiento son 1974/07/20 y 1974/05/07.

mysql> select Nombre from Profesores where Fecha_de_nac='1974/07/20' and Fecha_de_nac='1974/05/07';

+----------+

| Nombre   |

+----------+

| Gilberto |

| Maria    |

+----------+

2 rows in set (0.02 sec)

5- Mostrar los Apellidos maternos de la table Profesores y ordenarlos ascedentemente.

mysql> select Apellido_materno from Profesores order by Apellido_materno;

+------------------+

| Apellido_materno |

+------------------+

| Alvarez          |

| Blancas          |

| Gonzalez         |

| Guzman           |

| Hernandez        |

| Hernandez        |

| Jacobo           |

| Moreno           |

| Romero           |

| Sanchez          |

+------------------+

10 rows in set (0.00 sec)

6- Mostrar las Direcciones sin repeticiones.

mysql> select DISTINCT Direccion from Profesores;

+-----------------------+

| Direccion             |

+-----------------------+

| Atizapan_de_Zaragoza  |

| Tultitlan             |

| DF                    |

| Nicolas_Romero        |

| Tlalnepantla          |

| Naucalpan_de_Zaragoza |

+-----------------------+

6 rows in set (0.00 sec)

7- Seleccionar aquellos Profesores que empiecen en su Apellido_paterno con la letra R

mysql> select *from Profesores where Apellido_paterno like'R%';

+-------+-----------+------------------+------------------+--------------+------

---------+-----------------------+------------+

| RFC   | Nombre    | Apellido_Paterno | Apellido_Materno | Fecha_de_nac | Codig

o_Postal | Direccion             | telefono   |

+-------+-----------+------------------+------------------+--------------+------

---------+-----------------------+------------+

| 13629 | Edwin     | Rodriguez        | Alvarez          | 1975/11/15   |

   64515 | DF                    | 2147483647 |

| 13629 | Yolanda   | Rivas            | Romero           | 1989/11/12   |

   23783 | Nicolas_Romero        | 2147483647 |

| 11120 | Andres    | Razo             | Guzman           | 1964/21/21   |

   54563 | Tlalnepantla          | 2147483647 |

| 34567 | Marisol   | Reyes            | Moreno           | 1981/03/31   |

   55678 | Atizapan_de_Zaragoza  | 2147483647 |

| 12345 | Viridiana | Rosas            | Gonzalez         | 1987/08/30   |

   55343 | Naucalpan_de_Zaragoza | 2147483647 |

+-------+-----------+------------------+------------------+--------------+------

---------+-----------------------+------------+

5 rows in set (0.00 sec)

8- Seleccionar el nombre y te da el numero de letras que tiene el nombre.

mysql> select LENGTH(NOMBRE) from Profesores;

+----------------+

| LENGTH(NOMBRE) |

+----------------+

|              8 |

|              5 |

|              5 |

|              7 |

|              5 |

|              5 |

|              6 |

|              6 |

|              7 |

|              9 |

+----------------+

10 rows in set (0.00 sec)

9- Realizar una consulta donde el nombre te lo ponga en minusculas.

mysql> select LOWER(Direccion) from Profesores;

+-----------------------+

| LOWER(Direccion)      |

+-----------------------+

| atizapan_de_zaragoza  |

| tultitlan             |

| df                    |

| nicolas_romero        |

| tlalnepantla          |

| tlalnepantla          |

| tlalnepantla          |

| tlalnepantla          |

| atizapan_de_zaragoza  |

| naucalpan_de_zaragoza |

+-----------------------+

10 rows in set (0.00 sec)

10- Poner en Matyusculas el Apellido Materno de la tabla Profesores;

mysql> select UPPER(Apellido_materno) from Profesores;

+-------------------------+

| UPPER(Apellido_materno) |

+-------------------------+

| SANCHEZ                 |

| JACOBO                  |

| ALVAREZ                 |

| ROMERO                  |

| HERNANDEZ               |

| HERNANDEZ               |

| GUZMAN                  |

| BLANCAS                 |

| MORENO                  |

| GONZALEZ                |

+-------------------------+

10 rows in set (0.00 sec)


 Prácticas 

 


Práctica #2



Diseño Físico de la Base de Datos mediante sentencias SQL.



Enter password: ***

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 6.0.4-alpha-community-log MySQL Community Server (GPL)



Type 'help;' or '\h' for help. Type '\c' to clear the buffer.



mysql> create database Bibliotecas;

Query OK, 1 row affected (0.08 sec)



mysql> use Bibliotecas;

Database changed

mysql> create table autor(codigo integer,nombre varchar(20),primary key(codigo))

;

Query OK, 0 rows affected (0.05 sec)



mysql> select *from autor;

Empty set (0.00 sec)



mysql> create table libro(codigo integer,titulo varchar(20),ISBN integer,editori

al varchar(20),paginas integer,primary key(codigo));

Query OK, 0 rows affected (0.03 sec)



mysql> select *from libro;

Empty set (0.00 sec)



mysql> create table ejemplar(codigo integer,localizacion varchar(20),primary key

(codigo));

Query OK, 0 rows affected (0.01 sec)



mysql> select *from ejemplar;

Empty set (0.00 sec)



mysql> create table usuario(codigo integer,nombre varchar(20),telefono integer,d

ireccion varchar(30),primary key(codigo));

Query OK, 0 rows affected (0.03 sec)



mysql> select *from usuario;

Empty set (0.00 sec)



mysql> create table escribe(codigo_autor integer,codigo_libro integer,primary ke

y(codigo_autor));

Query OK, 0 rows affected (0.02 sec)



mysql> select *from escribe;

Empty set (0.01 sec)



mysql> create table saca(codigo_usuario integer,codigo_ejemplar integer,fecha_de

_devolucion integer,fecha_prestamo integer,primary key(codigo_usuario));

Query OK, 0 rows affected (0.06 sec)



mysql> select *from saca;

Empty set (0.01 sec)



mysql> create table temporal(codigo integer,prueba varchar(10),primary key(codig

o));

Query OK, 0 rows affected (0.02 sec)



mysql> select *from temporal;

Empty set (0.00 sec)



mysql> create table borrar(codigo integer,prueba varchar(10),primary key(codigo)

);

Query OK, 0 rows affected (0.02 sec)



mysql> select *from borrar;

Empty set (0.00 sec)



mysql> drop table borrar;

Query OK, 0 rows affected (0.03 sec)



mysql> show tables;

+-----------------------+

| Tables_in_bibliotecas |

+-----------------------+

| autor                 |

| ejemplar              |

| escribe               |

| libro                 |

| saca                  |

| temporal              |

| usuario               |

+-----------------------+

7 rows in set (0.05 sec)



mysql>







Práctica #3



Eliminación y Modificación de la estructura de la base de datos mediante sentencias SQL.



Enter password: ***

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 6.0.4-alpha-community-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use Bibliotecas;

Database changed

mysql> drop table borrar;

Query OK, 0 rows affected (0.03 sec)

mysql> show tables;

+-----------------------+

| Tables_in_bibliotecas |

+-----------------------+

| autor                 |

| ejemplar              |

| escribe               |

| libro                 |

| saca                  |

| temporal              |

| usuario               |

+-----------------------+

7 rows in set (0.05 sec)

mysql>

mysql> alter table libro add Fecha_de_edicion integer;

Query OK, 1 row affected (0.20 sec)

Records: 1  Duplicates: 0  Warnings: 0

mysql> insert into libro values('001','El_Esclavo','654','Mexbook','200','2013');

Query OK, 1 row affected (0.00 sec)

mysql> select *from libro;

+--------+------------+------+-----------+---------+------------------+

| codigo | titulo     | isbn | editorial | paginas | Fecha_de_edicion |

+--------+------------+------+-----------+---------+------------------+

|      1 | El_Esclavo |  654 | Mexbook   |     200 |             NULL |

|      1 | El_Esclavo |  654 | Mexbook   |     200 |             2013 |

+--------+------------+------+-----------+---------+------------------+

2 rows in set (0.00 sec)



mysql> drop table usuario;

Query OK, 0 rows affected (0.01 sec)

mysql> create table usuario(codigo integer,nombre varchar(20),telefono integer,calle varchar(30),numero integer,colonia varchar(20),codigo_postal integer);

Query OK, 0 rows affected (0.01 sec)



mysql> insert into usuario values('34','Fernando_Gomez','5546648988','Popocatepe

tl','37','San_Miguel_Xochimanga','54678');

Query OK, 1 row affected, 2 warnings (0.00 sec)



mysql> select *from usuario;

+--------+----------------+------------+--------------+--------+----------------

------+---------------+

| codigo | nombre         | telefono   | calle        | numero | colonia | codigo_postal |

+--------+----------------+------------+--------------+--------+----------------

------+---------------+

|     34 | FerDonando_Gomez | 2147483647 | Popocatepetl |     37 | San_Miguel_Xochimanga |         54678 |


 Practicas (Disparadores)



Practica # 1 Tema Disparadores.

Enter password: ***
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.51b-community-nt-log MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database dbclientes;
Query OK, 1 row affected (0.08 sec)

mysql> use dbclientes;
Database changed

mysql> create table tbclientes(codigo_cli int primary key,nombre_cli varchar(250),trabajo_cli varchar(250));
Query OK, 0 rows affected (0.09 sec)

mysql> describe tbclientes;
+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| codigo_cli  | int(11)      | NO   | PRI | NULL    |       |
| nombre_cli  | varchar(250) | YES  |     | NULL    |       |
| trabajo_cli | varchar(250) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.06 sec)

mysql> insert into tbclientes(codigo_cli,nombre_cli,trabajo_cli) values(1,'Edith
_Martinez_Hernandez','Informatica'),(2,'Juan_Carmona_Hernandez','Control_de_la_contaminacion'),(3,'Fernanda_Lopez_Perez','Productividad');
Query OK, 3 rows affected (0.05 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select *from tbclientes;
+------------+--------------------------+-----------------------------+
| codigo_cli | nombre_cli               | trabajo_cli                 |
+------------+--------------------------+-----------------------------+
|          1 | Edith_Martinez_Hernandez | Informatica                 |
|          2 | Juan_Carmona_Hernandez   | Control_de_la_contaminacion |
|          3 | Fernanda_Lopez_Perez     | Productividad               |
+------------+--------------------------+-----------------------------+
3 rows in set (0.00 sec)

mysql> create table copiaclientes(codigo_cop int primary key,nombre_cop varchar(50),trabajo_cop varchar(50),usuario varchar(50),modificado_cop datetime);
Query OK, 0 rows affected (0.07 sec)

mysql> describe tbclientes;
+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| codigo_cli  | int(11)      | NO   | PRI | NULL    |       |
| nombre_cli  | varchar(250) | YES  |     | NULL    |       |
| trabajo_cli | varchar(250) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

mysql> delimiter //

mysql> create trigger nuevocliente after insert on tbclientes for each row begin insert into tbcopiaclientes(codigo_cop,nombre_cop,trabajo_cop,usuario_cop,modificado_cop) values(new.codigo_cli,new.nombre_cli,new.trabajo_cli,CURRENT_USER(),now());
    -> end;
    -> //
Query OK, 0 rows affected (0.07 sec)

mysql> show triggers;

mysql> insert into tbclientes() values(4,'Carlos_Manuel_Zavala','Informatica')//
Query OK, 1 row affected (0.09 sec)

mysql> select *from tbclientes//
+------------+--------------------------+-----------------------------+
| codigo_cli | nombre_cli               | trabajo_cli                 |
+------------+--------------------------+-----------------------------+
|          1 | Edith_Martinez_Hernandez | Informatica                 |
|          2 | Juan_Carmona_Hernandez   | Control_de_la_Contaminacion |
|          3 | Fernanda_Lopez_Perez     | Productividad               |
|          4 | Carlos_Manuel_Zavala     | Informatica                 |
+------------+--------------------------+-----------------------------+
4 rows in set (0.00 sec)

mysql> select *from tbcopiaclientes//
+------------+----------------------+-------------+----------------+---------------------+
| codigo_cop | nombre_cop           | trabajo_cop | usuario_cop    | modificado_
cop      |
+------------+----------------------+-------------+----------------+---------------------+
|          4 | Carlos_Manuel_Zavala | Informatica | root@localhost | 2014-05-16 11:50:22 |
+------------+----------------------+-------------+----------------+---------------------+
1 row in set (0.00 sec)



Practica #2 Disparadores.
Enter password: ***
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 6.0.4-alpha-community-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database pruebas_dispara;
Query OK, 1 row affected (0.00 sec)

mysql> use pruebas_dispara;
Database changed

mysql> create table clientes(id_cliente int not null auto_increment,nombre varchar(100),seccion varchar(20),Accion varchar(10) default 'Insertado',primary key(id_cliente),key(nombre));
Query OK, 0 rows affected (0.03 sec)

mysql> describe clientes;
+------------+--------------+------+-----+-----------+----------------+
| Field      | Type         | Null | Key | Default   | Extra          |
+------------+--------------+------+-----+-----------+----------------+
| id_cliente | int(11)      | NO   | PRI | NULL      | auto_increment |
| nombre     | varchar(100) | YES  | MUL | NULL      |                |
| seccion    | varchar(20)  | YES  |     | NULL      |                |
| Accion     | varchar(10)  | YES  |     | Insertado |                |
+------------+--------------+------+-----+-----------+----------------+
4 rows in set (0.01 sec)

mysql> insert into clientes(nombre,seccion) values('Miguel','Informatica'),('Ros
a','comida'),('Maria','ropa'),('Albert','Informatica'),('Jordi','comida');
Query OK, 5 rows affected (0.04 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> select *from clientes;
+------------+--------+-------------+-----------+
| id_cliente | nombre | seccion     | Accion    |
+------------+--------+-------------+-----------+
|          1 | Miguel | Informatica | Insertado |
|          2 | Rosa   | comida      | Insertado |
|          3 | Maria  | ropa        | Insertado |
|          4 | Albert | Informatica | Insertado |
|          5 | Jordi  | comida      | Insertado |
+------------+--------+-------------+-----------+
5 rows in set (0.00 sec)

mysql> create table auditoria_clientes(id int not null auto_increment,nombre_anterior varchar(100),seccion_anterior varchar(20),nombre_nuevo varchar(100),seccion_nueva varchar(20),usuario varchar(40),modificado datetime,proceso varchar(10),Id_cliente int(4),primary key(id));
Query OK, 0 rows affected (0.01 sec)

mysql> describe auditoria_clientes;
+------------------+--------------+------+-----+---------+----------------+
| Field            | Type         | Null | Key | Default | Extra          |
+------------------+--------------+------+-----+---------+----------------+
| id               | int(11)      | NO   | PRI | NULL    | auto_increment |
| nombre_anterior  | varchar(100) | YES  |     | NULL    |                |
| seccion_anterior | varchar(20)  | YES  |     | NULL    |                |
| nombre_nuevo     | varchar(100) | YES  |     | NULL    |                |
| seccion_nueva    | varchar(20)  | YES  |     | NULL    |                |
| usuario          | varchar(40)  | YES  |     | NULL    |                |
| modificado       | datetime     | YES  |     | NULL    |                |
| proceso          | varchar(10)  | YES  |     | NULL    |                |
| Id_cliente       | int(4)       | YES  |     | NULL    |                |
+------------------+--------------+------+-----+---------+----------------+
9 rows in set (0.01 sec)

mysql> delimiter //

mysql> create trigger Inserta_auditoria_clientes after insert on clientes for each row begin insert intoauditoria_clientes(nombre_nuevo,seccion_nueva,usuario,modificado,proceso,Id_cliente)values (new.nombre,new.seccion,CURRENT<_USER(),NOW(),NEW.Accion,new.id_cliente);
    -> end;
    -> //
Query OK, 0 rows affected (0.17 sec)

mysql> create trigger Modifica_auditoria_clientes BEFORE UPDATE ON clientes for each row begin insert into auditoria_clientes(nombre_anterior,seccion_anterior,n
ombre_nuevo,seccion_nueva,usuario,modificado,Id_cliente)values(OLD.nombre,OLD.seccion,new.nombre,new.seccion,CURRENT_USER(),NOW(),new.id_cliente);
    -> end;
    -> //
Query OK, 0 rows affected (0.04 sec)

mysql> create trigger Elimina_auditoria_clientes after delete on clientes for ea
ch row begin insert into auditoria_clientes(nombre_anterior,seccion_anterior,usu
ario,modificado,Id_Cliente)values (OLD.nombre,OLD.seccion,CURRENT_USER(),NOW(),O
LD.id_cliente);
    -> end;
    -> //
Query OK, 0 rows affected (0.02 sec)

mysql> DELIMITER ;
mysql> SHOW TRIGGERS;
+-----------------------------+--------+----------+-----------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----------------------------------+--------+---------+-------------------------
-------------------+----------------+----------------------+--------------------
--+--------------------+
| Trigger                     | Event  | Table    | Statement


                                   | Timing | Created | sql_mode
                   | Definer        | character_set_client | collation_connection | Database Collation |
+-----------------------------+--------+----------+-----------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----------------------------------+--------+---------+-------------------------
-------------------+----------------+----------------------+--------------------
--+--------------------+
| Inserta_auditoria_clientes  | INSERT | clientes | begin insert into auditoria_clientes(nombre_nuevo,seccion_nueva,usuario,modificado,proceso,Id_cliente)values
 (new.nombre,new.seccion,CURRENT<_USER(),NOW(),NEW.Accion,new.id_cliente);
end                                     | AFTER  | NULL    | NO_AUTO_CREATE_USER
,NO_ENGINE_SUBSTITUTION | root@localhost | utf8                 | utf8_general_ci      | utf8_general_ci    |
| Modifica_auditoria_clientes | UPDATE | clientes | begin insert into auditoria_clientes(nombre_anterior,seccion_anterior,nombre_nuevo,seccion_nueva,usuario,mod
ificado,Id_cliente)values(OLD.nombre,OLD.seccion,new.nombre,new.seccion,CURRENT_USER(),NOW(),new.id_cliente);
end | BEFORE | NULL    | NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | root@local
host | utf8                 | utf8_general_ci      | utf8_general_ci    || Elimina_auditoria_clientes  | DELETE | clientes | begin insert into auditoria_clientes(nombre_anterior,seccion_anterior,usuario,modificado,Id_Cliente)values (OLD.nombre,OLD.seccion,CURRENT_USER(),NOW(),OLD.id_cliente);
end                                                   | AFTER  | NULL    | NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | root@localhost | utf8                 |
utf8_general_ci      | utf8_general_ci    |
+-----------------------------+--------+----------+-----------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----------------------------------+--------+---------+-------------------------
-------------------+----------------+----------------------+--------------------
--+--------------------+
3 rows in set (0.01 sec)
mysql> insert into clientes(nombre,seccion) values('Edith_Martinez','Informatica');
Query OK, 1 row affected (0.01 sec)



mysql> select *from clientes;
+------------+----------------+-------------+-----------+
| id_cliente | nombre         | seccion     | Accion    |
+------------+----------------+-------------+-----------+
|          1 | Miguel         | Informatica | Insertado |
|          2 | Rosa           | comida      | Insertado |
|          3 | Maria          | ropa        | Insertado |
|          4 | Albert         | Informatica | Insertado |
|          5 | Jordi          | comida      | Insertado |
|          6 | Edith_Martinez | Informatica | Insertado |
|          7 | Edith_Martinez | Informatica | Insertado |
|          8 | Edith_Martinez | Informatica | Insertado |
|          9 | Edith_Martinez | Informatica | Insertado |
|         10 | Edith_Martinez | Informatica | Insertado |
+------------+----------------+-------------+-----------+
10 rows in set (0.00 sec)

mysql> select *from auditoria_clientes;
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
| id | nombre_anterior | seccion_anterior | nombre_nuevo   | seccion_nueva | usuario        | modificado          | proceso   | Id_cliente |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
|  1 | NULL            | NULL             | Edith_Martinez | Informatica   | root@localhost | 2014-05-16 10:21:00 | Insertado |         10 |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
1 row in set (0.03 sec)

mysql> update clientes set nombre='JORDI_APOLINAR',SECCION='PRODUCTIVIDAD' WHERE ID_CLIENTE=5;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select *from clientes;
+------------+----------------+---------------+-----------+
| id_cliente | nombre         | seccion       | Accion    |
+------------+----------------+---------------+-----------+
|          1 | Miguel         | Informatica   | Insertado |
|          2 | Rosa           | comida        | Insertado |
|          3 | Maria          | ropa          | Insertado |
|          4 | Albert         | Informatica   | Insertado |
|          5 | JORDI_APOLINAR | PRODUCTIVIDAD | Insertado |
|          6 | Edith_Martinez | Informatica   | Insertado |
|          7 | Edith_Martinez | Informatica   | Insertado |
|          8 | Edith_Martinez | Informatica   | Insertado |
|          9 | Edith_Martinez | Informatica   | Insertado |
|         10 | Edith_Martinez | Informatica   | Insertado |
+------------+----------------+---------------+-----------+
10 rows in set (0.00 sec)

mysql> select *from auditoria_clientes;
+----+-----------------+------------------+----------------+---------------+----
------------+---------------------+-----------+------------+
| id | nombre_anterior | seccion_anterior | nombre_nuevo   | seccion_nueva | usuario        | modificado          | proceso   | Id_cliente |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
|  1 | NULL            | NULL             | Edith_Martinez | Informatica   | root@localhost | 2014-05-16 10:21:00 | Insertado |         10 |
|  2 | Jordi           | comida           | JORDI_APOLINAR | PRODUCTIVIDAD | root@localhost | 2014-05-16 10:24:11 | NULL      |          5 |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
2 rows in set (0.00 sec)

mysql> delete from clientes where nombre='Edith_Martinez';
Query OK, 5 rows affected (0.00 sec)

mysql> select *from clientes;
+------------+----------------+---------------+-----------+
| id_cliente | nombre         | seccion       | Accion    |
+------------+----------------+---------------+-----------+
|          1 | Miguel         | Informatica   | Insertado |
|          2 | Rosa           | comida        | Insertado |
|          3 | Maria          | ropa          | Insertado |
|          4 | Albert         | Informatica   | Insertado |
|          5 | JORDI_APOLINAR | PRODUCTIVIDAD | Insertado |
+------------+----------------+---------------+-----------+
5 rows in set (0.00 sec)

mysql> select *from auditoria_clientes;
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
| id | nombre_anterior | seccion_anterior | nombre_nuevo   | seccion_nueva | usuario        |modificado          | proceso   | Id_cliente |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+----------+------------+
|  1 | NULL            | NULL             | Edith_Martinez | Informatica   | root@localhost | 2014-05-16 10:21:00 | Insertado |         10 ||  2 | Jordi           | comida           | JORDI_APOLINAR | PRODUCTIVIDAD | root@localhost | 201405-16 10:24:11 | NULL      |          5 |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+--------+------------+
Practica #11 Consultas de selección de registros.

1- Verifica que el equipo de cómputo se encuentra conectado.
2- Enciende equipo de cómputo.
3- Abre sesión de ambiente grafico (mysql).
4- Ingresa al Sistema Gestor de Bases de Datos.
5- Selecciona la base de datos Biblioteca.
6- Realiza una consulta de selección en el que muestre todos los registros de la tabla Libros.
mysql> select *from Libros;
+--------+------------+------------------+------------------+
| codigo | titulo     | autor            | fecha_de_edicion |
+--------+------------+------------------+------------------+
|      1 | Hobbit     | Rafael_Mendez    | 2013             |
|      2 | Sombras    | Leticia_Serrano  | 2011             |
|      3 | Se         | Wiliams_Jackson  | 2012             |
|      4 | Hegs       | Edgar_Alarcon    | 2009             |
|      5 | El_esclavo | Salvador_Gaviota | 2013             |
+--------+------------+------------------+------------------+
5 rows in set (0.00 sec)
7. Realiza una consulta donde muestre los autores de cada libro.
mysql> select autor from Libros;
+------------------+
| autor            |
+------------------+
| Rafael_Mendez    |
| Leticia_Serrano  |
| Wiliams_Jackson  |
| Edgar_Alarcon    |
| Salvador_Gaviota |
+------------------+
5 rows in set (0.00 sec)
8. Realiza una consulta en la que muestre el título del libro, las páginas y año de edición de cada libro.
mysql> select titulo,paginas fecha_de_edicion from Libros;
+------------+------------------+
| titulo     | fecha_de_edicion |paginas|
+------------+------------------+
| Hobbit     | 2013             |200|
| Sombras    | 2011             |400|
| Se         | 2012             |566|
| Hegs       | 2009             |450|
| El_esclavo | 2013             |130|
+------------+------------------+
5 rows in set (0.00 sec)
9. Realiza una consulta en la que muestre el titulo del libro, y año de edición de un libro en particular.
mysql> select titulo,fecha_de_edicion from Libros where titulo='Hobbit' or fecha_de_edicion='2009';
+--------+------------------+
| titulo | fecha_de_edicion |
+--------+------------------+
| Hobbit | 2013             |
+--------+------------------+
10- Terminamos Práctica.

SOLUCION PRACTICA: 11 MANEJO DE DISPARADORES CON CRITERIOS DE SELECCION.

Enter password: ***
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 6.0.4-alpha-community-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database biblioteca;
Query OK, 1 row affected (0.01 sec)

mysql> use biblioteca;
Database changed

mysql> create table autor(codigo int not null auto_increment primary key,nombre varchar(30));
Query OK, 0 rows affected (0.01 sec)

mysql> describe autor;
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| codigo | int(11)     | NO   | PRI | NULL    | auto_increment |
| nombre | varchar(30) | YES  |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
2 rows in set (0.02 sec)

mysql> create table libros(codiogo int not null auto_increment primary key,titulo varchar(30),ISBN varchar(30),editorial varchar(30),num_paginas int);
Query OK, 0 rows affected (0.02 sec)

mysql> describe libros;
+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| codiogo     | int(11)     | NO   | PRI | NULL    | auto_increment |
| titulo      | varchar(30) | YES  |     | NULL    |                |
| ISBN        | varchar(30) | YES  |     | NULL    |                |
| editorial   | varchar(30) | YES  |     | NULL    |                |
| num_paginas | int(11)     | YES  |     | NULL    |                |
+-------------+-------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)

mysql> create table usuarios(codigo_usuario int not null auto_increment primary key,nombre varchar(30),direccion varchar(50),telefono varchar(30),codigo_ejemplar int);
Query OK, 0 rows affected (0.01 sec)

mysql> describe usuarios;
+-----------------+-------------+------+-----+---------+----------------+
| Field           | Type        | Null | Key | Default | Extra          |
+-----------------+-------------+------+-----+---------+----------------+
| codigo_usuario  | int(11)     | NO   | PRI | NULL    | auto_increment |
| nombre          | varchar(30) | YES  |     | NULL    |                |
| direccion       | varchar(50) | YES  |     | NULL    |                |
| telefono        | varchar(30) | YES  |     | NULL    |                |
| codigo_ejemplar | int(11)     | YES  |     | NULL    |                |
+-----------------+-------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)

mysql> create table ejemplares(codigo_ejemplar int not null auto_increment primary key,localizacion varchar(30));
Query OK, 0 rows affected (0.01 sec)

mysql> describe ejemplares;
+-----------------+-------------+------+-----+---------+----------------+
| Field           | Type        | Null | Key | Default | Extra          |
+-----------------+-------------+------+-----+---------+----------------+
| codigo_ejemplar | int(11)     | NO   | PRI | NULL    | auto_increment |
| localizacion    | varchar(30) | YES  |     | NULL    |                |
+-----------------+-------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)

mysql> insert into usuarios(nombre,direccion,telefono,codigo_ejemplar) values('miguel','ave_signos_23','53221234',3),('pedro','calle_tulipanes','54321234',4),('amanda','ave.constelacion','56432345',5);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0






mysql> select *from usuarios;
+----------------+--------+------------------+----------+-----------------+
| codigo_usuario | nombre | direccion        | telefono | codigo_ejemplar |
+----------------+--------+------------------+----------+-----------------+
|              1 | miguel | ave_signos_23    | 53221234 |               3 |
|              2 | pedro  | calle_tulipanes  | 54321234 |               4 |
|              3 | amanda | ave.constelacion | 56432345 |               5 |
+----------------+--------+------------------+----------+-----------------+
3 rows in set (0.00 sec)

mysql> create table copia_usuario(codigo int not null auto_increment primary key ,nombre_ant varchar(30),direccion_anterior varchar(50),telefono_anterior varchar
(50),codigo_ejemplar_anterior int,nombre_nuevo varchar(30),direccion_nueva varch
ar(50),telefono_nuevo varchar(30),codigo_ejemplar_nuevo int,usuario varchar(40),
modificado datetime,codigo_usuario int (4));
Query OK, 0 rows affected (0.01 sec)

mysql> describe copia_usuario;
+--------------------------+-------------+------+-----+---------+---------------
-+
| Field                    | Type        | Null | Key | Default | Extra
 |
+--------------------------+-------------+------+-----+---------+---------------
-+
| codigo                   | int(11)     | NO   | PRI | NULL    | auto_increment
 |
| nombre_ant               | varchar(30) | YES  |     | NULL    |
 |
| direccion_anterior       | varchar(50) | YES  |     | NULL    |
 |
| telefono_anterior        | varchar(50) | YES  |     | NULL    |
 |
| codigo_ejemplar_anterior | int(11)     | YES  |     | NULL    |
 |
| nombre_nuevo             | varchar(30) | YES  |     | NULL    |
 |
| direccion_nueva          | varchar(50) | YES  |     | NULL    |
 |
| telefono_nuevo           | varchar(30) | YES  |     | NULL    |
 |
| codigo_ejemplar_nuevo    | int(11)     | YES  |     | NULL    |
 |
| usuario                  | varchar(40) | YES  |     | NULL    |
 |
| modificado               | datetime    | YES  |     | NULL    |
 |
| codigo_usuario           | int(4)      | YES  |     | NULL    |
 |
+--------------------------+-------------+------+-----+---------+---------------
-+
12 rows in set (0.02 sec)

mysql> delimiter //
mysql> create TRIGGER Elimina_usuarios_ejemplares AFTER DELETE ON usuarios FOR EACH ROW BEGIN insert into copia_usuario(nombre_ant,direccion_anterior,telefono_a
nterior,codigo_ejemplar_anterior,usuario,modificado,codigo_usuario)VALUES (OLD.nombre,OLD.direccion,OLD.telefono,OLD.codigo_ejemplar,CURRENT_USER(),NOW(),OLD.Codigo_usuario);
    -> END;
    -> //
Query OK, 0 rows affected (0.02 sec)

mysql> delimiter ;
mysql> select *from usuarios;
+----------------+--------+------------------+----------+-----------------+
| codigo_usuario | nombre | direccion        | telefono | codigo_ejemplar |
+----------------+--------+------------------+----------+-----------------+
|              1 | miguel | ave_signos_23    | 53221234 |               3 |
|              2 | pedro  | calle_tulipanes  | 54321234 |               4 |
|              3 | amanda | ave.constelacion | 56432345 |               5 |
+----------------+--------+------------------+----------+-----------------+
3 rows in set (0.01 sec)

mysql> delete from usuarios where codigo_ejemplar=4;
Query OK, 1 row affected (0.11 sec)

mysql> select *from usuarios;
+----------------+--------+------------------+----------+-----------------+
| codigo_usuario | nombre | direccion        | telefono | codigo_ejemplar |
+----------------+--------+------------------+----------+-----------------+
|              1 | miguel | ave_signos_23    | 53221234 |               3 |
|              3 | amanda | ave.constelacion | 56432345 |               5 |
+----------------+--------+------------------+----------+-----------------+
2 rows in set (0.00 sec)

mysql> select *from copia_usuario;
+--------+------------+--------------------+-------------------+----------------
----------+--------------+-----------------+----------------+-------------------
----+----------------+---------------------+----------------+
| codigo | nombre_ant | direccion_anterior | telefono_anterior | codigo_ejemplar_anterior | nombre_nuevo | direccion_nueva | telefono_nuevo | codigo_ejemplar_nuevo | usuario        | modificado          | codigo_usuario |
+--------+------------+--------------------+-------------------+----------------
----------+--------------+-----------------+----------------+-----------------------+----------------+---------------------+----------------+
|      1 | pedro      | calle_tulipanes    | 54321234          |
        4 | NULL         | NULL            | NULL           |                  NULL | root@localhost | 2014-05-17 03:58:58 |              2 |
+--------+------------+--------------------+-------------------+----------------
----------+--------------+-----------------+----------------+-------------------
----+----------------+---------------------+----------------+
1 row in set (0.02 sec)



Resultado de aprendizaje 2.2
Diseña formularios y reportes empleando los recursos que ofrece el SGBD
 
Temario 
A) Elaboración de aplicaciones con vistas
       .Definición de vistas
       .Creación de vistas
       .Eliminación de vistas
       .Uso de vistas
B)  Elaboración de formularios y Reportes
   -Creación de formularios y reportes
       .Selecciona datos
       .Formato para los datos
   -Eliminación de formularios y reportes
   -Uso de formularios y reportes 

Indicadores                                    valor %
Vista de base de datos ----------25%
Diseño de formularios-----------40%
Diseño de reportes--------------20%
Presentacion de resultados------10%
actitudes (auto evaluacion)------05%