TRabajo de final

Page 1

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 | COLOR

| int(11) | NO | PRI | 0 | char(10) | YES |

|

|

| NULL |

|

| aniodenacimiento | char(8) | NO | | ORDEN | NOMBRE

| NULL |

| int(11) | YES | MUL | NULL | | 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

|

4 | en MAYO | 2011

|

|

5 | VIVE MEXIC | 2010

|

| 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

| 1002 | JOS RUBIO

| 12/01/1985

| 1003 | CARLOS AUR | 02/07/1990 | 1004 | ALFREDO

| 01/03/1992

| EL JOSELIT | | EL SOTOLUC | | EL YEYITO | | 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

|

2 | PINTO | 1998

|

3 | NEGRO | 1999

|

4 | PINTO | 1998

|

5 | NEGRO | 1999

| | | | |

5 | EL PAJARIT | 5 | ATREVIDO | 5 | VALEDOR | 5 | NAVEGANTE | 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

|

5 | VIVE MEXIC |

2010 |

|

2 | SAN NICOLA |

2009 |

|

2010 |

+---------------+------------+---------------+ 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 | COLOR

| int(11) | NO | PRI | 0 | char(10) | YES |

|

|

| NULL |

|

| FECHADENACIMIENTO | char(20) | YES | | ORDEN | NOMBRE | PESO

| NULL |

| int(11) | YES | MUL | NULL | | char(10) | YES | | char(10) | YES |

|

| NULL |

| 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 +--------+-------+-------------------+-------+------------+------+ |

1 | PINTO | 1999

|

5 | EL PAJARIT | 500 |

|

2 | PINTO | 1998

|

5 | ATREVIDO | 450 |

|

3 | PINTO | 1999

|

5 | VALEDOR | 487 |

| PESO |


|

4 | PINTO | 1998

|

5 | NAVEGANTE | 460 |

|

5 | PINTO | 1999

|

5 | ISLERO

|

6 | PINTO | 1999

|

5 | CABATISTO | 490 |

|

7 | PINTO | 1998

|

5 | JABONERO | 505 |

|

0 | NULL | NULL

| NULL | NULL

| 510 |

| 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.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.