• Viernes 8 de Noviembre de 2024, 17:53

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - el_funa

Páginas: [1]
1
Oracle / problema con query y tabla foreign key
« en: Viernes 28 de Mayo de 2010, 08:17 »
Hola a todos tengo unas consultas...
quiero saber si estas query se encuentran bien...
y los scrips de las tablas se encuentran abajo pero al parecer tengo malo el scrips de la tabla suministra en la parte de las foreign key, ya que al ingresar
datos no toma als foreign key :S y por eso no puedo revisar si estan bien los ejercicios...

espero que me puedan ayudar.



--------------------------------------
 ARTICULOS                  
                                   
CodArt  nvarchar(4) (PK)  
Nombre  Nvarchar (50)      
PrecVenta     Int                    
Procede Nvarchar (50)      
------------------------------------
SUMINISTRA                          
                                             
CodArt  nvarchar(4) (FK)      
CodPro  nvarchar(4) (FK)      
Precio  Int                          
---------------------------------------
PROVEEDORES                          
                                               
CodPro  nvarchar(4) (PK)      
Nombre  Nvarchar (50)          
Comuna  Nvarchar (50)          
--------------------------------------


1.   Obtener los nombres de todas los artículos que son suministrados por proveedores de ‘Santiago’ y son de procedencia china (Nombre)
Código: SQL
  1.  
  2. SELECT a.nombre
  3. FROM artículos a INNER JOIN suministra s ON a.codArt=s.codArt
  4.           INNER JOIN proveedores p ON s.codPro=p.codPro
  5. WHERE p.comuna=’Santiago’ AND a.procede=’china’
  6.  
  7.  
2.   Obtener todos los datos de todos los proveedores que sean de la comuna de “providencia” y que suministran artículos por un precio mayor a 6000 pesos. (Codigo, Nombre, Comuna)

Código: SQL
  1.  
  2. SELECT p.*
  3. FROM artículos a INNER JOIN suministra s ON a.codArt=s.codArt
  4.           INNER JOIN proveedores p ON s.codPro=p.codPro
  5. WHERE p.comuna=’providencia’ AND a.precVenta>6000
  6.  
  7.  

3.   Obtener el promedio al que se suministran los artículos del proveedor “HomeroCenter”. (Promedio de precios)
Código: SQL
  1.  
  2. SELECT avg(s.precio)
  3. FROM suministra a INNER JOIN proveedores p ON s.CodPro=p.CodPro
  4. WHERE p.Nombre=’HomeroCenter’
  5.  
  6.  

4.   Obtener los nombres de los proveedores que suministran el artículo “Martillo” y a que precio lo suministran. (nombre proveedor, precio)
Código: SQL
  1.  
  2. SELECT p.Nombre, s.Precio
  3. FROM proveedor p INNER JOIN suministra s ON p.CodPro=s.CodPro
  4.     INNER JOIN artículos a ON s.CodArt=a.CodArt
  5. WHERE a.Nombre=’martillo’
  6.  
  7.  

5.   Obtener los nombres de los artículos  suministradas por el proveedor “HomeroCenter”.  (Nombre articulo)
Código: SQL
  1.  
  2. SELECT a.Nombre
  3. FROM artículos a INNER JOIN suministro s ON a.CodArt=s.CodArt
  4.         INNER JOIN proveedores p ON s.CodPro=p.CodPro
  5. WHERE p.Nombre=’HomeroCenter’
  6.  
  7.  

6.   Obtener el nombre del proveedor que suministra el artículo más caro, indicando el nombre y el precio al que la suministran. (Nombre Proveedor, Nombre articulo, Precio)
Código: SQL
  1.  
  2. SELECT  p.nombre, a.nombre, MAX(s.precio)
  3. FROM proveedores p INNER JOIN suministra s ON p.CodPro=s.CodPro
  4.                 INNER JOIN articulos a ON s.CodArt=a.CodArt
  5.  
  6.  

