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).
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:
Ninguna Columna puede depender de una columna que no tenga una clave
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%
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%


No hay comentarios.:
Publicar un comentario