I-
1) El Resultado muestra el nombre, salario y cargo de aquellos empleados que posean el salario mas alto.
2) El Resultado muestra el Numero de Empleado, Nombre, Apellido y Numero de Oficina de los empleados que no administran propiedades.
3) El Resultado muestra el Numero de Oficina y que posean mas de 3 empleados a cargo de dichas oficinas
4) Mal Redactado:
Update Empleado
Set salario = salario*1,2
having cargo = 'Asistente'
Bien Redactado:
Update Empleado
Set salario = salario*1.2
where cargo = 'Asistente'
II-
5) SELECT NOMBRE, APELLIDO, SALARIO
FROM EMPLEADO
WHERE APELLIDO LIKE 'B%'
AND NUMEMPLEADO IN (SELECT NUMEMPLEADO FROM PROPIEDAD)
AND SEXO LIKE 'F'
6) select nombre ,apellido, salario
from empleado
where sexo like 'F'
and salario > some (select salario from empleado where sexo like 'M')
7) Select nombre, count(numempleado)
from empleado
group by nombre
having count(numEmpleado) > 1
8) Select P.numpropiedad
from Propiedad P, Visita V
where V.fecha like '%06/07'
9) select nombre , apellido
from propietario
where nombre not in(select nombre from propietario)
and apellido not in (select apellido from propietario )
Sql .... Challenge Acepted !!
MEGAMIX DE INFORMACION ... SI NO APRUEBAS CON ESTO ... MERECES LA MUERTE.
viernes, 17 de junio de 2011
Formulario para Preparacion de Examen
Bueno, ahi les dejo el link con el Formulario. Exito!
https://spreadsheets.google.com/spreadsheet/viewform?hl=es&formkey=dE5tN21ZcHVkcjkxRWVfMGdKRlFwSkE6MQ#gid=0
Namaste!!
https://spreadsheets.google.com/spreadsheet/viewform?hl=es&formkey=dE5tN21ZcHVkcjkxRWVfMGdKRlFwSkE6MQ#gid=0
Namaste!!
viernes, 3 de junio de 2011
Codigo CREACION DE USURIO
Con este codigo creamos un usuario para la BaseDeDatos en ISQLPLUS.
drop user "RUT-DV" cascade;
CREATE USER "RUT-DV" PROFILE "DEFAULT"
IDENTIFIED BY "RUT-DV"
DEFAULT TABLESPACE "CURSOSBD2009"
TEMPORARY TABLESPACE "TEMP"
ACCOUNT UNLOCK;
GRANT "CONNECT" TO "RUT-DV";
GRANT "RESOURCE" TO "RUT-DV";
CREATE USER "RUT-DV" PROFILE "DEFAULT"
IDENTIFIED BY "RUT-DV"
DEFAULT TABLESPACE "CURSOSBD2009"
TEMPORARY TABLESPACE "TEMP"
ACCOUNT UNLOCK;
GRANT "CONNECT" TO "RUT-DV";
GRANT "RESOURCE" TO "RUT-DV";
Metodo ocupado para crear multiples usuarios: COMBINACION POR CORRESPONDENCIA EN WORD 2007.
En el campo "RUT-DV" se reemplaza por alguna lista de excel y se personaliza con bloques de datos.
domingo, 22 de mayo de 2011
Codigo Oracle AMIGOS Y CERVEZA
SE CREA LA TABLA AMIGO. ENCABEZADO CON CREATE, LOS ATRIBUTOS Y SUS TIPOS. LA LINEA QUE DICE CONSTRAINT AMIGO ... SE SEÑALA IDAMIGO COMO LA PK
CREATE TABLE AMIGO
(
IDAMIGO NUMBER,
NOMBRE VARCHAR2(30),
APELLIDO VARCHAR2(30),
TELEFONO NUMBER,
EMAIL VARCHAR2(50),
TWITTER VARCHAR2(30),
FECHANACIMIENTO DATE,
CONSTRAINT AMIGO_PK PRIMARY KEY(IDAMIGO) ENABLE
);
SE CREA LA TABLA CERVEZA CON SUS ATRIBUTOS Y PK.
CREATE TABLE CERVEZA
(
IDCERVEZA NUMBER,
NOMBRE VARCHAR2(20),
MARCA VARCHAR2(10),
CONSTRAINT CERVEZA_PK PRIMARY KEY (IDCERVEZA) ENABLE
);
SE CREA TABLA PRUEBA, CON ATRIBUTOS Y PRIMARY KEY. LAS DOS LINEAS QUE DICEN CONSTRAINT PRUEBA_FK ... SEÑALA LAS LLAVES FORANEAS (FK). DICEN QUE POR EJEMPLO, IDCERVEZA SERA LO MISMO QUE LA PK IDCERVEZA DE LA TABLA CERVEZA. MEDIANTE ESO SE UNEN LAS TABLAS AMIGO, PRUEBA Y CERVEZA.
CREATE TABLE PRUEBA
(
IDPRUEBA NUMBER,
IDAMIGO NUMBER,
IDCERVEZA NUMBER,
CONSTRAINT PRUEBA_PK PRIMARY KEY (IDPRUEBA) ENABLE,
CONSTRAINT PRUEBA_FK_AMIGO FOREIGN KEY (IDAMIGO) REFERENCES AMIGO (IDAMIGO) ENABLE,
CONSTRAINT PRUEBA_FK2_CERVEZA FOREIGN KEY (IDCERVEZA) REFERENCES CERVEZA (IDCERVEZA) ENABLE
);
SE CREA LA TABLA BAR, CON SUS ATRIBUTOS Y PK.
CREATE TABLE BAR
(
IDBAR NUMBER,
NOMBRE VARCHAR2(25),
DIRECCION VARCHAR2(50),
COMUNA VARCHAR(20),
TELEFONO NUMBER,
CONSTRAINT BAR_PK PRIMARY KEY(IDBAR) ENABLE
);
SE CREA TABLA FRECUENTA, CON ATRIBUTOS, PK Y 2 FK. CON ESTO UNEN AMIGO, FRECUENTA Y BAR. ADEMAS EN EL ULTIMO CONSTRAINT FRECUENTA_HORARIO ... SE USA COMO UNA VALIDACION. MECIONA QUE EL ATRIBUTO HORARIO SOLO PODRA RECIBIR LOS VALORES MAÑANA, TARDE, NOCHE O INDIFERENTE.
CREATE TABLE FRECUENTA
(
IDFRECUENTA NUMBER,
IDAMIGO NUMBER,
IDBAR NUMBER,
HORARIO VARCHAR2(10),
CONSTRAINT FRECUENTA_PK PRIMARY KEY(IDFRECUENTA) ENABLE,
CONSTRAINT FRECUENTA_FK_AMIGO FOREIGN KEY (IDAMIGO) REFERENCES AMIGO (IDAMIGO) ENABLE,
CONSTRAINT FRECUENTA_FK2_BAR FOREIGN KEY (IDBAR) REFERENCES BAR (IDBAR) ENABLE,
CONSTRAINT FRECUENTA_HORARIO CHECK (HORARIO IN ('MAÑANA', 'TARDE', 'NOCHE', 'INDIFERENTE')) ENABLE
);
CREA TABLA SIRVE, CON SUS ATRIBUTOS, PK Y SUS 2 FK. SE CREA LA CONEXION BAR, SIRVE, CERVEZA.
CREATE TABLE SIRVE
(
IDSIRVE NUMBER,
IDBAR NUMBER,
IDCERVEZA NUMBER,
CONSTRAINT SIRVE_PK PRIMARY KEY(IDSIRVE) ENABLE,
CONSTRAINT SIRVE_FK_CERVEZA FOREIGN KEY (IDCERVEZA) REFERENCES CERVEZA (IDCERVEZA) ENABLE,
CONSTRAINT SIRVE_FK2_BAR FOREIGN KEY (IDBAR) REFERENCES BAR (IDBAR) ENABLE
);
ACA SE POBLA LA TABLA AMIGO, ES DECIR, SE LE AGREGAN DATOS. EL BEGIN Y EL END HACEN QUE SE PUEDAN AGREGAR TODOS LOS DATOS DE UNA VEZ.
Begin
Insert into Amigo values (10, 'Pedro', 'Picapiedra', 5555555, 'ppicapiedra@gmail.com','@Picapiedra', '06/06/1966');
insert into Amigo Values (20, 'Rick', 'Wackeman', 932456765, 'rwackeman@hotmail.com', '@wackeman', '25/05/1960');
insert into Amigo Values (30, 'Jack', 'Bauer', 74859632, 'jbauer@ctu.org', '@bauer', '24/06/1970');
insert into Amigo Values (40, 'Chuck', 'Norris', 7777777, 'cnorris@dios.com', '@DonChuck', '07/07/1940');
End
SE POBLA LA TABLA CERVEZA.
BEGIN
insert into Cerveza values (10, 'Escudo', 'CCU');
insert into Cerveza values (20, 'Pale Ale', 'Kunstmann');
insert into Cerveza values (30, 'Bock', 'Kunstmann');
insert into Cerveza values (40, 'Cristal', 'CCU');
insert into Cerveza values (50, 'Baltica', 'CCU');
insert into Cerveza values (60, 'Heinecken', 'Heinecken');
insert into Cerveza values (70, 'Chimbombo', 'Cuneta');
END
SE POBLA LA TABLA PRUEBA
Begin
insert into prueba values (10, 10, 10);
insert into prueba values (11, 10, 20);
insert into prueba values (12, 10, 30);
insert into prueba values (13, 20, 10);
insert into prueba values (14, 20, 70);
insert into prueba values (15, 30, 40);
insert into prueba values (16, 30, 60);
insert into prueba values (17, 40, 70);
insert into prueba values (18, 40, 20);
END
SE POBLA LA TABLA BAR
BEGIN
insert into bar values (1, 'El Bar de Moe', 'Av. Siempre Viva 278', 'Springfield', 4884665);
insert into bar values (2, 'El Pobre Carlos', 'Av. Balmaceda 2487', 'Talagante', 8154879);
insert into bar values (3, 'Groops!', 'Downtown 200', 'Ciudad de York', 9905674);
insert into bar values (4, 'Atico', 'Santelices 669', 'Isla de Maipo', 8194596);
END
SE POBLA LA TABLA FRECUENTA
BEGIN
insert into frecuenta values (1, 10, 1, 'NOCHE');
insert into frecuenta values (2, 20, 1, 'MAÑANA');
insert into frecuenta values (3, 10, 2, 'NOCHE');
insert into frecuenta values (4, 10, 3, 'TARDE');
insert into frecuenta values (5, 30, 1, 'NOCHE');
insert into frecuenta values (6, 40, 1, 'TARDE');
insert into frecuenta values (7, 40, 3, 'MAÑANA');
insert into frecuenta values (8, 20, 4, 'NOCHE');
insert into frecuenta values (9, 40, 2, 'TARDE');
insert into frecuenta values (10, 30, 2, 'NOCHE');
END
SE POBLA LA TABLA SIRVE
BEGIN
insert into sirve values(30, 1, 10);
insert into sirve values(31, 2, 20);
insert into sirve values(32, 1, 10);
insert into sirve values(33, 2, 20);
insert into sirve values(34, 3, 60);
insert into sirve values(35, 3, 30);
insert into sirve values(36, 3, 20);
insert into sirve values(37, 4, 40);
insert into sirve values(38, 4, 60);
END
SELECT * FROM nombreTabla: DEVUELVE TODOS LOS REGISTROS (DATOS ALMACENADOS EN ATRIBUTOS) DE LA TABLA MENCIONADA
SELECT * FROM AMIGO
SELECT * FROM CERVEZA
SELECT * FROM PRUEBA
SELECT * FROM BAR
SELECT * FROM FRECUENTA
SELECT * FROM SIRVE
EN ESTA CONSULTA, SE ABREN LAS TABLAS AMIGO, CERVEZA Y PRUEBA, DONDE SE LE ASIGNAN ALIAS A, C Y P. SE DEVOLVERA SOLO EL NOMBRE Y EL APELLIDO DEL AMIGO. PRIMERO SE HACE EL JOIN, DONDE SE IGUALAN LAS ID DE UNA TABLA CON EL ID DE LA TABLA INTERMEDIA (EJ: IDAMIGO DE LA TABLA AMIGO CON IDAMIGO DE LA TABLA PRUEBA) . Y FINALMENTE SE ESCRIBE LA CONDICION. ESTA DICE QUE DEVUELVA EL NOMBRE Y APELLIDO DE LOS QUE HAN CONSUMIDO ESCUDO Y ADEMAS BOCK (SE HACE UNA INSTRUCCION ESPECIAL CON IN DONDE SOLO SE UTILIZA EL IDAMIGO PARA SABER LA SEGUNDA CERVEZA QUE BEBIO Y VOLVER A VERIFICAR).
SELECT A.NOMBRE, A.APELLIDO
FROM AMIGO A, CERVEZA C, PRUEBA P
WHERE A.IDAMIGO = P.IDAMIGO
AND P.IDCERVEZA = C.IDCERVEZA
AND C.NOMBRE = 'Escudo'
AND A.IDAMIGO IN
( SELECT IDAMIGO
FROM PRUEBA P, CERVEZA C
WHERE C.IDCERVEZA = P.IDCERVEZA
AND C.NOMBRE = 'Bock'
);
VISTA: ESTA LINEA CREA UNA VISTA PARA SER OCUPADA DESPUES Y VER CAMBIOS. TAMBIEN PUEDE SER LLAMADA COMO SELECT * FROM VISTA SIEMPRE Y CUANDO SE HAYA COLOCADO ARRIBA EN UNA CONSULTA DEFINIDA.
CREATE VIEW VISTA
ESTA CONSULTA DICE QUE OCUPARA LAS TABLAS AMIGO, BAR, FRECUENTA, CERVEZA Y SIRVE. SOLO DEVOLVERA EL NOMBRE DEL AMIGO, NOMBRE DE LA CERVEZA, NOMBRE DEL BAR Y EL HORARIO (SIN CONDICION, VALIDACION O FILTRACION). SE HACEN LOS JOIN.
SELECT A.NOMBRE, C.NOMBRE, B.NOMBRE, HORARIO
FROM AMIGO A, BAR B, FRECUENTA F, CERVEZA C, SIRVE S
WHERE A.IDAMIGO = F.IDAMIGO
AND F.IDBAR = B.IDBAR
AND B.IDBAR = S.IDBAR
AND S.IDCERVEZA = C.IDCERVEZA
USER_TABLES MUESTRA TODAS LA INFORMACION DE TODAS LAS TABLAS
SELECT * FROM USER_TABLES
ESTO DESCRIBE LA ESTRUCTURA DE LA TABLA CERVEZA
DESCRIBE CERVEZA
NAMASTE!!!
lunes, 2 de mayo de 2011
Formas Normales
Nuevamente, subimos el material usado para la Disertacion sobre: FORMAS NORMALES.
NAMASTE!
- Normalizacion
- Primera Forma Normal (1FN) + Ejemplo
- Segunda Forma Normal (2FN) + Ejemplo
- Tercera Forma Normal (3FN) + Ejemplo
NAMASTE!
lunes, 11 de abril de 2011
Modelo Entidad - Relacion
Este es el material usado para la Disertacion sobre: MODELO ENTIDAD - RELACION.
Lo pueden descargar a traves de el siguiente link:
MODELO ENTIDAD - RELACION.PPSX
NAMASTE !!
- Pasos para Realizar un buen Modelo ENTIDAD - RELACION
- Ejercicio: Amigos & Cervezas. Enunciado, Modelo y Preguntas.
- Ejercicio: Curso de Capacitacion. Enunciado, Modelo y Preguntas.
Lo pueden descargar a traves de el siguiente link:
MODELO ENTIDAD - RELACION.PPSX
NAMASTE !!
sábado, 9 de abril de 2011
Oracle 10g (proximamente completo el post)
Hola en esta ocacion escribire sobre Oracle 10g Express Edition
"Inserte la definicion de oracle aqui XD"
Comandos:
(colocare algunas cosas a color, para que sea facil de acimilar cuando se hable de lo mismo)
Crear Tabla:
create table nombreTabla (
nombreAtributo tipoAtributo,
nombreAtributo2 tipoAtributo2);
Insertar Valores:
begin
insert into nombreTabla values (valorAtributo1, valorAtributo2);
insert into nombreTabla values (valorAtributo1, valorAtributo2);
end
Ver Tabla:
select * from nombreTabla;
Ver en la tabla los valores que cumplen la condicion:
select * from nombreTabla where nombreAtributo like valorAtributo1;
Cambiar valor a los atributos:
update nombreTabla set nombreAtributo = valorNuevo
where nombreAtrivuto = valorAntiguo;
Cambiar valor a los atributos que cumplan la condicion:
update nombreTabla set nombreAtributo = valorNuevo
where nombreAtrivuto = valorAntiguo;
and nombreAtributo2 = valorAtributo2;
Ver descripcion de la tabla:
describe nombreTabla;
Eliminar tabla:
delete nombreTabla;
Eliminar de la tabla el que cumpla la condicion:
delete nombreTabla where nombreAtributo = valorAtributo
and nombreAtributo2 = valorAtributo2;
"Inserte la definicion de oracle aqui XD"
Comandos:
(colocare algunas cosas a color, para que sea facil de acimilar cuando se hable de lo mismo)
Crear Tabla:
create table nombreTabla (
nombreAtributo tipoAtributo,
nombreAtributo2 tipoAtributo2);
Insertar Valores:
begin
insert into nombreTabla values (valorAtributo1, valorAtributo2);
insert into nombreTabla values (valorAtributo1, valorAtributo2);
end
Ver Tabla:
select * from nombreTabla;
Ver en la tabla los valores que cumplen la condicion:
select * from nombreTabla where nombreAtributo like valorAtributo1;
Cambiar valor a los atributos:
update nombreTabla set nombreAtributo = valorNuevo
where nombreAtrivuto = valorAntiguo;
Cambiar valor a los atributos que cumplan la condicion:
update nombreTabla set nombreAtributo = valorNuevo
where nombreAtrivuto = valorAntiguo;
and nombreAtributo2 = valorAtributo2;
Ver descripcion de la tabla:
describe nombreTabla;
Eliminar tabla:
delete nombreTabla;
Eliminar de la tabla el que cumpla la condicion:
delete nombreTabla where nombreAtributo = valorAtributo
and nombreAtributo2 = valorAtributo2;
Suscribirse a:
Entradas (Atom)