UNIVERSIDAD TECNOLÓGICA DE
TECAMACHALCO
TECNOLOGÍAS DE LA INFORMACIÓN Y
COMUNICACIÓN
BASE DE DATOS
INTEGRANTES DE EQUIPO:
Gustavo Ramírez de los santos
Cesar flores Monterrosas
Liliana Martínez Cienfuegos
2”b”
En este trabajo presentamos todos los conocimientos
adquiridos a lo largo del cuatrimestre poniendo en
práctica todo la aprendido.
Trabajaremos en mysql una base de datos que en
donde se llevara a cabo crea una base de datos, crear
cierto número de tablas y llenar registros hacer
consultas y agregar llaves foráneas como utilizar otras
clausula y comando.
1 parte Crear la base de datos
# # Target: MySQL # Syntax: mysql -u user password < filename.sql # # Date : Feb 24 2011 19:25 # Script Generated by Database Design Studio 2.21.1 # # # Select Database: 'db_name' # USE db_name; # # Create Table : 'ganaderia' # codigo_de_ganaderia : # nombre : # localidad : # antiguedad : # CREATE TABLE ganaderia ( codigo_de_ganaderia TEXT(5) NOT NULL, nombre TEXT(20) NOT NULL, localidad TEXT(20) NOT NULL, antiguedad TEXT(20) NOT NULL, PRIMARY KEY (codigo_de_ganaderia)) TYPE=INNODB; # # Create Table : 'plaza' # nombreunico : # localidad : # direccion : # aforo : # CREATE TABLE plaza ( nombreunico TEXT(20) NOT NULL, localidad TEXT(20) NOT NULL, direccion DATE NOT NULL, aforo TEXT(20) NOT NULL,
PRIMARY KEY (nombreunico)) TYPE=INNODB; # # Create Table : 'apoderado' # DNI_apoderado : # Nombre : # direccion : # telefono : # CREATE TABLE apoderado ( DNI_apoderado TEXT(5) NOT NULL, Nombre TEXT(30) NOT NULL, direccion TEXT(20) NOT NULL, telefono TEXT(10) NOT NULL, PRIMARY KEY (DNI_apoderado)) TYPE=INNODB; # # Create Table : 'corrida' # clavedecorrida : # orden : # feria : # ano : # nombreunico : (references plazadetoros.nombreunico) # CREATE TABLE corrida ( clavedecorrida TEXT(5) NOT NULL, orden TEXT(20) NOT NULL, feria TEXT(20) NOT NULL, ano TEXT(10) NOT NULL, nombreunico TEXT(20) NOT NULL, PRIMARY KEY (clavedecorrida), INDEX idx_fk_corrida (nombreunico), CONSTRAINT fk_corrida FOREIGN KEY (nombreunico) REFERENCES plazadetoros (nombreunico) ON DELETE CASCADE ON UPDATE CASCADE) TYPE=INNODB; # # Create Table : 'toreros' # DNI_torero : # Nombre : # apodo : # fecha_alternativa : # DNI_apoderado : (references apoderado.DNI_apoderado)
# rDNI_torero : (references toreros.DNI_torero) # CREATE TABLE toreros ( DNI_torero TEXT(5) NOT NULL, Nombre TEXT(20) NOT NULL, apodo TEXT(8) NOT NULL, fecha_alternativa DATE NOT NULL, DNI_apoderado TEXT(5) NOT NULL, rDNI_torero TEXT(5) NULL, PRIMARY KEY (DNI_torero), INDEX idx_fk_toreros (DNI_apoderado), CONSTRAINT fk_toreros FOREIGN KEY (DNI_apoderado) REFERENCES apoderado (DNI_apoderado) ON DELETE CASCADE ON UPDATE CASCADE, INDEX idx_fk_toreros2 (rDNI_torero), CONSTRAINT fk_toreros2 FOREIGN KEY (rDNI_torero) REFERENCES toreros (DNI_torero) ON DELETE SET NULL ON UPDATE CASCADE) TYPE=INNODB; # # Create Table : 'premio' # premio_gandor : # orejas : # rabos : # puerta_grande : # DNI_torero : (references toreros.DNI_torero) # CREATE TABLE premio ( premio_gandor TEXT(10) NOT NULL, orejas TEXT(10) NOT NULL, rabos TEXT(10) NOT NULL, puerta_grande TEXT(10) NOT NULL, DNI_torero TEXT(5) NULL, PRIMARY KEY (premio_gandor), INDEX idx_fk_premio (DNI_torero), CONSTRAINT fk_premio FOREIGN KEY (DNI_torero) REFERENCES toreros (DNI_torero) ON DELETE SET NULL ON UPDATE CASCADE) TYPE=INNODB; # # Create Table : ' acturar '
# clavedecorrida : (references corrida.clavedecorrida) # DNI_torero : (references toreros.DNI_torero) # CREATE TABLE acturar ( clavedecorrida TEXT(5) NOT NULL, DNI_torero TEXT(5) NOT NULL, PRIMARY KEY (clavedecorrida,DNI_torero), INDEX idx_fk_ acturar (clavedecorrida), CONSTRAINT fk_ acturar FOREIGN KEY (clavedecorrida) REFERENCES corrida (clavedecorrida) ON DELETE CASCADE ON UPDATE CASCADE, INDEX idx_fk_actuan2 (DNI_torero), CONSTRAINT fk_actuan2 FOREIGN KEY (DNI_torero) REFERENCES toreros (DNI_torero) ON DELETE NO ACTION ON UPDATE CASCADE) TYPE=INNODB; # # Create Table : 'toro' # clavetoro : # codigodeganaderia : # anodenaciemto : # Ndeorden : # nombre : # color : # Ordendetoreado : # codigo_de_ganaderia : (references ganaderia.codigo_de_ganaderia) # clavedecorrida : (references corrida.clavedecorrida) # CREATE TABLE toro ( clavetoro TEXT(5) NOT NULL, codigodeganaderia TEXT(5) NOT NULL, anodenaciemto TEXT(5) NOT NULL, Ndeorden TEXT(10) NOT NULL, nombre TEXT(20) NOT NULL, color TEXT(10) NOT NULL, Ordendetoreado TEXT(10) NOT NULL, codigo_de_ganaderia TEXT(5) NULL, clavedecorrida TEXT(5) NULL, PRIMARY KEY (clavetoro), INDEX idx_fk_toro (codigo_de_ganaderia), CONSTRAINT fk_toro FOREIGN KEY (codigo_de_ganaderia) REFERENCES ganaderia (codigo_de_ganaderia)
ON DELETE SET NULL ON UPDATE CASCADE, INDEX idx_fk_toro2 (clavedecorrida), CONSTRAINT fk_toro2 FOREIGN KEY (clavedecorrida) REFERENCES corrida (clavedecorrida) ON DELETE SET NULL ON UPDATE CASCADE) TYPE=INNODB;
mysql> SHOW TABLES;
+--------------------+
| acturar |
| apoderado |
| corrida |
| ganaderia |
| plaza |
| premio |
| torero |
| toro |
+--------------------+
8 rows in set (0.00 sec)
mysql> INSERT INTO corrida(numero_de_orden,feria,anio_de_celebracion) VALUES
('001','TLAXCALA','2010');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO corrida(numero_de_orden,feria,anio_de_celebra) VALUES ('002','SAN
NICOLAS','2009');
Query OK, 1 row affected, 1 warning (0.01 sec)
mysql> INSERT INTO corrida(numero_de_orden,feria,anio_de_celebra) VALUES ('003','MAYO
','2010');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO corrida(numero_de_orden,feria,anio_de_celebra) VALUES
('004','MAYO','2011');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO corrida(numero_de_orden,feria,anio_de_celebra) VALUES ('005','MEXICO
VIVE','2010');
Query OK, 1 row affected, 1 warning (0.01 sec)
mysql> DESCRIBE TORO;
+------------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+----------+------+-----+---------+-------+
| NUMERO | int(11) | NO | PRI | 0 | |
| COLOR | char(10) | YES | | NULL | |
| aniodenacimiento | char(8) | NO | | NULL | |
| ORDEN | int(11) | YES | MUL | NULL | |
| NOMBRE | char(10) | YES | | NULL | |
+------------------+----------+------+-----+---------+-------+
5 rows in set (0.01 sec)
Llenar registró en la tabla de toros
mysql> INSERT INTO toro (NUMERO,COLOR,ANIODENACIMIENTO,ORDEN,NOMBRE) VALUES ('1'
,'NEGRO','1999' ,'005' ,'EL PAJARITO');
Query OK, 1 row affected, 1 warning (0.01 sec)
mysql> INSERT INTO toro (NUMERO,COLOR,ANIODENACIMIENTO,ORDEN,NOMBRE) VALUES ('2'
,'PINTO','1998' ,'005' ,'ATREVIDO');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO toro (NUMERO,COLOR,ANIODENACIMIENTO,ORDEN,NOMBRE) VALUES ('3'
,'NEGRO','1999' ,'005' ,'VALEDOR');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO toro (NUMERO,COLOR,ANIODENACIMIENTO,ORDEN,NOMBRE) VALUES ('4'
,'PINTO','1998' ,'005' ,'NAVEGANTE');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO toro (NUMERO,COLOR,ANIODENACIMIENTO,ORDEN,NOMBRE) VALUES ('5'
,'NEGRO','1999' ,'005' ,'ISLERO');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO toro (NUMERO,COLOR,ANIODENACIMIENTO,ORDEN,NOMBRE) VALUES ('6'
,'PINTO','1999' ,'005' ,'CABATISTO');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO toro (NUMERO,COLOR,ANIODENACIMIENTO,ORDEN,NOMBRE) VALUES ('7'
,'PINTO','1998' ,'005' ,' JABONERO');
Query OK, 1 row affected (0.01 sec)
mysql> DESCRIBE ACTURAR;
+---------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+----------+------+-----+---------+-------+
| dni | char(10) | NO | PRI | NULL | |
| numerodeorden | int(11) | NO | PRI | NULL | |
+---------------+----------+------+-----+---------+-------+
2 rows in set (0.02 sec)
Llenar registró en la tabla de premios
mysql> INSERT INTO ACTURAR (DNI,NUMERODEORDEN) VALUES ('1002',' 004');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO ACTURAR(DNI,NUMERODEORDEN) VALUES ('1002',' 004');
ERROR 1062 (23000): Duplicate entry '1002-4' for key 'PRIMARY'
mysql> INSERT INTO ACTURAR (DNI,NUMERODEORDEN) VALUES ('1003',' 001');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO ACTURAR (DNI,NUMERODEORDEN) VALUES ('1001',' 001');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO ACTURAR (DNI,NUMERODEORDEN) VALUES ('1001',' 005');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO ACTURAR (DNI,NUMERODEORDEN) VALUES ('1001',' 005');
ERROR 1062 (23000): Duplicate entry '1001-5' for key 'PRIMARY'
mysql> INSERT INTO ACTURAR (DNI,NUMERODEORDEN) VALUES ('1004',' 003');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO ACTURAR (DNI,NUMERODEORDEN) VALUES ('1004',' 002');
Query OK, 1 row affected (0.00 sec)
Llenar registró en la tabla de premios
mysql> INSERT INTO premio (NUMERO,OREJAS,RABO,PUERTAGRANDE,DNI) VALUES ('3178','
1','0','NO' ,'1001');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO premio (NUMERO,OREJAS,RABO,PUERTAGRANDE,DNI) VALUES ('3145','
4','2','SI' ,'1002');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO premio (NUMERO,OREJAS,RABO,PUERTAGRANDE,DNI) VALUES ('3122','
2','1','SI' ,'0,'1003');
Query OK, 1 row affected (0.00 sec)
'> INSERT INTO premio (NUMERO,OREJAS,RABO,PUERTAGRANDE,DNI) VALUES ('3122','
2','1','SI' ,'0','1003');
Query OK, 1 row affected (0.00 sec)
'> INSERT INTO premio (NUMERO,OREJAS,RABO,PUERTAGRANDE,DNI) VALUES ('3122','
2','1','SI' ,'1003');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO premio (NUMERO,OREJAS,RABO,PUERTAGRANDE,DNI) VALUES ('3122','
2','1','SI' ,'1003');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO premio (NUMERO,OREJAS,RABO,PUERTAGRANDE,DNI) VALUES ('3131','
1','0','NO' ,'1004');
Query OK, 1 row affected (0.00 sec)
1.- A continuación se describen los datos a insertar en la Base de
Datos Toreros, una vez ingresados los datos mostrar todos los
registros de cada una de las tablas.
mysql> SELECT * FROM ACTURAR;
+------+---------------+
| dni | numerodeorden |
+------+---------------+
| 1001 | 1 |
| 1001 | 5 |
| 1002 | 4 |
| 1003 | 1 |
| 1004 | 2 |
| 1004 | 3 |
+------+---------------+
6 rows in set (0.00 sec)
mysql> SELECT * FROM CORRIDA;
+---------------+------------+---------------+
| numerodeorden | feria | aniodecelebra |
+---------------+------------+---------------+
| 1 | TLAXCALA | 2010 |
| 2 | SAN NICOLA | 2009 |
| 3 | MAYO | 2010 |
| 4 | en MAYO | 2011 |
| 5 | VIVE MEXIC | 2010 |
+---------------+------------+---------------+
5 rows in set (0.01 sec)
mysql> SELECT * FROM GANADERIA;
+--------+--------------+-----------+----------------+
| CODIGO | NOMBRE | LOCALIDAD | FECHA_CREACIOM |
+--------+--------------+-----------+----------------+
| G1 | LA LAGUNA | TLAXCALA | 1907 |
| G2 | SAN MATEO | ZACATECA | 1906 |
| 03 | REYES HUERTA | TLAXCALA | 1904 |
+--------+--------------+-----------+----------------+
3 rows in set (0.00 sec)
mysql> SELECT * FROM PLAZA;
+-------+------------+------------+------------+
| aforo | nombre | localidad | direccion |
+-------+------------+------------+------------+
| 5000 | EL RELICAR | PUEBLA | RECINTO FE |
| 41000 | PLAZA DE T | DISTRITO F | MEXICO DF |
| 7000 | PLAZA MONU | APIZACO | TLAXCALA |
+-------+------------+------------+------------+
3 rows in set (0.01 sec)
mysql> SELECT * FROM TORERO;
+------+------------+---------------------------+------------+
| dni | nombre | fechaenquetomoalternativa | APODO |
+------+------------+---------------------------+------------+
| 1001 | jose | 20/12/1978 | EL JOSELIT |
| 1002 | JOS RUBIO | 12/01/1985 | EL SOTOLUC |
| 1003 | CARLOS AUR | 02/07/1990 | EL YEYITO |
| 1004 | ALFREDO | 01/03/1992 | EL CUÑADO |
+------+------------+---------------------------+------------+
4 rows in set (0.00 sec)
mysql> SELECT * FROM PREMIO;
+--------+--------+------+--------------+------+
| NUMERO | orejas | rabo | PUERTAGRANDE | dni |
+--------+--------+------+--------------+------+
| 3178 | 1 | 0 | NO | 1001 |
| 3145 | 4 | 2 | SI | 1002 |
| 3122 | 2 | 1 | SI | 1003 |
| 3131 | 1 | 0 | NO | 1004 |
+--------+--------+------+--------------+------+
4 rows in set (0.00 sec)
mysql> SELECT * FROM TORO;
+--------+-------+------------------+-------+------------+
| NUMERO | COLOR | aniodenacimiento | ORDEN | NOMBRE |
+--------+-------+------------------+-------+------------+
| 1 | NEGRO | 1999 | 5 | EL PAJARIT |
| 2 | PINTO | 1998 | 5 | ATREVIDO |
| 3 | NEGRO | 1999 | 5 | VALEDOR |
| 4 | PINTO | 1998 | 5 | NAVEGANTE |
| 5 | NEGRO | 1999 | 5 | ISLERO |
| 6 | PINTO | 1999 | 5 | CABATISTO |
| 7 | PINTO | 1998 | 5 | JABONERO |
+--------+-------+------------------+-------+------------+
7 rows in set (0.00 sec)
5.-Mostrar los datos de los Toreros ordenados de la A a la Z.
mysql> SELECT * FROM TORERO ORDER BY NOMBRE;
+------+------------+---------------------------+------------+------+
| dni | nombre | fechaenquetomoalternativa | APODO | DNT1 |
+------+------------+---------------------------+------------+------+
| 1004 | ALFREDO | 01/03/1992 | EL CUÑADO | NULL |
| 1003 | CARLOS AUR | 02/07/1990 | EL YEYITO | NULL |
| 1002 | DANIEL SAN | 12/01/1985 | ZOTOLUCO | NULL |
| 1001 | JOS RUBIO | 20/12/1978 | EL JOSELIT | NULL |
+------+------------+---------------------------+------------+------+
4 rows in set (0.01 sec)
mysql> DESCRIBE CORRIDA;
+---------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+----------+------+-----+---------+-------+
| numerodeorden | int(11) | NO | PRI | NULL | |
| feria | char(10) | NO | | NULL | |
| aniodecelebra | char(10) | NO | | NULL | |
+---------------+----------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql>
mysql> DESCRIBE CORRIDA;
+---------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+----------+------+-----+---------+-------+
| numerodeorden | int(11) | NO | PRI | NULL | |
| feria | char(10) | NO | | NULL | |
| ANIODECELEBRA | int(11) | YES | | NULL | |
+---------------+----------+------+-----+---------+-------+
3 rows in set (0.01 sec)
6.- Mostrar las corridas ordenadas por Año. (Ordenadas
descendentemente).
mysql> SELECT * FROM CORRIDA ORDER BY ANIODECELEBRA DESC;
+---------------+------------+---------------+
| numerodeorden | feria | ANIODECELEBRA |
+---------------+------------+---------------+
| 4 | en MAYO | 2011 |
| 1 | TLAXCALA | 2010 |
| 3 | MAYO | 2010 |
| 5 | VIVE MEXIC | 2010 |
| 2 | SAN NICOLA | 2009 |
+---------------+------------+---------------+
5 rows in set (0.01 sec)
7.- Cambiar el Nombre de la Tabla Actúan por el Nombre
Participan.
mysql> ALTER TABLE ACTURAR RENAME PARTICIPAN;
Query OK, 0 rows affected (0.02 sec)
8.- Mostrar todos los datos de las tablas Toreros y Premios
considerando la siguiente condición: Toreros.DNIT=Premios.DNTI
mysql> SELECT * FROM WHERE Toreros.DNIT=Premios.DNTI;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'WHERE
Toreros.DNIT=Premios.DNTI' at line 1
mysql> ALTER TABLE TORO
-> ;
Query OK, 0 rows affected (0.01 sec)
9.- Modificar el registro 7 de la tabla Toros en el campo Color
cambiar Pinto por Negro
mysql> UPDATE TORO SET COLOR='PINTO' WHERE COLOR='NEGRO';
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3 Changed: 3 Warnings: 0
10.- Añadir una columna con el nombre Peso con tipo de dato
Entero en la tabla de Toros e ingresar los datos de peso.
mysql> ALTER TABLE TORO
-> ADD PESO INTEGER;
Query OK, 7 rows affected (0.11 sec)
Records: 7 Duplicates: 0 Warnings: 0
mysql> ALTER TABLE TORO
-> MODIFY PESO CHAR (10);
Query OK, 7 rows affected (0.45 sec)
Records: 7 Duplicates: 0 Warnings: 0
mysql> DESCRIBE TORO;
+-------------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+----------+------+-----+---------+-------+
| NUMERO | int(11) | NO | PRI | 0 | |
| COLOR | char(10) | YES | | NULL | |
| FECHADENACIMIENTO | char(20) | YES | | NULL | |
| ORDEN | int(11) | YES | MUL | NULL | |
| NOMBRE | char(10) | YES | | NULL | |
| PESO | char(10) | YES | | NULL | |
+-------------------+----------+------+-----+---------+-------+
6 rows in set (0.02 sec)
11.- Mostrar los registros de la tabla Toros ordenados por el Peso.
mysql> UPDATE TORO SET PESO='500' WHERE NUMERO='1';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE TORO SET PESO='450' WHERE NUMERO='2';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE TORO SET PESO='487' WHERE NUMERO='3';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE TORO SET PESO='460' WHERE NUMERO='4';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE TORO SET PESO='510' WHERE NUMERO='5';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE TORO SET PESO='490' WHERE NUMERO='6';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE TORO SET PESO='505' WHERE NUMERO='7';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> SELECT * FROM TORO;
+--------+-------+-------------------+-------+------------+------+
| NUMERO | COLOR | FECHADENACIMIENTO | ORDEN | NOMBRE | PESO |
+--------+-------+-------------------+-------+------------+------+
| 1 | PINTO | 1999 | 5 | EL PAJARIT | 500 |
| 2 | PINTO | 1998 | 5 | ATREVIDO | 450 |
| 3 | PINTO | 1999 | 5 | VALEDOR | 487 |
| 4 | PINTO | 1998 | 5 | NAVEGANTE | 460 |
| 5 | PINTO | 1999 | 5 | ISLERO | 510 |
| 6 | PINTO | 1999 | 5 | CABATISTO | 490 |
| 7 | PINTO | 1998 | 5 | JABONERO | 505 |
| 0 | NULL | NULL | NULL | NULL | 505 |
+--------+-------+-------------------+-------+------------+------+
8 rows in set (0.00 sec)
mysq
Este ejercicio nos sirvió para ver y verificar los
conocimientos que aprendimos y nos dimos cuentas que
aprendimos muchas cosas pero hay muchas cosas que se
nos dificultaron mucho pero la mayoría de la puntos los
cubrimos y con ayuda de nuestro compañeros resolvimos
nuestras dudas.
Top Related