Upload
elicuevas1
View
170
Download
0
Embed Size (px)
DESCRIPTION
Proyecto de creación de bases de datos
Citation preview
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
1
Programación
3°C
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
2
Programación
Base de Datos 3°Parcial
ÍNDICE
DIAGRAMA ENTIDAD-RELACIÓN
Enunciado Del Problema #3
Relaciones Encontradas #3
Diagrama Entidad-Relación #4
TABLAS
Diseño de Tablas #5
TABLAS RESULTANTES #7
CONSULTAS
COMANDO SELECT #11
Comando Insert #12
Comando Delete #13
Comando Update #14
CONSULTAS
#15
FUENTE DE CONSULTA #25
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
3
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
Regresar
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
4
Programación
DIAGRAMA ENTIDAD-RELACIÓN
1:N
N:1
N:1
N:1
Regresar
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
5
Programación
DISEÑO DE TABLAS
TABLA ALUMNO
TABLA BOLETA
TABLA DOCENTE
TABLA ESPECIALIDAD
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
6
Programación
TABLA MATERIA
Regresar
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
7
Programación
TABLAS RESULTANTES
TABLA ALUMNO
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
8
Programación
TABLA BOLETA
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
9
Programación
TABLA BOLETA (EXTENSIÓN)
TABLA DOCENTE
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
10
Programación
TABLA ESPECIALIDAD TABLA MATERIA
Regresar
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
11
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.
Regresar
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
12
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.campo2, ..., TablaOrigen.campoN
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.
Regresar
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
13
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.
Regresar
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
14
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 Campo1=Valor1, Campo2=Valor2, ... CampoN=ValorN WHERE Criterio;
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
Regresar
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
15
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')
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
16
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
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
17
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
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
18
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
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
19
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
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
20
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’ HA ESTUDIADO
NIVEL INGENIERIA, MODIFICA SU PERFIL.
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'
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
21
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
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
22
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
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
23
Programación
24. LOS ALUMNOS MENORES A 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')
Regresar
Elisabet Cuevas Villafuerte
Diseña y Administra Bases De Datos
24
Programación
FUENTE DE CONSULTA
Casares Claudio (2009). Manejos de Bases de Datos ‘Consultas’. México. Archivo PDF. (PP, 20-60).
Regresar