24
Elisabet Cuevas Villafuerte Diseña y Administra Bases De Datos 1 Programación 3°C

Proyecto 2 Bases de Datos

Embed Size (px)

DESCRIPTION

Proyecto de creación de bases de datos

Citation preview

Page 1: Proyecto 2 Bases de Datos

Elisabet Cuevas Villafuerte

Diseña y Administra Bases De Datos

1

Programación

3°C

Page 2: Proyecto 2 Bases de Datos

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

Page 3: Proyecto 2 Bases de Datos

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

Page 4: Proyecto 2 Bases de Datos

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

Page 5: Proyecto 2 Bases de Datos

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

Page 6: Proyecto 2 Bases de Datos

Elisabet Cuevas Villafuerte

Diseña y Administra Bases De Datos

6

Programación

TABLA MATERIA

Regresar

Page 7: Proyecto 2 Bases de Datos

Elisabet Cuevas Villafuerte

Diseña y Administra Bases De Datos

7

Programación

TABLAS RESULTANTES

TABLA ALUMNO

Page 8: Proyecto 2 Bases de Datos

Elisabet Cuevas Villafuerte

Diseña y Administra Bases De Datos

8

Programación

TABLA BOLETA

Page 9: Proyecto 2 Bases de Datos

Elisabet Cuevas Villafuerte

Diseña y Administra Bases De Datos

9

Programación

TABLA BOLETA (EXTENSIÓN)

TABLA DOCENTE

Page 10: Proyecto 2 Bases de Datos

Elisabet Cuevas Villafuerte

Diseña y Administra Bases De Datos

10

Programación

TABLA ESPECIALIDAD TABLA MATERIA

Regresar

Page 11: Proyecto 2 Bases de Datos

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

Page 12: Proyecto 2 Bases de Datos

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

Page 13: Proyecto 2 Bases de Datos

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

Page 14: Proyecto 2 Bases de Datos

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

Page 15: Proyecto 2 Bases de Datos

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')

Page 16: Proyecto 2 Bases de Datos

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

Page 17: Proyecto 2 Bases de Datos

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

Page 18: Proyecto 2 Bases de Datos

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

Page 19: Proyecto 2 Bases de Datos

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

Page 20: Proyecto 2 Bases de Datos

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'

Page 21: Proyecto 2 Bases de Datos

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

Page 22: Proyecto 2 Bases de Datos

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

Page 23: Proyecto 2 Bases de Datos

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

Page 24: Proyecto 2 Bases de Datos

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