Administracion de Base de Datos I
description
Transcript of Administracion de Base de Datos I
![Page 1: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/1.jpg)
Administracion de Base de Datos I
Semana 03
![Page 2: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/2.jpg)
Tablas• Conceptos Basicos• Estructura• Sintaxis de Creacion• Modificacion• Eliminacion
![Page 3: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/3.jpg)
Conceptos BasicosEl lenguaje de definición de datos (DDL, Data Definition Language) es el encargado de permitir la descripcion de los objetos que forman una base de datos.
![Page 4: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/4.jpg)
Conceptos BasicosEl lenguaje de definición de datos le va a permitir llevar a cabo las siguientes acciones:• Creación de tablas, índices y vistas.• Modificación de las estructura de
tablas, índices y vistas.• Supresión de tablas, índices y vistas.
![Page 5: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/5.jpg)
CreaciónCREATE TABLE <nombre_tabla>(<nombre_campo> <tipo_datos(tamaño)>[null | not null] [default <valor_por_defecto>]{,<nombre_campo> <tipo_datos(tamaño)>[null | not null] [default <valor_por_defecto>]}[, constraint <nombre> primary key (<nombre_campo>[ ,...n ])][, constraint <nombre> foreign key (<nombre_campo>[ ,...n ]) references <tabla_referenciada> ( <nombre_campo> [ ,...n ] ) ] ) ;
![Page 6: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/6.jpg)
CreaciónCREATE TABLE tCoches( matricula char(8) not null,marca varchar(255) null,modelo varchar(255) null,color varchar(255) null,numero_kilometros numeric(14,2) null default 0,constraint PK_Coches primary key (matricula)) ;
![Page 7: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/7.jpg)
CreaciónEn este ejemplo creamos una tabla llamada tCoches con cinco campos (matricula, marca, modelo, color, numero_kilometros).
Nótese que se han omitido las tildes y los espacios a propósito. Nunca cree campos que contengan caracteres específicos de un idioma (tildes, eñes, ...) ni espacios.
![Page 8: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/8.jpg)
ModificacionEn ocasiones puede ser necesario modificar la estructura de una tabla, comúnmente para añadir un campo o reestricción. Para ello disponemos de la instruccción ALTER TABLE.
![Page 9: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/9.jpg)
ModificacionALTER TABLE nos va a permitir:• Añadir campos a la estructura incial de una
tabla. • Añadir restricciones y referencias.
![Page 10: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/10.jpg)
ModificacionALTER TABLE <nombre_tabla>ADD <nombre_campo> <tipo_datos(tamaño)>[null |not null] [default <valor_por_defecto>]{, <nombre_campo> <tipo_datos(tamaño)>[null |not null] [default <valor_por_defecto>]} ;
![Page 11: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/11.jpg)
ModificacionALTER TABLE tCochesADD num_plazas integer null default 5;
En este ejemplo añadimos el campo num_plazas a la tabla tCoches que habiamos creado en el apartado anterior.
![Page 12: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/12.jpg)
ModificacionPara añadir una clave primaria vamos a crear una tabla de cliente y le añadiremos la clave primaria ejecutando una sentencia alter table:
![Page 13: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/13.jpg)
ModificacionCREATE TABLE tClientes(codigo integer not null,nombre varchar(255) not null,apellidos varchar(255) null, nif varchar(10) null,telefono varchar(9) null,movil varchar(9) null);ALTER TABLE tClientes ADDCONSTRAINT PK_tClientes primary key (codigo); :
![Page 14: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/14.jpg)
ModificaciónSolo podemos modificar una única tabla a la vez con ALTER TABLE, para modificar más de una tabla debemos ejecutar una sentencia ALTER TABLE por tabla.
![Page 15: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/15.jpg)
ModificaciónPara añadir una clave externa (o foránea) necesitamos una tercera tabla en nuestra estructura. Por un lado tenemos la tabla tCoches y la tabla tClientes, ahora vamos a crear la tabla tAlquileres que será la encargada de "decirnos" que clientes han alquilado un coche.
![Page 16: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/16.jpg)
ModificaciónCREATE TABLE tAlquileres(codigo integer not null,codigo_cliente integer not null,matricula char(8) not null, fx_alquiler datetime not null,fx_devolucion datetime null);
![Page 17: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/17.jpg)
ModificaciónALTER TABLE tAlquileres ADD CONSTRAINT PK_tAlquileres primary key (codigo),CONSTRAINT FK_Clientes foreign key (codigo_cliente)references tClientes (Codigo),CONSTRAINT FK_Coches foreign key (matricula)references tCoches (matricula);
![Page 18: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/18.jpg)
ModificaciónCreamos la tabla tAlquileres, y luego mediante una sentencia ALTER TABLE añadimos una clave primaria llamada PK_tAlquileres en el campo codigo, una clave externa llamada FK_Clientes referenciada al codigo de la tabla tClientes, y por último otra clave externa llamada FK_Coches referenciada al campo matricula de la tabla tCoches.
![Page 19: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/19.jpg)
ModificaciónCuando creamos una clave externa el campo referenciado y el que sirve de referencia deben ser del mismo tipo de datos. Si somos observadores nos daremos cuenta que los campos que sirven de referencia a las claves foráneas son las claves primarias de sus tablas. Sólo podemos crear claves externas que referencien claves primarias.
![Page 20: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/20.jpg)
EliminaciónPara eliminar una tabla se realiza la siguiente instrucción :
DROP TABLE <nombre_tabla>; .
![Page 21: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/21.jpg)
EliminaciónLa instrucción DROP TABLE elimina de forma permanente la tabla y los datos en ella contenida. Si intentamos eliminar una tabla que tenga registros relacionados a través de una clave externa la instrucción DROP TABLE fallará por integridad referencial.Cuando eliminamos una tabla eliminamos también sus índices.
![Page 22: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/22.jpg)
Ejercicios
![Page 23: Administracion de Base de Datos I](https://reader035.fdocuments.co/reader035/viewer/2022062315/568165c0550346895dd8c47b/html5/thumbnails/23.jpg)
Ejercicios