jueves, 22 de marzo de 2012

Microsoft Access


Motor de base de datos Microsoft Access

Veamos algunas de las funciones que el programa Microsoft Access tiene para un mejor manejo de la información. Voy a tomar a office 2007 para realizar los ejemplos:  
Tablas


En la pestaña crear nos muestra en la primera opción Tabla, le damos un clic al botón tabla  nos muestra una nueva tabla.
Las tablas por defecto Access las muestra en vista de hoja de datos así:


Siempre nos crea un campo Id, este es de tipo auto numérico, lo que significa que el mismo se incrementa, este campo lo puedes eliminar, editar o conservarlo.
Cuando creamos una tabla, nos aparece una barra de herramientas de tablas.

 
Nos muestra una serie de opciones para agregar campos y su tipo de dato y formato, agregar campos de otras tablas, relaciones entre tablas, entre otras. Este es uno de los métodos para hacer esas operaciones, existe otro que es dirigiéndonos al botón ver, encima nos muestra un botón con una escuadra y un lápiz este nos envía a  vista de diseño,                  le damos un clic y nos envía a:

 








Cuando estamos en la vista de diseño ingresando los campos o haciendo alguna edición de ellos, pasamos a escoger la llave principal o llave primaria de la tabla.
Esta llave principal se le ingresa a uno o varios campos de una tabla, para que sirvan como referencia de dicha tabla.
Una vez que ya tengamos nuestros campos agregados con todos los parámetros necesarios, volvemos otra vez a la hoja de datos para ingresar los registros de la tabla.
Relaciones
Las relaciones son como su nombre lo indica relacionar dos o más tablas, estas relaciones pueden ser de uno a uno, de uno a muchos, de muchos a unos y de muchos a muchos, a esto se le llama cardinalidad, estas varían dependiendo de las necesidades del programador de la base de datos.
Estas relaciones se crean con el objeto de relacionar las tablas para que nos arrojen la información que necesitamos. Estas relaciones se crean de la siguiente manera:



Hay una pestaña que se llama herramienta de base de datos, dentro hay un botón relaciones                       cuando le damos clic al botón nos muestra lo siguiente:







En este cuadro nos muestra todas las tablas de la base de datos, seleccionamos las necesarias o todas para las relaciones que vayamos hacer. Una vez que agregamos las tablas a relacionar nos las muestra así:
  


Aquí están las tablas agregadas a la relación pero aun no están relacionadas, cuando las vamos a relacionar escogemos un campo de tabla (casi siempre es la llave principal), y lo arrastramos hasta el otro campo de la tabla a relacionar, cuando lo pasamos nos muestra lo siguiente:
 




Nos muestra un cuadro con los nombres de los dos campos que se están relacionando y el tipo de relación. Luego damos clic en crear y ya está la relación creada.


 








Relación terminada











Crear formularios:




Los formularios se pueden crear de distintas formas, por un diseñador, por el asistente o directamente, Nos dirigimos a la pestaña crear hay encontramos formularios, damos un clic al botón formularios, este inmediatamente nos crea un formulario de la tabla que estamos trabajando:


 







Formulario de la tabla
La otra forma es crear un formulario por el diseñador, nos vamos a la pestaña crear, luego nos muestra los botones de la sección formulario ahí se encuentra un botón llamado, Diseño de formulario, le damos un clic y nos muestra lo siguiente:

  



Esta es una plantilla donde ingresamos los campos que queramos de la tabla, este tipo de formularios se crea de esta forma porque en ocasiones no necesitamos incluir en el formulario todos los campos de la tabla.
Cuando estamos en el diseñador de formularios se nos muestra una serie de herramientas para el manejo del formulario



Para incluir los campos hacemos lo siguiente, le damos un clic en el botón agregar campos existentes, que se encuentra en las herramientas de diseño del formulario, luego nos aparece esto:
Campos de la tabla
 








