Advertisement
lucks232

Untitled

Aug 22nd, 2024
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. create table alumnos (
  2.   id_alumno bigint primary key generated always as identity,
  3.   nombre text not null,
  4.   apellido1 text not null,
  5.   apellido2 text,
  6.   ID_legal text not null,
  7.   fecha_nacimiento date not null,
  8.   code_expediente text not null
  9. );
  10.  
  11. create table ciclos_formativos (
  12.   id_ciclo bigint primary key generated always as identity,
  13.   nombre_ciclo text not null,
  14.   nivel text not null check (nivel in ('Grado Medio', 'Grado Superior')),
  15.   "regulación" text
  16. );
  17.  
  18. create table modulos (
  19.   id_modulo bigint primary key generated always as identity,
  20.   "código_modulo" text not null,
  21.   nombre_modulo text not null,
  22.   ciclo_asignado bigint references ciclos_formativos (id_ciclo),
  23.   "duración" int not null
  24. );
  25.  
  26. create table calificaciones (
  27.   "id_calificación" bigint primary key generated always as identity,
  28.   id_alumno bigint references alumnos (id_alumno),
  29.   id_modulo bigint references modulos (id_modulo),
  30.   "calificación" numeric(3, 2) not null,
  31.   convocatoria int not null,
  32.   curso_escolar text not null,
  33.   estado_modulo text not null check (
  34.     estado_modulo in (
  35.       'Superado',
  36.       'No Superado',
  37.       'Exento',
  38.       'Convalidado'
  39.     )
  40.   )
  41. );
  42.  
  43. create table certificados (
  44.   id_certificado bigint primary key generated always as identity,
  45.   id_alumno bigint references alumnos (id_alumno),
  46.   "fecha_expedición" date not null,
  47.   tipo_certificado text not null,
  48.   resultado_final text,
  49.   "estado_título" text not null check (
  50.     "estado_título" in ('Cumple Requisitos', 'No Cumple Requisitos')
  51.   ),
  52.   observaciones text
  53. );
  54.  
  55. create table firmantes (
  56.   id_firmante bigint primary key generated always as identity,
  57.   nombre_firmante text not null,
  58.   cargo text not null
  59. );
  60.  
  61. alter table calificaciones
  62. alter column id_alumno
  63. set not null;
  64.  
  65. alter table calificaciones
  66. alter column id_modulo
  67. set not null;
  68.  
  69. alter table certificados
  70. alter column id_alumno
  71. set not null;
  72.  
  73. alter table certificados
  74. rename column resultado_final to nota_media;
  75.  
  76. truncate calificaciones;
  77.  
  78. alter table calificaciones
  79. add column ano_escolar text not null;
  80.  
  81. create table regulaciones (
  82.   id_regulacion bigint primary key generated always as identity,
  83.   ano_escolar text not null,
  84.   id_ciclo bigint references ciclos_formativos (id_ciclo),
  85.   real_decreto text not null,
  86.   orden text not null
  87. );
  88.  
  89. create table certificado_regulaciones (
  90.   id_certificado_regulacion bigint primary key generated always as identity,
  91.   id_certificado bigint references certificados (id_certificado),
  92.   id_regulacion bigint references regulaciones (id_regulacion)
  93. );
  94.  
  95. drop table if exists certificado_regulaciones;
  96.  
  97. drop table if exists regulaciones;
  98.  
  99. create table regulaciones (
  100.   id_regulacion bigint primary key generated always as identity,
  101.   id_ciclo bigint references ciclos_formativos (id_ciclo),
  102.   ano_escolar text not null,
  103.   real_decreto text not null,
  104.   orden text not null
  105. );
  106.  
  107. alter table modulos
  108. alter column ciclo_asignado
  109. set not null;
  110.  
  111. alter table certificados
  112. add column requisito_academico boolean not null default false;
  113.  
  114. alter table certificados
  115. alter column "fecha_expedición"
  116. drop not null;
  117.  
  118. alter table certificados
  119. alter column "fecha_expedición"
  120. drop not null;
  121.  
  122. comment on column ciclos_formativos.nivel is 'Grado Medio o Grado Superior';
  123.  
  124. alter table ciclos_formativos
  125. drop "regulación";
  126.  
  127. alter table regulaciones
  128. add column norma_legal text;
  129.  
  130. alter table regulaciones
  131. drop real_decreto;
  132.  
  133. alter table regulaciones
  134. drop orden;
  135.  
  136. alter table regulaciones
  137. alter column norma_legal
  138. set not null;
  139.  
  140. alter table regulaciones
  141. alter column id_ciclo
  142. set not null;
  143.  
  144. alter table alumnos
  145. rename column dni to id_legal;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement