SlideShare uma empresa Scribd logo
1 de 12
BASES DE DATOS ORIENTADAS A OBJETOS. <br />MAYO 1 DE 2010.<br />TRABAJO BANCO PLATICA S.A. <br />UNAB TADS <br />INTEGRANTES:<br />SANDRA SALAZAR<br />RAMIRO ROMERO <br />DIEGO GONZALEZ<br />ODAIMAR CARRILLO<br />ENUNCIADO<br />El banco platica S.A. desea ampliar su portafolio de servicios. Para esto se debe implementar en el sistema los siguientes requisitos:<br />Cuando un cliente desea adquirir un servicio en el banco, debe abrir un cuenta de ahorros o una cuenta corriente. Si abre una cuenta de ahorros este deberá mantener un saldo mínimo en su cuenta de 10 000 y se puede mantener activa si mínimo hace una transacción en 3 meses. Además, mantener un saldo mínimo en la cuenta de ahorros de 500 000 pesos le permitirá acceder a intereses corrientes del 7% sobre el saldo. Si el cliente abre una cuenta corriente él podrá hacer movimientos mayores a 3 millones de pesos con un saldo mínimo  de 100 000 y podrá hacer sobregiros por el doble del saldo que tenga.<br />Independiente del tipo de cuenta que pueda tener el cliente, este podrá hacer operaciones de depósito o ahorro, de retiro, o transferencias a otras cuentas.<br />Si un cliente tiene los 2 tipos de cuenta, tendrá los beneficios de cada una de ellas, y además podrá acceder a préstamos o a créditos por el doble del mayor saldo mínimo que tenga en la cuenta en el momento de hacer la solicitud<br />ENTREGABLES:<br />Modelo orientado a objetos.<br />Modelo relacional , script de base de datos motor Oracle<br />CREATE TYPE CUENTA_T AS OBJECT<br />(<br />IdNUMBER(15),<br />    SaldoNUMBER(12,2),<br />EstadoCHAR(1),<br />MEMBER PROCEDURE depositar(MONTO IN NUMBER(12,2)),<br />MEMBER PROCEDURE retirar(MONTO IN NUMBER(12,2)),<br />MEMBER PROCEDURE transferir(MONTO IN NUMBER(12,2),CUENTADES IN CUENTA_T),<br />MEMBER FUNCTION obtenersaldo RETURN NUMBER(12,2)<br />) NOT FINAL<br />/<br />CREATE TYPE CUENTAAHORRO_T UNDER CUENTA_T(<br />Intereses NUMBER(3,2),<br />MEMBER PROCEDU<br />RE aumentarsaldo() RETURN,<br />MEMBER PROCEDURE inactivarcuenta(FECHA DATE)<br />MEMBER FUNCTION verificarsaldominimo RETURN BOOLEAN,<br />OVERRIDING MEMBER PROCEDURE retirar(MONTO NUMBER(12,2))<br />)/<br />CREATE TYPE CUENTACORRIENTE_T UNDER CUENTA_T(<br />sobregiro NUMBER(12,2),<br />sobregirocomsumido NUMBER(12,2),<br />MEMBER PROCEDURE calcuarsobregiro,<br />OVERRIDING MEMBER PROCEDURE depositar(MONTO NUMBER(12,2)),<br />OVERRIDING MEMBER PROCEDURE retirar(MONTO NUMBER(12,2)),<br />)/<br />CREATE TABLE CUENTAAHORRO OF CUENTAAHORRO_T(<br />Id PRIMARY KEY<br />)<br />CREATE TABLE CUENTACORRIENTE OF CUENTACORRIENTE_T(<br />Id PRIMARY KEY<br />)<br />CREATE TYPE MOVIMIENTOS_T AS OBJECT(<br />Id NUMBER(15),<br />Valor NUMBER(12,2),<br />Fecha Date,<br />Tipo CHAR(1),<br />cuenta REF CUENTA_T<br />)<br />CREATE TABLE MOVIMIENTOS OF MOVIMIENTOS_T(<br />Id PRIMARY KEY<br />)<br />CREATE TYPE VCUENTAS AS VARRAY(20) OF CUENTA_T<br />CREATE TYPE CLIENTE_T AS OBJECT(<br />IdNUMBER(15),<br />CuentaVCUENTAS,<br />MEMBER PROCEDURE abrircuenta(TIPO CHAR)<br />)<br />CREATE TABLE CLIENTE OF CLIENTE _T(<br />Id PRIMARY KEY<br />)<br />--<br />-- Se crea funcion para generar el deposito de la cuenta:<br />-- tipo cuenta_t<br />create or replace type body cuenta_t as<br />member function depositar(monto) return boolean is<br />begin<br />       boolean swr=false ;<br />       if (monto > 0 ){<br />           saldo += monto;<br />           swr=true;<br />   update cuenta;<br />        }<br />       return swr;<br />    }<br />end cuenta_depositar;<br />end;<br />--<br />-- Se crea funcion para generar el retiro de la cuenta:<br />-- tipo cuenta_t<br />create or replace type body cuenta_t as<br />member function retirar(monto) return boolean is<br />begin<br />        boolean swr=false ;<br />        if (monto <= saldo){<br />            saldo -=monto;<br />            swr=true;<br />update cuenta;<br />        }<br />        return swr;<br />end cuenta_retirar;<br />end;<br />--<br />-- Se crea funcion obtener el saldo de la cuenta:<br />-- tipo cuenta_t<br />create or replace type body cuenta_t as<br />member function obtenersaldo return NUMBER is<br />begin<br />     return saldo;<br />end obtenersaldo;<br />end;<br />--<br />-- Se crea funcion transferencia de la cuenta:<br />-- tipo cuenta_t<br />create or replace type body cuenta_t as<br />member function transferir(MONTO,CUENTADES) return boolean is<br />begin<br />    boolean swr;<br />swr=retirar(monto);<br />if (swr){<br />   swr=CUENTADES.depositar(monto)<br />   commit<br />}<br />else{<br />   rollback<br />}<br />return swr;<br />end transferir;<br />end;<br />--tipo cuentaahorro_t<br />create or replace type body cuentaahorro_t as<br />member function verificarsaldominimo return boolean is<br />begin<br />    boolean swr=false ;<br />if (saldo >= 10000){<br />swr= true;<br />}<br />return swr;<br />end verificarsaldominimo <br />end;<br />--tipo cuentaahorro_t<br />create or replace type body cuentaahorro_t as<br />member function retirar(monto) return boolean is<br />begin<br />        boolean swr=false ;<br />if (verificarsaldominimo()){<br />   if (monto <= (saldo - 10000)){<br />              saldo -=monto;<br />              swr=true;<br />      update cuenta;<br />   }<br />        }<br />        return swr;<br />end cuenta_retirar;<br />end;<br />--tipo cuentaahorro_t<br />create or replace type body cuentaahorro_t as<br />member function aumentarsaldo() return boolean is<br />begin<br />        boolean swr=false ;<br />number ttasainteres = interes;<br />if (saldo > 500000){<br />            ttasainteres = 0.07<br />        }<br />saldo += (saldo * ttasainteres);<br />update cuenta;<br />        return swr;<br />end cuenta_retirar;<br />end;<br />--tipo cuentaahorro_t<br />create or replace type body cuentaahorro_t as<br />member function inactivarcuenta(fecha) return boolean is<br />begin<br />        boolean swr=false ;<br />date fechai ;<br />long tmov = 0;<br />fechai = fecha - 3 meses;<br />select count(*) into :tmov from movimiento where fecha between fechai and fecha <br />if (tmov >= 1) then{<br />   estado = 'I'<br />}<br />update cuenta<br />        return swr;<br />end inactivarcuenta;<br />end;<br />--tipo cuentacorriente_t<br />create or replace type body cuentacorriente_t as<br />member function retirar(monto) return boolean is<br />begin<br />        boolean swr=false ;<br />number sobregiroasig=0;<br />number aobregiroactual=0;<br />if (saldo > monto){<br />    saldo -=monto;<br />            swr=true;<br />}else{<br />   --aplicar sobregiro<br />   if (sobregiro = 0) {<br />      sobregiroasig = saldo * 2<br />   }else{<br />      sobregiroasig = sobregiro<br />   {<br />   <br />   double Sobregirot = monto - saldo;<br />           if ( sobregiroasig < Sobregirot ){<br />                swr = false;<br />           }else{<br />                saldo = 0.0;<br />                Sobregiroconsumido -= Sobregirot;<br />           }<br />   <br />}<br />if (swr){<br />   update cuenta set sobregiro = sobregiroasig<br />}<br /> <br />        return swr;<br />end retirar;<br />end;<br />--tipo cuentacorriente_t<br />create or replace type body cuentacorriente_t as<br />member function depositar(monto) return boolean is<br />begin<br />      if (sobregiro == Sobregiroconsumido){<br />           saldo += monto;<br />       }else{<br />           --si tiene sobregiro, primero se le cubre<br />           double sobregirot= sobregiro - Sobregiroconsumido;<br />           if (sobregirot > monto){<br />               Sobregiroconsumido +=valor;<br />            }else{<br />               sobregiroconsumido += sobregirot;<br />   saldo += (monto - sobregirot);<br />            }<br />       }<br />   update cuenta<br />   <br />end depositar;<br />end;<br />--tipo cuentacorriente_t<br />create or replace type body cuentacorriente_t as<br />member procedure calcularsobregiro<br />begin<br />if(2*saldo<=3000000 && saldo>=100000 ){ sobregiro=2*ssaldo; }<br />update cuenta<br />end calcularsobregiro;<br />end;<br />--tipo cliente _t<br />create or replace type body cliente_t as<br />member procedure abrircuenta is<br />begin<br />if(tipo == '1'){<br />insert into CUENTAAHORROS ;<br />}else{<br />insert into CUENTACORRIENTE ;<br />}<br />end abrircuenta;<br />end;<br />
Trabajo clase 2   final
Trabajo clase 2   final
Trabajo clase 2   final
Trabajo clase 2   final
Trabajo clase 2   final
Trabajo clase 2   final
Trabajo clase 2   final
Trabajo clase 2   final
Trabajo clase 2   final
Trabajo clase 2   final
Trabajo clase 2   final

Mais conteúdo relacionado

Destaque

Presentacion Acuarela wakeboard
Presentacion Acuarela wakeboardPresentacion Acuarela wakeboard
Presentacion Acuarela wakeboardWakeboardacuarela
 
Deux degrés de séparation
Deux degrés de séparationDeux degrés de séparation
Deux degrés de séparationZoely Mamizaka
 
Los medios tecnológicos audiovisuales e informáticos
Los medios tecnológicos audiovisuales e informáticosLos medios tecnológicos audiovisuales e informáticos
Los medios tecnológicos audiovisuales e informáticosDiana Vanesa
 
Taller Community Management - Blogs
Taller Community Management - BlogsTaller Community Management - Blogs
Taller Community Management - BlogsHashtag
 
Ausencia de interés por la limpieza en la
Ausencia de interés por  la limpieza en laAusencia de interés por  la limpieza en la
Ausencia de interés por la limpieza en laItsel Baltierra
 
Linear equations part i
Linear equations part iLinear equations part i
Linear equations part iFendi Ard
 
Rc juan crespo
Rc juan crespoRc juan crespo
Rc juan crespojgcrespov
 
Pasos para montar una LAN
Pasos para montar una LANPasos para montar una LAN
Pasos para montar una LANjeannymsv
 
Internet managers club 2011 - livre blanc 2 what's next
Internet managers club 2011 -  livre blanc 2 what's nextInternet managers club 2011 -  livre blanc 2 what's next
Internet managers club 2011 - livre blanc 2 what's nextAlain GARNIER
 
El rol docente alicia martín
El rol docente  alicia martínEl rol docente  alicia martín
El rol docente alicia martínmartinalicia
 
Connecting Kids to Coverage Text4baby-FQHC webinar_7_31 at 1pm
Connecting Kids to Coverage Text4baby-FQHC webinar_7_31 at 1pmConnecting Kids to Coverage Text4baby-FQHC webinar_7_31 at 1pm
Connecting Kids to Coverage Text4baby-FQHC webinar_7_31 at 1pmtext4baby
 

Destaque (18)

Escuela de familia 04 03-215
Escuela de familia 04 03-215Escuela de familia 04 03-215
Escuela de familia 04 03-215
 
Presentacion Acuarela wakeboard
Presentacion Acuarela wakeboardPresentacion Acuarela wakeboard
Presentacion Acuarela wakeboard
 
Deux degrés de séparation
Deux degrés de séparationDeux degrés de séparation
Deux degrés de séparation
 
Los medios tecnológicos audiovisuales e informáticos
Los medios tecnológicos audiovisuales e informáticosLos medios tecnológicos audiovisuales e informáticos
Los medios tecnológicos audiovisuales e informáticos
 
Proyecto scmst
Proyecto scmstProyecto scmst
Proyecto scmst
 
Taller Community Management - Blogs
Taller Community Management - BlogsTaller Community Management - Blogs
Taller Community Management - Blogs
 
Ausencia de interés por la limpieza en la
Ausencia de interés por  la limpieza en laAusencia de interés por  la limpieza en la
Ausencia de interés por la limpieza en la
 
Linear equations part i
Linear equations part iLinear equations part i
Linear equations part i
 
Rc juan crespo
Rc juan crespoRc juan crespo
Rc juan crespo
 
Mcts chapter 2
Mcts chapter 2Mcts chapter 2
Mcts chapter 2
 
Raid
RaidRaid
Raid
 
Pasos para montar una LAN
Pasos para montar una LANPasos para montar una LAN
Pasos para montar una LAN
 
Internet managers club 2011 - livre blanc 2 what's next
Internet managers club 2011 -  livre blanc 2 what's nextInternet managers club 2011 -  livre blanc 2 what's next
Internet managers club 2011 - livre blanc 2 what's next
 
Creación
 Creación Creación
Creación
 
El rol docente alicia martín
El rol docente  alicia martínEl rol docente  alicia martín
El rol docente alicia martín
 
Outils numériques exposition Tokyô, J.O de 1964
Outils numériques exposition Tokyô, J.O de 1964Outils numériques exposition Tokyô, J.O de 1964
Outils numériques exposition Tokyô, J.O de 1964
 
EXPORTACIÓN A CANADÁ
EXPORTACIÓN A CANADÁ  EXPORTACIÓN A CANADÁ
EXPORTACIÓN A CANADÁ
 
Connecting Kids to Coverage Text4baby-FQHC webinar_7_31 at 1pm
Connecting Kids to Coverage Text4baby-FQHC webinar_7_31 at 1pmConnecting Kids to Coverage Text4baby-FQHC webinar_7_31 at 1pm
Connecting Kids to Coverage Text4baby-FQHC webinar_7_31 at 1pm
 

Semelhante a Trabajo clase 2 final

05 manual vision credit gregal entidades financieras compensación -
05 manual vision credit gregal entidades financieras   compensación -05 manual vision credit gregal entidades financieras   compensación -
05 manual vision credit gregal entidades financieras compensación -Gregal Soluciones Informáticas, S.L.
 
05 Manual Vision Credit Gregal Entidades financieras - Compensación -
05 Manual Vision Credit Gregal Entidades financieras -  Compensación -05 Manual Vision Credit Gregal Entidades financieras -  Compensación -
05 Manual Vision Credit Gregal Entidades financieras - Compensación -Valencia Gregal
 
Solucion propuesta-caso-cuentas-banco
Solucion propuesta-caso-cuentas-bancoSolucion propuesta-caso-cuentas-banco
Solucion propuesta-caso-cuentas-bancoElmer Romero
 
Contabilidad GL 2000
Contabilidad GL 2000Contabilidad GL 2000
Contabilidad GL 2000Dany Danny
 
Concepto y partes de la cuenta
Concepto y partes de la cuentaConcepto y partes de la cuenta
Concepto y partes de la cuentaGuillermo Torres
 
Proceso contable
Proceso contableProceso contable
Proceso contablerosanamacas
 
Contabilidad. registro de mercancias
Contabilidad.  registro de mercanciasContabilidad.  registro de mercancias
Contabilidad. registro de mercanciasVICTOR GUTIERREZ
 
3 Registros contables 3.1 La cuenta y 3.5 La partida doble
3 Registros contables 3.1 La cuenta y 3.5 La partida doble3 Registros contables 3.1 La cuenta y 3.5 La partida doble
3 Registros contables 3.1 La cuenta y 3.5 La partida doble600582
 
Cuentas de orden
Cuentas de ordenCuentas de orden
Cuentas de ordenprado9993
 
Cuentas de orden
Cuentas de ordenCuentas de orden
Cuentas de ordenprado9993
 
08 manual vision credit gregal entidades financieras procesos diarios
08 manual vision credit gregal entidades financieras   procesos diarios08 manual vision credit gregal entidades financieras   procesos diarios
08 manual vision credit gregal entidades financieras procesos diariosGregal Soluciones Informáticas, S.L.
 
08 Manual VisionCredit Gregal Entidades Financieras - Procesos diarios
08 Manual VisionCredit Gregal Entidades Financieras -  Procesos diarios08 Manual VisionCredit Gregal Entidades Financieras -  Procesos diarios
08 Manual VisionCredit Gregal Entidades Financieras - Procesos diariosValencia Gregal
 

Semelhante a Trabajo clase 2 final (20)

1introducción contabilidad
1introducción contabilidad1introducción contabilidad
1introducción contabilidad
 
05 manual vision credit gregal entidades financieras compensación -
05 manual vision credit gregal entidades financieras   compensación -05 manual vision credit gregal entidades financieras   compensación -
05 manual vision credit gregal entidades financieras compensación -
 
05 Manual Vision Credit Gregal Entidades financieras - Compensación -
05 Manual Vision Credit Gregal Entidades financieras -  Compensación -05 Manual Vision Credit Gregal Entidades financieras -  Compensación -
05 Manual Vision Credit Gregal Entidades financieras - Compensación -
 
Solucion propuesta-caso-cuentas-banco
Solucion propuesta-caso-cuentas-bancoSolucion propuesta-caso-cuentas-banco
Solucion propuesta-caso-cuentas-banco
 
Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3
 
Contabilidad GL 2000
Contabilidad GL 2000Contabilidad GL 2000
Contabilidad GL 2000
 
Concepto y partes de la cuenta
Concepto y partes de la cuentaConcepto y partes de la cuenta
Concepto y partes de la cuenta
 
Proceso contable
Proceso contableProceso contable
Proceso contable
 
Contabilidad. registro de mercancias
Contabilidad.  registro de mercanciasContabilidad.  registro de mercancias
Contabilidad. registro de mercancias
 
3 Registros contables 3.1 La cuenta y 3.5 La partida doble
3 Registros contables 3.1 La cuenta y 3.5 La partida doble3 Registros contables 3.1 La cuenta y 3.5 La partida doble
3 Registros contables 3.1 La cuenta y 3.5 La partida doble
 
Cuentas de orden
Cuentas de ordenCuentas de orden
Cuentas de orden
 
Cuentas de orden
Cuentas de ordenCuentas de orden
Cuentas de orden
 
REGISTRO EN CUENTA economia.ppt
REGISTRO EN CUENTA economia.pptREGISTRO EN CUENTA economia.ppt
REGISTRO EN CUENTA economia.ppt
 
Teneduria De Libros
Teneduria De LibrosTeneduria De Libros
Teneduria De Libros
 
Teneduria De Libros
Teneduria De LibrosTeneduria De Libros
Teneduria De Libros
 
Teneduria De Libros
Teneduria De LibrosTeneduria De Libros
Teneduria De Libros
 
Teneduria De Libros
Teneduria De LibrosTeneduria De Libros
Teneduria De Libros
 
08 manual vision credit gregal entidades financieras procesos diarios
08 manual vision credit gregal entidades financieras   procesos diarios08 manual vision credit gregal entidades financieras   procesos diarios
08 manual vision credit gregal entidades financieras procesos diarios
 
08 Manual VisionCredit Gregal Entidades Financieras - Procesos diarios
08 Manual VisionCredit Gregal Entidades Financieras -  Procesos diarios08 Manual VisionCredit Gregal Entidades Financieras -  Procesos diarios
08 Manual VisionCredit Gregal Entidades Financieras - Procesos diarios
 
G2-ARQUEO DE CAJA.docx
G2-ARQUEO DE CAJA.docxG2-ARQUEO DE CAJA.docx
G2-ARQUEO DE CAJA.docx
 

Último

Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 

Último (20)

Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 

Trabajo clase 2 final

  • 1. BASES DE DATOS ORIENTADAS A OBJETOS. <br />MAYO 1 DE 2010.<br />TRABAJO BANCO PLATICA S.A. <br />UNAB TADS <br />INTEGRANTES:<br />SANDRA SALAZAR<br />RAMIRO ROMERO <br />DIEGO GONZALEZ<br />ODAIMAR CARRILLO<br />ENUNCIADO<br />El banco platica S.A. desea ampliar su portafolio de servicios. Para esto se debe implementar en el sistema los siguientes requisitos:<br />Cuando un cliente desea adquirir un servicio en el banco, debe abrir un cuenta de ahorros o una cuenta corriente. Si abre una cuenta de ahorros este deberá mantener un saldo mínimo en su cuenta de 10 000 y se puede mantener activa si mínimo hace una transacción en 3 meses. Además, mantener un saldo mínimo en la cuenta de ahorros de 500 000 pesos le permitirá acceder a intereses corrientes del 7% sobre el saldo. Si el cliente abre una cuenta corriente él podrá hacer movimientos mayores a 3 millones de pesos con un saldo mínimo de 100 000 y podrá hacer sobregiros por el doble del saldo que tenga.<br />Independiente del tipo de cuenta que pueda tener el cliente, este podrá hacer operaciones de depósito o ahorro, de retiro, o transferencias a otras cuentas.<br />Si un cliente tiene los 2 tipos de cuenta, tendrá los beneficios de cada una de ellas, y además podrá acceder a préstamos o a créditos por el doble del mayor saldo mínimo que tenga en la cuenta en el momento de hacer la solicitud<br />ENTREGABLES:<br />Modelo orientado a objetos.<br />Modelo relacional , script de base de datos motor Oracle<br />CREATE TYPE CUENTA_T AS OBJECT<br />(<br />IdNUMBER(15),<br /> SaldoNUMBER(12,2),<br />EstadoCHAR(1),<br />MEMBER PROCEDURE depositar(MONTO IN NUMBER(12,2)),<br />MEMBER PROCEDURE retirar(MONTO IN NUMBER(12,2)),<br />MEMBER PROCEDURE transferir(MONTO IN NUMBER(12,2),CUENTADES IN CUENTA_T),<br />MEMBER FUNCTION obtenersaldo RETURN NUMBER(12,2)<br />) NOT FINAL<br />/<br />CREATE TYPE CUENTAAHORRO_T UNDER CUENTA_T(<br />Intereses NUMBER(3,2),<br />MEMBER PROCEDU<br />RE aumentarsaldo() RETURN,<br />MEMBER PROCEDURE inactivarcuenta(FECHA DATE)<br />MEMBER FUNCTION verificarsaldominimo RETURN BOOLEAN,<br />OVERRIDING MEMBER PROCEDURE retirar(MONTO NUMBER(12,2))<br />)/<br />CREATE TYPE CUENTACORRIENTE_T UNDER CUENTA_T(<br />sobregiro NUMBER(12,2),<br />sobregirocomsumido NUMBER(12,2),<br />MEMBER PROCEDURE calcuarsobregiro,<br />OVERRIDING MEMBER PROCEDURE depositar(MONTO NUMBER(12,2)),<br />OVERRIDING MEMBER PROCEDURE retirar(MONTO NUMBER(12,2)),<br />)/<br />CREATE TABLE CUENTAAHORRO OF CUENTAAHORRO_T(<br />Id PRIMARY KEY<br />)<br />CREATE TABLE CUENTACORRIENTE OF CUENTACORRIENTE_T(<br />Id PRIMARY KEY<br />)<br />CREATE TYPE MOVIMIENTOS_T AS OBJECT(<br />Id NUMBER(15),<br />Valor NUMBER(12,2),<br />Fecha Date,<br />Tipo CHAR(1),<br />cuenta REF CUENTA_T<br />)<br />CREATE TABLE MOVIMIENTOS OF MOVIMIENTOS_T(<br />Id PRIMARY KEY<br />)<br />CREATE TYPE VCUENTAS AS VARRAY(20) OF CUENTA_T<br />CREATE TYPE CLIENTE_T AS OBJECT(<br />IdNUMBER(15),<br />CuentaVCUENTAS,<br />MEMBER PROCEDURE abrircuenta(TIPO CHAR)<br />)<br />CREATE TABLE CLIENTE OF CLIENTE _T(<br />Id PRIMARY KEY<br />)<br />--<br />-- Se crea funcion para generar el deposito de la cuenta:<br />-- tipo cuenta_t<br />create or replace type body cuenta_t as<br />member function depositar(monto) return boolean is<br />begin<br /> boolean swr=false ;<br /> if (monto > 0 ){<br /> saldo += monto;<br /> swr=true;<br /> update cuenta;<br /> }<br /> return swr;<br /> }<br />end cuenta_depositar;<br />end;<br />--<br />-- Se crea funcion para generar el retiro de la cuenta:<br />-- tipo cuenta_t<br />create or replace type body cuenta_t as<br />member function retirar(monto) return boolean is<br />begin<br /> boolean swr=false ;<br /> if (monto <= saldo){<br /> saldo -=monto;<br /> swr=true;<br />update cuenta;<br /> }<br /> return swr;<br />end cuenta_retirar;<br />end;<br />--<br />-- Se crea funcion obtener el saldo de la cuenta:<br />-- tipo cuenta_t<br />create or replace type body cuenta_t as<br />member function obtenersaldo return NUMBER is<br />begin<br /> return saldo;<br />end obtenersaldo;<br />end;<br />--<br />-- Se crea funcion transferencia de la cuenta:<br />-- tipo cuenta_t<br />create or replace type body cuenta_t as<br />member function transferir(MONTO,CUENTADES) return boolean is<br />begin<br /> boolean swr;<br />swr=retirar(monto);<br />if (swr){<br /> swr=CUENTADES.depositar(monto)<br /> commit<br />}<br />else{<br /> rollback<br />}<br />return swr;<br />end transferir;<br />end;<br />--tipo cuentaahorro_t<br />create or replace type body cuentaahorro_t as<br />member function verificarsaldominimo return boolean is<br />begin<br /> boolean swr=false ;<br />if (saldo >= 10000){<br />swr= true;<br />}<br />return swr;<br />end verificarsaldominimo <br />end;<br />--tipo cuentaahorro_t<br />create or replace type body cuentaahorro_t as<br />member function retirar(monto) return boolean is<br />begin<br /> boolean swr=false ;<br />if (verificarsaldominimo()){<br /> if (monto <= (saldo - 10000)){<br /> saldo -=monto;<br /> swr=true;<br /> update cuenta;<br /> }<br /> }<br /> return swr;<br />end cuenta_retirar;<br />end;<br />--tipo cuentaahorro_t<br />create or replace type body cuentaahorro_t as<br />member function aumentarsaldo() return boolean is<br />begin<br /> boolean swr=false ;<br />number ttasainteres = interes;<br />if (saldo > 500000){<br /> ttasainteres = 0.07<br /> }<br />saldo += (saldo * ttasainteres);<br />update cuenta;<br /> return swr;<br />end cuenta_retirar;<br />end;<br />--tipo cuentaahorro_t<br />create or replace type body cuentaahorro_t as<br />member function inactivarcuenta(fecha) return boolean is<br />begin<br /> boolean swr=false ;<br />date fechai ;<br />long tmov = 0;<br />fechai = fecha - 3 meses;<br />select count(*) into :tmov from movimiento where fecha between fechai and fecha <br />if (tmov >= 1) then{<br /> estado = 'I'<br />}<br />update cuenta<br /> return swr;<br />end inactivarcuenta;<br />end;<br />--tipo cuentacorriente_t<br />create or replace type body cuentacorriente_t as<br />member function retirar(monto) return boolean is<br />begin<br /> boolean swr=false ;<br />number sobregiroasig=0;<br />number aobregiroactual=0;<br />if (saldo > monto){<br /> saldo -=monto;<br /> swr=true;<br />}else{<br /> --aplicar sobregiro<br /> if (sobregiro = 0) {<br /> sobregiroasig = saldo * 2<br /> }else{<br /> sobregiroasig = sobregiro<br /> {<br /> <br /> double Sobregirot = monto - saldo;<br /> if ( sobregiroasig < Sobregirot ){<br /> swr = false;<br /> }else{<br /> saldo = 0.0;<br /> Sobregiroconsumido -= Sobregirot;<br /> }<br /> <br />}<br />if (swr){<br /> update cuenta set sobregiro = sobregiroasig<br />}<br /> <br /> return swr;<br />end retirar;<br />end;<br />--tipo cuentacorriente_t<br />create or replace type body cuentacorriente_t as<br />member function depositar(monto) return boolean is<br />begin<br /> if (sobregiro == Sobregiroconsumido){<br /> saldo += monto;<br /> }else{<br /> --si tiene sobregiro, primero se le cubre<br /> double sobregirot= sobregiro - Sobregiroconsumido;<br /> if (sobregirot > monto){<br /> Sobregiroconsumido +=valor;<br /> }else{<br /> sobregiroconsumido += sobregirot;<br /> saldo += (monto - sobregirot);<br /> }<br /> }<br /> update cuenta<br /> <br />end depositar;<br />end;<br />--tipo cuentacorriente_t<br />create or replace type body cuentacorriente_t as<br />member procedure calcularsobregiro<br />begin<br />if(2*saldo<=3000000 && saldo>=100000 ){ sobregiro=2*ssaldo; }<br />update cuenta<br />end calcularsobregiro;<br />end;<br />--tipo cliente _t<br />create or replace type body cliente_t as<br />member procedure abrircuenta is<br />begin<br />if(tipo == '1'){<br />insert into CUENTAAHORROS ;<br />}else{<br />insert into CUENTACORRIENTE ;<br />}<br />end abrircuenta;<br />end;<br />