Академический Документы
Профессиональный Документы
Культура Документы
De Sistemas
Escuela de
I. OBJETIVOS
Manejo de privilegios Manejo de Creacin de tablas Manejo de tipo de datos y Uso de Restricciones
DROP TABLE Elimina una tabla (datos y estructura) y sus ndices. No se puede hacer Rollback de esta sentencia.
Modelamiento de Base de datos 1 Ing. Elvira Fernndez
UNSCHIng. De Sistemas
RENAME o sinnimo.
o
Escuela de
Una base de datos almacena su informacin en tablas. Una tabla es una estructura de datos que organiza los datos en columnas y filas; cada columna es un campo (o atributo) y cada fila, un registro. La interseccin de una columna con una fila, contiene un dato especfico, un solo valor. Cada registro contiene un dato por cada columna de la tabla. Cada campo (columna) debe tener un nombre. El nombre del campo hace referencia a la informacin que almacenar. Cada campo (columna) tambin debe definir el tipo de dato que almacenar. TIPOS DE RESTRICCIONES: Las restricciones son un mtodo estndar ANSI para forzar la integridad de los datos. Garantizan que los datos ingresados en las columnas sean valores vlidos y que se mantengan las relaciones entre las tablas. PRIMARY KEY (PK) Garantiza que cada fila o registro en una tabla es nico(a). La columna o combinacin de columnas definida como clave primaria no permite valores duplicados. Cuando se define la restriccin PK sobre un (o unos) atributo(s) de una entidad se obliga a: No duplicar el contenido de dicho atributo en la entidad No permite valores nulos (NULL) Se sugiere usar el tipo de datos enteros FOREIGN KEY (FK) Indica el atributo o atributos que almacenaran el dato que los relacionar con otra entidad. Este atributo en la otra entidad debe ser un PK para poder establecer una adecuada relacin. Cuando se define la restriccin FK sobre un (o unos) atributo(s) de una entidad se obliga a: el dato que se desea almacenar en el atributo FK, debe haber sido previamente registrado en la entidad que contiene el PK. Al tratar de eliminar el dato en la entidad que contiene el atributo PK, previamente se debe eliminar el dato en la entidad que contiene el FK. UNIQUE (UN) Garantiza que cada valor en una columna es nico. Permite valores nicos. Cuando se definen la restriccin UN sobre un (o unos) atributo(s) de una entidad se obliga a:
UNSCHIng. De Sistemas
no repetir los valores definidos como nicos
Escuela de
NOT NULL: (NU) Indica que, a pesar que el motor de la base de datos obliga a registrar todos los valores de una entidad, podramos causar excepciones, para dejar atributos vacos. Cuando se define la restriccin NU sobre un (o unos) atributo(s) de una entidad se le obliga a: No causar un error de excepcin cuando se deje dicho atributo en blanco Los Primary Key y Foreign key, no pueden tener esta restriccin. CHECK (CK) Indica que algunos atributos pueden ser validados dentro de un rango de valores. Cuando se define la restriccin CK sobre un (o unos) atributo(s) de una entidad se le obliga a: El valor que vaya a tener dicho atributo debe encontrarse en el conjunto de valores vlidos que se le ha indicado. Por ejemplo: el atributo sexo de una entidad de clientes solo puede ser M o F DEFAULTS Un DEFAULTS es un valor por defecto que se puede asignar en un campo cuando el valor de este campo no es insertado en el registro. Las definiciones DEFAULT se pueden: Crear cuando se crea la tabla, durante el proceso de definicin de la misma. Agregar a una tabla ya existente. Cada columna de una tabla puede contener una sola definicin DEFAULT Modificar o eliminar, si ya existen definiciones DEFAULT. por ejemplo, puede modificar el valor que se inserta en una columna cuando no se escribe ningn valor.
III. DESARROLLO
CREANDO TABLAS Antes de crear una tabla debemos de determinar a que esquema de la base de datos pertenecer. Para poner esto en prctica, vamos a crear en la base de datos un espacio para las tablas (Tablespace) llamado TS_VENTAS y, tambin, vamos a crear un usuario llamado DESARROLLO que utilizaremos para crear todos los objetos a ver en esta sesin. REALIZAR CONEXION
UNSCHIng. De Sistemas
Escuela de
Conctese con una cuenta que tenga los privilegios suficientes para crear tablespace y nuevos usuarios. SQL>Conexin usuario/contrasea@cadena_conexin SQL> conn system/123456@orcl SQL> conn sysman/123456@orcl Ejercicio01: Crear el usuario o esquema DESARROLLO, especificando TS_VENTAS como tablespace a utilizar y cunta informacin podr almacenar. SQL>CREATE USER nombre_usuario IDENTIFIED BY contrasea DEFAULT TABLESPACE Asigrnar_el_nombre_tablespace QUOTA {KB/M [UNLIMITED]}ON nombre_tablespace OTROGAR PRIVILEGIOS Otorgar privilegios necesarios para el usuario con el fin que pueda efectuar la conexin. Sintaxis : SQL>GRANT privilegio to nombre_usuario; SQL>GRANT CONNECT TO DESARROLLO; Ojo: pensar bien si se le dar el privilegio de administrador de la base de datos SQL>GRANT dba TO nombre_usuario; Quitar un privilegio SQL>REVOKE nombre_privilegio FROM nombre_usuario; SQL>REVOKE dba FROM DESARROLLO; Asignando ms de un privilegio SQL>GRANT CREATE TABLE, CREATE ANY TABLE TO DESARROLLO; Lo comn que se asigna a un usuario SQL>GRANT CONNECT, RESOURCE TO DESARROLLO; REALIZAR LA CONEXIN SQL>CONNECT nombre_usuario/contrasea@cadena_conexion; orcl(instancia)
Modelamiento de Base de datos 4 Ing. Elvira Fernndez
UNSCHIng. De Sistemas
Mostrar el usuario. SQL>SHOW USER; CASO PRCTICO
Escuela de
Crear un tablespace sistemas y asignarle al usuario su_nombreXXX y darle los privilegios necesarios para crear objetos, utilizando el administrador de control de datos CREACIN DE TABLAS Se tiene el siguiente modelo fsico, crear las tablas en el espacio de tablas TS_VENTAS.
UNSCHIng. De Sistemas
Escuela de
La creacin de la base de datos debe comenzar con la creacin de una o ms tablas. Para ello utilizaremos la sentencia CREATE TABLE. Sintaxis: CREATE TABLE <nombre_tabla> ( <nombre_campo> <tipo_datos(tamao)>[null | not null] [default <valor_por_defecto>] {,<nombre_campo> <tipo_datos(tamao)>[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 ] ) ] [ON DELETE {CASCADE }] ); SIEMPRE SE USA NOT NULL(siempre tiene k tener cdigo no nulo) CUANDO ES PK La tabla debe ser definida con un nombre que la identifique y con el cual accederemos a ella. Cada campo con su tipo debe separarse con comas de los siguientes, excepto el ltimo. Cuando se crea una tabla debemos indicar su nombre y definir al menos un campo con su tipo de dato Cada usuario ocupar un registro de esta tabla, con su respectivo nombre y clave. Finalizamos cada comando con un punto y coma.
CREATE TABLE ORDEN ( IdOrden number (6) not null primary key, FechaEntrada date DEFAULT sysdate, FechaSalida date //el ultimo campo no tiene , ) Tablespace TS_VENTAS ; CREATE TABLE PRODUCTO ( IdProducto int not null primary key, IdCategoria int, IdProveedor int, Nombre varchar (50) not null unique, UnidadMedida varchar(20), PrecioProveedor number(8,2) not null,
Modelamiento de Base de datos 6 Ing. Elvira Fernndez
UNSCHIng. De Sistemas
Telefono varchar(11),-- campo incorrecto StockMinimo number(6) check (StockMinimo>20), Descontinuado number(1) );
Escuela de
Ejercicio 02: crear las tabla ORDEN_DETALLE y las restantes del modelo fsico
REALIZAR CONSULTA SELECT * FROM TABS; Recupera los nombres de todas las tablas y caractersticas pertenecientes al usuario que emite este comando
UNSCHIng. De Sistemas
Escuela de
ALTER TABLE ORDEN ADD CONSTRAINT PK_IdOrden PRIMARY KEY (IdOrden) Ejercicio03 : Eliminar el campo telefono de la tabla producto ALTER TABLE PRODUCTO DROP COLUMN telefono Ejercicio04 : Crear la restriccin para el campo cantidadSolicitada de la tabla Detalleproducto, que slo permita ingresar valores mayores a 50 ALTER TABLE Detalleproducto ADD CONSTRAINT ch_cantidad CHECK(cantidadSolicitada>50) Ejercicio05:cambiar el nombre de columna precioProveedor de la tabla producto por precioUnitario ALTER TABLE producto RENAME COLUMN precioProveedor TO precioUnitario
Ejercicio06 : Ingresar por defecto la cantidad de 25 unidades, para el campo stock mnimo de la tabla productos. CREANDO LLAVES FORNEAS Y RELACIONANDO TABLAS Agregando referencia a la tabla PRODUCTO ALTER TABLE ORDEN_DETALLE ADD CONSTRAINT FK_CODPRODUCTO FOREIGN KEY (IdProducto) REFERENCES PRODUCTO (IdProducto) Ejercicio : complete las dems relaciones del modelo fsico y genere 8 preguntas para usar restricciones o cambios en el modelo .