Con un clic sostenido pasamos los campos que están del lado derecho de la pantalla, hacia la plantilla del diseño del formulario.
Cuando ya pasamos todos los campos que creamos sean de importancia o todos, y los ubicamos en donde nosotros queramos, podemos agregarle cosas como, etiquetas, botones, cuadros de texto entre otros, que aparecen en las herramientas de diseño de formularios.
Crear formularios por el asistente, nos vamos a la pestaña crear en la sección de formularios, se encuentra un combo que se llama mas formularios, hay esta la opción asistente para formularios.


 






La creación de formularios por el asistente costa de algunos pasos que son:
1.     


 







Aquí escogemos la tabla y pasamos a lista de campos seleccionados lo que queremos de la lista de campos disponibles, haciendo un clic en el botón mayor (>) para pasar uno  por uno  o mayor mayor  (> >)  para pasar todos los campos y damos clic en siguiente.

2.      


 







En el paso dos, nos aparece como queremos que sea la distribución de los campos en el formulario
3.      


 








Escogemos el estilo del formulario, nos parece una lista con algunos estilos predeterminados, escogemos uno el que queramos.
4.      


 








En este paso que es el final, nos aparece una casilla con el nombre que deseamos que aparezca como titulo del formulario, y dos opciones al final que son abrir el formulario o hacerle alguna modificación y damos clic en finalizar.
5.      


 




Y nos aparece el formulario ya creado por el asistente.

Crear informes:
En la pestaña crear nos aparece una sección que se llama informes, este posee una serie de botones para la creación de los mismos. Así como los formularios, se crean por un asistente, diseño o directamente.
Informes directamente,




En la pestaña crear se encuentra una sección de informes, donde aparece un botón informes, este nos crea un informe directamente sin hacer mas nada.



 







Informe creado directamente

Los informes como los formularios y cualquier otra herramienta que nos suministra Microsoft Access 2007, crea una barra de herramientas para los informes, en la que podemos editar el contenido de ellos.




Nos muestra una amplia de opciones para la edición de nuestros formularios.
Informes por el asistente,
En la sección de informes también aparece un botón que se llama asistente para informes, el cual nos crea un informe de la siguiente manera:
1.      


 







Nos muestra una casilla el nombre o los nombres de las tablas, y debajo los campos de las tablas que deseamos pasar a la creación del formulario
2.      


 







En este paso nos muestra una opción de niveles de agrupamiento.
3.      


 





Tipo de ordenamiento de los campos de la tabla, en el combo aparecen todos los campos de la tabla que estamos trabajando.
4.      


 







La distribución de los campos en la hoja del informe y la orientación de la hoja.

5.      


 







Diseño o estilo de la hoja del informe.
6.      


 








El titulo del informe y si quiere una vista previa o ir a la edición del informe
7.      


 








Por último la visualización del informe creado por el asistente.

Informe creado por el diseñador,
En esta opción hacemos la creación de los informes al gusto o a las necesidades del sistema, acá podemos agregar una serie de controles como botones, botones de opciones, cuadros de textos, entre muchos más.
Todos los formularios poseen un encabezado, un detalle y un pie de página, pero en este caso es que los podemos visualizar mejor y editarlos o tratarlos con algunos campos o etiquetas que queramos incluir en ellos


Encabezado de página
 






Detalle de página
 






Pie de página
 

Para agregar los campos de las tablas hacemos un clic en el botón agregar campos existentes, que se  encuentra en la barra de herramientas del diseño de informes, cuando le damos un clic a ese botón nos aparece lo siguiente:


Campos de la tabla
 









