0% encontró este documento útil (0 votos)
42 vistas2 páginas

Estructura de Base de Datos Académica

El documento define las tablas de una base de datos para una universidad, incluyendo tablas para departamentos, profesores, asignaturas, alumnos matriculados y cursos escolares, así como las relaciones entre ellas a través de claves primarias y foráneas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
42 vistas2 páginas

Estructura de Base de Datos Académica

El documento define las tablas de una base de datos para una universidad, incluyendo tablas para departamentos, profesores, asignaturas, alumnos matriculados y cursos escolares, así como las relaciones entre ellas a través de claves primarias y foráneas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

CREATE TABLE departamento (

id NUMBER(2,0) CONSTRAINT id PRIMARY KEY,


nombre VARCHAR(50)CONSTRAINT nombre NOT NULL
);

CREATE TABLE persona (


id NUMBER(10) CONSTRAINT id_pk PRIMARY KEY,
nif VARCHAR2(9) CONSTRAINT nif_uk UNIQUE,
nombre VARCHAR2(25) CONSTRAINT nombre_nn NOT NULL,
apellido1 VARCHAR2(50) CONSTRAINT apellido1_nn NOT NULL,
apellido2 VARCHAR2(50),
ciudad VARCHAR2(25) CONSTRAINT ciudad_nn NOT NULL,
direccion VARCHAR2(50) CONSTRAINT direccion_nn NOT NULL,
telefono VARCHAR2(9),
fecha_nacimiento DATE CONSTRAINT fecha_nacimiento_nn NOT NULL,
sexo CHAR(1) CONSTRAINT sexo_ck CHECK (sexo IN ('H', 'M')),
tipo VARCHAR2(10) CONSTRAINT tipo_nn NOT NULL
);

CREATE TABLE profesor (


id_profesor NUMBER(10) CONSTRAINT id_profesor_pk PRIMARY KEY,
id_departamento NUMBER(10) CONSTRAINT id_departamento_fk REFERENCES
departamento(id),
CONSTRAINT profesor_persona_fk FOREIGN KEY (id_profesor) REFERENCES persona(id)
);

CREATE TABLE grado (


id NUMBER(10) CONSTRAINT grado_id_pk PRIMARY KEY,
nombre VARCHAR2(100) CONSTRAINT grado_nombre_nn NOT NULL
);

CREATE TABLE asignatura (


id NUMBER(10) CONSTRAINT asignatura_id_pk PRIMARY KEY,
nombre VARCHAR2(100) CONSTRAINT asignatura_nombre_nn NOT NULL,
creditos NUMBER(10, 2) CONSTRAINT asignatura_creditos_nn NOT NULL,
tipo VARCHAR2(20) CONSTRAINT asignatura_tipo_nn NOT NULL,
curso NUMBER(3) CONSTRAINT asignatura_curso_nn NOT NULL,
cuatrimestre NUMBER(3) CONSTRAINT asignatura_cuatrimestre_nn NOT NULL,
id_profesor NUMBER(10) CONSTRAINT asignatura_profesor_fk REFERENCES
profesor(id_profesor),
id_grado NUMBER(10) CONSTRAINT asignatura_grado_fk REFERENCES grado(id)
);

CREATE TABLE curso_escolar (


id NUMBER(10) CONSTRAINT curso_escolar_id_pk PRIMARY KEY,
anyo_inicio NUMBER(4) CONSTRAINT anyo_inicio_nn NOT NULL,
anyo_fin NUMBER(4) CONSTRAINT anyo_fin_nn NOT NULL
);

CREATE TABLE alumno_se_matricula_asignatura (


id_alumno NUMBER(10) CONSTRAINT alumno_se_matricula_asignatura_alumno_fk
REFERENCES persona(id),
id_asignatura NUMBER(10) CONSTRAINT
alumno_se_matricula_asignatura_asignatura_fk REFERENCES asignatura(id),
id_curso_escolar NUMBER(10) CONSTRAINT
alumno_se_matricula_asignatura_curso_escolar_fk REFERENCES curso_escolar(id),
PRIMARY KEY (id_alumno, id_asignatura, id_curso_escolar)
);

select * from departamento;

También podría gustarte