trabajo final
DESCRIPTION
proyecto final de base de datosTRANSCRIPT
UNIVERSIDAD TECNOLÓGICA DE TECAMACHALCO.
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN.
BASE DE DATOS
TRABAJO FINAL
PRACTICA TOROS.
PROFESORA:
LIC.MARIA DE LOS ANGELES
ALUMNAS:
CAROLINA SANCHEZ BONILLA
EUGENIA LEZAMA RODRIGUEZ
GRUPO: A
CUATRIMESTRE: 2
FECHA:
07 DE ABRIL DE 2011.
Contenido
TRABAJO 1. .................................................................................................................................... 3
TRABAJO 2. ................................................................................................................................. 11
TRABAJO 3 ................................................................................................................................... 16
NUMERO 4. .................................................................................................................................. 32
TRABAJO 1.
INTRODUCCION:
En el modelo entidad-relación se dará la solución a un problema, de la asociación “amigos de una fiesta”, en el que se desea recoger en una base de datos la información sobre las corridas de toros que se celebran en España. Se identificaran las relaciones, atributos, desarrollando construyendo un diagrama general que muestre e ilustre la solución del problema.
AMIGOS DE UNA FIESTA La asociación “amigos de una fiesta” desea recoger de una base de datos toda la información acerca de las corridas de toros que se celebran en España y de todos los datos relacionados con ellas. Se desea tener información acerca de cada corrida, identificada conjuntamente por un número de orden, la feria en la que se celebra y el año de celebración (Por ejemplo: Orden=2.Feria=San Isidro, Año=1990). En una determinada corrida actúan una serie de toreros (mínimo 1, máximo 3)de los que se desea guardar su DNI, nombre, y fecha en que tomo la alternativa (fecha en la que se convirtió en matador de toros). Además se desea saber quien fue el torero que le dio la alternativa (padrino) en su día (un torero puede dar la alternativa a varios compañeros o a ninguno). En cada corrida un torero obtiene una serie de premios (cuantas orejas, cuantos rabos, y si salió por la puerta grande o no) de los que se desea mantener información. Cada torero puede tener un apoderado del que es protegida. A su vez, un apoderado lo puede ser de varios toreros. De el se desea saber su DNI, nombre, dirección y teléfono. Una corrida se celebra en una plaza de toros de la que se desea saber su nombre que se supone único, localidad, dirección y aforo. En una misma plaza se pueden celebrar varias corridas de toros. En cada corrida son estoqueados al menos 6 toros. Cada toro viene identificado por el código de la ganadería ala que pertenece, el año en que nació y un número de orden. Además se desea mantener la información acerca de su nombre y color así como el orden en que fue toreado. Cada toro pertenece a una ganadería determinada. De cada ganadería se pretenden saber su código, nombre, localidad y antigüedad (fecha de creación).
IDENTIDADES Y RELACIONES.
ENTIDADES RELACIONES
CORRIDA.. TOREROS. PREMIOS. APODERADO. PLAZA DE TOROS. TOROS. CODIGO DE GANADERIA. GANADERIA
ACTUAR
DAR ALTERNATIVAS.
TENER.
TENER.
CELEBRAR.
ESTOQUEAR
IDENTIFICAR
PERTENECER.
IDENTIFICACION DE ATRIBUTOS. CORRIDA (Orden, Feria, Año). TOREROS (DNI, Nombre, Apodo, Fecha de Alternativa, Padrino, Apoderado). PREMIOS (Cuantas Orejas, Cuantos Rabos y si salió por la puerta grande). APODERADO (DNI, Nombre, Dirección y Teléfono). PLAZA DE TOROS (Nombre, Localidad, Dirección y Aforo).
TORO (Código de Ganadería, Año en que nació, Número de orden, Nombre, Color, Año en que fue Toreado). CODIGODE GANADERIA (Número, Nombre de la Ganadería, Fecha, Estado). GANADERIA (Código, Nombre, Localidad y Antigüedad). (Las palabras subrayadas hacen referencias a los atributos principales.)
ENUNCIADOS SEMANTICOS, OPCIONALIDAD Y CORRESPONDENCIA.
En cada corrida deben actuar uno o varios toreros. (1,N) Cada torero puede actuar en una o varias películas. (0,N)
Cada torero puede dar la alternativa a uno o varios toreros. (0,N) Cada torero debe tener la alternativa de un y solo un torero. (1,1)
corrida actuar
0: N
1: N
torero
N: N
Torero Tener
1:1
0:N
Premio
1: N
Toreros Dar
Alternativa
1:1
1_N
0:N
Cada torero puede tener uno o varios premios. (0,N) Cada premio debe tener uno y solo uno torero. (1,1)
Cada torrero puede tener un y solo un apoderado. (0,1) Cada apoderado puede tener uno o varios toreros. (0,N)
Cada corrida se debe celebrar en una y varias plazas de toros. (1,N) En cada plaza de toros se puede celebrar una o varias corridas. (0,N)
Torero Tener
0:N
0:1
Apoderado
N:1
Corrida Estoqu
ear 0:N
1:N
Toros
N:N
Corrida Celebr
ar 0:N
1:N
Pllaza de
toreos
N:N
En cada corrida se debe estoquear uno o varios toros. (1,N) Cada toros puede estoquearse en una o varias corridas. (0,N)
Cada toro debe identificarse con uno y solo un código de ganadería. (1,1) Cada código de ganadería debe identificar uno y solo un toro. (1,1)
Cada toro debe pertenecer a una y solo una ganadería. (1,1) Cada ganadería debe pertenecer uno o varios toros. (1,N)
Toro Perten
ecer 1:N
1:1
Ganaderia
N:1
Toro Identifi
car 1:N
1:1
C.ganaderia
1:1
DIAGRAMA GENERAL ENTIDAD - RELACIÓN
Pinacoteca
PLAZA DE
TOROS
APODERA
DO
TOREROS
PREMIOS
TOROS
GANADERI
A
CORRIDA
TOR
OS
ESTOQ
UEA
R
Tener
PERTEN
ECE
R
ACTU
AR
ALTERN
ATIV
A
1:N N: N 1:N
1:N 1:N
N: 1
N: 1
CONCLUSION Al terminar este proyecto pudimos darnos cuenta de diferentes errores que se nos presentaron durante la realización del proyecto los cuales no nos permitían terminar algunas relaciones de dicho proyecto, pero gracias a las diferentes opiniones compartidas en el equipo se pudieron resolver los problemas que se estaban presentando. Esta práctica nos ha dejado una gran enseñanza ya que nos a presentado un problema real, el cual puede tener solución mediante un diagrama. .Finalmente se espera la total comprensión en la solución de este proyecto.
TRABAJO 2.
INTRODUCCIÓN En esta presentación de la práctica número 3, se le dará solución al problema de las corridas de toros. Para la solución de la presente práctica se creó una base de datos para manejar de manera más práctica de los datos relacionados a estas corridas. A continuación se dará la solución a la presente practica mediante la identificación de las entidades que ya teníamos en nuestro modelo Entidad – Relación, las cuales se convertirán en tablas así como los atributos del modelo anterior que se convertirán en columnas de las tablas, los atributos principales se convierten en llaves primarias así como ahora las relaciones nos darán las llaves foráneas o en casos específicos se crearan nuevas tablas. Cabe mencionar que se encontraron varios problemas para la solución de la presente práctica, entre algunos de ellos se encontró la identificación de las llaves foráneas así como identificar de manera correcta las correspondencias ya que en el los trabajos anteriores no equivocamos en algunos pasos, ante estos problemas que se fueron presentando adquirimos una mayor definición y afirmación para solucionar estos problemas.
DIAGRAMA GENERAL ENTIDAD - RELACIÓN
PLAZA DE
TOROS
APODERA
DO
TOREROS
PREMIOS
TOROS
GANADERI
A
CORRIDA
TOR
OS
ESTOQ
UEA
R
Tener
PERTEN
ECE
R
ACTU
AR
ALTERN
ATIV
A
1:N N: N 1:N
1:N 1:N
N: 1
N: 1
TUPLAS y COLUMNAS
TORERO
DNI NOMBRE APODO FECHA DE ALTERNATIVA
PADRINO APODERADO DNI DNI DE APODERADO
PK NOT NULL
NOT NULL
NOT NULL NOT NULL
NOT NULL FK FK
NOT NULL
NOT NULL
CORRIDA
ORDEN FERIA AÑO AFORO
PK NOT NULL NOT NULL FK
NOT NULL NOT NULL
ACTUAR
ORDEN DNI
PK
NOT NULL NOT NULL
PREMIOS
CLAVE DE PREMIO N° DE RABOS N° DE OREJAS DNI
PK NOT NULL NOT NULL FK
NOT NULL NOT NULL
APODERADO
DNI DE APODERADO
NOMBRE DIRECCION TELEFONO
PK NOT NULL NOT NULL
NOT NULL
TORO
CODIGO DE TORO
NOMBRE AÑO EN QUE NACIO
N° DE ORDEN
COLOR AÑO EN QUE FUE TOREADO
ORDEN CODIGO
PK NOT NULL
NOT NULL
NOT NULL
NOT NULL
FK FK
NOT NULL
NOT NULL
PLAZA DE TOROS
AFORO NOMBRE DIRECCION LOCALIDAD
PK NOT NULL NOT NULL
NOT NULL
GANADERIA
CODIGO NOMBRE ANTIGÜEDAD LOCALIDAD
PK NOT NULL NOT NULL
NOT NULL
CONCLUSIÓN Al terminar la presente practica pudimos darnos cuenta de varios errores que no nos permitían el desarrollo del trabajo, afortunadamente el trabajar en equipo nos permitió dar diferentes opiniones y hacer de esta práctica la más exacta, aunque hubo algunos problemas en la identificación de las llaves primarias y secundarias, que nos llevaron a repasar los temas un poco más y despejar dudas. Los logros se obtuvieron en esta práctica fue el reforzar un poco la creación de tablas que se encuentran en él. Finalmente nos queda decir que nos costó mucho trabajo poder llevar las acabo la interpretación de las correspondencias a llaves foráneas, esperamos que nuestro trabajo sea comprensible y correcto el desarrollo de esta práctica.
TRABAJO 3 DIAGRAMA GENERAL
torero corrida plaza
premio toro
ganaderia
actuarM N
celebraeM 1
obtener
1
M
tiene
1
M
pertenece
M
1
DIAGRAMA DE: PATAS DE GALLO
torero
dni
nombre
fenquetomolaal ternativa
apodo
cor r ida
norden
feria
anioselebracion
unnamed
aforo
p laza
aforo
nombre
localidad
direccion
prem io
idp
orejas
rabos
sporpuertagrande
dni
toro
codtoro
ndeorden
anioquenacio
norden
coganaderia
ganader ia
coganaderia
nombre
localidad
antiguedad
actuar
norden
dni
LENGUAJE: ORACLE -- -- Target: Oracle -- Syntax: sqlplus user@tnsnames_entry/password @filename.sql -- -- Date : Feb 25 2011 21:42 -- Script Generated by Database Design Studio 2.21.1 -- -- -- Create Table : 'PLAZADETOROS' -- AFORO : -- NOMBRE : -- DIRECCION : -- LOCALIDAD : -- CREATE TABLE PLAZADETOROS ( AFORO CHAR(20) NOT NULL, NOMBRE CHAR(20) NOT NULL, DIRECCION CHAR(20) NOT NULL, LOCALIDAD CHAR(20) NOT NULL, CONSTRAINT pk_PLAZADETOROS PRIMARY KEY (AFORO))
-- -- Create Table : 'GANADERIA' -- CODIGO : -- NOMBRE : -- ANTIGUEDAD : -- LOCALIDAD : -- CREATE TABLE GANADERIA ( CODIGO CHAR(20) NOT NULL, NOMBRE CHAR(20) NOT NULL, ANTIGUEDAD CHAR(20) NOT NULL, LOCALIDAD CHAR(20) NOT NULL, CONSTRAINT pk_GANADERIA PRIMARY KEY (CODIGO)) / -- -- Create Table : 'PREMIOS' -- CLAVEDEPREMIOS : -- NUMDERABOS : -- NUMDEOREJAS :
--
CREATE TABLE PREMIOS ( CLAVEDEPREMIOS CHAR(20) NOT NULL, NUMDERABOS CHAR(20) NOT NULL, NUMDEOREJAS CHAR(20) NOT NULL, CONSTRAINT pk_PREMIOS PRIMARY KEY (CLAVEDEPREMIOS)) / -- -- Create Table : 'APODERADO' -- DNIAPODERADO : -- NOMBRE : -- DIRECCION : -- TELEFONO : -- CREATE TABLE APODERADO ( DNIAPODERADO CHAR(20) NOT NULL, NOMBRE CHAR(20) NOT NULL, DIRECCION CHAR(20) NOT NULL, TELEFONO CHAR(20) NOT NULL, CONSTRAINT pk_APODERADO PRIMARY KEY (DNIAPODERADO)) /-- Create Table : 'CORRIDA' -- ORDEN : -- FERIA : -- AÑO : -- AFORO : (references PLAZADETOROS.AFORO) -- CREATE TABLE CORRIDA ( ORDEN CHAR(20) NOT NULL, FERIA CHAR(20) NOT NULL, AÑO CHAR(20) NOT NULL, AFORO CHAR(20), CONSTRAINT pk_CORRIDA PRIMARY KEY (ORDEN), CONSTRAINT fk_CORRIDA FOREIGN KEY (AFORO) REFERENCES PLAZADETOROS (AFORO)) / -- -- Create Table : 'TOROS' -- CODIGODETOROS : -- NOMBRE : -- AÑOENQUENACIO : -- NUMDEORDEN : -- COLOR : -- AÑOENQUEFUETOREADO :
-- ORDEN : (references CORRIDA.ORDEN) -- CODIGO : (references GANADERIA.CODIGO)
-- CREATE TABLE TOROS ( CODIGODETOROS CHAR(20) NOT NULL, NOMBRE CHAR(20) NOT NULL, AÑOENQUENACIO CHAR(20) NOT NULL, NUMDEORDEN CHAR(20) NOT NULL, COLOR CHAR(20) NOT NULL, AÑOENQUEFUETOREADO CHAR(20) NOT NULL, ORDEN CHAR(20), CODIGO CHAR(20) NOT NULL, CONSTRAINT pk_TOROS PRIMARY KEY (CODIGODETOROS), CONSTRAINT fk_TOROS FOREIGN KEY (ORDEN) REFERENCES CORRIDA (ORDEN), CONSTRAINT fk_TOROS2 FOREIGN KEY (CODIGO) REFERENCES GANADERIA (CODIGO) ON DELETE CASCADE) / -- -- Create Table : 'TOREROS' -- DNI : -- NOMBRE :
-- APODO : -- FECHADEALTERNATIVA : -- PADRINO : -- APODERADO : -- CLAVEDEPREMIOS : (references PREMIOS.CLAVEDEPREMIOS) -- DNIAPODERADO : (references APODERADO.DNIAPODERADO) -- rDNI : (references TOREROS.DNI) -- CREATE TABLE TOREROS ( DNI CHAR(20) NOT NULL, NOMBRE CHAR(20) NOT NULL, APODO CHAR(20) NOT NULL, FECHADEALTERNATIVA CHAR(20) NOT NULL, PADRINO CHAR(20) NOT NULL, APODERADO CHAR(20) NOT NULL, CLAVEDEPREMIOS CHAR(20) NOT NULL, DNIAPODERADO CHAR(20) NOT NULL, rDNI CHAR(20), CONSTRAINT pk_TOREROS PRIMARY KEY (DNI), CONSTRAINT fk_TOREROS FOREIGN KEY (CLAVEDEPREMIOS) REFERENCES PREMIOS (CLAVEDEPREMIOS) ON DELETE CASCADE, CONSTRAINT fk_TOREROS2 FOREIGN KEY (DNIAPODERADO) REFERENCES APODERADO (DNIAPODERADO) ON DELETE CASCADE,
CONSTRAINT fk_TOREROS3 FOREIGN KEY (rDNI) REFERENCES TOREROS (DNI)) / -- -- Create Table : 'ACTUAR' -- DNI : (references TOREROS.DNI) -- ORDEN : (references CORRIDA.ORDEN) -- CREATE TABLE ACTUAR ( DNI CHAR(20) NOT NULL, ORDEN CHAR(20) NOT NULL, CONSTRAINT pk_ACTUAR PRIMARY KEY (DNI,ORDEN), CONSTRAINT fk_ACTUAR FOREIGN KEY (DNI) REFERENCES TOREROS (DNI), CONSTRAINT fk_ACTUAR2 FOREIGN KEY (ORDEN) REFERENCES CORRIDA (ORDEN) ON DELETE CASCADE) / exit;
-- Target: Microsoft SQL Server
-- Syntax: isql /Uuser /Ppassword /Sserver -i\path\filename.sql
-- Date : Feb 24 2011 12:45
-- Script Generated by Database Design Studio 2.21.1
--
--
-- Select Database: 'db_name'
--
USE db_name
GO
IF DB_NAME() = 'db_name'
RAISERROR('''db_name'' DATABASE CONTEXT NOW IN USE.',1,1)
ELSE
RAISERROR('ERROR IN BATCH FILE, ''USE db_name'' FAILED! KILLING
THE SPID NOW.',22,127) WITH LOG
GO
EXECUTE SP_DBOPTION 'db_name' ,'TRUNC. LOG ON CHKPT.' ,'TRUE'
GO
--
-- Create Table : 'torero'
-- dni :
-- nombre :
-- fenquetomolaalternativa :
-- apodo :
CREATE TABLE torero (
dni CHAR(20) NOT NULL,
nombre CHAR(20) NOT NULL,
fenquetomolaalternativa CHAR(20) NOT NULL,
apodo CHAR(20) NOT NULL,
CONSTRAINT pk_torero PRIMARY KEY CLUSTERED (dni))
GO
--
-- Create Table : 'plaza'
-- aforo :
-- nombre :
-- localidad :
-- direccion :
--
CREATE TABLE plaza (
aforo CHAR(10) NOT NULL,
nombre CHAR(10) NOT NULL,
localidad CHAR(10) NOT NULL,
direccion CHAR(10) NOT NULL,
CONSTRAINT pk_plaza PRIMARY KEY CLUSTERED (aforo))
GO
--
-- Create Table : 'ganaderia'
-- coganaderia :
-- nombre :
-- localidad :
-- antiguedad :
--
CREATE TABLE ganaderia (
coganaderia CHAR(10) NOT NULL,
nombre CHAR(10) NOT NULL,
localidad CHAR(10) NOT NULL,
antiguedad CHAR(10) NOT NULL,
CONSTRAINT pk_ganaderia PRIMARY KEY CLUSTERED (coganaderia))
GO
--
-- Create Table : 'corrida'
-- norden :
-- feria :
-- anioselebracion :
-- unnamed :
-- aforo : (references plaza.aforo)
--
CREATE TABLE corrida (
norden CHAR(10) NOT NULL,
feria CHAR(10) NOT NULL,
anioselebracion CHAR(10) NOT NULL,
unnamed CHAR(10) NOT NULL,
aforo CHAR(10) NOT NULL,
CONSTRAINT pk_corrida PRIMARY KEY CLUSTERED (norden),
CONSTRAINT fk_corrida FOREIGN KEY (aforo)
REFERENCES plaza (aforo)
ON DELETE CASCADE
ON UPDATE CASCADE)
GO
--
-- Create Table : 'premio'
-- idp :
-- orejas :
-- rabos :
-- sporpuertagrande :
-- dni : (references torero.dni)
--
CREATE TABLE premio (
idp CHAR(20) NOT NULL,
orejas CHAR(20) NOT NULL,
rabos CHAR(20) NOT NULL,
sporpuertagrande CHAR(20) NOT NULL,
dni CHAR(20) NULL,
CONSTRAINT pk_premio PRIMARY KEY CLUSTERED (idp),
CONSTRAINT fk_premio FOREIGN KEY (dni)
REFERENCES torero (dni)
ON UPDATE CASCADE)
GO
--
-- Create Table : 'toro'
-- codtoro :
-- ndeorden :
-- anioquenacio :
-- norden : (references corrida.norden)
-- coganaderia : (references ganaderia.coganaderia)
--
CREATE TABLE toro (
codtoro CHAR(10) NOT NULL,
ndeorden CHAR(10) NOT NULL,
anioquenacio CHAR(10) NOT NULL,
norden CHAR(10) NULL,
coganaderia CHAR(10) NOT NULL,
CONSTRAINT pk_toro PRIMARY KEY CLUSTERED (codtoro),
CONSTRAINT fk_toro FOREIGN KEY (norden)
REFERENCES corrida (norden)
ON UPDATE CASCADE,
CONSTRAINT fk_toro2 FOREIGN KEY (coganaderia)
REFERENCES ganaderia (coganaderia)
ON DELETE CASCADE
ON UPDATE CASCADE)
GO
--
-- Create Table : 'actuar'
-- norden : (references corrida.norden)
-- dni : (references torero.dni)
--
CREATE TABLE actuar (
norden CHAR(10) NOT NULL,
dni CHAR(20) NOT NULL,
CONSTRAINT pk_actuar PRIMARY KEY CLUSTERED (norden,dni),
CONSTRAINT fk_actuar FOREIGN KEY (norden)
REFERENCES corrida (norden)
ON DELETE NO ACTION
ON UPDATE CASCADE,
CONSTRAINT fk_actuar2 FOREIGN KEY (dni)
REFERENCES torero (dni)
ON DELETE CASCADE
ON UPDATE CASCADE)
GO
MySQL
#
# Target: MySQL
# Syntax: mysql -u user password < filename.sql
#
# Date : Feb 24 2011 12:45
# Script Generated by Database Design Studio 2.21.1
#
#
# Select Database: 'db_name'
#
USE db_name;
#
# Create Table : 'torero'
# dni :
# nombre :
# fenquetomolaalternativa :
# apodo :
#
CREATE TABLE torero (
dni CHAR(20) NOT NULL,
nombre CHAR(20) NOT NULL,
fenquetomolaalternativa CHAR(20) NOT NULL,
apodo CHAR(20) NOT NULL,
PRIMARY KEY (dni)) TYPE=INNODB;
#
# Create Table : 'plaza'
# aforo :
# nombre :
# localidad :
# direccion :
#
CREATE TABLE plaza (
aforo CHAR(10) NOT NULL,
nombre CHAR(10) NOT NULL,
localidad CHAR(10) NOT NULL,
direccion CHAR(10) NOT NULL,
PRIMARY KEY (aforo)) TYPE=INNODB;
#
# Create Table : 'ganaderia'
# coganaderia :
# nombre :
# localidad :
# antiguedad :
#
CREATE TABLE ganaderia (
coganaderia CHAR(10) NOT NULL,
nombre CHAR(10) NOT NULL,
localidad CHAR(10) NOT NULL,
antiguedad CHAR(10) NOT NULL,
PRIMARY KEY (coganaderia)) TYPE=INNODB;
#
# Create Table : 'corrida'
# norden :
# feria :
# anioselebracion :
# unnamed :
# aforo : (references plaza.aforo)
#
CREATE TABLE corrida (
norden CHAR(10) NOT NULL,
feria CHAR(10) NOT NULL,
anioselebracion CHAR(10) NOT NULL,
unnamed CHAR(10) NOT NULL,
aforo CHAR(10) NOT NULL,
PRIMARY KEY (norden),
INDEX idx_fk_corrida (aforo),
CONSTRAINT fk_corrida FOREIGN KEY (aforo)
REFERENCES plaza (aforo)
ON DELETE CASCADE
ON UPDATE CASCADE) TYPE=INNODB;
#
# Create Table : 'premio'
# idp :
# orejas :
# rabos :
# sporpuertagrande :
# dni : (references torero.dni)
#
CREATE TABLE premio (
idp CHAR(20) NOT NULL,
orejas CHAR(20) NOT NULL,
rabos CHAR(20) NOT NULL,
sporpuertagrande CHAR(20) NOT NULL,
dni CHAR(20) NULL,
PRIMARY KEY (idp),
INDEX idx_fk_premio (dni),
CONSTRAINT fk_premio FOREIGN KEY (dni)
REFERENCES torero (dni)
ON DELETE SET NULL
ON UPDATE CASCADE) TYPE=INNODB;
#
# Create Table : 'toro'
# codtoro :
# ndeorden :
# anioquenacio :
# norden : (references corrida.norden)
# coganaderia : (references ganaderia.coganaderia)
#
CREATE TABLE toro (
codtoro CHAR(10) NOT NULL,
ndeorden CHAR(10) NOT NULL,
anioquenacio CHAR(10) NOT NULL,
norden CHAR(10) NULL,
coganaderia CHAR(10) NOT NULL,
PRIMARY KEY (codtoro),
INDEX idx_fk_toro (norden),
CONSTRAINT fk_toro FOREIGN KEY (norden)
REFERENCES corrida (norden)
ON DELETE SET NULL
ON UPDATE CASCADE,
INDEX idx_fk_toro2 (coganaderia),
CONSTRAINT fk_toro2 FOREIGN KEY (coganaderia)
REFERENCES ganaderia (coganaderia)
ON DELETE CASCADE
ON UPDATE CASCADE) TYPE=INNODB;
#
# Create Table : 'actuar'
# norden : (references corrida.norden)
# dni : (references torero.dni)
#
CREATE TABLE actuar (
norden CHAR(10) NOT NULL,
dni CHAR(20) NOT NULL,
PRIMARY KEY (norden,dni),
INDEX idx_fk_actuar (norden),
CONSTRAINT fk_actuar FOREIGN KEY (norden)
REFERENCES corrida (norden)
ON DELETE NO ACTION
ON UPDATE CASCADE,
INDEX idx_fk_actuar2 (dni),
CONSTRAINT fk_actuar2 FOREIGN KEY (dni)
REFERENCES torero (dni)
ON DELETE CASCADE
ON UPDATE CASCADE) TYPE=INNODB;
NUMERO 4.
INTRODUCCION. En la presente práctica mostraremos las diferentes técnicas utilizadas para mostrar, analizar y controlar los registros de la base de datos de los toreros. Así como también presentaremos los diferentes comandos que utilizamos para cambiar los nombres de las columnas, tablas, modificar registros, añadir columnas, quitar columnas, mostrar tablas entre otras.
C:\xampp\mysql\bin>mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.41 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +---------------------+ | Database | +---------------------+ | information_schema | | alquilerautomoviles | | amigosdelafiesta | | cdcol | | gimnacio | | mysql | | phpmyadmin | | pinacoteca | | subscriptores | | test | | videoclub | +---------------------+ 11 rows in set (0.00 sec) mysql> use amigosdelafiesta; Database changed mysql> show tables; +----------------------------+ | Tables_in_amigosdelafiesta | +----------------------------+ | actuan | | apoderado | | corrida | | ganaderia | | plaza | | premio | | torero | | toro | +----------------------------+ 8 rows in set (0.31 sec) mysql> describe ganaderia; +-------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra |
INGRESO A LA BASE
DE DATOS Y USO MI
BASE DE DATOS
CREADA
MUESTRA LAS TABLAS EXISTENTES DENTRO DE NUESTRA BASE DE DATOS.
MUESTRA LA NFORMACION DE LA TABLA INDICADA QUE ES GANADERIA
+-------------------+----------+------+-----+---------+-------+ | Codigodeganaderia | char(20) | NO | PRI | NULL | | | Nombre | char(20) | NO | | NULL | | | Localidad | char(20) | NO | | NULL | | | Antiguedad | char(20) | NO | | NULL | | +-------------------+----------+------+-----+---------+-------+ 4 rows in set (0.08 sec) mysql> alter table ganaderia change codigodeganaderia Codigo char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe ganaderia; +------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+----------+------+-----+---------+-------+ | Codigo | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Localidad | char(20) | NO | | NULL | | | Antiguedad | char(20) | NO | | NULL | | +------------+----------+------+-----+---------+-------+ 4 rows in set (0.00 sec) mysql> alter table ganaderia change antiguedad Fecha_creacion char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe ganaderia; +----------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+----------+------+-----+---------+-------+ | Codigo | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Localidad | char(20) | NO | | NULL | | | Fecha_creacion | char(20) | YES | | NULL | | +----------------+----------+------+-----+---------+-------+ 4 rows in set (0.02 sec) mysql> insert into ganaderia values("G1","La Laguna","Tlaxcala","1907"),("G2","S an Mateo","Zacateca","1906"),("G3","Reyes Huerta","Tlaxcala","1904"); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> select * from ganaderia; +--------+--------------+-----------+----------------+ | Codigo | Nombre | Localidad | Fecha_creacion | +--------+--------------+-----------+----------------+ | G1 | La Laguna | Tlaxcala | 1907 | | G2 | San Mateo | Zacateca | 1906 |
CAMBIAMOS EL NOMBRE DE LA COLUMNA CODIGO DE GANADERIA POR
CODIGO.
MUESTRA LA NFORMACION DE LA TABLA INDICADA QUE ES GANADERIA Y SE OBSERVA EL CAMBIO QUE
OCURRIO
INSERTAMOS REGISTROS EN LA TABLA
GANADERIA.
| G3 | Reyes Huerta | Tlaxcala | 1904 | +--------+--------------+-----------+----------------+ 3 rows in set (0.00 sec) mysql> describe plaza; +---------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+----------+------+-----+---------+-------+ | Codigodepalza | char(20) | NO | PRI | NULL | | | Nombre | char(20) | NO | | NULL | | | Localidad | char(20) | NO | | NULL | | | Direccion | char(20) | NO | | NULL | | | Aforo | char(20) | NO | | NULL | | +---------------+----------+------+-----+---------+-------+ 5 rows in set (0.03 sec) mysql> alter table plaza drop column nombre; Query OK, 0 rows affected (0.05 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe plaza; +---------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+----------+------+-----+---------+-------+ | Codigodepalza | char(20) | NO | PRI | NULL | | | Localidad | char(20) | NO | | NULL | | | Direccion | char(20) | NO | | NULL | | | Aforo | char(20) | NO | | NULL | | +---------------+----------+------+-----+---------+-------+ 4 rows in set (0.02 sec) mysql> alter table plaza change codigodepalza Nombre char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe plaza; +-----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+----------+------+-----+---------+-------+ | Nombre | char(20) | NO | PRI | | | | Localidad | char(20) | NO | | NULL | | | Direccion | char(20) | NO | | NULL | | | Aforo | char(20) | NO | | NULL | | +-----------+----------+------+-----+---------+-------+ 4 rows in set (0.01 sec) mysql> insert into plaza values("El Relicario","Puebla","Recinto Ferial","5000") ,("Plaza de Toros Mexico","Distrito Federal","Mexico, DF","41000"),("Plaza Monum ental de Apizaco","Apizaco","Tlaxcala","7000"); Query OK, 3 rows affected, 2 warnings (0.00 sec) Records: 3 Duplicates: 0 Warnings: 2
BORRAMOS LA COLUMNA NOMBRE EL COMANDO DESCRIBE NOS PERMITE VER LOS CAMBIOS QUE
OCURRIERON.
mysql> select * from plaza; +----------------------+------------------+----------------+-------+ | Nombre | Localidad | Direccion | Aforo | +----------------------+------------------+----------------+-------+ | El Relicario | Puebla | Recinto Ferial | 5000 | | Plaza de Toros Mexic | Distrito Federal | Mexico, DF | 41000 | | Plaza Monumental de | Apizaco | Tlaxcala | 7000 | +----------------------+------------------+----------------+-------+ 3 rows in set (0.00 sec) mysql> alter table plaza change Nombre nombre char(30); Query OK, 3 rows affected (0.11 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> describe plaza; +-----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+----------+------+-----+---------+-------+ | nombre | char(30) | NO | PRI | | | | Localidad | char(20) | NO | | NULL | | | Direccion | char(20) | NO | | NULL | | | Aforo | char(20) | NO | | NULL | | +-----------+----------+------+-----+---------+-------+ 4 rows in set (0.02 sec) mysql> select * from plaza; +----------------------+------------------+----------------+-------+ | nombre | Localidad | Direccion | Aforo | +----------------------+------------------+----------------+-------+ | El Relicario | Puebla | Recinto Ferial | 5000 | | Plaza de Toros Mexic | Distrito Federal | Mexico, DF | 41000 | | Plaza Monumental de | Apizaco | Tlaxcala | 7000 | +----------------------+------------------+----------------+-------+ 3 rows in set (0.00 sec) mysql> update plaza set nombre="Plaza Monumental de Apizaco" where nombre="Plaza Monumental de "; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from plaza; +-----------------------------+------------------+----------------+-------+ | nombre | Localidad | Direccion | Aforo | +-----------------------------+------------------+----------------+-------+ | El Relicario | Puebla | Recinto Ferial | 5000 | | Plaza de Toros Mexic | Distrito Federal | Mexico, DF | 41000 | | Plaza Monumental de Apizaco | Apizaco | Tlaxcala | 7000 | +-----------------------------+------------------+----------------+-------+ 3 rows in set (0.00 sec)
CON EL COMANDO UPDATE MODIFICAMOS EL NOMBRE DE PLAZA MONUMENTAL DE APISCO QUE ESTA EN LA COLUMNA NOMBRE POR PLAZA MONUMENTAL
DE APIZACO.
mysql> describe apoderado; +-----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+----------+------+-----+---------+-------+ | DNIA | char(20) | NO | PRI | NULL | | | Nombre | char(20) | NO | | NULL | | | Direccion | char(20) | NO | | NULL | | | Telefono | char(20) | NO | | NULL | | +-----------+----------+------+-----+---------+-------+ 4 rows in set (0.05 sec) mysql> insert into apoderado values("2001","Jose Antonio","Puebla","2222086978") ,("2002","Miguel Alejandro","Mexico","5555123223"),("2003","Jose Ignacio","Tlaxc ala","2234674511"); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> select * from apoderado; +------+------------------+-----------+------------+ | DNIA | Nombre | Direccion | Telefono | +------+------------------+-----------+------------+ | 2001 | Jose Antonio | Puebla | 2222086978 | | 2002 | Miguel Alejandro | Mexico | 5555123223 | | 2003 | Jose Ignacio | Tlaxcala | 2234674511 | +------+------------------+-----------+------------+ 3 rows in set (0.00 sec) | Field | Type | Null | Key | Default | Extra | +---------------+----------+------+-----+---------+-------+ | Orden | char(30) | NO | PRI | | | | Feria | char(30) | YES | | NULL | | | Anio | char(30) | YES | | NULL | | | Codigodepalza | char(20) | YES | MUL | NULL | | +---------------+----------+------+-----+---------+-------+ 4 rows in set (0.01 sec) mysql> alter table corrida change Codigodepalza Nombre char(30); Query OK, 0 rows affected (0.14 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe corrida; +--------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+----------+------+-----+---------+-------+ | Orden | char(30) | NO | PRI | | | | Feria | char(30) | YES | | NULL | | | Anio | char(30) | YES | | NULL | | | Nombre | char(30) | YES | MUL | NULL | | +--------+----------+------+-----+---------+-------+ 4 rows in set (0.01 sec)
mysql> insert into corrida values("001","Tlaxcala","2010","Plaza Monumental de A pizaco"),("002","San Nicolas","2009","Plaza Monumental de Apizaco"),("003","Mayo ","2010","El Relicario"),("004","Mayo","2011","El Relicario"),("005","Vive Mexic o","2010","Plaza de Toros Mexico"); Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> select * from corrida; +-------+-------------+------+-----------------------------+ | Orden | Feria | Anio | Nombre | +-------+-------------+------+-----------------------------+ | 001 | Tlaxcala | 2010 | Plaza Monumental de Apizaco | | 002 | San Nicolas | 2009 | Plaza Monumental de Apizaco | | 003 | Mayo | 2010 | El Relicario | | 004 | Mayo | 2011 | El Relicario | | 005 | Vive Mexico | 2010 | Plaza de Toros Mexico | +-------+-------------+------+-----------------------------+ 5 rows in set (0.00 sec) mysql> describe torero; +-----------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+----------+------+-----+---------+-------+ | DNI | char(20) | NO | PRI | NULL | | | Nombre | char(20) | NO | | NULL | | | Apodo | char(20) | NO | | NULL | | | Fechadelmatador | char(20) | NO | | NULL | | | DNIA | char(20) | NO | MUL | NULL | | | rDNI | char(20) | YES | MUL | NULL | | +-----------------+----------+------+-----+---------+-------+ 6 rows in set (0.05 sec) mysql> alter table torero change DNI DNIT char(30); Query OK, 0 rows affected (0.09 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table torero change Fechadelmatador Fecha_Alternativa char(30); Query OK, 0 rows affected (0.09 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table torero change DNIA DNIT1 char(30); Query OK, 0 rows affected (0.09 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table torero change rDNI DNIA char(30); Query OK, 0 rows affected (0.09 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe torero; +-------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+----------+------+-----+---------+-------+ | DNIT | char(30) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Apodo | char(20) | NO | | NULL | | | Fecha_Alternativa | char(30) | YES | | NULL | | | DNIT1 | char(30) | YES | MUL | NULL | |
| DNIA | char(30) | YES | MUL | NULL | | +-------------------+----------+------+-----+---------+-------+ 6 rows in set (0.00 sec) mysql> describe actuan; +--------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+----------+------+-----+---------+-------+ | Foliocorrida | char(20) | NO | PRI | NULL | | | DNI | char(20) | NO | PRI | NULL | | +--------------+----------+------+-----+---------+-------+ 2 rows in set (0.06 sec) mysql> select * from actuan; +--------------+------+ | Foliocorrida | DNI | +--------------+------+ | 004 | 1002 | +--------------+------+ 1 row in set (0.00 sec) mysql> insert into actuan values("001","1001"),("001","1003"),("005","1001"),("0 03","1004"),("002","1004"); Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> select * from actuan; +--------------+------+ | Foliocorrida | DNI | +--------------+------+ | 001 | 1001 | | 001 | 1003 | | 002 | 1004 | | 003 | 1004 | | 004 | 1002 | | 005 | 1001 | +--------------+------+ 6 rows in set (0.00 sec) mysql> insert into actuan values("006","1002"); Query OK, 1 row affected (0.00 sec) mysql> select * from actuan; +--------------+------+ | Foliocorrida | DNI | +--------------+------+ | 001 | 1001 | | 001 | 1003 | | 002 | 1004 | | 003 | 1004 | | 004 | 1002 | | 005 | 1001 | | 006 | 1002 | +--------------+------+ 7 rows in set (0.00 sec) mysql> update actuan set Foliocorrida=004 where Foliocorrida=001;
Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> select * from actuan; +--------------+------+ | Foliocorrida | DNI | +--------------+------+ | 002 | 1004 | | 003 | 1004 | | 004 | 1002 | | 005 | 1001 | | 006 | 1002 | | 4 | 1001 | | 4 | 1003 | +--------------+------+ 7 rows in set (0.00 sec) mysql> update actuan set Foliocorrida="004" where Foliocorrida=4; Query OK, 2 rows affected (0.00 sec) Rows matched: 3 Changed: 2 Warnings: 0 mysql> select * from actuan; +--------------+------+ | Foliocorrida | DNI | +--------------+------+ | 002 | 1004 | | 003 | 1004 | | 004 | 1001 | | 004 | 1002 | | 004 | 1003 | | 005 | 1001 | | 006 | 1002 | +--------------+------+ 7 rows in set (0.00 sec) mysql> update actuan set Foliocorrida=001 where Foliocorrida="004" and DNI="1001 "; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from actuan; +--------------+------+ | Foliocorrida | DNI | +--------------+------+ | 002 | 1004 | | 003 | 1004 | | 004 | 1002 | | 004 | 1003 | | 005 | 1001 | | 006 | 1002 | | 1 | 1001 | +--------------+------+ 7 rows in set (0.00 sec) mysql> update actuan set Foliocorrida="001" where Foliocorrida=1 and DNI="1001"; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from actuan; +--------------+------+ | Foliocorrida | DNI | +--------------+------+ | 001 | 1001 | | 002 | 1004 | | 003 | 1004 | | 004 | 1002 | | 004 | 1003 | | 005 | 1001 | | 006 | 1002 | +--------------+------+ 7 rows in set (0.00 sec) mysql> update actuan set Foliocorrida="005" where Foliocorrida="006" and DNI="10 02"; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from actuan; +--------------+------+ | Foliocorrida | DNI | +--------------+------+ | 001 | 1001 | | 002 | 1004 | | 003 | 1004 | | 004 | 1002 | | 004 | 1003 | | 005 | 1001 | | 005 | 1002 | +--------------+------+ 7 rows in set (0.00 sec) mysql> describe toro; +-------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+----------+------+-----+---------+-------+ | Codigo | char(20) | NO | PRI | NULL | | | Orednenquepasa | char(20) | NO | | NULL | | | Nombre | char(20) | NO | | NULL | | | Color | char(20) | NO | | NULL | | | Ordendeltorero | char(20) | NO | | NULL | | | Unnamed | char(20) | NO | | NULL | | | Codigodeganaderia | char(20) | YES | MUL | NULL | | | Foliocorrida | char(20) | NO | MUL | NULL | | +-------------------+----------+------+-----+---------+-------+ 8 rows in set (0.14 sec) mysql> alter table toro change Codigo Num char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table toro drop column Orednenquepasa; Query OK, 0 rows affected (0.39 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe toro;
+-------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+----------+------+-----+---------+-------+ | Num | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Color | char(20) | NO | | NULL | | | Ordendeltorero | char(20) | NO | | NULL | | | Unnamed | char(20) | NO | | NULL | | | Codigodeganaderia | char(20) | YES | MUL | NULL | | | Foliocorrida | char(20) | NO | MUL | NULL | | +-------------------+----------+------+-----+---------+-------+ 7 rows in set (0.01 sec) mysql> alter table toro change Ordendeltorero Anio_nacio char(20); Query OK, 0 rows affected (0.39 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe toro; +-------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+----------+------+-----+---------+-------+ | Num | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Color | char(20) | NO | | NULL | | | Anio_nacio | char(20) | YES | | NULL | | | Unnamed | char(20) | NO | | NULL | | | Codigodeganaderia | char(20) | YES | MUL | NULL | | | Foliocorrida | char(20) | NO | MUL | NULL | | +-------------------+----------+------+-----+---------+-------+ 7 rows in set (0.01 sec) mysql> alter table toro drop column Unnamed; Query OK, 0 rows affected (0.09 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe toro; +-------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+----------+------+-----+---------+-------+ | Num | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Color | char(20) | NO | | NULL | | | Anio_nacio | char(20) | YES | | NULL | | | Codigodeganaderia | char(20) | YES | MUL | NULL | | | Foliocorrida | char(20) | NO | MUL | NULL | | +-------------------+----------+------+-----+---------+-------+ 6 rows in set (0.00 sec)
mysql> alter table toro change Codigodeganaderia Codigo char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe toro; +--------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+----------+------+-----+---------+-------+ | Num | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Color | char(20) | NO | | NULL | | | Anio_nacio | char(20) | YES | | NULL | | | Codigo | char(20) | YES | MUL | NULL | | | Foliocorrida | char(20) | NO | MUL | NULL | | +--------------+----------+------+-----+---------+-------+ 6 rows in set (0.00 sec) mysql> alter table toro change Foliocorrida Orden char(20); Query OK, 0 rows affected (0.09 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe toro; +------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+----------+------+-----+---------+-------+ | Num | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Color | char(20) | NO | | NULL | | | Anio_nacio | char(20) | YES | | NULL | | | Codigo | char(20) | YES | MUL | NULL | | | Orden | char(20) | YES | MUL | NULL | | +------------+----------+------+-----+---------+-------+ 6 rows in set (0.01 sec) mysql> insert into toro values("1","El pajarito","Negro","1999","G3","005"),("2" ,"Atrevido","Pinto","1998","G1","005"),("3","Valedor","Negro","1999","G2","001") ,("4","navegante","Pinto","1998","G2","004"),("5","Islero","Negro","1999","G1"," 002"),("6","Cabatisco","Pinto","1999","G3","003"),("7","Jabonero","Pinto","1998" ,"G2","004"); Query OK, 7 rows affected (0.00 sec) Records: 7 Duplicates: 0 Warnings: 0 mysql> select * from toro; +-----+-------------+-------+------------+--------+-------+ | Num | Nombre | Color | Anio_nacio | Codigo | Orden | +-----+-------------+-------+------------+--------+-------+ | 1 | El pajarito | Negro | 1999 | G3 | 005 | | 2 | Atrevido | Pinto | 1998 | G1 | 005 | | 3 | Valedor | Negro | 1999 | G2 | 001 | | 4 | navegante | Pinto | 1998 | G2 | 004 | | 5 | Islero | Negro | 1999 | G1 | 002 | | 6 | Cabatisco | Pinto | 1999 | G3 | 003 | | 7 | Jabonero | Pinto | 1998 | G2 | 004 | +-----+-------------+-------+------------+--------+-------+
7 rows in set (0.00 sec) mysql> show tables; +----------------------------+ | Tables_in_amigosdelafiesta | +----------------------------+ | actuan | | apoderado | | corrida | | ganaderia | | plaza | | premio | | torero | | toro | +----------------------------+ 8 rows in set (0.00 sec) mysql> describe premio; +----------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+----------+------+-----+---------+-------+ | Codigodepremio | char(20) | NO | PRI | NULL | | | NUmerodeoreja | char(20) | NO | | NULL | | | Numeroderabo | char(20) | NO | | NULL | | | Puertagrande | char(20) | NO | | NULL | | | DNI | char(20) | YES | MUL | NULL | | +----------------+----------+------+-----+---------+-------+ 5 rows in set (0.05 sec) mysql> alter table premio change Codigodepremio NumPremio char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table premio change NUmerodeoreja Oreja char(20); Query OK, 0 rows affected (0.09 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table premio change Numeroderabo Rabos char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table premio change Puertagrande Puerta_grande char(20); Query OK, 0 rows affected (0.11 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table premio change DNI DNIT char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe premio; +---------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+----------+------+-----+---------+-------+ | NumPremio | char(20) | NO | PRI | | | | Oreja | char(20) | YES | | NULL | | | Rabos | char(20) | YES | | NULL | | | Puerta_grande | char(20) | YES | | NULL | | | DNIT | char(20) | YES | MUL | NULL | | +---------------+----------+------+-----+---------+-------+
5 rows in set (0.00 sec) mysql> alter table premio change Oreja Orejas char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe premio; +---------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+----------+------+-----+---------+-------+ | NumPremio | char(20) | NO | PRI | | | | Orejas | char(20) | YES | | NULL | | | Rabos | char(20) | YES | | NULL | | | Puerta_grande | char(20) | YES | | NULL | | | DNIT | char(20) | YES | MUL | NULL | | +---------------+----------+------+-----+---------+-------+ 5 rows in set (0.01 sec) mysql> insert into premio values("3178","1","0","No","1001"),("3145","4","2","Si ","1002"),("3122","2","1","Si","1003"),("3131","1","0","No","1004"); Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> select * from premio; +-----------+--------+-------+---------------+------+ | NumPremio | Orejas | Rabos | Puerta_grande | DNIT | +-----------+--------+-------+---------------+------+ | 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> describe actuan; +--------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+----------+------+-----+---------+-------+ | Foliocorrida | char(20) | NO | PRI | NULL | | | DNI | char(20) | NO | PRI | NULL | | +--------------+----------+------+-----+---------+-------+ 2 rows in set (0.02 sec)
Cambio del nombre de la columna Anio_nacio de la tabla toros por Fecha_nacimiento. mysql> alter table toro change Anio _nacio fecha_nacimiento char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe toro; +--------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+----------+------+-----+---------+-------+ | Num | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Color | char(20) | NO | | NULL | |
CON ESTE COMANDO CAMBIAMOS EL NOMBRE DE LA COLUMNA ANIO_NACIO POR
FECHA_NACIMIENTO.
|fecha_nacimiento | char(20) | YES | | NULL | | | Codigo | char(20) | YES | MUL | NULL | | | Foliocorrida | char(20) | NO | MUL | NULL | | +--------------+----------+------+-----+---------+-------+ 6 rows in set (0.00 sec)
Cambio del nombre de la columna DNIT1 que es la llave foránea de la tabla toreros por Padrino. mysql> alter table torero change DNIT Padrino char(20); Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe torero; +-------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+----------+------+-----+---------+-------+ | DNIT | char(30) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | |8I | Apodo | char(20) | NO | | NULL | | | Fecha_Alternativa | char(30) | YES | | NULL | | | Padrino | char(20) | YES | MUL | NULL | | | DNIA | char(30) | YES | MUL | NULL | | +-------------------+----------+------+-----+---------+-------+ 6 rows in set (0.00 sec)
Modificación de el registro 1002 de la Tabla Toreros en el campo “Apodo” cambiar el que existe por “El Zotoluco”. mysql> insert into torero values("1001","Jose Rubio","El Joselito","20-12-1978", "Vacio","2003"),("1002","Daniel Sotomayor","El zotoluco","12-01-1985","1001","20 03"),("1003","Carlos Aurelio","El Yeyo","02--7-1990","1002","2002"),("1004","Alf redo","El Cuniado","01-03-1992","1003","2001"); Query OK, 4 rows affected (0.02 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> select * from torero; +------+------------------+-------------+-------------------+-------+------+ | DNIT | Nombre | Apodo | Fecha_Alternativa | DNIT1 | DNIA | +------+------------------+-------------+-------------------+-------+------+ | 1001 | Jose Rubio | El Joselito | 20-12-1978 | Vacio | 2003 | | 1002 | Daniel Sotomayor | El zotoluco | 12-01-1985 | 1001 | 2003 | | 1003 | Carlos Aurelio | El Yeyo | 02--7-1990 | 1002 | 2002 | | 1004 | Alfredo | El Cuniado | 01-03-1992 | 1003 | 2001 | +------+------------------+-------------+-------------------+-------+------+ 4 rows in set (0.00 sec)
Mostrar los datos de los Toreros ordenados de la A a la Z. mysql> select * from torero ORDER BY Nombre desc; +-------+-------------+------+-----------------------------+ | Orden | Feria | Anio | Nombre | +-------+-------------+------+-----------------------------+ | 004 | Mayo | 2011 | El Relicario | | 001 | Tlaxcala | 2010 | El Relicario |
Aquí no fue necesaria la modificación debido a que los registros se crearon con el dato de zotoluco.
CON ESTE COMANDO PODEMOS ORDENAR LOS DATOS DE LA “ A” ALA ” Z” COLUMNA NOMBRES DE FORMA
DESENDENTE
| 003 | Mayo | 2010 | Plaza Monumental de Apizaco | | 005 | Vive Mexico | 2010 | Plaza de Toros Mexico | | 002 | San Nicolas | 2009 | Plaza Monumental de Apizaco | +-------+-------------+------+-----------------------------+ 5 rows in set (0.00 sec)
Mostrar las corridas ordenadas por Año. (Ordenadas descendentemente). mysql> select * from corrida ORDER BY Anio desc; +-------+-------------+------+-----------------------------+ | Orden | Feria | Anio | Nombre | +-------+-------------+------+-----------------------------+ | 004 | Mayo | 2011 | El Relicario | | 001 | Tlaxcala | 2010 | Plaza Monumental de Apizaco | | 003 | Mayo | 2010 | El Relicario | | 005 | Vive Mexico | 2010 | Plaza de Toros Mexico | | 002 | San Nicolas | 2009 | Plaza Monumental de Apizaco | +-------+-------------+------+-----------------------------+ 5 rows in set (0.00 sec)
Cambiar el Nombre de la Tabla Actúan por el Nombre Participan. mysql> alter table actuan rename Participan; Query OK, 0 rows affected (0.00 sec) mysql> describe Participan; +--------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+----------+------+-----+---------+-------+ | Foliocorrida | char(20) | NO | PRI | NULL | | | DNI | char(20) | NO | PRI | NULL | | +--------------+----------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Mostrar todos los datos de las tablas Toreros y Premios considerando la siguiente condición: Toreros.DNIT=Premios.DNTI mysql> select DNIT from torero; +------+ | DNIT | +------+ | 1001 | | 1002 | | 1003 | | 1004 | +------+ 4 rows in set (0.01 sec) mysql> select DNIT from premio; +------+ | DNIT | +------+ | 1001 | | 1002 | | 1003 |
ESTE COMANDO PERMITE CAMBIAR EL NOMBRE DE LA TABLA ACTUAN POR PARTICIPAN.
| 1004 | +------+ 4 rows in set (0.00 sec)
Modificar el registro 7 de la tabla Toros en el campo Color cambiar Pinto por Negro mysql> select * from toro; +-----+-------------+-------+------------------+--------+-------+ | Num | Nombre | Color | Fecha_nacimiento | Codigo | Orden | +-----+-------------+-------+------------------+--------+-------+ | 1 | El pajarito | Negro | 1999 | G3 | 005 | | 2 | Atrevido | Pinto | 1998 | G1 | 005 | | 3 | Valedor | Negro | 1999 | G2 | 001 | | 4 | navegante | Pinto | 1998 | G2 | 004 | | 5 | Islero | Negro | 1999 | G1 | 002 | | 6 | Cabatisco | Pinto | 1999 | G3 | 003 | | 7 | Jabonero | Pinto | 1998 | G2 | 004 | +-----+-------------+-------+------------------+--------+-------+ 7 rows in set (0.00 sec) mysql> update toro set Color="Negro" where Color="Pinto" and Num=7; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from toro; +-----+-------------+-------+------------------+--------+-------+ | Num | Nombre | Color | Fecha_nacimiento | Codigo | Orden | +-----+-------------+-------+------------------+--------+-------+ | 1 | El pajarito | Negro | 1999 | G3 | 005 | | 2 | Atrevido | Pinto | 1998 | G1 | 005 | | 3 | Valedor | Negro | 1999 | G2 | 001 | | 4 | navegante | Pinto | 1998 | G2 | 004 | | 5 | Islero | Negro | 1999 | G1 | 002 | | 6 | Cabatisco | Pinto | 1999 | G3 | 003 | | 7 | Jabonero | Negro | 1998 | G2 | 004 | +-----+-------------+-------+------------------+--------+-------+ 7 rows in set (0.00 sec)
Añadir una columna con el nombre Peso con tipo de dato Entero en la tabla de Toros e ingresar los datos de peso a cada uno de los registros. mysql> describe toro; +------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+----------+------+-----+---------+-------+ | Num | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Color | char(20) | NO | | NULL | | | Fecha_nacimiento | char(20) | YES | | NULL | | | Codigo | char(20) | YES | MUL | NULL | | | Orden | char(20) | YES | MUL | NULL | |
+------------------+----------+------+-----+---------+-------+ 6 rows in set (0.00 sec) mysql> select * from toro; +-----+-------------+-------+------------------+--------+-------+ | Num | Nombre | Color | Fecha_nacimiento | Codigo | Orden | +-----+-------------+-------+------------------+--------+-------+ | 1 | El pajarito | Negro | 1999 | G3 | 005 | | 2 | Atrevido | Pinto | 1998 | G1 | 005 | | 3 | Valedor | Negro | 1999 | G2 | 001 | | 4 | navegante | Pinto | 1998 | G2 | 004 | | 5 | Islero | Negro | 1999 | G1 | 002 | | 6 | Cabatisco | Pinto | 1999 | G3 | 003 | | 7 | Jabonero | Negro | 1998 | G2 | 004 | +-----+-------------+-------+------------------+--------+-------+ 7 rows in set (0.00 sec) mysql> alter table toro add column Peso char(20); Query OK, 7 rows affected (0.11 sec) Records: 7 Duplicates: 0 Warnings: 0 mysql> select * from toro; +-----+-------------+-------+------------------+--------+-------+------+ | Num | Nombre | Color | Fecha_nacimiento | Codigo | Orden | Peso | +-----+-------------+-------+------------------+--------+-------+------+ | 1 | El pajarito | Negro | 1999 | G3 | 005 | NULL | | 2 | Atrevido | Pinto | 1998 | G1 | 005 | NULL | | 3 | Valedor | Negro | 1999 | G2 | 001 | NULL | | 4 | navegante | Pinto | 1998 | G2 | 004 | NULL | | 5 | Islero | Negro | 1999 | G1 | 002 | NULL | | 6 | Cabatisco | Pinto | 1999 | G3 | 003 | NULL | | 7 | Jabonero | Negro | 1998 | G2 | 004 | NULL | +-----+-------------+-------+------------------+--------+-------+------+ 7 rows in set (0.00 sec) mysql> describe toro; +------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+----------+------+-----+---------+-------+ | Num | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | | | Color | char(20) | NO | | NULL | | | Fecha_nacimiento | char(20) | YES | | NULL | | | Codigo | char(20) | YES | MUL | NULL | | | Orden | char(20) | YES | MUL | NULL | | | Peso | char(20) | YES | | NULL | | +------------------+----------+------+-----+---------+-------+ 7 rows in set (0.17 sec) mysql> describe toro; +------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+----------+------+-----+---------+-------+ | Num | char(20) | NO | PRI | | | | Nombre | char(20) | NO | | NULL | |
| Color | char(20) | NO | | NULL | | | Fecha_nacimiento | char(20) | YES | | NULL | | | Codigo | char(20) | YES | MUL | NULL | | | Orden | char(20) | YES | MUL | NULL | | | Peso | char(20) | YES | | NULL | | +------------------+----------+------+-----+---------+-------+ 7 rows in set (0.02 sec) mysql> insert into toro values("1","El pajarito","Negro","1999","G3","005","500 kg"),("2","Atrevido","Pinto","1998","G1","005","450kg"),("3","Valedor","Negro"," 1999","G2","001","487kg"),("4","Navegante","Pinto","1998","G2","004","460kg"),(" 5","Islero","Negro","1999","G1","002","510kg"),("6","Cabatisto","Pinto","1999"," G3","003","490kg"),("7","Jabonero","Pinto","1998","G2","004","505kg"); Query OK, 1 row affected (0.02 sec) mysql> select * from toro; +-----+-------------+-------+------------------+--------+-------+-------+ | Num | Nombre | Color | Fecha_nacimiento | Codigo | Orden | Peso | +-----+-------------+-------+------------------+--------+-------+-------+ | 1 | El pajarito | Negro | 1999 | G3 | 005 | 500kg | | 2 | Atrevido | Pinto | 1998 | G1 | 005 | 450kg | | 3 | Valedor | Negro | 1999 | G2 | 001 | 487kg | | 4 | Navegante | Pinto | 1998 | G2 | 004 | 460kg | | 5 | Islero | Negro | 1999 | G1 | 002 | 510kg | | 6 | Cabatisto | Pinto | 1999 | G3 | 003 | 490kg | | 7 | Jabonero | Pinto | 1998 | G2 | 004 | 505kg | +-----+-------------+-------+------------------+--------+-------+-------+ 7 rows in set (0.00 sec) mysql>
Conclusión. En este trabajo pudimos concluir y definir de mejor los diferentes tipos de comandos que se presentan en nuestro sistema gestor de base de datos llamada toreros, así como también pudimos observar los problemas que se presentaron al escribir un comando erróneo y su solución. Se describió cada comando de una manera clara para que el lector pueda entender de forma fácil y simple, para que cuando dese crear su propia base de datos pueda aplicar estos conocimientos. Siendo este el ultimo trabajo podemos deducir que el curo fue muy bueno ya que todos los trabajos coincidieron y no existieron errores. Por ultimo podemos mencionar que la profesora supo transmitir muy bien los conocimientos del curso.