Luego pasamos a pasar los campos que queremos que aparezca en el formulario, arrastrándolos con el mouse. Los podemos pasar a cualquier lugar de la plantilla del diseño del formulario, así como los demás controles que aparecen en la barra de herramientas del diseñador.
Ya cuando creamos que hemos terminado, guardamos el informe y lo pasamos a ver.
Consultas:
Otra de la gran cantidad de opciones Microsoft Access 2007, es la creación de las consultas, le hacen desde un lenguaje SQL o desde un diseñador.
Diseñador de consultas
Esta opción se encuentra en la pestaña crear hay una sección de otros, hay aparece un botón que se llama diseño de consultas.


 




Hacemos un clic en diseño de consulta y nos muestra lo siguiente:



 








Acá aparecen todas las tablas creadas en la base de datos, las que queremos que sean parte de la consulta que vamos a diseñar le damos en el botón agregar.
Cundo las agregamos nos muestra:


 











Las tablas que va hacer parte de la consulta y unas propiedades, que son las que nos van a diseñar la consulta. En esas propiedades ubicamos las especificaciones de la consulta, como el nombre del campo, el orden, entre otras, luego cuando ya hemos terminado le damos en el botón ejecutar que se encuentra en la barra de herramientas del diseño de consulta.

 Ya cuando hemos terminado una consulta por el asistente y la guardamos, la visualizamos en el lado izquierdo de la pantalla, en los objetos de la base de datos, hacemos doble clic y nos muestra los resultados de la consulta.


 






Cuando hemos abierto la consulta aparece un botón en la barra de herramienta llamado ver
Este botón despliega una serie de herramientas como vistas dinámica, vista de diseño y también vista  SQL, que es la que vamos a utilizar para las consultas, cuando le damos un clic en vista SQL, nos aparece un código, que es la consulta pero hecha en SQL, así:´






Este código también lo podemos modificar, agregándole datos a la consulta, pero en lenguaje SQL, debemos saber ese lenguaje para poder modificar el código

miércoles, 29 de febrero de 2012

Ejemplos de Crear Sentencias DDL

Las sentencias DDL (lenguaje de definicion de datos), se pueden crear, borrar o alterna, modificar. Con ellas se pueden hacer tablas, funcion, trigger, index, vistas, pkg, ps

Ejemplos para crear:

Tabla
CREATE [ TEMPORARY | TEMP ] TABLE table (
column type
[ NULL | NOT NULL ] [ UNIQUE ] [ DEFAULT value ]
[column_constraint_clause | PRIMARY KEY } [ ... ] ]
[, ... ]
[, PRIMARY KEY ( column [, ...] ) ]
[, CHECK ( condition ) ]
[, table_constraint_clause ]
) [ INHERITS ( inherited_table [, ...] ) ]


