Está en la página 1de 21

DISEÑO DE PROYECTOS

Fase 2 Diseño

PRESENTADO POR.
JESUS ALEXANDER GUERRERO TERAN– 1085309905

No. Grupo:
301125_5

PRESENTADO A.
JHONATAN CAMILO DAVILA
TUTOR

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD


INGENIERIA DE SISTEMAS
PALMIRA – 27/05/2021
DISEÑO DE PROYECTOS

Tabla de contenido

1. Entidades
2. Técnicas de normalización
3. Modelo relacional
4. Base de datos
5. Información de la base de datos
6. Consultas
7. Sentencias
DISEÑO DE PROYECTOS

INTRODUCCION

El trabajo trata de crear una base de datos aprender códigos e insertar información
también consultar que información tiene cada tabla para poder tener una base de
datos organizado
DISEÑO DE PROYECTOS

Objetivos

Tener la información clara aprender todo el tema de base de datos saber cómo
insertar la información y como consultarla, saber qué información necesitamos y
como consultarla
DISEÑO DE PROYECTOS

ACTIVIDAD A DESARROLLAR

1. Seleccionar y responder una de las cinco preguntas motivadoras


en un párrafo de su propia autoría que contenga mínimo 150
palabras y máximo 200 palabras.

¿Qué se conoce como lenguaje SQL?

El lenguaje de consulta estructurado popularmente conocido por sus


siglas en inglés como SQL, es un lenguaje de programación que ayuda a
solucionar problemas o relacionados con la definición, la manipulación e
integridad de la información representada por los datos que se
almacenan en las bases de datos.
Algunos aspectos de SQL están basados en el cálculo relacional, algunos
en el álgebra relacional que provienen del modelo relacional y otros a
ninguno de los dos sino que son parte de SQL.
El lenguaje SQL se basa en varios elementos para la comodidad de los
desarrolladores, todos los comandos del lenguaje necesarios en los
correspondientes sistemas de gestión de bases se ejecutan a través de
una interfaz específica de línea de comandos SQL (command-line
interface o cli).

Cláusulas: Las cláusulas son componentes de los estados y las querys.


Expresiones: Las expresiones pueden producir valores escalares o
tablas, que consisten en columnas y filas de datos.
Predicados: Especifican las condiciones que se utilizan para limitar los
efectos de los comandos y las consultas, o para cambiar el flujo del
programa.
Querys: Una query o consulta va a recuperar los datos, en base a un
criterio dado.
Comandos: Puedes controlar las operaciones, el flujo del programa,
conexiones, sesiones, o diagnósticos en los sistemas de bases de datos,
los comandos o sentencias SQL se utilizan para el envío de consultas
desde un programa cliente a un servidor donde se almacenan las bases
de datos como respuesta, el servidor procesa los comandos SQL y
devuelve respuestas al programa cliente, esto permite a los usuarios
ejecutar una amplia gama de maravillosas y rápidas operaciones de
DISEÑO DE PROYECTOS

manipulación de datos, desde simples entradas de datos a complicadas


querys.
Consultas SQL: Las consultas SQL son las operaciones más comunes y
esenciales del lenguaje SQL a través de una consulta, se puede buscar
en la base de datos para obtener la información necesaria, las consultas
SQL se ejecutan con el comando "select" una consulta SQL puede ser
más específico, con la ayuda de diversas cláusulas:
From: Indica la tabla en la que se realiza la búsqueda.
Where: Se utiliza para definir las filas, en las que se realizará la
búsqueda todas las filas, para el cual la cláusula where no es cierta,
serán excluidas.
Order by: Esta es la única manera de ordenar los resultados en SQL de
lo contrario, serán devueltos en un orden aleatorio.

Un ejemplo de una consulta en el lenguaje SQL es este:


select*from empleados where provincia = 'barcelona' and estado =
'casado' order by apellido;

SQL posee comandos referentes a:

