Vistas de página en total

viernes, 3 de junio de 2011

Ejercicio: Campeonato de Futbol_ en SQL-Server 2008

Hola a todos este es el desarrollo del ejercicio campeonato de futbol, migrar manualmente el modelo Erwin a diferentes gestores de Base de Datos (Sql Server, MySql, PostgreSql y Oracle).

EL MODELO ERWIN



MIGRAR A SQL-SERVER 2008

Primero creamos las tablas con los modelos CREATE TABLE y ALTER TABLE para ingresar las llaves
primarias y foráneas.


CREATE TABLE CAMPEONATO (
       C_CAMPEONATO char(3) NOT NULL,
       N_CAMPENATO varchar(220),
       Q_PARTIDOS  INT,
PRIMARY KEY (C_CAMPEONATO))


CREATE TABLE EQUIPO (
       C_EQUIPO char(2) NOT NULL,
       N_EQUIPO varchar(220),
PRIMARY KEY (C_EQUIPO))




CREATE TABLE ESTADIO (
       C_ESTADIO  char(3) NOT NULL,
       N_ESTADIO  varchar(220),
PRIMARY KEY (C_ESTADIO))


CREATE TABLE JUG_X_EQ_X_CAMP (
       C_JUGADOR    char(3) NOT NULL,
       C_CAMPEONATO char(3) NOT NULL,
       C_EQUIPO     char(2),
PRIMARY KEY (C_JUGADOR, C_CAMPEONATO))


CREATE TABLE JUGADOR (
       C_JUGADOR char(3) NOT NULL,
       N_JUGADOR  varchar(220),
       D_NACIMIENTO DATE,
PRIMARY KEY (C_JUGADOR))


CREATE TABLE JUGADOR_X_PARTIDO (
       C_JUGADOR    char(3) NOT NULL,
       NRO_PARTIDO  INT NOT NULL,
       N_POSICION   varchar(220),
       NRO_CAMISETA INT,
       F_EXPULSADO  char(1),
       F_AMONESTADO char(1),
       F_GOLEADOR   char(1),
PRIMARY KEY (C_JUGADOR, NRO_PARTIDO))






CREATE TABLE PARTIDO (
       NRO_PARTIDO       INT NOT NULL,
       C_ESTADIO         char(3) NOT NULL,
       C_EQUIPO_2        char(2) NOT NULL,
       C_CAMPEONATO      char(3) NOT NULL,
       C_EQUIPO_1        char(2) NOT NULL,
       D_PARTIDO         DATE,
       N_JUEZ_LINEA2     varchar(220),
       N_JUEZ_LINEA1     varchar(250),
       Q_GOLES_E1        INT,
       Q_GOLES_E2        INT,
       N_ARBITRO         varchar(220),
       C_RESULTADO       varchar(20),
PRIMARY KEY (NRO_PARTIDO))

ALTER TABLE JUG_X_EQ_X_CAMP
       ADD FOREIGN KEY (C_JUGADOR)
                             REFERENCES JUGADOR
ALTER TABLE JUG_X_EQ_X_CAMP
       ADD  FOREIGN KEY (C_EQUIPO)
                             REFERENCES EQUIPO
ALTER TABLE JUG_X_EQ_X_CAMP
       ADD  FOREIGN KEY (C_CAMPEONATO)
                             REFERENCES CAMPEONATO
ALTER TABLE JUGADOR_X_PARTIDO
       ADD  FOREIGN KEY (NRO_PARTIDO)
                             REFERENCES PARTIDO
ALTER TABLE JUGADOR_X_PARTIDO
       ADD  FOREIGN KEY (C_JUGADOR)
                             REFERENCES JUGADOR
ALTER TABLE PARTIDO
       ADD  FOREIGN KEY (C_ESTADIO)
                             REFERENCES ESTADIO
ALTER TABLE PARTIDO
       ADD  FOREIGN KEY (C_EQUIPO_1)
                             REFERENCES EQUIPO
ALTER TABLE PARTIDO
       ADD  FOREIGN KEY (C_EQUIPO_2)
                             REFERENCES EQUIPO
ALTER TABLE PARTIDO
       ADD  FOREIGN KEY (C_CAMPEONATO)
                             REFERENCES CAMPEONATO
Ejecutamos el query y se crearan las tablas:



INSERT INTO EQUIPO VALUES
('E1','ALIANZA LIMA'),
('E2','UNIVERSITARIO'),
('E3','SPORT ANCASH'),
('E4','CRISAL'),
('E5','BOYS')

INSERT INTO CAMPEONATO(N_CAMPENATO,C_CAMPEONATO,Q_PARTIDOS) VALUES
('APERTURA 2011', 'A11',24),
('APERTURA 2010', 'A10',32),
('CLAUSURA 2010', 'C10',28),
('CLAUSURA 2011', 'C11',19)

INSERT INTO JUGADOR (C_JUGADOR,N_JUGADOR) VALUES
('J01','WALDIR SAENZ'),
('J02','JOSE CARRANZA'),
('J03','JUAN PEREZ'),
('J04','CHECHO IBARRA'),
('J05','CHEMO DEL SOLAR'),
('J06','RAYMOND MANCO'),
('J07','FOCA FARFAN'),
('J08','RANA HUERTAS'),
('J09','CULEBRA OREJUELA'),
('J10','PEPE SOTO'),
('J11','CHORRI PALACIOS'),
('J12','LABRUJA VERON'),
('J13','TECLA FARIAS'),
('J14','LOCO VARGAS'),
('J15','CHOLITO SOTIL'),
('J16','LECHUGA ROA'),
('J17','CHATO TORRES'),
('J18','PULGA MESSI'),
('J19','MAGO MARKARIAN'),
('J20','PACO ELFLACO')


INSERT INTO JUG_X_EQ_X_CAMP VALUES
('J01','A10','E1'),
('J02','A10','E1'),
('J03','A10','E1'),
('J04','A10','E1'),
('J05','A10','E1'),

('J06','A10','E2'),
('J07','A10','E2'),
('J08','A10','E2'),
('J09','A10','E2'),
('J10','A10','E2'),










7 comentarios:

  1. Es un buen ejemplo muy buen trabajo amigo

    ResponderEliminar
  2. Buen trabajo, pero te hago una consulta, y la tabla de posiciones ??

    ResponderEliminar
  3. Hola Cristian, la verdad hace mucho que no reviso este blog, lo hice hace algunos años como parte de un trabajo de la universidad, ahora ya no veo mucho de modelos ER como estos, ahora estoy dedicado al BI y veo modelos dimensionales pero cuando tenga un tiempo voy añadir una tabla de posiciones y si tienen alguna consulta sobre BI puedo añadir más entradas sobre eso... Saludos

    ResponderEliminar
  4. otra consulta, que significa la columna resultado ? cuando decis que gano? quien gano ? de los 2 equipos ? o empate ? que funcion cumple esa columna ?

    ResponderEliminar
  5. Hola

    Estuve buscando algo parecido por que se me presenta un problema, por razones confidenciales tengo que cambiar el nombre de los campos que voy a tratar, veo que tienes una tabla llamada partido y en ella tienes N_JUEZ_LINEA1 y N_JUEZ_LINEA2. Supongamos que tengo 20 jueces, tengo que guardar datos sobre ellos ejmplo Nombre, Apellido, Edad, Numero de telefono etc. entonces como hago para poner dos campos con un mismo id_juez1 y id_juez2 en la tabla partido? si alguien me puede decir le agredezco mucho...

    ResponderEliminar
  6. Tienes el código para que me lo regales por fa

    ResponderEliminar