7.   Mostrar el promedio de precios de venta  de los artículos por procedencia del artículo. (Procedencia, Promedio)
Código: SQL
  1.  
  2. SELECT Procede, avg(PrecVenta)
  3. FROM artículos
  4. GROUP BY Procede
  5.  
  6.  
8.   Mostrar el nombre de los productos que son más caros que el promedio de todos los productos de procedencia “Alemana”. (Nombre producto)
Código: SQL
  1.  
  2. SELECT nombre
  3. FROM articulos
  4. WHERE procede = ‘alemania' and precventa>( select avg(precventa)
  5.                                  from articulos )
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
9.   Agregar a la base de datos la Empresa “Lidera” (código P2), de Santiago que empezará suministrando tuercas (código A10) a 160 pesos cada tuerca.
Código: SQL
  1.  
  2. INSERT INTO proveedores VALUES(‘p2’,’lidera’,’santiago’);
  3. INSERT INTO suministra VALUES(‘a10’,’p2’,160);
  4.  
  5.  

10.   Aumentar los precios de venta en un 10% permanente a los productos que son de procedencia “alemana”.
Código: SQL
  1.  
  2. SELECT (precio)*1.10
  3. FROM artículos
  4. WHERE procede=’alemania’
  5.  
  6.  

11.   La empresa proveedora “Marcus S.A.” (código P3) de arica, no va seguir suministrando ninguna pieza (aunque la empresa en si va a seguir perteneciendo al los proveedores de la base de datos).
Código: SQL
  1.  
  2. detele
  3. FROM suministra
  4. WHERE codpro='p3'
  5.  
  6.  

y estas  son las tablas para oracle

Código: SQL
  1.  
  2.  (esta tiene problema...)
  3. CREATE TABLE Suministra (
  4.   codart VARCHAR(4) NOT NULL,
  5.   codpro VARCHAR(4) NOT NULL,
  6.   precio INTEGER NOT NULL,
  7.   FOREIGN KEY (codart) REFERENCES articulos(codart),
  8.   FOREIGN KEY (codpro) REFERENCES proveedores(codpro)
  9. );
  10.  
  11.  
  12. CREATE TABLE Proveedores (
  13.   CodPro VARCHAR(4) NOT NULL,
  14.   Nombre VARCHAR(20) NOT NULL,
  15.   Comuna VARCHAR(20) NOT NULL,
  16.   PRIMARY KEY (CodPro)
  17. );
  18.  
  19. CREATE TABLE Articulos (
  20.   CodArt VARCHAR(4) NOT NULL,
  21.   Nombre VARCHAR(20) NOT NULL,
  22.   PrecVenta INTEGER NOT NULL,
  23.   Procede VARCHAR(50) NOT NULL,
  24.   PRIMARY KEY (CodArt)
  25. );
  26.  
  27.  
  28.  

2
Java / problema con toLowerCase
« en: Viernes 14 de Mayo de 2010, 06:55 »
hola tengo este problema de que no puedo ocupar bien el toLowerCase ya que no melos transforma a minuculas paraasi comparar
tengo que comparar unos colores pero el usuario puede colocar mayusculas y no funcionaria el prog. de todas maneras ahora estamos ocupando el blueJ