Un lenguaje de definición de datos o ddl en inglés, que permite:


 La creación de la estructura o esquema de base de datos.
 La modificación de dicha estructura.
 Un lenguaje de manipulación de datos o dml en inglés, que hace
posible:
 La inserción de datos en tablas.
 Las consultas sobre los datos de estas tablas.
 La actualización de los datos contenidos en estas tablas.
 La eliminación de los registros de estas tablas.
 Peticiones de información más complejas que incluyen joins y
Subconsultas.
Integridad: El ddl incluye también comandos para especificar las
restricciones de integridad que el dbms debe hacer cumplir definición de
vistas o tablas derivadas.
Funciones de agrupamiento: Permiten hacer cálculos de resúmenes.
Control de transacciones: Como unidad de trabajo lógica, unidad de
recuperación y mecanismo de concurrencia.
Autorización: Incluye comandos para otorgar los privilegios de acceso
a las tablas, vistas y otros elementos de base de datos.
SQL incorporado y dinámico: Esto quiere decir que se puede
incorporar comandos SQL en lenguajes de programación como c++,
php, java, etc. *realizar una consulta por cada join.
DISEÑO DE PROYECTOS

6. Realizar el modelo relacional de la base de datos a partir del proceso de normalización,


haciendo uso de la herramienta Oracle Data Modeler.

7. Crear la base de datos relacional que responda a las necesidades del proyecto propuesto.
Para la creación de la BD, se debe hacer uso del lenguaje de definición de datos DDL y
tomando como insumo el diagrama relacional; se sugiere hacer uso de la herramienta
Oracle APEX.
8. CREATE TABLE programa (
9.     id_programa         INTEGER NOT NULL,
10.    nombre              VARCHAR2(80),
11.    escuela_escuela_id  NUMBER NOT NULL
12.);
13.
14.ALTER TABLE programa ADD CONSTRAINT programa_pk PRIMARY KEY (id_progra
ma );
15.
16.ALTER TABLE programa
17.    ADD CONSTRAINT programa_escuela_fk FOREIGN KEY ( escuela_escuela_i
d )
DISEÑO DE PROYECTOS

