RESUMEN CREAR BASE DE DATOS A CODIGO
connect system/josias
SQL> Create tablespace datos2 datafile ‘c:\oraclexe\oradata\xe\datos2.ora’ size 30M;
SQL> CREATE TEMPORARY TABLESPACE TEMPORAL2 TEMPFILE ‘C:\oraclexe\oradata\XE\temporal2.ora’ size 30m;
Tablespace created.
SQL> CREATE USER josias IDENTIFIED BY josias DEFAULT TABLESPACE DATOS TEMPORARY TABLESPACE TEMPORAL ;
User created.
CREATE USER parcial5 IDENTIFIED BY josias DEFAULT TABLESPACE datos TEMPORARY TABLESPACE temporal QUOTA 60 m ON datos;
User created
Grant alter any table to permisos, alumnos;
SQL> alter table personal
2 add constraint pk_personal
3 primary key (cod_empleado);
Table altered.
SQL> alter table proyectos
2 add constraint pk_proyectos
3 primary key (cod_proyecto);
Table altered.
SQL> alter table oficinas
2 add constraint pk_oficinas
3 primary key (cod_oficina);
Table altered.
7 . Para tener agregar el campo en la table proyectos para poder utilizer la llave foranea con la de oficina..
SQL> alter table proyectos
2 add codoficina number(10);
Table altered.
8 . SE AGREGA LA LLAVE FORANEA
SQL> alter table proyectos
2 add constraint fk_proyectos_codoficina
3 foreiGN key (codoficina)
4 references OFICINAS(COD_OFICINA);
Table altered.
SQL> create role permisos1;
Role created.
SQL> grant alter any table to permisos1, josias;
Grant succeeded.
SQL> grant connect, dba, resource to permisos1;
grant succeded.
SQL> grant permisos1 to josias;
Grant succeeded.
commit;
SQL> connect josias/josias;
Connected.
CREATE TABLE TABLAJOSI(CEDULA VARCHAR2(25), NOMBRE VARCHAR2(20) NOT NULL, APELLIDO VARCHAR2(20) NOT NULL, primary key (CEDULA));
SQL*Plus: Release 11.2.0.2.0 Production on MiÚ Abr 18 22:50:04 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> connect system/josias
Connected.
SQL> connect alumnos/alumnos
ERROR:
ORA-01045: user ALUMNOS lacks CREATE SESSION privilege; logon denied
SQL> create role permisos;
Role created.
SQL> grant alter any table to permisos,alumnos;
Grant succeeded.
SQL> grant connect, dba, resource to permisos;
Grant succeeded.
SQL> grant permisos to alumnos;
Grant succeeded.
SQL> commit;
Commit complete.
SQL> connect alumnos/alumnos
Connected.
SQL> CREATE TABLE ALUMNO(CEDULA VARCHAR2(50), NOMBRE VARCHAR2(20) NOT NULL, APE
LLIDO VARCHAR2(20) NOT NULL , primary key (ced));
CREATE TABLE ALUMNO(CEDULA VARCHAR2(50), NOMBRE VARCHAR2(20) NOT NULL, APELLIDO
VARCHAR2(20) NOT NULL , primary key (ced))
*
ERROR at line 1:
ORA-00904: "CED": invalid identifier
SQL> CREATE TABLE ALUMNO(CEDULA VARCHAR2(50), NOMBRE VARCHAR2(20) NOT NULL, APE
LLIDO VARCHAR2(20) NOT NULL, primary key (CEDULA));
CREATE TABLE ALUMNO(CEDULA VARCHAR2(50), NOMBRE VARCHAR2(20) NOT NULL, APELLIDO
VARCHAR2(20) NOT NULL, primary key (CEDULA))
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'DATOS'
SQL> grant connect, dba, resource to permisos, alumnos;
Grant succeeded.
SQL> commit
2 commit;
commit
*
ERROR at line 2:
ORA-02185: a token other than WORK follows COMMIT
SQL> commit;
Commit complete.
SQL> CREATE TABLE TABLAJOSI(CEDULA VARCHAR2(25), NOMBRE VARCHAR2(20) NOT NULL, APELLIDO VARCHAR2(20) NOT NULL, primary key (CEDULA));
Table created.
SQL> select * from alumno
2 select * from alumno
3 select * from alumno;
select * from alumno
*
ERROR at line 2:
ORA-00933: SQL command not properly ended
SQL> desc alumno;
Name Null? Type
----------------------------------------- -------- ----------------------------
CEDULA NOT NULL VARCHAR2(50)
NOMBRE NOT NULL VARCHAR2(20)
APELLIDO NOT NULL VARCHAR2(20)
SQL> insert into alumno
2 (cedula, nombre, apellido)
3 values (1065612477, 'Josias', 'Ibarra');
1 row created.
SQL> desc alumno
Name Null? Type
----------------------------------------- -------- ----------------------------
CEDULA NOT NULL VARCHAR2(50)
NOMBRE NOT NULL VARCHAR2(20)
APELLIDO NOT NULL VARCHAR2(20)
SQL> select * from alumno
2 ;
CEDULA NOMBRE
-------------------------------------------------- --------------------
APELLIDO
--------------------
1065612477 Josias
Ibarra
SQL> replace type
SQL> CREATE USER parcial10 IDENTIFIED BY josias DEFAULT TABLESPACE datos TEMPORARY TABLESPACE temporal QUOTA 60 m ON datos;
User created.
USUARIO PARCIAL 10 / JOSIAS..
CREAR LAS TABLAS CON LOS IDS PRIMARY Y EL NOMBRE..
DESPUES ADICIONAR EL CAMPO IDPROVEEDOR E IDCATEGORIA EN LA TABLA PRODUCTO Y DESPUES PONER COMO FORAING KEY A EL ID DEL PROVEEDOR Y EL ID DE LA CATEGORIA... Y RELACIONARLAS CON LAS TABLAS DE PROVVEEDOR Y LA TABLA CATEGORIA ( TIENE QUE ESTAR CREADAS LAS TABLAS DEL PROVEEDOR Y LA CATEGORIA CON LA PRIMARY KEY)..
SQL> alter table producto
2 add idcategoria number(10);
Table altered.
SQL> alter table producto
2 add constraint fk_producto_idcategoria
3 foreign key (idcategoria)
4 references categoria(id);
Table altered.
SQL> select producto.nombreproducto, proveedor.nombre from producto, proveedor where idproveedor = proveedor.id ;
SQL> update producto set costo=5000 where idcategoria=1;
6 rows updated.
Para la vista
SQL> create view vista2 as select nombre_proyecto, presupuestos, nombre_oficina
from proyectos, oficinas;
SQL> update proyectos set presupuestos = 450000 where cod_proyecto = 1;
1 row updated.
SQL> update proyectos set presupuestos = 25550000 where cod_proyecto = 2;
PARA COLOCARLE EL VALOR DE UNA FILA A OTRA.
SQL> update proyectos set presupuestos = (select presupuestos from proyectos where cod_proyecto=2 ) where (cod_proyecto=1) ;
Update proyectos set presupuestos= presupuestos*2 where presupuestos<1000
Update proyectos set presupuestos = 333, gastos=764, comisiones=86868
Insert into proyectos (código,etc…) values(1,…);
Select código from proyectos;
1 row updated.
UPDATE, INSERT
SELECT PRESUPUESTO FROM PROYECTOS WHERE COD_PROYECTO=5;
()
UN PROYECTO PERTENECE A UNA CATEGORIA...... MOSTRARME TODOS LOS PROYECTOS QUE PERTENECEN A UNA CATEGORIA EN UNA VISTA SIN IMPORTAR LA OFICINA EN LA QUE ...
SQL> create view VISTAPROYECTOSCATEGORIA2 AS SELECT NOMBRE_PROYECTO, NOMBRE_OFICINA FROM PROYECTOS, OFICINAS WHERE CODCATEGORIA = 1 and OFICINAS.COD_OFICINA = PROYECTOS.CODOFICINA;
View created.
SQL> CREATE VIEW OFICINA_CATEGORIAXY AS select nombre_proyecto, nombre_oficina, n
ombre_catego from proyectos, categoria, oficinas where cod_catego=codcategoria and
cod_oficina=codoficina and nombre_catego='CATEGORIA_Y' AND nombre_oficina='OFIC
INAX';
View created.