public void setColor(String color)
    {
        if(color.toLowerCase()=="blanco")    // AQUI ESTA EL PROBLEMA
        {
    this.color=color;
    }

entonces es ahi donde debe ir el toLowerCase ??o esta mal planteado el problema ?


aqui esta el codigo codigo completo.

Código: Java
  1. /**
  2.  * Write a description of class Equipo here.
  3.  *
  4.  * @author (your name)
  5.  * @version (a version number or a date)
  6.  */
  7. public class Equipo
  8. {
  9.     private String marca;
  10.     private String modelo;
  11.     private String numeroSerie;
  12.     private String descripcion;
  13.     private String color;
  14.     private Wifi wifi;
  15.     private Llamada llamada;
  16.     private Mensajeria mensajeria;
  17.     private Reproductor reproductor;
  18.    
  19.     public Equipo()
  20.     {
  21.     marca=null;
  22.     modelo=null;
  23.     numeroSerie=null;
  24.     descripcion=null;
  25.     color=null;
  26.     wifi=new Wifi();
  27.     llamada=new Llamada();
  28.     mensajeria=new Mensajeria();
  29.     reproductor=new Reproductor();
  30.    
  31.     }
  32.    
  33.     public Equipo(String marca,String modelo,String numeroSerie,String descripcion,String color, Wifi wifi,Reproductor reproductor, Llamada llamada, Mensajeria mensajeria)  
  34.     {
  35.     setMarca(marca);
  36.     setModelo(modelo);
  37.     setNumeroSerie(numeroSerie);
  38.     setDescripcion(descripcion);
  39.     setColor(color);
  40.     this.wifi=wifi;
  41.     this.llamada=llamada;
  42.     this.mensajeria=mensajeria;
  43.     this.reproductor=reproductor;
  44.     }
  45.    
  46.     public String getMarca()
  47.     {
  48.     return marca;
  49.     }
  50.     public String getModelo()
  51.     {
  52.     return modelo;
  53.     }
  54.     public String getNumeroSerie()
  55.     {
  56.     return numeroSerie;
  57.     }
  58.     public String getDescripcion()
  59.     {
  60.     return descripcion;
  61.     }
  62.     public String getColor()
  63.     {
  64.     return color;
  65.     }
  66.    
  67.     public void setMarca(String marca)//nokia, sony, lg, Samsung, blackBerry o iphone
  68.     {
  69.         if(marca.toLowerCase()=="nokia")
  70.         {
  71.     this.marca=marca;
  72.     }
  73.     else{
  74.     if(marca.toLowerCase()=="sony")
  75.         {
  76.     this.marca=marca;
  77.     }
  78.    
  79.     else{
  80.     if(marca.toLowerCase()=="samsung")
  81.         {
  82.     this.marca=marca;
  83.     }
  84.     else{
  85.     if(marca.toLowerCase()=="blackberry")
  86.         {
  87.     this.marca=marca;
  88.     }
  89.     else{
  90.     if(marca.toLowerCase()=="lg")
  91.         {
  92.     this.marca=marca;
  93.     }
  94.     else{
  95.         if(marca.toLowerCase()=="iphone")
  96.         {
  97.     this.marca=marca;
  98.     }
  99.     else{
  100.         System.out.println("solamente estan estas marcas: nokia, sony, lg, Samsung, blackBerry o iphone");
  101.     }
  102. }
  103. }
  104. }
  105. }
  106. }
  107.  
  108.     }
  109.    
  110.     public void setModelo(String modelo)
  111.     {
  112.         if(modelo.length()==5)
  113.         {
  114.     this.modelo=modelo;
  115. }
  116. else{
  117. System.out.println("el numero de modelo debe ser igual a cinco (5)");
  118. }
  119.     }
  120.     public void setNumeroSerie(String numeroSerie)
  121.     {
  122.     if(numeroSerie.length()>=3)
  123.         {
  124.     this.numeroSerie=numeroSerie;
  125. }
  126. else{
  127. System.out.println("El numero de serie debe tener mas de tres (3) caracteres.");
  128. }  
  129.     }
  130.     public void setDescripcion(String descripcion)
  131.     {
  132.     if(descripcion.length()>=3)
  133.         {
  134.     this.descripcion=descripcion;
  135. }
  136. else{
  137. System.out.println("La descripcion debe tener mas de tres (3) caracteres.");
  138. }  
  139.     }
  140.     public void setColor(String color)
  141.     {
  142.         if(color.toLowerCase()=="blanco")    // AQUI ESTA EL PROBLEMA
  143.         {
  144.     this.color=color;
  145.     }
  146.     else{
  147.     if(color.toLowerCase()=="negro")
  148.         {
  149.     this.color=color;
  150.     }
  151.    
  152.     else{
  153.     if(color.toLowerCase()=="rosado")
  154.         {
  155.     this.color=color;
  156.     }
  157.     else{
  158.     if(color.toLowerCase()=="rojo")
  159.         {
  160.     this.color=color;
  161.     }
  162.     else{
  163.     if(color.toLowerCase()=="gris")
  164.         {
  165.     this.color=color;
  166.     }
  167.     else{
  168.         System.out.println("solamente estan estos colores blanco, negro , rosado, rojo o gris");
  169.     }
  170. }
  171. }
  172. }
  173. }
  174.  
  175. }
  176.    
  177.    
  178.    
  179.    
  180.     public void printEquipo()
  181.     {
  182.     System.out.println("La marca es:"+getMarca());
  183.     System.out.println("El modelo es:"+getModelo());
  184.     System.out.println("Numero de serie:"+getNumeroSerie());
  185.     System.out.println("Descripciones:"+getDescripcion());
  186.     System.out.println("El color es:"+getColor());
  187.     wifi.printWifi();
  188.     llamada.printLlamada();
  189.     mensajeria.printMensajeria();
  190.     reproductor.printReproductor();
  191.    
  192.     }
  193. }
  194.  

3
C/C++ / PROBLEMA...
« en: Jueves 23 de Julio de 2009, 19:41 »
bien tengo este codigo a medio armar el problema es que al momento de vender un departamento tengo que verificar que primero existe, segundo si esta ocupado o desocupado, y al estar desocupado asignarlo como ocupado para que no se vuelva a vender.

el problema esta en que no puedo hacer eso del case 3
lo que me explicaron es que se asignaba al principio donde creaba los deptos desocupado y al momento de venderlos ivan cambiando a ocupado pero esa parte no la pude hacer por que me confundi :S
 
espero que me puedan ayudar con este problemita...

saludos.


Código: C++
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. typedef struct str_departamento
  5. {
  6. int n_habitaciones;
  7. int n_banos;
  8. float precio_dpto;
  9. int n_dpto;
  10.  
  11.  
  12. }departamento;
  13.  
  14.  
  15. typedef struct str_deuda
  16. {
  17. float cancelado;
  18. float debe;
  19. }deuda;
  20.  
  21.  
  22.  
  23. typedef struct str_persona
  24. {
  25. char nombre[20];
  26. int edad;
  27. char rut[9];
  28.  
  29.  
  30. }persona;
  31.  
  32.  
  33. typedef struct str_edificio
  34. {
  35. char nombre[20];
  36. int pisos;
  37.  
  38. departamento dpto[3];
  39. persona habitante;
  40. deuda deuda_cliente;
  41. }edificio;
  42.  
  43.  
  44.  
  45. edificio crear_edificio(edificio);
  46. edificio crear_dpto(edificio);
  47. edificio vender_dpto(edificio);
  48. edificio pagar_dpto(edificio);
  49. void pago_mayor(edificio);
  50. void dpto_ocupados(edificio);
  51. void dpto_desocupados(edificio);
  52.  
  53.  
  54. int main()
  55. {
  56. int op;
  57.  
  58. edificio edif;
  59. persona dueno;
  60.  
  61.  
  62. do{
  63. printf("----------------MENU--------------");
  64. printf("n----------------------------------n");
  65. printf("-----1> crear_edificio------------n");
  66. printf("-----2> agregar departamento------n");
  67. printf("-----3> vender departamento-------n");
  68. printf("-----4> pagar departamento--------n");
  69. printf("-----5> mostrar persona >50-------n");
  70. printf("-----6> departamentos ocupados----n");
  71. printf("-----7> departamentos desocupados-n");
  72. printf("-----8> salir---------------------n");
  73.  
  74. printf("elija una opcion: nn");
  75. scanf(" %d",&op);
  76.  
  77. switch(op)
  78. {
  79. case 1: crear_edificio(edif);
  80.         break;
  81.  
  82. case 2: crear_dpto(edif);
  83.         break;
  84.  
  85. case 3: vender_dpto(edif);
  86.         break;
  87.  
  88. case 4: pagar_dpto(edif);
  89.         break;
  90.  
  91. case 5: pago_mayor(edif);
  92.         break;
  93.  
  94. case 6: dpto_ocupados(edif);
  95.         break;
  96.  
  97. case 7: dpto_desocupados(edif);
  98.         break;
  99.                        
  100. default :
  101.     printf("opcion invalida");
  102.     break;
  103.  
  104. }
  105.  
  106. }while(op!=8);
  107.  
  108. return EXIT_SUCCESS;
  109. }
  110.  
  111.  
  112.  
  113.  
  114. edificio crear_edificio(edificio a )
  115. {
  116.  
  117. printf("ingrese nombre del edificionn");
  118. scanf("%s",&a.nombre);
  119.  
  120. return a;
  121. }
  122.  
  123.  
  124. edificio crear_dpto(edificio a)
  125. {
  126. int i;
  127.  
  128. for(i=1;i<=3;i++)
  129. {
  130. printf("nningrese numero departamenton");
  131. scanf("%d",&a.dpto[i].n_dpto);
  132. printf("ningrese numero de habitacionesn");
  133. scanf("%d",&a.dpto[i].n_habitaciones);
  134. printf("ningrese numero de banosn");
  135. scanf("%d",&a.dpto[i].n_banos);
  136. printf("ningrese precio del departamenton");
  137. scanf("%f",&a.dpto[i].precio_dpto);
  138. }
  139.  
  140. return a;
  141. }
  142.  
  143. edificio vender_dpto(edificio a)
  144. {
  145.          int i,p;
  146. printf("ingrese nombre del compradornn");
  147. scanf("%s",a.habitante.nombre);
  148. printf("ingrese rut del compradorn");
  149. scanf("%s",a.habitante.rut);
  150. printf("ingrese edad del compradorn");
  151. scanf(" %d",&a.habitante.edad);
  152. printf("que departamento decea comprarn");
  153. scanf(" %d",&p);
  154.  
  155. //------------------------------------  es aqui el PROBLEMA---------------------------------
  156. for(i=1;i<=3;i++){    
  157.                      }            
  158. if(p==a.dpto[i].n_dpto)
  159. {
  160.                         printf("es suyo el dpton");
  161.                         }  
  162.                         else{
  163.                              printf("no existe el dpton");
  164.                              }  
  165. //-----------------------------------------------------------------
  166. return a;
  167. }
  168.  
  169.  
  170. edificio pagar_dpto(edificio a)
  171. {
  172. int i;
  173.  
  174.  
  175.  
  176. printf("ingrese numero de dpto a pagarnn");
  177. scanf("%d",&i);
  178. printf("el valor del dpto es:   ");
  179. printf("%f",a.dpto[i].precio_dpto);
  180. printf("nningrese monto cancelado del departamentonn");
  181. scanf("%f",&a.deuda_cliente.cancelado);
  182.  
  183. return a;
  184. }
  185.  
  186. void pago_mayor(edificio a)
  187. {
  188.   printf("%sn",a.habitante.nombre);
  189.   printf("%sn",a.habitante.rut);
  190.  
  191. }        
  192.  
  193. void dpto_ocupados(edificio a)
  194. {
  195.      
  196. }    
  197.  
  198.  
  199. void dpto_desocupados(edificio a)
  200. {
  201.  
  202. }
  203.  
  204.  
  205.  
  206.  

4
C/C++ / se me cae el programa
« en: Jueves 9 de Julio de 2009, 01:45 »
al apretar la opcion 3 se me cae el programa y no me copia :/



Código: C++
  1. #include <stdio.h>>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. int la;
  7. printf("Ingrese el numero para eligir la opcionn");
  8. printf("[1] Ingresar nuevo texton");
  9. printf("[2] Ver el texton");
  10. printf("[3] Copiar el texto en texto.txtn");
  11. printf("[4] SALIRn");
  12.    char linea[30000];
  13.    fgets(linea, sizeof(linea), stdin);
  14.    sscanf(linea, "%d", &la);
  15. char frase[30000];
  16. switch(la){
  17.   case 1:
  18. FILE *g1;
  19. g1=fopen("frase.txt","w");
  20. printf("Ingrese texto: n");
  21. //scanf("%s",&frase);
  22. fgets(frase, sizeof(frase), stdin);
  23. fputs(frase,g1);
  24. fclose(g1);
  25.             break;
  26.     case 2:
  27. FILE *g2;
  28. g2=fopen("frase.txt","r");
  29. if(g2==NULL){
  30. printf("EL ARCHIVO NO EXISTEn");
  31. }else{
  32. while(!feof(g2)){
  33. fgets(frase,30000,g2);
  34. printf("%sn",frase);
  35. fputs(frase,g2);
  36. fclose(g2);
  37.             break;
  38.  
  39.     case 3:
  40. FILE *f1,*f2;
  41. f1=fopen("frase.txt","r");
  42. f2=fopen("copia.txt","w");
  43. if(f1==NULL){
  44. printf("EL ARCHIVO NO EXISTEn");
  45. }else{
  46. while(!feof(f1)){
  47. fputs(fgets(frase,30000,f1),f2);
  48. }
  49.  }
  50. fclose(f1);
  51. fclose(f2);
  52.              break;
  53.            
  54.     case 4: exit(0);
  55.             break;
  56.            
  57.     default:
  58.    
  59.  
  60.         printf("ERROR: ingrese el numero correcton");
  61.         break;
  62.  }
  63.         }
  64.                  system("PAUSE");
  65.     return EXIT_SUCCESS;
  66.  }
  67.  }
  68.  
  69.  
  70.  

