Professional Documents
Culture Documents
Universidad de Sonsonate
FACULTAD DE INGENIERIA Y CIENCIAS NATURALES
Bases de datos
Guia-4
Creacin de Tablas (DDL)
Pgina 1 de 9
Contenido
Introduccin ............................................................................................................................................ 3 Creacin de tablas ................................................................................................................................... 3 Sintaxis de creacin de tabla ............................................................................................................... 3 Tipos de datos...................................................................................................................................... 3 Restricciones de integridad ................................................................................................................. 4 Ejemplo 1 ................................................................................................................................................ 4 Crear tabla ........................................................................................................................................... 4 Ejemplo 2 ............................................................................................................................................... 5 Borrado de tablas DROP TABLE ........................................................................................................... 6 Modificar Tablas ..................................................................................................................................... 7 Orden TRUNCATE............................................................................................................................. 7 Borrar restricciones ............................................................................................................................. 7 EJERCICIOS ........................................................................................................................................... 7 EJERCICIO 1. CREACION DE TABLAS ......................................................................................... 8 EJERCICIO 2. CREACION DE TABLAS ......................................................................................... 9
Pgina 2 de 9
Introduccin
Las tablas son las unidades bsicas de almacenamiento de datos. Veremos cmo se crean las tablas en Mysql y como se definen las restricciones de integridad asociadas a dichas tablas. Y se asociarn todas las restricciones de integridad semnticas admitidas (Nulos, llaves Primarias, llaves foraneas (Clasula UNIQUE)) y restricciones de integridad sobre valores de columnas en la tabla.
Creacin de tablas
Para crear una tabla es necesario tener el privilegio CREATE TABLE en el servidor.
Tipos de datos
Tipo VARCHAR (s) CHAR (s) INT (s) DATE DATETIME DOUBLE(M,D) Float (M,D) Blob, TinyBlob, MediumBlob, LongBlob Descripcin Caracteres de longitud variable. Mximo s caracteres. Lmite 4000 caracteres. Caracteres de longitud fija. Lmite 2000 caracteres. Entero. Fecha Es una combinacin de formato de fecha y hora conjuntamente. Su representacin es 'YYYY-MM-DD HH:MM:SS' Nmero de coma flotante de precisin doble. Nmero de coma flotante de precisin simple Un tipo de datos Blob es un objeto binario que puede almacenar cualquier tipo de datos o informacin, desde un archivo de texto con todo su formato (se diferencia en esto del tipo Text) hasta imgenes, archivos de sonido o video, etc.
Pgina 3 de 9
Restricciones de integridad
Es importante que los datos de una base de datos, estn sujetos a reglas de integridad predefinidas. Oracle permite definir y forzar que se verifiquen las reglas de integridad de los datos declarando Restricciones de Integridad y definiendo Triggers (Triggers Se vern ms adelante en otra gua). Una Restriccin de Integridad, es un mtodo declarativo de definir una restriccin para una columna de una tabla. Integridad de datos: La integridad hace referencia a que los datos de la base de datos han de ajustarse a una serie de restricciones antes de almacenar. As pues, una restriccin de integridad ser una regla que restringe el rango de valores para una o ms columnas de una tabla. Al almacenar datos en las tablas se pueden ajustar a una serie de restricciones predefinidas, por ejemplo: que una columna no pueda tener valores negativos, que una cadena de caracteres se deba almacenar en maysculas, que el valor de una columna no pueda ser 0. Integridad referencial. Lo cual garantiza que los valores de una columna/s de una tabla dependan de los valores de otra columna/s de otra tabla. Para definir una restriccin en la orden create table se utiliza CONSTRAINT. Este puede restringir una o varias columnas de una misma tabla. Hay dos modos de especificar las restricciones: como parte de una definicin de columna (restriccin de columna) o al final una vez especificada todas las columnas (restriccin de tabla). Se declaran al crear modificar la tabla (CREATE/ALTER TABLE). Pueden ser aplicadas sobre columnas, que se colocan tras la definicin de la columna o sobre la tabla, que implican ms de una columna. NOT NULL: no admite valores nulos. UNIQUE: los valores de la columna son nicos. PRIMARY KEY: la columna es clave primaria. REFERENCES: indica que la columna es llave fornea en una relacin de integridad referencial. ON DELETE CASCADE|SET NULL: Mantiene la integridad referencial eliminando los registros del lado relacionado cuando se eliminan los registros del lado principal de la relacin (CASCADE) o coloca valores nulos a los registros de la llave borrada (SET NULL)
Ejemplo 1
Crear tabla
Crear la tabla de empleados. Cada empleado puede tener un jefe o ninguno (null). El jefe es a su vez un empleado por lo que hay una clave ajena definida sobre la misma tabla. CREATE TABLE empleados (cod_emp char(4), Pgina 4 de 9
nom_emp varchar(10) not null, salario integer not null default 250, fecha_nac date , comision integer, cod_jefe char(4), PRIMARY KEY (cod_emp), FOREIGN KEY (cod_jefe) REFERENCES empleados ON DELETE CASCADE ) ENGINE=InnoDB;
Ejemplo 2
CREATE TABLE `sysbd`.`geo_paises` ( `IDPais` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT , `NombrePais` VARCHAR(80) NOT NULL DEFAULT '' , `FechaCreacion` DATETIME NOT NULL , PRIMARY KEY (`IDPais`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARACTER SET = utf8 CREATE TABLE `sysbd`.`geo_departamentos` ( `IDDepartamento` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
Pgina 5 de 9
`NombreDepartamento` VARCHAR(80) NOT NULL DEFAULT '' , `IDPais` INT(11) UNSIGNED NOT NULL , `FechaCreacion` DATETIME NOT NULL , PRIMARY KEY (`IDDepartamento`) , INDEX `fk_geo_departamentos_geo_paises1_idx` (`IDPais` ASC) , CONSTRAINT `fk_geo_departamentos_geo_paises1` FOREIGN KEY (`IDPais` ) REFERENCES `sysbd`.`geo_paises` (`IDPais` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB AUTO_INCREMENT = 15 DEFAULT CHARACTER SET = utf8
CREATE TABLE `sysbd`.`geo_municipios` ( `IDMunicipio` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT , `NombreMunicipio` VARCHAR(80) NOT NULL DEFAULT '' , `IDDepartamento` INT(11) UNSIGNED NOT NULL , `FechaCreacion` DATETIME NULL DEFAULT NULL , PRIMARY KEY (`IDMunicipio`) , INDEX `fk_geo_municipios_geo_departamentos1_idx` (`IDDepartamento` ASC) , CONSTRAINT `fk_geo_municipios_geo_departamentos1` FOREIGN KEY (`IDDepartamento` ) REFERENCES `sysbd`.`geo_departamentos` (`IDDepartamento` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARACTER SET = utf8
Pgina 6 de 9
Modificar Tablas
Agregar una columna a una tabla ya creada alter table clientes add column DireccionCliente varchar(100);
Quitar una columna de una tabla alter table clientes drop column DireccionCliente;
Modifcar el tipo de dato asociado a una columna alter table personas modify column FechaNac date;
Orden TRUNCATE
La orden truncate permite suprimir todas las filas de una tabla y liberar el espacio ocupado para otros usos pero no desaparece la definicin de la tabla. Es una orden del lenguaje DDL que no genera retroceso (ROLLBACK). la orden delete no libera espacio.
Borrar restricciones
Sintaxis: ALTER TABLE tabla DROP PRIMARY KEY | UNIQUE(campos) | CONSTRAINT nombreRestriccin [CASCADE] ALTER TABLE CursosActuales DROP PRIMARY KEY; ALTER TABLE CursosActuales DROP(comision);
EJERCICIOS
INDICACIONES
Pgina 7 de 9
Elabore las instrucciones necesarias en scripts para los ejercicios planteados, elabore tambin las instrucciones del esquema (usuario) creado para almacenar las tablas
Nota: utilice los tipos de datos que crea conveniente segn la informacin que se almacenara Cliente Id_cliente (PK) Cliente DireccionCliente NITcliente Factura NoFactura (PK) Id_cliente (FK) FechaFact TotalFactura Detalle_factura Numero (PK) NoFactura(FK) Id_producto(FK) Cantidad Precio_total M
Pgina 8 de 9
Lector
Prstamo
Libro
Pgina 9 de 9