commit
8a055cf3e8
@ -1,3 +1,5 @@
|
||||
# Olímpicos
|
||||
|
||||
## Integrantes
|
||||
- Christopher Cromer
|
||||
- Ignacio Ortiz
|
140
schema.sql
Normal file
140
schema.sql
Normal file
@ -0,0 +1,140 @@
|
||||
CREATE TABLE medalla(
|
||||
id_medalla NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
descripcion VARCHAR2(50),
|
||||
CONSTRAINT medalla_pk PRIMARY KEY (id_medalla)
|
||||
);
|
||||
|
||||
CREATE TABLE atleta(
|
||||
id_atleta NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
nombre VARCHAR2(50),
|
||||
apellido VARCHAR2(50),
|
||||
fecha_nacimiento DATE,
|
||||
nacionalidad VARCHAR2(50),
|
||||
CONSTRAINT atleta_pk PRIMARY KEY (id_atleta)
|
||||
);
|
||||
|
||||
CREATE TABLE tipos_deportes(
|
||||
id_tipo NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
descripcion VARCHAR(50),
|
||||
CONSTRAINT tipo_pk PRIMARY KEY (id_tipo)
|
||||
);
|
||||
|
||||
CREATE TABLE ciudad(
|
||||
id_ciudad NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
nombre VARCHAR(50),
|
||||
pais NUMBER,
|
||||
CONSTRAINT ciudad_pk PRIMARY KEY (id_ciudad),
|
||||
CONSTRAINT ciudad_pais_fk FOREIGN KEY (pais) REFERENCES pais(id_ciudad)
|
||||
);
|
||||
|
||||
CREATE TABLE pais(
|
||||
id_pais NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
nombre VARCHAR(50),
|
||||
CONSTRAINT pais_pk PRIMARY KEY (id_pais)
|
||||
);
|
||||
|
||||
CREATE TABLE capital(
|
||||
id_pais NUMBER,
|
||||
id_ciudad NUMBER,
|
||||
CONSTRAINT capital_pk PRIMARY KEY (id_pais, id_ciudad),
|
||||
CONSTRAINT capital_pais_fk FOREIGN KEY (id_pais) REFERENCES pais(id_pais),
|
||||
CONSTRAINT capital_ciudad_fk FOREIGN KEY (id_ciudad) REFERENCES ciudad(id_ciudad)
|
||||
);
|
||||
|
||||
CREATE TABLE hotel(
|
||||
id_hotel NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
nombre VARCHAR2(50),
|
||||
ciudad NUMBER,
|
||||
CONSTRAINT hotel_pk PRIMARY KEY (id_hotel),
|
||||
CONSTRAINT hotel_ciudad_fk FOREIGN KEY (ciudad) REFERENCES ciudad(id_ciudad)
|
||||
);
|
||||
|
||||
CREATE TABLE delegacion(
|
||||
id_delegacion NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
nombre VARCHAR2(50),
|
||||
cantidad_atletas NUMBER,
|
||||
pais NUMBER,
|
||||
atleta NUMBER,
|
||||
CONSTRAINT delegacion_pk PRIMARY KEY (id_delegacion),
|
||||
CONSTRAINT delegacion_pais_fk FOREIGN KEY (pais) REFERENCES pais(id_pais),
|
||||
CONSTRAINT delegacion_atleta_fk FOREIGN KEY (atleta) REFERENCES atleta(id_atleta)
|
||||
);
|
||||
|
||||
CREATE TABLE categoria(
|
||||
id_categoria NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
descripcion VARCHAR(50),
|
||||
CONSTRAINT categoria_pk PRIMARY KEY (id_categoria)
|
||||
);
|
||||
|
||||
CREATE TABLE lugar(
|
||||
id_lugar NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
nombre VARCHAR2(50),
|
||||
capacidad NUMBER,
|
||||
ciudad NUMBER,
|
||||
CONSTRAINT lugar_pk PRIMARY KEY (id_lugar),
|
||||
CONSTRAINT lugar_ciudad_fk FOREIGN KEY (ciudad) REFERENCES ciudad(id_ciudad)
|
||||
);
|
||||
|
||||
CREATE TABLE competencia(
|
||||
id_competencia NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
nombre VARCHAR2(50),
|
||||
categoria NUMBER,
|
||||
tipo NUMBER,
|
||||
lugar NUMBER,
|
||||
CONSTRAINT competencia_pk PRIMARY KEY (id_competencia),
|
||||
CONSTRAINT competencia_categoria_fk FOREIGN KEY (categoria) REFERENCES categoria(id_categoria),
|
||||
CONSTRAINT competencia_tipo_fk FOREIGN KEY (tipo) REFERENCES tipos_deportes(id_tipo),
|
||||
CONSTRAINT competencia_lugar_fk FOREIGN KEY (lugar) REFERENCES lugar(id_lugar)
|
||||
);
|
||||
|
||||
CREATE TABLE precompetencia(
|
||||
id_precompetencia NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
|
||||
fecha DATE,
|
||||
competencia NUMBER,
|
||||
lugar NUMBER,
|
||||
CONSTRAINT precompetencia_pk PRIMARY KEY (id_precompetencia),
|
||||
CONSTRAINT precompetencia_competencia_fk FOREIGN KEY (competencia) REFERENCES competencia(id_competencia),
|
||||
CONSTRAINT precompetencia_lugar_fk FOREIGN KEY (lugar) REFERENCES lugar(id_lugar)
|
||||
);
|
||||
|
||||
CREATE TABLE hospedar(
|
||||
id_hotel NUMBER,
|
||||
id_delegacion NUMBER,
|
||||
fecha_inicio DATE,
|
||||
fecha_fin DATE,
|
||||
precio NUMBER,
|
||||
CONSTRAINT hospedar_pk PRIMARY KEY (id_hotel, id_delegacion),
|
||||
CONSTRAINT hospedar_hotel_fk FOREIGN KEY (id_hotel) REFERENCES hotel(id_hotel),
|
||||
CONSTRAINT hospedar_delegacion_fk FOREIGN KEY (id_delegacion) REFERENCES delegacion(id_delegacion)
|
||||
);
|
||||
|
||||
CREATE TABLE ganar(
|
||||
id_atleta NUMBER,
|
||||
id_competencia NUMBER,
|
||||
id_medalla NUMBER,
|
||||
fecha DATE,
|
||||
puntaje NUMBER,
|
||||
CONSTRAINT ganar_pk PRIMARY KEY (id_atleta, id_competencia, id_medalla),
|
||||
CONSTRAINT ganar_atleta_fk FOREIGN KEY (id_atleta) REFERENCES atleta(id_atleta),
|
||||
CONSTRAINT ganar_competencia_fk FOREIGN KEY (id_competencia) REFERENCES competencia(id_competencia),
|
||||
CONSTRAINT ganar_medalla_fk FOREIGN KEY (id_medalla) REFERENCES medalla(id_medalla)
|
||||
);
|
||||
|
||||
CREATE TABLE participar_competencia(
|
||||
id_competencia NUMBER,
|
||||
id_atleta NUMBER,
|
||||
fecha DATE,
|
||||
CONSTRAINT participar_competencia_pk PRIMARY KEY (id_competencia, id_atleta),
|
||||
CONSTRAINT participar_competencia_competencia_fk FOREIGN KEY (id_competencia) REFERENCES competencia(id_competencia),
|
||||
CONSTRAINT participar_competencia_atleta_fk FOREIGN KEY (id_atleta) REFERENCES atleta(id_atleta)
|
||||
);
|
||||
|
||||
CREATE TABLE participar_precompetencia(
|
||||
id_precompetencia NUMBER,
|
||||
id_atleta NUMBER,
|
||||
puntaje NUMBER,
|
||||
fecha DATE,
|
||||
CONSTRAINT participar_precompetencia_pk PRIMARY KEY (id_precompetencia, id_atleta),
|
||||
CONSTRAINT participar_precompetencia_precompetencia_fk FOREIGN KEY (id_precompetencia) REFERENCES precompetencia(id_precompetencia),
|
||||
CONSTRAINT participar_precompetencia_atleta_fk FOREIGN KEY (id_atleta) REFERENCES atleta(id_atleta)
|
||||
);
|
Loading…
Reference in New Issue
Block a user