2. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
Base de Datos 3°Parcial
ÍNDICE
DIAGRAMA ENTIDAD-RELACIÓN
Enunciado Del Problema
Relaciones Encontradas
Diagrama Entidad-Relación
#3
#3
#4
TABLAS
Diseño de Tablas
TABLAS RESULTANTES
#5
#7
CONSULTAS
COMANDO SELECT
Comando Insert
Comando Delete
Comando Update
#11
#12
#13
#14
CONSULTAS
#15
FUENTE DE CONSULTA
2
#25
3. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
ENUNCIADO DEL PROBLEMA
En la web hay un dominio con el nombre de ITESO el cual ofrece a los usuarios
cursos, en donde se encuentra localizado un catálogo de ofertas como son:
Diplomados, cursos, especialidades, y postgrados. A los usuarios se les asignan
fichas programadas para los cursos, así como los horarios, los asesores, el aula
virtual y el nombre del curso.
Cada curso tiene un límite de usuarios, el periodo de realización y el número total
de horas. Los usuarios para hacer los pagos lo pueden hacer de dos formas, con
tarjeta de crédito, con cargo a 6 meses sin intereses, y la opción 2, pago en
efectivo a la cuenta en el banco, para cada curso los asesores registran productos,
y evidencias, al término de cada módulo. El número total de módulos, para cada
curso es 4. La planeación del curso depende del número de horas y los contenidos
temáticos, para la extensión de la constancia final deberán de aprobar con una
calificación mayor o igual a 8, con sólo dos oportunidades de reprobar por cada
curso.
Se sabe que cada participante sólo puede tomar como máximo 3 cursos, al
usuario frecuente se le otorga una beca del 100% a partir del 4° curso tomado.
-Construye un modelo de base de datos para administrar el dominio de la página-
RELACIONES ENCONTRADAS
Alumno
Boleta
Boleta
Materia
Boleta
Docente
Alumno
Especialidad
3
Regresar
5. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
DISEÑO DE TABLAS
TABLA ALUMNO
TABLA BOLETA
TABLA DOCENTE
TABLA ESPECIALIDAD
5
11. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
COMANDO SELECT
De acuerdo a Casares Claudio (2009), la consulta principal, y más básica
ya que con ella se llevan a cabo la mayoría de las consultas es SELECT. Y su
sintaxis es la siguiente:
SELECT Campos FROM Tabla;
Campos se refiere a la lista de datos que se desean recuperar y tabla es el origen
de los mismos, por ejemplo:
SELECT Nombre, Teléfono FROM Clientes;
La consulta devuelve un ‘recordset’, con campo nombre y teléfono de la tabla
clientes.
Además la consulta SELECT se usa para ordenar registros, especificando el
nombre de donde se desea recuperar los registros mediante el uso de la cláusula
ORDER BY Lista de Campos, donde la lista de campos son los datos que se
desean recuperar. Ejemplo:
SELECT CodigoPostal, Nombre, Teléfono FROM Clientes ORDER BY Nombre;
Existen además otras funciones que hacen más fácil el manejo de consultas con el
comando SELECT, como lo son BETWEEN, COUNT, MAX, MIN.
Lo más común es encontrar situaciones donde el comando SELECT va
acompañado de la cláusula WHERE.
SELECT Teléfono FROM Clientes, Estado WHERE Cliente.IdEdo=Estado.IdEdo
WHERE es un operador lógico, ya que al conjuntar o igualar las tablas crea una
operación lógica.
11
Regresar
12. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
COMANDO INSERT
Casares (2009) también nos muestra el comando INSERT, el comando
como su nombre lo dice es usado para insertar datos o campos a una tabla, se le
conoce como una consulta de datos añadidos.
Para insertar un único Registro:
En este caso la sintaxis es la siguiente:
INSERT INTO Tabla (campo1, campo2, .., campoN)
VALUES (valor1, valor2, ..., valorN)
Esta consulta graba en el campo1 el valor1, en el campo2 y valor2 y así
sucesivamente. Hay que prestar especial atención a acotar entre comillas simples
(') los valores literales (cadenas de caracteres) y las fechas indicarlas en formato
mm-dd-aa y entre caracteres de almohadillas (#).
Para insertar Registros de otra Tabla:
En este caso la sintaxis es:
INSERT INTO Tabla [IN base_externa] (campo1, campo2, ..., campoN)
SELECT
TablaOrigen.campo1,
TablaOrigen.campoN
TablaOrigen.campo2,
...,
FROM TablaOrigen
En este caso se seleccionarán los campos 1,2, ..., n dela tabla origen y se
grabarán en los campos 1,2,.., n de la Tabla. La condición SELECT puede incluir
la cláusula WHERE para filtrar los registros a copiar. Si Tabla y TablaOrigen
poseen la misma estrucutra podemos simplificar la sintaxis a:
INSERT INTO Tabla SELECT TablaOrigen.* FROM TablaOrigen
De esta forma los campos de TablaOrigen se grabarán en Tabla, para
realizar esta operación es necesario que todos los campos de TablaOrigen estén
contenidos con igual nombre en Tablas.
12
Regresar
13. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
COMANDO DELETE
El comando DELETE, las consultas que se hacen con este comando
también se conoce como ‘Consultas de acción’. Y al igual que INSERT y UPDATE
estas consultas son llamadas así porque no devuelven ningún registro, porque se
encargan de insertar, eliminar y actualizar la base de datos.
Crea una consulta de eliminación que elimina los registros de una o más de las
tablas listadas en la cláusula FROM que satisfagan la cláusula WHERE. Esta
consulta elimina los registros completos, no es posible eliminar elcontenido de
algún campo en concreto. Su sintaxis es:
DELETE Tabla.* FROM Tabla WHERE criterio
DELETE es especialmente útil cuando se desea eliminar varios registros. En una
instrucción DELETE conmúltiples tablas, debe incluir el nombre de tabla (Tabla.*).
Si especifica más de una tabla desde la que eliminar registros, todas deben ser
tablas de muchos a uno. Si desea eliminar todos los registros de una tabla,
eliminar la propia tabla es más eficiente que ejecutar una consulta de borrado. Se
puede utilizar DELETE para eliminar registros de una única tabla o desde varios
lados de una relación uno a muchos. Las operaciones de eliminación en cascada
en una consulta únicamente eliminan desde varios lados de una relación. Por
ejemplo, en la relación entre las tablas Clientes y Pedidos, la tabla Pedidos es la
parte de muchos por lo que las operaciones en cascada solo afectaran a la tabla
Pedidos. Una consulta de borrado elimina los registros completos, no únicamente
los datos en campos específicos. Si desea eliminar valores en un campo
especificado, crear una consulta de actualización que cambie los valores a Null.
Una vez que se han eliminado los registros utilizando una consulta de
borrado, no puede deshacer la operación.
13
Regresar
14. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
COMANDO UPDATE
Crea una consulta de actualización que cambia los valores de los campos
de una tabla especificada basándoseen un criterio específico. Su sintaxis es:
UPDATE
Tabla
SET
CampoN=ValorN WHERE Criterio;
Campo1=Valor1,
Campo2=Valor2,
...
UPDATE es especialmente útil cuando se desea cambiar un gran número de
registros o cuando éstos se encuentran en múltiples tablas. Puede cambiar varios
campos a la vez. El ejemplo siguiente incrementa los valores Cantidad pedidos en
un 10 por ciento y los valores Transporte en un 3 por ciento para aquellos que se
hayan enviado al Reino Unido.:
UPDATE Pedidos SET Pedido = Pedidos * 1.1, Transporte = Transporte *
1.03 WHERE PaisEnvío = 'ES';
UPDATE no genera ningún resultado. Para saber qué registros se van a cambiar,
hay que examinar primero el resultado de una consulta de selección que utilice el
mismo criterio y después ejecutar la consulta de actualización.
UPDATE Empleados SET Grado = 5 WHERE Grado = 2;
UPDATE Productos SET Precio = Precio * 1.1 WHERE Proveedor = 8 AND
Familia = 3;
Si en una consulta de actualización suprimimos la cláusula WHERE todos los
registros de la tabla señalada serán actualizados.
UPDATE Empleados SET Salario = Salario * 1.1
14
Regresar
15. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
CONSULTAS
A continuación se muestran consultas generadas de acuerdo al ejercicio.
1. COLOCA UN NUEVO VALOR A LA TABLA BOLETA
INSERT INTO boleta
Values ('113493','ADMON','6','6','6','YACR570361')
2. COLOCA UN NUEVO VALOR A LA TABLA BOLETA
INSERT INTO boleta
Values ('113493','BIO','8','8','8','AICP560129U54')
15
16. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
3. ELIMINA LOS VALORES QUE HAS INSERTADO A LA TABLA BOLETA
DELETE FROM boleta
WHERE NoControl= 113493;
4. ELIMINA LOS VALORES QUE HAS INSERTADO A LA TABLA BOLETA
Delete FROM boleta
WHERE NoControl= 115932;
5. EL ALUMNO TENIENTE COVARRUBIAS LISA, HA SIDO CAMBIADO DE GRUPO AL C,
ACTUALIZA LA TABLA.
UPDATE alumno
SET Grupo = 'C'
WHERE NoControl= 200118852
16
17. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
6. EL PROFESOR GONZALES LOPEZ PEDRO, NO ESTUDIO EN LA
UPG, ACTUALIZA SU INSTITUCION POR LA DE ITC
UPDATE docente
SET Institucion = 'ITC'
WHERE RFC= 'GOLP660629CA4'
7. DE ACUERDO CON TU TABLA INVESTIGA EN QUÉ FECHA NACIÓ ALGUNO DE LOS
PROFESORES Y ACTUALÍZALO EN LA TABLA
UPDATE docente
SET FecNacDoc = '06/29//1960'
WHERE RFC= 'GOLP660629CA4'
8. SE HA INCLUIDO UN NUEVO ALUMNO AGREGALO
INSERT INTO alumno
Values ('11678', 'Hernadez Jimenez Laura',
'20/10/1998', 'LQ54', 'E', '2')
9 ACTUALIZA LA CLAVE DE ESPECIALIDAD DE TENIENTE
COVARRUBIAS LISA.
UPDATE alumno
SET CveEsp = 'C14'
WHERE NoControl=
200118852
17
18. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
10 EL ITESO SE HA DADO CUENTA QUE EL ALUMNO
‘HERNANDEZ JIMENEZ LAURA’, NO CUMPLE CON LOS
REQUISITOS SOLICITADOS, ELIMINA SU REGISTRO.
DELETE FROM ALUMNO
WHERE NOCONTROL= 11678
11. HA OCURRIDO UN ERROR EN LA SOLICITUD DE CAMBIO DE ESPECIALIDAD DE LA
ALUMNA ‘TENIENTE COVARRUBIAS LISA’ MODIFICALO
UPDATE ALUMNO
SET CVEESP= 'A28'
AND GRUPO= 'A'
WHERE NOCONTROL= 200118852
18
19. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
12. A NUESTRO PLANTEL SE HA AGREGADO UNA NUEVA ESPECIALIDAD. INGLÉS, CON
CLAVE DE ESPECIALIDAD ING67, AGREGALO.
INSERT INTO ESPECIALIDAD
VALUES ('ING67', 'INGLÉS')
13. EL ALUMNO CON CLAVE 1106806 HA PRESENTADO DE NUEVO SUS EXAMENES
EN ADMINISTRACION, SU CALIFICACION HA MEJORADO A 9, ACTUALIZA SUS DATOS,
SOLO EN LA PRIMERA Y TERCERA COLUMNA DE
CALIFICACION
UPDATE BOLETA
SET PARCIAL= 9; CP=7.7
WHERE NOCONTROL=1106806 AND CVEMAT= 'ADMON'
14. MUESTRA LOS NOMBRES DE LOS ALUMNOS QUE OBTUVIERON UNA CALIFICACION PARCIAL DE
10
SELECT DISTINCT NomAlu
FROM alumno, boleta
WHERE alumno.NoControl=boleta.NoControl AND CP=10
19
20. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
15. EL NOMBRE DE UNA DE LAS ALUMNA ‘TENIENTE COBARRUBIAS LISA’ ESTÁ
MAL ESCRITO, CÁMBIALO POR ‘COVARRUBIAS’
UPDATE alumno
SET NomAlu= 'Teniente Covarrubias Lisa'
WHERE NoControl=200118852
16. LA PROFESORA ‘SILVA ARRIAGA CLAUDIA’
NIVEL INGENIERIA, MODIFICA SU PERFIL.
HA ESTUDIADO
UPDATE docente
SET Nivel= 'Ingenieria'
WHERE RFC='S9AC680315219'
17. LA CLAVE DE ESPECIALIDAD ADMINISTRACIÓN HA SIDO MODIFICADA, AHORA
ES AD123. CÁMBIALA EN LA TABLA ESPECIALIDAD.
UPDATE especialidad
SET CveEsp= 'AD123'
WHERE Nombre ='Administración'
20
21. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
18. MEJORA EL NOMBRE DE LA ESPECIALIDAD. MODIFÍCALO POR SU NOMBRE
COMPLETO.
UPDATE especialidad
SET Nombre= 'Laborista Químico'
WHERE CveEsp='Lq54'
19. LOS ALUMNOS DE 2 SEMESTRE HAN SIDO PROMOVIDOS A 4 SEMESTRE
UPDATE alumno
SET Semestre= 4
WHERE Semestre= 2
21
22. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
20. EL INGENIERO ‘ARRIAGA CAPETILLO PEDRO’
ESTUDIO INGENIERIA, MODIFCA LA TABLA.
UPDATE docente
SET Nivel = 'Ingenieria'
WHERE RFC='AICP560129U54'
21. TAMBIÉN MODIFICA EL NIVEL DEL PROFESOR
SIGUIENTE
UPDATE docente
SET Nivel = 'Ingenieria'
WHERE RFC='GOLP660629CA4'
22. AGREGA UN NUEVO DATO A
‘BOLETA’. QUE INCLUYA LA MATERIA DE
INGLÉS
INSERT INTO boleta
VALUES ('113466','ING67','8','8','8','MAAG470912DP9')
23. SELECCIONA A TODOS LOS ALUMNOS QUE PODRÍAN SER
BECADOS
SELECT DISTINCT NomAlu
FROM boleta, alumno
WHERE alumno.NoControl=boleta.NoControl and Semestre= 6 and CP > 8
22
23. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
24. LOS
ALUMNOS
MENORES
A
Programación
CALIFICACIÓN
PARCIAL
MENOR
QUE
6,
MUÉSTRALOS, PODRÍAN SER LOS PRÓXIMOS EN PERDER EL CURSO.
SELECT DISTINCT NomAlu
FROM boleta, alumno
WHERE alumno.NoControl=boleta.NoControl and
CP = 6
25. AGREGA UN ALUMNO.
INSERT INTO alumno
VALUES ('8975', 'Gonzales Enriquez María', '12/11/1989','ING64','A', '34')
23
Regresar
24. Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
Programación
FUENTE DE CONSULTA
Casares Claudio (2009). Manejos de Bases de Datos ‘Consultas’.
México. Archivo PDF. (PP, 20-60).
24
Regresar