Index
CREATE [ UNIQUE ] INDEX nombre_indice ON tabla
[ USING nombre_acceso ] ( columna [ nombre_operador] [, ...] )
CREATE [ UNIQUE ] INDEX nombre_indice ON tabla
[ USING nombre_acceso ] ( nombre_funcion( r">columnale> [, ... ])
nombre_operador )

Trigger
CREATE TRIGGER ver_salario
BEFORE UPDATE ON empleados
REFERENCING NEW ROW AS n, OLD ROW AS o
FOR EACH ROW
IF n.salario <> o.salario THEN 
END IF;
 
Funcion 
CREATE OR REPLACE FUNCTION 'NOMBRE FUNCION'('PARAMETROS')
RETURNS 'TIPO RETORNO' AS
$BODY$
BEGIN
'INSTRUCCIÓN SQL' 


vista
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW nombre_vista [(columnas)]
AS sentencia_select
[WITH [CASCADED | LOCAL] CHECK OPTION]


Modelos de Datos

Modelo Relacional
El modelo relacional representa los datos y sus relaciones mediante tablas bidimensionales, que contienen datos tomados de los dominios correspondientes. 

 
NOMBRE
BARRIO
CIUDAD
DEPARTAMENTO
JAIME
VICTORIA
BARRANQUILLA
ATLANTICO
DARIO
ROBLES
SOLEDAD
ATLANTICO
JOSE
LIMON
BARRANQUILLA
ATLANTICO
DAVID
CHICO
BOGOTA
CUNDINAMARCA

 
NUMERO
DEPARTAMENTO
1
ATLANTICO
2
BOLIVAR
3
CUNDINAMARCA

Modelo De Red
Las estructuras y construcciones del lenguaje para el modelo de red fueron definidas por el comité CODASYL (Conference on Data Systems Languages: Conferencia sobre lenguajes para sistemas de datos), por lo que suele denominársele modelo de red CODASYL. El modelo de red original se dio a conocer en 1971 en un informe publicado por el Grupo de trabajo sobre bases de datos (Data Base Task Group, DBTG) de CODASYL, este modelo se conoce como Modelo DBTG; en 1978 y 1984 se incorporaron nuevos conceptos.
El modelo de red está formado por colecciones de registros, relacionados mediante punteros o ligas en grafos arbitrarios.

Modelo Jerarquico
El modelo jerárquico es similar al modelo de red, los datos y las relaciones se representan mediante registros y enlaces. Se diferencia del modelo de red en que los registros están organizados como colecciones de árboles.



Diferencias

A diferencia del modelo relacional, el modelo jerárquico no diferencia una vista lógica de una vista física de la base de datos. De manera que las relaciones entre datos se establecen siempre a nivel físico, es decir, mediante referencia a direcciones físicas del medio de almacenamiento (sectores y pistas).

El modelo relacional a diferencia de otros modelos como el jerárquico y el de red. Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto.

El modelo de red se diferencia del modelo relacional en que los datos se representan mediante conjuntos de registros, y las relaciones entre ellos mediante punteros.
  





Motores de Bases de datos

Motores de Bases de Datos

Hay muchos motores de bases de datos hoy voy a señalar varios:

Definicion,
Lo motores de bases de datos son programas o software capaces de interactuar con el usuario para la organizacion de siertos datos.
Uno de los mas importantes si no es el mas importantes que esta en el mercado actualmente es Oracle.


Oracle es un sistema de gestion de bases de datos objeto-relacional (o ORDBMS por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando:
  • soporte de transacciones,
  • estabilidad,
  • escalabilidad y
  • Soporte multiplataforma.
Su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux

.


MySQL es un sistema de gestión de bases de datos relacional, licenciado bajo la GPL de la GNU. Su diseño multihilo le permite soportar una gran carga de forma muy eficiente. MySQL fue creada por la empresa sueca MySQL AB, que mantiene el copyright del código fuente del servidor SQL, así como también de la marca.

Aunque MySQL es software libre, MySQL AB distribuye una versión comercial de MySQL, que no se diferencia de la versión libre más que en el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya que de no ser así, se vulneraría la licencia GPL.

Este gestor de bases de datos es, probablemente, el gestor más usado en el mundo del software libre, debido a su gran rapidez y facilidad de uso. Esta gran aceptación es debida, en parte, a que existen infinidad de librerías y otras herramientas que permiten su uso a través de gran cantidad de lenguajes de programación, además de su fácil instalación y configuración.


SQL Server es un conjunto de objetos eficientemente almacenados. Los objetos donde se almacena la información se denominan tablas, y éstas a su vez están compuestas de filas y columnas. En el centro de SQL Server está el motor de SQL Server, el cual procesa los comandos de la base de datos. Los procesos se ejecutan dentro del sistema operativo y entienden únicamente de conexiones y de sentencias SQL.

SQL Server incluye herramientas para la administración de los recursos que el ordenador nos proporciona y los gestiona para un mejor rendimiento de la base de datos. Una buena instalación y configuración de SQL Server, y sobre todo una buena administración de las herramientas que éste nos proporciona, logrará:

·  Qué las consultas que se realicen mediante sentencias SQL obtengan un tiempo de
respuesta óptimo.
·  Qué la memoria y la CPU de la máquina estén aprovechadas al máximo.

Transact-SQL es el lenguaje que utiliza SQL Server para poder enviar peticiones tanto de consultas, inserciones, modificaciones, y de borrado a las tablas, así como otras peticiones que el usuario necesite sobre los datos. En definitiva, es un lenguaje que utiliza SQL Server para poder gestionar los datos que contienen las tablas.




CouchDB, oficalmente Apache CouchDB, es una base de datos orientada a documentos (document-oriented database), también conocido como ‘NoSQL’, que puede ser consultada e indexada usando JavaScript como función MapReduce.

CouchDB ofrece una API (Application Programming Interface) RESTful (Representational State Transfer) en JSON que puede ser accedida vía peticiones HTTP. Hay muchas librerías para casi cualquier lenguaje de programación que facilitan el acceso.

CouchDB está escrito en Erlang, un lenguaje de programación funcional robusto ideal para construir sistemas distribuidos simultáneos, lo que permite un diseño flexible y fácilmente escalable y extensible.






Apache Cassandra es una Base de Datos no relacional (NO SQL), distribuida y basada en un modelo de almacenamiento de Clave-Valor, escrita en Java.

Cuando uno piensa en bases de datos, inevitablemente vienen a la cabeza palabras tales como tablas, primary keys, foreign keys, integridades referenciales, índices, relaciones y cosas así. Y cuando uno trata de pasar de un modelo entidad - relación al modelo relacional, piensa en normalización, en evitar duplicidad de datos, ACID, etc...

Pero no todas las aplicaciones tienen las mismas necesidades de consistencia de datos. Y es que existe un  teorema que explica que no podemos tener todo (Consistencia, Alta disponibilidad y Tolerancia a fallos) y que hemos de elegir dos. Y no todas las aplicaciones tienen las mismas necesidades. En algunos casos, nuestras aplicaciones necesitan almacenar gran cantidad de información que ha de ser accedida de manera casi instántanea y estar disponible 24x7. Pensad en aplicaciones tipo facebook o twitter (no creo que sea necesario poner los enlaces). Para este tipo de aplicaciones es donde entra en juego esta nueva forma de plantear los motores de bases de datos. En este caso la forma de plantearse el modelo de datos es diferente. En un modelo relacional típico, uno crea un esquema de datos normalizado que permite solicitar cualquier consulta y añade índices a las tablas que permitan acelerar dichas consultas. En este nuevo esquema de datos, uno ha de plantearse primero que consultas va a realizar y crea el esquema en base a conseguir el máximo rendimiento en los accesos a esa información y si es necesario duplica los datos para conseguir mejor rendimiento. Se podrí decir que casi crea un "mapa" de datos apropiado para cada consulta que se vaya a realizar

MonetDB es un código abierto orientada a columnas de base de datos del sistema de gestión desarrollado en el Centrum y Wiskunde Informatica (CIT) en el los Países Bajos . Fue diseñado para proporcionar un alto rendimiento en consultas complejas para grandes bases de datos, por ejemplo, la combinación de tablas con cientos de columnas y filas de varios millones. Como tal, MonetDB se puede utilizar en aplicaciones zonas que, debido a problemas de rendimiento son no-go áreas para el uso de la tecnología de base de datos tradicional en un tiempo real manera. MonetDB se ha aplicado con éxito en aplicaciones de alto rendimiento para la minería de datos , OLAP , GIS , XML Query , el texto y multimedia de recuperación.
 
MonetDB representación interna de datos basado en memoria, basándose en la gran memoria frente a los rangos de las CPUs actuales con paginación por demanda , y por lo tanto partiendo de los diseños tradicionales de DBMS que implica un manejo complejo de almacenes de datos grandes en la memoria limitada.

Firebird es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1. 

Es una base de datos relacional que puede ser utilizada en Linux, Windows y varias plataformas UNIX, y ofrece un alto rendimiento y potente soporte de lenguajes para procedimientos almacenados y triggers.