Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FASE 2 - DISEÑO
PARTICIPANTES:
GRUPO 301125_4
Tutor:
JULIO CESAR RODRÍGUEZ CASAS
OBJETIVOS....................................................................................................................................4
Objetivo General......................................................................................................................4
Objetivos Específicos................................................................................................................4
RESULTADO..................................................................................................................................5
1. Selección y respuesta de la pregunta motivadora........................................................5
2. Diseño modelo Entidad Relación y modelo Relacional.................................................8
- Modelo de Datos Entidad Relación – Según Peter Chen..............................................8
- Técnicas de normalización............................................................................................9
- Modelo de Datos Relacional – Según Edgar Frank Codd............................................10
3. Desarrollo de la base de datos relacional...................................................................12
4. Consultas con JOINS...................................................................................................20
5. Consultas con funciones.............................................................................................22
6. Evidencias de la participación en el foro....................................................................24
CONCLUSIONES..........................................................................................................................27
BIBLIOGRAFÍA.............................................................................................................................28
INTRODUCCIÓN
Objetivo General
Crear consultas y funciones en base de datos relacionales a través del
uso del Lenguaje SQL
Objetivos Específicos
Crear una base de datos relacional para un sistema integrado
Codificar las sentencias para cada una de las siguientes
funciones.
Insertar registros en la Base de Datos haciendo uso del
lenguaje de modificación de datos.
Analizar los requerimientos del proyecto de la Universidad
Nacional Abierta y a Distancia UNAD.
Realizar la definición y descripción de las entidades a partir del
proyecto propuesto.
RESULTADO
Comentario: …….
El lenguaje SQL es un lenguaje de gestión de base de datos que
busca como todo lenguaje estructurar los parámetros para
manipular bases de datos tratando de establecer un estándar en
las sentencias que se utilizan; una de sus grandes ventajas es la
difusión y en consecuencia el uso del mismo en pequeños y
grandes sistemas de información y a la hora de implementarlo
solo debemos buscar la variante que más se acople a nuestras
necesidades, en lo personal considero que PostgreSQL es un
motor de base de datos robusto que
conserva los estándares del SQL.
Nombre Estudiante 3: Leonardy Jose Yepez Fragozo
Pregunta 3: ¿Cuál es la importancia del proceso de
normalización en bases de datos?
Respuesta:
Es importante la normalización de base de datos ya que esta
nos
ayuda a evitar estos efectos negativos ya desde el diseño de
nuevas bases de datos y permite también comprobar si las
existentes garantizan la integridad de datos o referencial
necesaria. Lo más recomendable es normalizar los datos antes
de crear las tablas de la base de datos, aunque siempre es
preferible asegurar su integridad y, aunque ya se cuente con las
bases de datos y no sean de nueva creación, utilizar estas
técnicas para ponerlas a prueba, teniendo claros los objetivos a
alcanzar en el proceso.
Comentario: …….
Autor del comentario: En este espacio se debe colocar el nombre
del estudiante que realiza el comentario a la respuesta del
estudiante 4
Nombre Estudiante 5: Cesar Emiro Montes Guevara
Pregunta 5: ¿Qué son las formas normales y cuál es su
finalidad?
Respuesta:
Las formas normales son reglas que permiten organizar y
estructurar los datos de forma que se evite la redundancia de
información. Esta tiene como base las reglas de normalización, las
cuales permiten diseña de forma adecuada un sistema de base
datos, con lo cual se reduce el riesgo de tener un diseño de base
de datos inconsistente. Estás reglas sirven entre otros para
proteger los datos como también
para hacer que la base de datos sea más escalable al reducir las
dependencias incoherentes y minimizar la redundancia.
Comentario: me parece muy interesantes este concepto ya que las
formas normales nos permiten optimizar nuestra base de datos también
evitaremos duplicidades se simplifica notablemente la gestión y
actualización de datos en los registros. Esto también se traduce, en
términos generales, a una mejora en la productividad del equipo y mejor
gestión de dicha base de daros.
- Normalización
Dentro de la Normalización tenemos 3 Formas
formales que se describen a continuación.
Curso Núm.
Materia
Base de datos 1
2
3
Programación 2
Web 3
4
Programación Visual 2
3
4
Base de datos 1
2
3
TERCER FORMA NORMAL
Tenemos una nueva tabla que es Programa que tiene una llave
primaria que es número de materia, con esto estamos evitando
redundancia y estamos reduciendo el espacio de almacenamiento y
podemos comprobar que no tenemos perdida de información con una
tabla intermedia que s la tabla matricula, así optimizamos la base de
datos, porque ya no hay repetición y los datos siguen relacionados.
Matricu Nomb Direcció Teléfono Núm.
la re n Materia
1 Sergio Cal 31761597 1234
le 51
séptim
a
Manizal
es
2 Ana Kra 24 31479379 1234
Pasto 96
Matricu Núm.
la Materia
1 123
1 234
1 234
2 123
Base 123
de
datos
Programación 234
Web
Programación 234
Visual
Base 123
de
dato
s
Núm. Program
de as
Mater
ia
1234 Sistemas
6789 Mecatróni
ca
-Modelo de Datos Relacional – Según Edgar Frank Codd
1. CREATE TABLE departamento
2. ( iddepartamento INTEGER NOT NULL, nombre VARCHAR2(30)
3. );
4.
5. ALTER TABLE departamento ADD CONSTRAINT departamento_pk P
RIMARY KEY ( iddepartamento );
1. CREATE TABLE municipio (
2. idmunicipio INTEGER NOT NULL,
3. nombre
VARCHAR2(30), departamento_iddepartamento INTEGER NOT NUL
L
4. );
5.
6. ALTER TABLE municipio ADD CONSTRAINT municipio_pk PRIMARY
KEY ( idmunicipio );
7.
8. ALTER TABLE municipio
9. ADD CONSTRAINT municipio_departamento_fk FOREIGN KEY ( de
partamento_iddepartamento )
10. REFERENCES departamento ( iddepartamento );
11.
12. CREATE TABLE zona (
13. idzona INTEGER NOT NULL,
15. );
16.
17. ALTER TABLE zona ADD CONSTRAINT zona_pk PRIMARY KEY
(
18. idzona );
19.
20. CREATE TABLE centroatencion
21. ( idcentroatencion
INTEGER NOT NULL, nombre VARCHAR2(30),
23. municipio_idmunicipio INTEGER NOT NULL, zona_idzona
INTEGER NOT NULL
24. );
25.
26. ALTER TABLE centroatencion ADD CONSTRAINT centroate
ncion_pk PRIMARY KEY ( idcentroatencion );
27.
28. ALTER TABLE centroatencion
29. ADD CONSTRAINT centroatencion_municipio_fk FOREIGN
KEY ( municipio_idmunicipio )
30. REFERENCES municipio ( idmunicipio );
31.
32. ALTER TABLE centroatencion
34. REFERENCES zona ( idzona );
35.
Script DML:
1. INSERT INTO departamento
(iddepartamento,nombre) VALUES (1,'santander')
2. INSERT INTO
3. municipio (idmunicipio,nombre,departamento_iddepartamento
)
4. VALUES (1,'piedecuesta',1)
5. INSERT INTO
6. municipio (idmunicipio,nombre,departamento_iddepartamento
)
7. VALUES (2,'bucaramanga',1)
9. INSERT
10. INT
11. O
12. centroatencion(idcentroatencion,nombre,direccion,mu
nicipio_idmu n icipio,zona_idzona) VALUES (1,'CEAD
Bucaramanga','Cra. 27 #40-
13. 43',2,1)
1. ALTER TABLE tipodocumento ADD CONSTRAINT tipodocumento_pk
PRIMARY KEY ( idtipodocumento );
2.
3. CREATE TABLE estadocivil
4. ( idestadocivil INTEGER NOT NULL, nombre
5. VARCHAR2(30)
6. );
7.
8. ALTER TABLE estadocivil ADD CONSTRAINT estadocivil_pk PRI
MARY KEY ( idestadocivil
9. );
Script DML
1. INSERT INTO tipousuario(idtipousuario,nombre)VALUES(1,'ad
ministrativo')
2. INSERT INTO tipousuario(idtipousuario,nombre)VALUES(2,'do
cente')
3. INSERT INTO
4. tipousuario(idtipousuario,nombre)VALUES(3,'estudiante')
5.
1. INSERT INTO tipodocumento(idtipodocumento, nombre) VALUES
(1,'cédula de ciudadanía')
2. INSERT INTO tipodocumento(idtipodocumento,nombre)VALUES(2
,'tarjeta de identidad')
3. INSERT INTO estadocivil(idestadocivil,nombre)VALUES(1,'ca
sado(a)')
2. );
3.
4. ALTER TABLE usuario ADD CONSTRAINT usuario_pk PRIMARY KEY
( idusuario );
5.
6. ALTER TABLE usuario
7. ADD CONSTRAINT usuario_centroatencion_fk FOREIGN KEY ( ca
_idcentroatencion )
8. REFERENCES centroatencion ( idcentroatencion );
9.
10. ALTER TABLE usuario
12. REFERENCES estadocivil ( idestadocivil );
13.
14. ALTER TABLE usuario
17.
18. ALTER TABLE usuario
19. ADD CONSTRAINT usuario_tipodocumento_fk FOREIGN KEY
( tipodocumento_idtipodocumento )
20. REFERENCES tipodocumento ( idtipodocumento );
21.
22. ALTER TABLE usuario
24. REFERENCES tipousuario ( idtipousuario );
Script DML
1. INSERT INTO usuario (idusuario, primernombre,
2. segundonombre, primerapellido, segundoapellido, documento
, correo, contrasenia, direccion,
3. tipousuario_idtipousuario,
tipodocumento_idtipodocumento, municipio_idmunicipio,
4. ca_idcentroatencion, estadocivil_idestadocivil)
5. VALUE
6. S
7. (1,'sergio','andrés','jaimes','murillo','1102355487','sea
njamu@gma il
9. primernombre, segundonombre, primerapellido, segundoapell
ido, documento, correo, contrasenia, direccion,
10. tipousuario_idtipousuario, tipodocumento_idtipodocu
mento, municipio_idmunicipio, ca_idcentroatencion, estado
civil_idestadocivil)
11. VALUES
12. (2,'pedro','andrés','perez','pinto','1102355488','p
edroperez@gmail.c om','12345','manzana g casa
10',2,1,1,1,1)
1. CREATE TABLE usuariodocente
2. ( perfil VARCHAR2(1000),
3. usuario_idusuario INTEGER NOT NULL
4. );
5.
6. ALTER TABLE usuariodocente ADD CONSTRAINT usuariodocente_
pk PRIMARY KEY ( usuario_idusuario );
1. ALTER TABLE usuariodocente
2. ADD CONSTRAINT usuariodocente_usuario_fk FOREIGN KEY (
usuario_idusuario )
3. REFERENCES usuario ( idusuario );
4.
5. CREATE TABLE escuela
6. (
7. idescuela INTEGER NOT NULL,
8. nombre VARCHAR2(100)
9. );
10.
11. ALTER TABLE escuela
12. ADD CONSTRAINT escuela_pk PRIMARY KEY ( idescuela
);
13.
14. CREATE TABLE programa
15. (
18. escuela_idescuela INTEGER NOT NULL
19. );
20.
21. ALTER TABLE programa
22. ADD CONSTRAINT programa_pk PRIMARY KEY ( idprogra
ma );
23.
24. ALTER TABLE programa
25. ADD CONSTRAINT programa_escuela_fk FOREIGN KEY (
escuela_idescuela )
26. REFERENCES escuela ( idescuela );
27.
28. CREATE TABLE estudianteprograma
29. (
31. programa_idprograma INTEGER NOT NULL
32. );
33.
34. ALTER TABLE estudianteprograma
35. ADD CONSTRAINT estudianteprograma_pk PRIMARY KEY
( usuario_idusuario,
36. programa_idprograma );
37.
38. ALTER TABLE estudianteprograma
39. ADD CONSTRAINT estudianteprograma_programa_fk FOR
EIGN KEY (
40.
programa_idprograma ) REFERENCES programa ( idprograma );
1. ALTER TABLE estudianteprograma
2. ADD CONSTRAINT estudianteprograma_usuario_fk FOREIGN KE
Y ( usuario_idusuario )
3. REFERENCES usuario ( idusuario );
4.
5. CREATE TABLE periodo
6. (
7. idperiodo INTEGER NOT NULL,
8. nombre VARCHAR2(20),
9. fechainicio DATE,
10. fechacierre DATE
11. );
12.
13. ALTER TABLE periodo
14. ADD CONSTRAINT periodo_pk PRIMARY KEY ( idperiodo
);
15.
16. CREATE TABLE curso
17. (
18. idcurso INTEGER NOT NULL,
20. );
21.
22. ALTER TABLE curso
23. ADD CONSTRAINT curso_pk PRIMARY KEY ( idcurso );
Script
DML
1. INSERT INTO usuariodocente
2. (usuario_idusuario,
3. perfil)
4. VALUES (2,
5. 'profesor excelente de base de
datos')
6.
7. INSERT INTO escuela
8. (idescuela,
9. nombre)
10. VALUES (1,
11. 'Escuela de Ciencias Básicas,
Tecnología e Ingeniería (ECBTI)')
12.
13. INSERT INTO programa
14. (idprograma,
15. nombre,
16. escuela_idescuela)
17. VALUES (1,
18. 'Ingeniería de Sistemas',
19. 1)
20.
21. INSERT INTO estudianteprograma
22. (usuario_idusuario,
23. programa_idprograma)
24. VALUES (1,
25. 1)
26.
27. INSERT INTO periodo
28. (idperiodo,
29. nombre,
30. fechainicio,
31. fechacierre)
32. VALUES (1,
33. '2021 I PERIODO 16-02',
34. '12-04-2021',
35. '13-08-2021')
36.
37. INSERT INTO curso
38. (idcurso,
39. nombre)
40. VALUES (1,
41. 'BASE DE DATOS AVANZADA -
(301125A_952)')
1. INSERT INTO
curso(idcurso,nombre) VALUES (2,'Lenguaje de Modelado
Unificado')
2. INSERT INTO cursosmatriculados(periodo_idperiodo,usuario_
idusuario,curso_idc u rso) VALUES(1,1,1)
3. INSERT INTO cursosmatriculados(periodo_idperiodo,usuario_
idusuario,curso_idcu rso) VALUES(1,1,2)
Script DML
1. INSERT INTO sesion(idsesion, nombre,
2. fecha, puntos, evaluacion,
3. curso_idcurso, periodo_idperiodo
o,
Quintana, G., Marqués, M., & Aliaga, J. L. (2010). Aprende sql. (pág.
9-22). Recuperado de https://elibro-
net.bibliotecavirtual.unad.edu.co/es/ereader/unad/53252?page=15
Camuña, R. J. F. (2014). Lenguajes de definición y modificación de
datos sql (uf1472). (pág. 39-54, 70-89). Recuperado de
https://elibro-
net.bibliotecavirtual.unad.edu.co/es/ereader/unad/44141?page=45
Martínez López, F. J. y Gallegos Ruiz, A. (2017). Programación de
bases de datos relacionales. RA-MA Editorial. (pág. 172 - 190).
Recuperado de https://elibro-
net.bibliotecavirtual.unad.edu.co/es/ereader/unad/106525?page=172
Piñeiro, G. J. M. (2011). Manual gestión de bases de datos:
Formación para el empleo. (pág. 139-152, 160-173). Recuperado de
https://elibro-
net.bibliotecavirtual.unad.edu.co/es/ereader/unad/50609?page=139