5
C/C++ / problema con string
« en: Lunes 29 de Junio de 2009, 06:06 »
bueno miren tengo que hacer este problema el cual no me puede funcionar por 2 pequeños problemas...

miren es este problema

1.   Crear un programa en c que cree un archivo que contenga texto como un cuento ingresado por el usuario, el nombre del archivo debe ser ingresado por el usuario, el máximo de caracteres será de 30.000 caracteres, el programa debe permitir escribir el archivo, ver el archivo y copiar el archivo a uno llamado copia.txt.

Código: C
  1. #include <stdio.h>>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. int la;
  7.  
  8. printf("[1] Ingrese el numero para eligir la opcionn");
  9. printf("[2] Ingresar nuevo texton");
  10. printf("[3] Ver el texton");
  11. printf("[4] Copiar el texto en texto.txtn");
  12. printf("[5] SALIRn");
  13. scanf("%d",&la);
  14. switch(la){
  15.  
  16.     case 1:
  17. FILE *g1;
  18. char frase[30000];
  19. g1=fopen("frase.txt","w");
  20. printf("Ingrese texto: n");
  21. scanf("%s",&frase);
  22. fputs(frase,g1);
  23. fclose(g1);
  24.             break;
  25.            
  26.     case 2:
  27. FILE *g2;
  28. char frase[30000];
  29. g2=fopen("frase.txt","r");
  30. if(g2==NULL){
  31. printf("EL ARCHIVO NO EXISTEn");
  32. }else{
  33. while(!feof(g2)){
  34. fgets(frase,30000,g2);
  35. printf("%s",frase);
  36. fputs(frase,g2);
  37. fclose(g2);
  38.             break;
  39.            
  40.     case 3:
  41. FILE *f1,*f2;
  42. char frase[30000];
  43. f1=fopen("frase.txt","r");
  44. f2=fopen("copia.txt","w");
  45. if(f1==NULL){
  46. printf("EL ARCHIVO NO EXISTEn");
  47. }else{
  48. while(!feof(f1)){
  49. fputs(fgets(frase,30000,f1),f2);
  50. }
  51. }
  52. fclose(f1);
  53. fclose(f2);
  54.             break;
  55.            
  56.     case 4: exit(0);
  57.             break;
  58.            
  59.     default:
  60.    
  61.  
  62.         printf("ERROR: ingrese el numero correcton");
  63.         break;
  64. }
  65.         }
  66.                 system("PAUSE");
  67.     return EXIT_SUCCESS;
  68. }
  69. }
  70.  
  71.  

bueno es pero que me traten de ayudar o solucionar este problema. sl2

Páginas: [1]