LABORATORIO NO. 2 CREATE CON CONSTRAINT, INSERT, UPDATE Y DELETE
Enviado por Emily Ortega • 15 de Octubre de 2019 • Informe • 1.321 Palabras (6 Páginas) • 208 Visitas
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
LABORATORIO NO. 2
CREATE CON CONSTRAINT, INSERT, UPDATE Y DELETE
CONCEPTOS NUEVOS QUE SE ABORDARÁN:
- IDENTITY
- TRUNCATE
En cada uno de los puntos listados, haga exactamente lo que se le solicita, aun cuando sienta que algo está mal.
- Cree la base de datos LAB_2. Y a proceda a crear dentro de ésta, la tabla llamada libros que contiene los siguientes atributos:
cod_lib (entero) defina el código como llave primaria
espec (cadena 15)
titulo (cadena de 30 caracteres de longitud y no nulo)
autor (cadena de 20),
editorial (cadena de 15) y
precio (float)
- Ingrese los siguientes datos a la tabla
cod_lib | espec | titulo | autor | editorial | precio |
100 | sistemas | Fundamentos de Bases de datos | Elmarsi | McGraw Hill | 45.00 |
101 | sistemas | Sistemas de Bases de datos | Connolly | Pearson | 30 |
302 | literatura | Cervantes y el Quijote | Borges | Elmerce | 25 |
204 | matemáticas | Calculo Diferencial e Integral | Hernández | Pearson | 35.25 |
106 | literatura | Aprenda Sql ya | Riordan | McGraw Hill | 90.99 |
3- Modifique el registro cuyo autor sea igual a "Connolly", por "Connolly y Begg" . Muestre como realizo el cambio y como quedo ahora su tabla.
- Nuevamente se detecta un error en los datos que requiere modificación. El libro con código 106 es del área de sistemas y se registró como de literatura. Muestre como realiza el cambio y como quedan ahora sus datos en la tabla
- Actualice el precio del libro de "Borges " a 27 dólares. Muestre como hizo el cambio y muestre los datos
6- Actualice todos los registros que contengan en el campo editorial el valor "McGraw Hill" por MGH. Muestre como realizo la actualización y la tabla resultante.
En muchas ocasiones nos encontramos con tablas como estas, que no están normalizadas y que por tanto, están sujetas a tener inconsistencias, una mayor cantidad de errores o datos redundantes.
En la medida que la tabla descrita va creciendo, puede ocurrir que algunos datos como la editorial y la especialidad, que son repetitivos pueden ser insertados de manera diferente (ejemplo: Mcgraw Hill, MCGraw Hill, Mc Graw Hill etc). Causando que el DBMS asuma que es otra editorial y no brinda información confiable al realizar las consultas. Esto es producto de una creación de tabla sin un análisis previo.
La buena práctica nos dice que debemos normalizarlo y dividir esta gran tabla para que cada tabla tenga solo los datos propios de ella.
Si analizamos, vemos que la llave de la tabla cod_libro no determina a la editorial del libro por tanto, esta debe ser una tabla aparte.
Cod_edit | Nombre_edit |
1 | McGraw Hill |
2 | Pearson |
3 | Elmerce |
De igual forma, el código del libro no determina la especialidad del libro, por tanto, esta debe ser una nueva tabla.
Cod_espec | Nombre_espec |
1 | sistemas |
2 | literatura |
3 | matemáticas |
Para enmendar el daño, se ha decido cambiar la estructura de la tabla inicial y trabajar con tres tablas relacionales. [pic 1]
[pic 2][pic 3][pic 4][pic 5]
1 M M 1 [pic 6]
[pic 7]
[pic 8]
Se deberá crear una tabla para la editorial y otra tabla para las especialidades (ver indicaciones de creación en los puntos 7 y 8).
- Primero crearemos la tabla de Editoriales, que contendrá un código de editorial y el nombre de la editorial. Seguir instrucciones detalladas en párrafo siguiente, para tal fin
Cod_edit | Nombre_edit |
1 | McGraw Hill |
2 | Pearson |
3 | Elmerce |
[pic 9]
Una vez creada la tabla, procederemos a incluir el nombre de la editorial, pero lo haremos a partir de la tabla de libros que ya tenemos, de tal forma que los datos sean tomados directamente de la tabla existente “libro”. Esta nueva tabla tiene una correspondencia unívoca, a cada código de editorial le corresponderá un valor único de nombre de editorial. Debemos cerciorarnos de que no aparezcan repetidos.
...