18.        REFERENCES escuela ( escuela_id );
19.
20.ALTER TABLE estudianteprograma
21.    ADD CONSTRAINT estudianteprograma_programa_fk FOREIGN KEY (id_prog
rama )
22.        REFERENCES programa (id_programa );
23.
24.INSERt INTO escuela(escuela_id,id_escuela,nombre) VALUES (1,1,'Escuela 
de Ciencias Básicas, Tecnología e Ingeniería (ECBTI)')
25.INSERt INTO escuela(escuela_id,id_escuela,nombre) VALUES (2,1,'Adminis
trativas, Contables, Económicas y de Negocios')
26.
27.   INSERT INTO programa(id_programa,nombre,escuela_escuela_id) values 
(1,'INGENIERIA',1);
28.   INSERT INTO programa (id_programa,nombre,escuela_escuela_id) values 
(2,'Diseño Industrial',1);
29.   INSERT INTO programa (id_programa,nombre,escuela_escuela_id) values 
(3,'Ingeneria industrial',2);
30.
31.   SELECT MIN(id_programa), nombre from programa group by nombre;
32.   SELECT MIN(id_programa) from programa;
33.   SELECT MAX(id_programa) from programa;
34.   SELECT COUNT(id_programa)from programa;
35.

36. CREATE TABLE escuela (
37.    escuela_id  NUMBER NOT NULL,
38.    id_escuela  INTEGER,
39.    nombre      VARCHAR2(80)
40.);
41.
42.ALTER TABLE escuela ADD CONSTRAINT escuela_pk PRIMARY KEY ( escuela_id 
);
43.
44.ALTER TABLE programa
45.    ADD CONSTRAINT programa_escuela_fk FOREIGN KEY ( escuela_escuela_i
d )
46.        REFERENCES escuela ( escuela_id );
47.
48.CREATE SEQUENCE escuela_escuela_id_seq START WITH 1 NOCACHE ORDER;
49.
50.CREATE OR REPLACE TRIGGER escuela_escuela_id_trg BEFORE
51.    INSERT ON escuela
52.    FOR EACH ROW
53.    WHEN ( new.escuela_id IS NULL )   
DISEÑO DE PROYECTOS

54.    BEGIN
55.    :new.escuela_id := escuela_escuela_id_seq.nextval;
56.END; 
57.
58.CREATE TABLE estudianteprograma (
59.    programa_id_programa  INTEGER NOT NULL,
60.    usuario_id_usuario    INTEGER NOT NULL
61.);
62.
63.ALTER TABLE estudianteprograma ADD CONSTRAINT estudianteprograma_pk PR
IMARY KEY ( programa_id_programa,
64.                                                                      
            usuario_id_usuario );
65.
66.ALTER TABLE estudianteprograma
67.    ADD CONSTRAINT estudianteprograma_programa_fk FOREIGN KEY ( progra
ma_id_programa )
68.        REFERENCES programa ( id_programa );
69.
70.ALTER TABLE estudianteprograma
71.    ADD CONSTRAINT estudianteprograma_usuario_fk FOREIGN KEY ( usuario
_id_usuario )
72.        REFERENCES usuario ( id_usuario );
73.
74.CREATE TABLE usuario (
75.    id_usuario                          INTEGER NOT NULL,
76.    primernombre                        VARCHAR2(80),
77.    segundonombre                       VARCHAR2(80),
78.    primerapellido                      VARCHAR2(80),
79.    documento                           DATE,
80.    dirreccion                          DATE,
81.    tipousuario_id_tipousuario          INTEGER NOT NULL,
82.    tipodocumento_id_tipodocumento      INTEGER NOT NULL, 
83.    centro_atencion_id_centro_atencion  INTEGER NOT NULL,
84.    municipio_id_municipio              INTEGER NOT NULL,
85.    estadocivil_id_estadocivil          INTEGER NOT NULL
86.);
87.
88.ALTER TABLE usuario ADD CONSTRAINT usuario_pk PRIMARY KEY ( id_usuario 
);
89.
90.ALTER TABLE usuario
91.    ADD CONSTRAINT usuario_centro_atencion_fk FOREIGN KEY ( centro_ate
ncion_id_centro_atencion )
92.        REFERENCES centro_atencion ( id_centro_atencion );
DISEÑO DE PROYECTOS

93.
94.ALTER TABLE usuario
95.    ADD CONSTRAINT usuario_estadocivil_fk FOREIGN KEY ( estadocivil_id
_estadocivil )
96.        REFERENCES estadocivil ( id_estadocivil );
97.
98.ALTER TABLE usuario
99.    ADD CONSTRAINT usuario_municipio_fk FOREIGN KEY ( municipio_id_mun
icipio )
100.         REFERENCES municipio ( id_municipio );
101.
102. ALTER TABLE usuario
103.     ADD CONSTRAINT usuario_tipodocumento_fk FOREIGN KEY ( tipodo
cumento_id_tipodocumento )
104.         REFERENCES tipodocumento ( id_tipodocumento );
105.
106. ALTER TABLE usuario
107.     ADD CONSTRAINT usuario_tipousuario_fk FOREIGN KEY ( tipousua
rio_id_tipousuario )
108.         REFERENCES tipousuario ( id_tipousuario );
109.
110. INSERT INTO usuario (usuario_id,primernombre,segundonombre,prime
rapellido,documento,dirrecion) values (1,)       
111.
112.  CREATE TABLE centro_atencion (
113.     id_centro_atencion      INTEGER NOT NULL,
114.     nombre                  VARCHAR2(100),
115.     zona_id_zona            INTEGER NOT NULL,
116.     municipio_id_municipio  INTEGER NOT NULL
117. );
118.
119. ALTER TABLE centro_atencion ADD CONSTRAINT centro_atencion_pk PR
IMARY KEY ( id_centro_atencion );
120.
121. ALTER TABLE centro_atencion
122.     ADD CONSTRAINT centro_atencion_municipio_fk FOREIGN KEY ( mu
nicipio_id_municipio )
123.         REFERENCES municipio ( id_municipio );
124.
125. ALTER TABLE centro_atencion
126.     ADD CONSTRAINT centro_atencion_zona_fk FOREIGN KEY ( zona_id
_zona )
127.         REFERENCES zona ( id_zona );
128.
129. ALTER TABLE estadocivil
DISEÑO DE PROYECTOS

130.     ADD CONSTRAINT estadocivil_centro_atencion_fk FOREIGN KEY ( 
centro_atencion_id_centro_atencion )
131.         REFERENCES centro_atencion ( id_centro_atencion );
132.
133. ALTER TABLE usuario
134.     ADD CONSTRAINT usuario_centro_atencion_fk FOREIGN KEY ( cent
ro_atencion_id_centro_atencion )
135.         REFERENCES centro_atencion ( id_centro_atencion );       
136.
137. CREATE TABLE zona (
138.     id_zona  INTEGER NOT NULL,
139.     nombre   VARCHAR2(100)
140. );
141.
142. ALTER TABLE zona ADD CONSTRAINT zona_pk PRIMARY KEY ( id_zona );
143.
144. ALTER TABLE centro_atencion
145.     ADD CONSTRAINT centro_atencion_zona_fk FOREIGN KEY ( zona_id
_zona )
146.         REFERENCES zona ( id_zona );
147.
148. CREATE TABLE municipio (
149.     id_municipio                  INTEGER NOT NULL,
150.     nombre                        VARCHAR2(80),
151.     departamento_id_departamento  INTEGER NOT NULL
152. );
153.
154. ALTER TABLE municipio ADD CONSTRAINT municipio_pk PRIMARY KEY ( 
id_municipio );
155.
156. ALTER TABLE municipio
157.     ADD CONSTRAINT municipio_departamento_fk FOREIGN KEY ( depar
tamento_id_departamento )
158.         REFERENCES departamento ( id_departamento );
159.
160. ALTER TABLE centro_atencion
161.     ADD CONSTRAINT centro_atencion_municipio_fk FOREIGN KEY ( mu
nicipio_id_municipio )
162.         REFERENCES municipio ( id_municipio );
163.
164. ALTER TABLE usuario
165.     ADD CONSTRAINT usuario_municipio_fk FOREIGN KEY ( municipio_
id_municipio )
166.         REFERENCES municipio ( id_municipio );
167.
DISEÑO DE PROYECTOS

168.  CREATE TABLE tipodocumento (
169.     id_tipodocumento INTEGER NOT NULL
170. );
171.
172. ALTER TABLE tipodocumento ADD CONSTRAINT tipodocumento_pk PRIMAR
Y KEY ( id_tipodocumento );
173.
174. ALTER TABLE usuario
175.     ADD CONSTRAINT usuario_tipodocumento_fk FOREIGN KEY ( tipodo
cumento_id_tipodocumento )
176.         REFERENCES tipodocumento ( id_tipodocumento );
177.

178. CREATE TABLE estadocivil 
179. (
180.     id_estadocivil                      INTEGER NOT NULL,
181.     nombre                              VARCHAR2 (80),
182.     centro_atencion_id_centro_atencion  INTEGER NOT NULL
183. );
184.
185. CREATE UNIQUE INDEX estadocivil__idxv1 ON
186.     estadocivil (
187.         centro_atencion_id_centro_atencion
188.     ASC );
189.
190. ALTER TABLE estadocivil ADD CONSTRAINT estadocivil_pk PRIMARY KE
Y ( id_estadocivil );
191.
192. ALTER TABLE estadocivil
193.     ADD CONSTRAINT estadocivil_centro_atencion_fk FOREIGN KEY ( 
centro_atencion_id_centro_atencion )
194.         REFERENCES centro_atencion ( id_centro_atencion );
195.
196. ALTER TABLE usuario
197.     ADD CONSTRAINT usuario_estadocivil_fk FOREIGN KEY ( estadoci
vil_id_estadocivil )
198.         REFERENCES estadocivil ( id_estadocivil );
199.
200. CREATE TABLE asistenciasecion (
201.     secion_id_secion    INTEGER NOT NULL,
202.     usuario_id_usuario  INTEGER NOT NULL
203. );
204.
205. ALTER TABLE asistenciasecion ADD CONSTRAINT asistenciasecion_pk 
PRIMARY KEY ( secion_id_secion,
DISEÑO DE PROYECTOS

206.                                                                 
              usuario_id_usuario );
207.
208. ALTER TABLE asistenciasecion
209.     ADD CONSTRAINT asistenciasecion_secion_fk FOREIGN KEY ( seci
on_id_secion )
210.         REFERENCES secion ( id_secion );
211.
212. ALTER TABLE asistenciasecion
213.     ADD CONSTRAINT asistenciasecion_usuario_fk FOREIGN KEY ( usu
ario_id_usuario )
214.         REFERENCES usuario ( id_usuario );
215.
216. CREATE TABLE secion (
217.     id_secion           INTEGER NOT NULL,
218.     nombre              VARCHAR2(80),
219.     fecha               DATE,
220.     puntos              DATE,
221.     evaluacion          DATE,
222.     periodo_id_periodo  INTEGER NOT NULL,
223.     curso_id_curso      INTEGER NOT NULL
224. );
225.
226. ALTER TABLE secion ADD CONSTRAINT secion_pk PRIMARY KEY ( id_sec
ion );
227.
228. ALTER TABLE secion
229.     ADD CONSTRAINT secion_curso_fk FOREIGN KEY ( curso_id_curso 
)
230.         REFERENCES curso ( id_curso );
231.
232. ALTER TABLE secion
233.     ADD CONSTRAINT secion_periodo_fk FOREIGN KEY ( periodo_id_pe
riodo )
234.         REFERENCES periodo ( id_periodo );
235.
236. ALTER TABLE asistenciasecion
237.     ADD CONSTRAINT asistenciasecion_secion_fk FOREIGN KEY ( seci
on_id_secion )
238.         REFERENCES secion ( id_secion );
239.
240. CREATE TABLE curso (
241.     id_curso  INTEGER NOT NULL,
242.     nombre    VARCHAR2(80)
243. );
DISEÑO DE PROYECTOS

244.
245. ALTER TABLE curso ADD CONSTRAINT curso_pk PRIMARY KEY ( id_curso 
);
246.
247. ALTER TABLE cursosmatriculados
248.     ADD CONSTRAINT cursosmatriculados_curso_fk FOREIGN KEY ( cur
so_id_curso )
249.         REFERENCES curso ( id_curso );
250.
251. ALTER TABLE secion
252.     ADD CONSTRAINT secion_curso_fk FOREIGN KEY ( curso_id_curso 
)
253.         REFERENCES curso ( id_curso );
254.
255. CREATE TABLE cursosmatriculados (
256.     curso_id_curso      INTEGER NOT NULL,
257.     periodo_id_periodo  INTEGER NOT NULL,
258.     usuario_id_usuario  INTEGER NOT NULL
259. );
260.
261. ALTER TABLE cursosmatriculados
262.     ADD CONSTRAINT cursosmatriculados_pk PRIMARY KEY ( curso_id_
curso,
263.                                                        periodo_i
d_periodo,
264.                                                        usuario_i
d_usuario );
265.
266. ALTER TABLE cursosmatriculados
267.     ADD CONSTRAINT cursosmatriculados_curso_fk FOREIGN KEY ( cur
so_id_curso )
268.         REFERENCES curso ( id_curso );
269.
270. ALTER TABLE cursosmatriculados
271.     ADD CONSTRAINT cursosmatriculados_periodo_fk FOREIGN KEY ( p
eriodo_id_periodo )
272.         REFERENCES periodo ( id_periodo );
273.
274. ALTER TABLE cursosmatriculados
275.     ADD CONSTRAINT cursosmatriculados_usuario_fk FOREIGN KEY ( u
suario_id_usuario )
276.         REFERENCES usuario ( id_usuario );
277.
278. CREATE TABLE periodo (
279.     id_periodo   INTEGER NOT NULL,
DISEÑO DE PROYECTOS

280.     nombre       VARCHAR2(80),
281.     fechainicio  DATE,
282.     fechafinal   DATE
283. );
284.
285. ALTER TABLE periodo ADD CONSTRAINT periodo_pk PRIMARY KEY ( id_p
eriodo );
286.
287. ALTER TABLE cursosmatriculados
288.     ADD CONSTRAINT cursosmatriculados_periodo_fk FOREIGN KEY ( p
eriodo_id_periodo )
289.         REFERENCES periodo ( id_periodo );
290.
291. ALTER TABLE secion
292.     ADD CONSTRAINT secion_periodo_fk FOREIGN KEY ( periodo_id_pe
riodo )
293.         REFERENCES periodo ( id_periodo );
294.
295. CREATE TABLE periodo_academico (
296.     id_periodo_academico  INTEGER NOT NULL,
297.     nombre                VARCHAR2(10),
298.     fecha_inicio          DATE,
299.     fecha_cierre          DATE
300. );
301.
302. ALTER TABLE periodo_academico ADD CONSTRAINT periodo_academico_p
k PRIMARY KEY ( id_periodo_academico );
303.
304. CREATE TABLE rol_usuario (
305.     id_rol_usuario  INTEGER NOT NULL,
306.     nombre          VARCHAR2(20)
307. );
308.
309. ALTER TABLE rol_usuario ADD CONSTRAINT rol_usuario_pk PRIMARY KE
Y ( id_rol_usuario );
310.
311. CREATE TABLE departamento (
312.     id_departamento  INTEGER NOT NULL,
313.     nombre           VARCHAR2(50) NOT NULL
314. );
315.
316. ALTER TABLE departamento ADD CONSTRAINT departamento_pk PRIMARY 
KEY ( id_departamento );
317.
318. ALTER TABLE municipio
DISEÑO DE PROYECTOS

319.     ADD CONSTRAINT municipio_departamento_fk FOREIGN KEY ( depar
tamento_id_departamento )
320.         REFERENCES departamento ( id_departamento );
321.
322. CREATE TABLE tipousuario (
323.     id_tipousuario  INTEGER NOT NULL,
324.     nombre          VARCHAR2(80)
325. );
326.
327. ALTER TABLE tipousuario ADD CONSTRAINT tipousuario_pk PRIMARY KE
Y ( id_tipousuario );
328.
329. ALTER TABLE usuario
330.     ADD CONSTRAINT usuario_tipousuario_fk FOREIGN KEY ( tipousua
rio_id_tipousuario )
331.         REFERENCES tipousuario ( id_tipousuario ); 
332.
333. CREATE TABLE usuariodocente (
334.     perfil              VARCHAR (80) NOT NULL,
335.     usuario_id_usuario  INTEGER NOT NULL
336. );
337.
338. ALTER TABLE usuariodocente ADD CONSTRAINT usuariodocente_pk PRIM
ARY KEY ( usuario_id_usuario );
339.
340. ALTER TABLE usuariodocente
341.     ADD CONSTRAINT usuariodocente_usuario_fk FOREIGN KEY ( usuar
io_id_usuario )
342.         REFERENCES usuario ( id_usuario );
343.
344. INSERT INTO usuariodocente (usuario_id_usuario,perfil) VALUES (1
,'TUTOR')                      

INSERT INTO
DISEÑO DE PROYECTOS

Select min
DISEÑO DE PROYECTOS
DISEÑO DE PROYECTOS

JOIN
DISEÑO DE PROYECTOS

Conclusiones

Se evidencia una forma de crear una base de datos ordenada donde la entidades se
relacionen entre si para poder sacar información clara y necesaria que nos conllevara a
tener claro
DISEÑO DE PROYECTOS

También podría gustarte