lunes, 22 de marzo de 2010


ENTORNO VISUAL DEL POSTGRESQL VENTAJAS Y DESVENTAJAS
PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre.
Ahora vayamos a lo supuestamente más difícil, como trabajar con las transacciones que tenemos. Las conocidas tablas (cabeceas de documento y detalle de documento). Bueno se ha creado 4 propiedades fundamentales y un método que hay que tener en cuenta:
Propiedades:
• Clave primaria = llave primara para la actualización de registros
• Validacampotablasql = Valor de .T. o .F. Compara la tabla del SQL con el cursor que se ha utilizado.
• Validaimg = Valor de .T. o .F. Si la tabla tiene imágenes
• Validar fecha = Valor de .T. o .F. Cuando queremos guardar fechas vacía en mysql no permite enviar error como si estuviéramos mandando valores .null. a un campo de tipo fecha, en SQLServer no hay problema.
• sqlupdateinsert = Sus parámetros (cAccion, cTablaSqlCur, cTablaSql, CondUpdate)
• cAccion = “N” nuevo; “A” Actualiza.
Forma de uso, no pongo la opción para eliminar porque es sumamente sencillo. El comando que se utiliza para recuperar una tabla de cualquier motor de base de datos es.
SQLExecute (Conexión,”Select * From Tabla ”,”TablaCursor”)
Yo tengo un método que es similar con la diferencia que sale el error específico si sale mal la consulta o hay algún campo mal escrito.
Thisform.Execute(”Select * from Tabla ”,”TablaCursor”)
Forma de uso: Si queremos utilizar un cursor que hemos agregado campos diferentes que no pertenecen a la tabla que vamos hacer referencia.
Thisform.Execute(“Select * From CabeceraDoc”,”TmpCabecerado”)
El segundo parámetro le puede dar el nombre que desean.
Select TmpCabecerado
Replace numerodoc with thisform.txtnumerodoc.value
Replace fecha with thisform.txtfecha.value
=TABLEUPDATE(.T.)
Como pueden observar todo el código es de VFP no hay nada nuevo y seguro mucho de ustedes lo tienen así. Utilizando la clase reemplazas =TABLEUPDATE(.T.) Por
Thisform.Validarfecha = .T.
=Thisform.Sqlupdateinsert(“N”,”TmpCabecerado”,”CabeceraDoc”)
Aquí no valida los campos, la imagen…y todo tu código sigue igual, ahora veremos cuando utiliza validacampotablasql
Thisform.Execute (“Select d.*, p.Descripcion, p.Unidad From DetalleDoc d ;
Inner Join Productos p On d.CodPro = p.CodPro ”,”TmpDetalle”)
Aquí vemos que no todo los campos pertenecen a la tabla DetalleDoc, no guardo la descripción del producto en mi tabla detalle y lo mismo pasa con la cabecera si queremos recuperar un documento y aumentamos el nombre del cliente, lo traemos todo en un solo cursor pero si hacemos cambios ahí sería conveniente utilizar el método validacampotablasql.
Si es un detalle con varios ítems, seria de la siguiente manera:
Thisform.Validacampotablasql = .T.
Select TmpDetalle
Go top
If !eof() && me aseguro que tenga datos
Scan TmpDetalle.cantidad >0 && me aseguro que tenga cantidad
=Thisform.Sqlupdateinsert(“N”,” TmpDetalle”,” DetalleDoc”)
Endscan
Endif
Para la actualización de los registro seria todo igual, con la única diferencia que esta vez debemos de determinar quien es la llave principal y poder hacer los cambios sobre ello.
Thisform.cllaveprimaria = “NumeroDoc”
Thisform.Sqlupdateinsert (“A”,”TmpCabecerado”,”CabeceraDoc”)
Nota: CondUpdate se utiliza si quiero seguir restringiendo la actualización.

SQL
El lenguaje de consulta estructurado o SQL (por sus siglas en inglés: Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella.
VENTAJAS
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones en éstos últimos.
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación y la orientación a objetos. De esta forma una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros.
DESVENTAJAS
Pero una es que tiene su aprendizaje es complicado, porque se basa en el lenguaje Además que es bastante difícil de aprender.

Otra que se me ocurre, es que no se ajusta a ningún estándar, es propietario de Oracle, y por lo tanto no es portable.
Este lenguaje es importante en una base de datos porque te permite gran variedad de operaciones también porque te permite hacer consultas.

lunes, 15 de marzo de 2010

Para empezar es importante saber que es normalizacion bueno la normalizacion es un proceso que clasifica relaciones, objetos, formas de relacion y demas elementos en grupos, en base a las caracteristicas que uno posee. si se identifican ciertas reglas, se aplica una categoria; si se definen otras reglas se aplicara otra categoria.
por lo que quiere decir que tiene gran importancia en una base de datos ya que va relacionado en cuanto a las relaciones y demas elementos en una tabla.
Las condiciones que son de importancia para mi son:
  • la cantidad de espacio requerido para almacenar los datos.
  • la facilidad para actualizar la relacion.
  • la explicacion de la base de datos.

emmanuel zambrano tic 22

fecha 14/03/10