Advertisement
tomasfdel

TBD Práctica 5

Oct 23rd, 2018
591
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.14 KB | None | 0 0
  1. -- EJERCICIO 1
  2.  
  3. CREATE TABLE Pilotos
  4.     (NumeroLicencia INT,
  5.      NombrePiloto CHAR(50) NOT NULL,
  6.      NombreEquipo CHAR(50),
  7.      Pais CHAR(30) NOT NULL,
  8.      PRIMARY KEY (NumeroLicencia),
  9.      FOREIGN KEY (NombreEquipo) REFERENCES Equipos ON UPDATE CASCADE ON DELETE NULLIFY
  10.      );
  11.        
  12. CREATE TABLE Equipos
  13.     (NombreEquipo CHAR(50),
  14.      Responsable CHAR(50) NOT NULL,
  15.      Pais CHAR(30) NOT NULL,
  16.      PRIMARY KEY (NombreEquipo),
  17.      );
  18.        
  19. CREATE TABLE Carreras
  20.     (NombrePremio CHAR(50),
  21.      Pais CHAR(30) NOT NULL,
  22.      Ciudad CHAR(30) NOT NULL,
  23.      NombreAutodromo CHAR(50) NOT NULL,
  24.      NumeroEtapa INT NOT NULL,
  25.      Fecha DATE NOT NULL,
  26.      PRIMARY KEY (NombrePremio, NumeroEtapa),
  27.      );
  28.  
  29. CREATE TABLE Resultados
  30.     (NombrePremio CHAR(50),
  31.      NumeroEtapa INT,
  32.      NumeroLicencia INT,
  33.      Posicion INT NOT NULL,
  34.      Puntos INT NOT NULL,
  35.      PRIMARY KEY (NombrePremio, NumeroEtapa, NumeroLicencia),
  36.      FOREIGN KEY (NombrePremio) REFERENCES Carreras ON DELETE CASCADE ON UPDATE CASCADE,
  37.      FOREIGN KEY (NumeroLicencia) REFERENCES Pilotos ON UPDATE RESTRICTED
  38.      );
  39.  
  40. -- EJERCICIO 2
  41. -- No puse ninguna restricción ON DELETE u ON UPDATE. Tampoco sé si son necesarias.
  42.  
  43. CREATE TABLE Curso
  44.     (NumCurso INT,
  45.      Titulo CHAR(50),
  46.      PRIMARY KEY (NumCurso)
  47.     );
  48.  
  49. CREATE TABLE Requisito
  50.     (NumCurso_Sup INT,
  51.      NumCurso_Sub INT,
  52.      PRIMARY KEY(NumCurso_Sup, NumCurso_Sub),
  53.      FOREIGN KEY(NumCurso_Sup) REFERENCES Curso(NumCurso),
  54.      FOREIGN KEY(NumCurso_Sub) REFERENCES Curso(NumCurso)
  55.     );
  56.  
  57. CREATE TABLE Ofrecimiento
  58.     (NumCurso INT,
  59.      NumOfr INT,
  60.      Fecha DATE,
  61.      Salon INT,
  62.      PRIMARY KEY(NumCurso, NumOfr),
  63.      FOREIGN KEY(NumCurso) REFERENCES Curso
  64.     );
  65.  
  66. CREATE TABLE Profesor
  67.     (NumCurso INT,
  68.      NumOfr INT,
  69.      NumEmp INT,
  70.      FOREIGN KEY (NumCurso, NumOfr) REFERENCES Ofrecimiento,
  71.      FOREIGN KEY (NumEmp) REFERENCES Empleado
  72.     );
  73.  
  74. CREATE TABLE Estudiante
  75.     (NumCurso INT,
  76.      NumOfr INT,
  77.      NumEmp INT,
  78.      Calificacion FLOAT,
  79.      PRIMARY KEY (NumCurso, NumOfr, NumEmp),
  80.      FOREIGN KEY (NumCurso, NumOfr) REFERENCES Ofrecimiento,
  81.      FOREIGN KEY (NumEmp) REFERENCES Empleado
  82.     );
  83.  
  84. CREATE TABLE Empleado
  85.     (NumEmp INT,
  86.      ENombre CHAR(50),
  87.      Puesto CHAR(50),
  88.      PRIMARY KEY(NumEmp)
  89.     );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement