Sie sind auf Seite 1von 81

Ejemplos de conexin con bases de datos Access

Recuerde que slo podr conectar a bases de datos de Access si tiene contratado un Plan de Alojamiento bajo sistema operativo Windows.

Usando ASP (en VBScript) y ADO


Para acceder a una base de datos mediante DSN tendr que crear dicho DSN para su Plan de Alojamiento. En el ejemplo que sigue asumimos, para el acceso mediante DSN, que el mismo se llama dominio.com.DSNAccess

<% Option Explicit 'Se Dim Dim Dim Dim Dim Dim declaran las variables Conexion Cadena Rutafisica ADOPersonas MiId MiNombre

'Se crean dos objetos, una conexin y un recordset Set Conexion = CreateObject("ADODB.Connection") Set ADOPersonas = CreateObject("ADODB.Recordset") 'Se establece la cadena de conexin. 'Hay que elegir una de las dos opciones: '1)----Cdigo para acceder mediante un DSN---Cadena="DSN=dominio.com.DSNAccess" '2)----Cdigo para acceder utilizando cadena de conexin---'Consulte la ruta fsica a la raz de su dominio en el servidor. 'Los parmetros UID y PWD son opcionales. Rutafisica="unidad:\rutadirectorios" Cadena="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Rutafisica &"\data\DBPersonas.mdb;UID=usuario;PWD=pwd;" 'Se abre la conexin Conexion.Open Cadena 'Se ejecuta la sentencia SQL ADOPersonas.Open "Select Id, Nombre from Personas", Conexion %> <HTML>

<HEAD> <TITLE>Resultado</TITLE> </HEAD> <BODY> <h2><center> Ejemplo de conexin a Access con ASP-VBScript </center></h2> <table width="30%" border="1" align="center"> <tr> <td><center><b>Id</b></center></td> <td><center><b>Nombre</b></center></td> </tr> <% 'Se recorre la tabla y se muestran los resultados While Not ADOPersonas.eof Set MiId=ADOPersonas("Id") Set MiNombre=ADOPersonas("Nombre") %> <tr> <td><%=MiId%></td> <td><%=MiNombre%></td> </tr> <% ADOPersonas.Movenext Wend 'Se cierran el Recordset y la conexin ADOPersonas.Close Conexion.Close %> </BODY> </HTML>

Usando PERL y ADO


Para acceder a una base de datos mediante DSN tendr que crear dicho DSN para su Plan de Alojamiento. En el ejemplo que sigue asumimos, para el acceso mediante DSN, que el mismo se llama dominio.com.DSNAccess Tenga en cuenta que los archivos en PERL sobre Windows suelen tener la extensin .pl .cgi Se puede acceder a la base de datos utilizando el mtodo Execute sobre una conexin, o creando un objeto Recordset. Veamos un ejemplo de cada caso:

Ejemplo usando el mtodo Execute:

use strict; use Win32::OLE; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a Access con script de Perl usando ADO </center></h2>"; print "<PRE>\n"; #Se crea un objeto conexin my $MiConexion = Win32::OLE->new("ADODB.Connection"); #Se establece la cadena de conexin. #Hay que elegir una de las dos opciones: #1------Cdigo para acceder mediante un DSN-----my $Cadena="DSN=dominio.com.DSNAccess"; #2------Cdigo para acceder utilizando cadena de conexin-----#El campo DBQ ser la ruta y nombre de nuestra base de datos #Los campos UID y PWD son el usuario y contrasea si existen #IMPORTANTE: $rutafisica contiene la ruta fsica en disco a la #raz de su dominio en el servidor. Consulte este dato para acceder #por este mtodo. my $rutafisica="unidad:\\rutadirectorios"; my $Cadena="Driver={Microsoft Access Driver (*.mdb)}; DBQ=$rutafisica\\data\\DBPersonas.mdb;UID=;PWD=;"; #Se conecta con la base de datos $MiConexion->Open($Cadena); #Se ejecuta la consulta SQL my $RS = $MiConexion->Execute("SELECT * FROM Personas"); #Se recorre la tabla y se imprimen los datos while ( !$RS->EOF ) { my $Id = $RS->Fields('Id')->value; my $Nombre = $RS->Fields('Nombre')->value; print "$Id\t$Nombre\n"; $RS->MoveNext;

} #Para finalizar se cierra la conexin $MiConexion->Close; #Y escribimos las cabeceras de finalizacin print "</PRE>\n"; print "</BODY>\n"; print "</HTML>\n";
Ejemplo usando un objeto Recordset:

use strict; use Win32::OLE; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a Access con script Perl usando ADO </center></h2>"; print "<PRE>\n"; #Se crean un objeto conexin y un objeto Recordset my $MiConexion = Win32::OLE->new("ADODB.Connection"); my $ADOPersonas= Win32::OLE->new("ADODB.Recordset"); #Se establece la cadena de conexin. #Hay que elegir una de las dos opciones: #1------Cdigo para acceder mediante un DSN-----my $Cadena="DSN=dominio.com.DSNAccess"; #2------Cdigo para acceder utilizando cadena de conexin-----#El campo DBQ ser la ruta y nombre de nuestra base de datos #Los campos UID y PWD son el usuario y contrasea si existen #IMPORTANTE: $rutafisica contiene la ruta fsica en disco a la #raz de su dominio en el servidor. Consulte este dato para acceder #por este mtodo. my $rutafisica="unidad:\\rutadirectorios"; my $Cadena="Driver={Microsoft Access Driver (*.mdb)}; DBQ=$rutafisica\\data\\DBPersonas.mdb;UID=;PWD=;"; #Se abre la conexin con la base de datos

$MiConexion->Open($Cadena); $ADOPersonas->open("select Id, Nombre from Personas",$MiConexion,3, 3); #Se recorre la tabla y se imprimen los datos while ( not $ADOPersonas->{EOF}) { my $Id = $ADOPersonas->{'Id'}->Value; my $Nombre = $ADOPersonas->{'Nombre'}->Value; print "$Id\t$Nombre\n"; $ADOPersonas->{MoveNext}; } #Se cierran el Recordset y la conexin $ADOPersonas->Close; $MiConexion->Close; #Y escribimos las cabeceras de finalizacin print "</PRE>\n"; print "</BODY>\n"; print "</HTML>\n";

Usando PERL y DBI


Para acceder a una base de datos mediante DSN tendr que crear dicho DSN para su Plan de Alojamiento. En el ejemplo que sigue asumimos, para el acceso mediante DSN, que el mismo se llama dominio.com.DSNAccess Tenga en cuenta que los archivos en PERL sobre Windows deben tener la extensin .pl .cgi

use strict; use DBI; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a Access con script de Perl </center></h2>"; print "<PRE>"; #Se establece la cadena de conexin. #Hay que elegir una de las dos opciones:

#1------Cdigo para acceder mediante un DSN-----my $Cadena="dominio.com.DSNAccess"; #2------Cdigo para acceder utilizando cadena de conexin-----#El campo DBQ ser la ruta y nombre de nuestra base de datos #Los campos UID y PWD son el usuario y contrasea si existen #IMPORTANTE: $rutafisica contiene la ruta fsica en disco a la #raz de su dominio en el servidor. Consulte este dato para acceder #por este mtodo. my $rutafisica="unidad:\\rutadirectorios"; my $Cadena="Driver={Microsoft Access Driver (*.mdb)}; DBQ=$rutafisica\\data\\DBPersonas.mdb;UID=;PWD=;"; #Se abre una conexin con la base de datos my $dbh=DBI->connect("dbi:ODBC:$Cadena"); #Se define la consulta my $SQL= "SELECT Id, Nombre FROM Personas"; #Se prepara y ejecuta la sentencia. #Si se produce algn error el programa finaliza my $sth = $dbh->prepare($SQL) or die "No puedo conectar a la base de datos"; $sth->execute; #Se recorre la tabla y se muestran los datos print "Id\tNombre\n"; while (my $ref = $sth->fetchrow_arrayref) { print "$ref->[0]\t$ref->[1]\n"; } #Se desconecta de la base de datos $sth->finish(); $dbh->disconnect(); #Y escribimos las cabeceras de finalizacin print "</PRE>"; print "</BODY>\n"; print "</HTML>\n";

Ejemplos de conexin con bases de datos SQL Server


Recuerde que slo podr conectar a bases de datos de SQL Server si tiene contratado un Plan de Alojamiento Web bajo sistema operativo Windows.

En este apartado podr ver ejemplos de distintas formas de conectar con una base de datos de SQL Server para realizar una sencilla consulta de seleccin. Consulte la documentacin de SQL Server y ADO para ejecutar sentencias ms complejas, procedimientos almacenados, etc.

Usando ASP (en VBScript) y ADO


<% Option Explicit 'Se Dim Dim Dim Dim Dim declaran las variables Conexion Cadena ADOPersonas MiId MiNombre

'Se crean dos objetos, una conexin y un Recordset Set Conexion = CreateObject("ADODB.Connection") Set ADOPersonas = CreateObject("ADODB.Recordset") 'Se establece la cadena de conexin. 'Hay que elegir una de las dos opciones: '1)----Cdigo para acceder mediante un DSN---Cadena="DSN=dominio.com.DSNSQLServer;UID=usuario;PWD=password" '2)----Cdigo para acceder utilizando cadena de conexin---'Establecemos la cadena de conexin. 'El campo server ser el servidor de SQL Server. 'Database ser el nombre de la base de datos. 'uid es el nombre de usuario. 'pwd es la contrasea. 'Puede consultar todos estos datos en su panel de control Cadena="driver={SQL Server}; server=servidor; database=DBPersonas; uid=usuario; pwd=password" 'Se abre la conexin Conexion.Open Cadena ADOPersonas.Open "Select Id, nombre from Personas", Conexion %> <HTML> <HEAD> <TITLE>Resultado</TITLE> </HEAD> <BODY> <h2><center> Ejemplo de conexin a SQLServer con ASP-VBScript </center></h2> <table width="30%" border="1" align="center">

<tr> <td><center><b>Id</b></center></td> <td><center><b>Nombre</b></center></td> </tr> <% 'Se recorre la tabla y se muestran los resultados While Not ADOPersonas.eof Set MiId=ADOPersonas("Id") Set MiNombre=ADOPersonas("Nombre") %> <tr> <td><%=MiId%></td> <td><%=MiNombre%></td> </tr> <% ADOPersonas.Movenext Wend 'Se cierran el recordset y la conexin ADOPersonas.Close Conexion.Close %> </BODY> </HTML>

Usando PERL y ADO


Para acceder a una base de datos mediante DSN tendr que crear dicho DSN para su Plan de Alojamiento. En el ejemplo que sigue asumimos, para el caso de acceso por DSN, que el mismo se llama dominio.com.DSNSQLServer. Tenga en cuenta que los archivos en PERL sobre Windows suelen tener la extensin .pl .cgi Ejemplo con sentencia Execute:

use strict; use Win32::OLE; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n";

print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a SQLServer con script Perl usando ADO </center></h2>"; print "<PRE>\n"; #Se abre una conexin con la base de datos my $MiConexion = Win32::OLE->new("ADODB.Connection"); #Se establece la cadena de conexin. #Hay que elegir una de las dos opciones: #1------Cdigo para acceder mediante un DSN-----my $Cadena="DSN=dominio.com.DSNSQLServer;UID=usuario;PWD=password"; #2------Cdigo para acceder utilizando cadena de conexin-----#Consulte los datos de su base de datos SQL Server en el panel de control my ($servidor, $bd, $usuario, $passw)= 'servidor', 'DBPersonas', 'usuario', 'password'); my $Cadena="driver={SQL Server}; server=$servidor; database=$bd; uid=$usuario; pwd=$passw"; #Se conecta con la base de datos $MiConexion->Open($Cadena); #Se ejecuta la consulta SQL my $RS = $MiConexion->Execute("SELECT * FROM Personas"); #Se recorre la tabla y se imprimen los datos while ( !$RS->EOF ) { my $Id = $RS->Fields('Id')->value; my $Nombre = $RS->Fields('Nombre')->value; print "$Id\t$Nombre\n"; $RS->MoveNext; } #Se cierra la conexin $MiConexion->Close; #Se imprimen las cabeceras de finalizacin print "</PRE>\n"; print "</BODY>\n"; print "</HTML>\n";
Ejemplo con el objeto Recordset:

use strict; use Win32::OLE;

#Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a SQLServer con script Perl usando ADO </center></h2>"; print "<PRE>\n"; #Se crean los objetos conexin y Recordset my $MiConexion = Win32::OLE->new("ADODB.Connection"); my $ADOPersonas= Win32::OLE->new("ADODB.Recordset"); #Se establece la cadena de conexin. #Hay que elegir una de las dos opciones: #1------Cdigo para acceder mediante un DSN-----my $Cadena="DSN=dominio.com.DSNSQLServer;UID=usuario;PWD=password"; #2------Cdigo para acceder utilizando cadena de conexin-----#Consulte los datos de su base de datos SQL Server en el panel de control my ($servidor, $bd, $usuario, $passw) = ('servidor', 'DBPersonas', 'usuario', 'password'); my $Cadena="driver={SQL Server}; server=$servidor; database=$bd; uid=$usuario; pwd=$passw"; #Se abre la conexin con la base de datos $MiConexion->Open($Cadena); $ADOPersonas->open("select Id, Nombre from Personas",$MiConexion,3, 3); #Se recorre la tabla y se imprimen los datos while ( not $ADOPersonas->{EOF}) { my $Id = $ADOPersonas->{'Id'}->Value; my $Nombre = $ADOPersonas->{'Nombre'}->Value; print "$Id\t$Nombre\n"; $ADOPersonas->{MoveNext}; } #Se cierran el Recordset y la conexin $ADOPersonas->Close; $MiConexion->Close; #Se imprimen las cabeceras de finalizacin print "</PRE>\n"; print "</BODY>\n";

print "</HTML>\n";

Usando PERL y DBI


Para acceder a una base de datos mediante DSN tendr que crear dicho DSN para su Plan de Alojamiento. En el ejemplo que sigue asumimos, para el caso de acceso con DSN, que el mismo se llama dominio.com.DSNSQLServer. Tenga en cuenta que los archivos en PERL sobre Windows suelen tener la extensin .pl .cgi

use strict; use DBI; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a SQLServer con script de Perl </center></h2>"; print "<PRE>"; #Se establece la cadena de conexin. #Hay que elegir una de las dos opciones: #1------Cdigo para acceder mediante un DSN-----my $Cadena="DSN=dominio.com.DSNSQLServer;UID=usuario;PWD=password"; #2------Cdigo para acceder utilizando cadena de conexin-----#Consulte los datos de la base de datos SQL Server en el panel de control my ($servidor, $bd, $usuario, $passw) = ('servidor', 'DBPersonas', 'usuario', 'pass'); my $Cadena="driver={SQL Server}; server=$servidor; database=$bd; uid=$usuario; pwd=$passw"; #Se abre una conexin con la base de datos. my $dbh=DBI->connect("dbi:ODBC:$Cadena"); #Se define la consulta my $SQL= "SELECT Id, Nombre FROM Personas"; #Se prepara y ejecuta la sentencia. #Si se produce algn error el programa finaliza

my $sth = $dbh->prepare($SQL) or die "No puedo conectar a la base de datos"; $sth->execute; #Se recorre la tabla y se muestran los datos print "Id\tNombre\n"; while (my $ref = $sth->fetchrow_arrayref) { print "$ref->[0]\t$ref->[1]\n"; } #Se desconecta de la base de datos $sth->finish(); $dbh->disconnect(); #Se imprimen las cabeceras de fin print "</PRE>"; print "</BODY>\n"; print "</HTML>\n";

Ejemplos de conexin con bases de datos MySQL


Podr conectar con bases de datos MySQL tanto si tiene contratado un Plan de Alojamiento Web bajo sistema operativo Windows o Linux.

Utilizando ASP (en VBScript) y ADO


<% Option Explicit 'Se Dim Dim Dim Dim Dim declaran las variables Conexion Cadena ADOPersonas MiId MiNombre

'Se crean los objetos conexin y Recordset Set Conexion = CreateObject("ADODB.Connection") Set ADOPersonas = CreateObject("ADODB.Recordset") 'Se establece la cadena de conexin 'El campo server ser el servidor de MySQL 'Database ser el nombre de la base de datos 'uid es el nombre de usuario 'pwd es la contrasea 'Puede consultar todos estos datos en su panel de control Cadena="Driver={mySQL}; Server=servidor; Database=DBPersonas; Uid=usuario; Pwd=password"

'Se abre la conexin Conexion.Open Cadena 'IMPORTANTE: MySQL es sensible a maysculas/minsculas en las consultas SQL 'Esto quiere decir que las tablas "Personas" y "personas" son distintas. ADOPersonas.Open "Select Id, Nombre from Personas", Conexion %> <HTML> <HEAD> <TITLE>Resultado</TITLE> </HEAD> <BODY> <h2><center> Ejemplo de conexin a MySQL con ASP-VBScript </center></h2> <table width="30%" border="1" align="center"> <tr> <td><center><b>Id</b></center></td> <td><center><b>Nombre</b></center></td> </tr> <% ' Se recorre la tabla y se muestran los resultados While Not ADOPersonas.eof Set MiId=ADOPersonas("Id") Set MiNombre=ADOPersonas("Nombre") %> <tr> <td><%=MiId%></td> <td><%=MiNombre%></td> </tr> <% ADOPersonas.Movenext Wend 'Se cierran los objetos creados ADOPersonas.Close Conexion.Close %> </BODY> </HTML>

Utilizando PERL y ADO


Ejemplo usando el mtodo Execute:

use strict; use Win32::OLE; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a MySQL con script de Perl usando ADO </center></h2>"; print "<PRE>\n"; #Se crea el objeto conexin my $MiConexion = Win32::OLE->new("ADODB.Connection"); #Se establece la cadena de conexin #Consulte los datos de la conexin en el panel de control my ($servidor, $bd, $usuario, $passw) = ('servidor', 'DBPersonas', 'usuario', 'password'); my $Cadena="driver={MySQL}; server=$servidor; database=$bd; uid=$usuario; pwd=$passw"; #Se conecta con la base de datos $MiConexion->Open($Cadena); #Se ejecuta la consulta SQL #IMPORTANTE: MySQL es sensible a maysculas/minsculas en las consultas SQL. #Esto quiere decir que las tablas "Personas" y "personas" son distintas. my $RS = $MiConexion->Execute("SELECT * FROM Personas"); #Se recorre la tabla y se imprimen los datos while ( !$RS->EOF ) { my $Id = $RS->Fields('Id')->value; my $Nombre = $RS->Fields('Nombre')->value; print "$Id\t$Nombre\n"; $RS->MoveNext; } #Se cierra la conexin $MiConexion->Close; #Se imprimen las cabeceras de fin print "</PRE>\n"; print "</BODY>\n"; print "</HTML>\n";

Ejemplo usando el objeto Recordset:

use strict; use Win32::OLE; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a MySQL con script de Perl usando ADO </center></h2>"; print "<PRE>\n"; #Se crean los objetos conexin y Recordset my $MiConexion = Win32::OLE->new("ADODB.Connection"); my $ADOPersonas= Win32::OLE->new("ADODB.Recordset"); #Se establece la cadena de conexin. #Consulte los datos de la conexin en el panel de control. my ($servidor, $bd, $usuario, $passw) = ('servidor', 'DBPersonas', 'usuario', 'password'); my $Cadena="driver={MySQL}; server=$servidor; database=$bd; uid=$usuario; pwd=$passw"; #Se abre la conexin con la base de datos $MiConexion->Open($Cadena); #Se realiza la consulta SQL #IMPORTANTE: MySQL es sensible a maysculas/minsculas en las consultas SQL. #Esto quiere decir que las tablas "Personas" y "personas" son distintas. $ADOPersonas->open("select Id, Nombre from Personas",$MiConexion,3, 3); #Se recorre la tabla y se imprimen los datos while ( not $ADOPersonas->{EOF}) { my $Id = $ADOPersonas->{'Id'}->Value; my $Nombre = $ADOPersonas->{'Nombre'}->Value; print "$Id\t$Nombre\n"; $ADOPersonas->{MoveNext}; } #Se cierran los objetos creados $ADOPersonas->Close;

$MiConexion->Close; #Se imprimen las cabeceras de fin print "</PRE>\n"; print "</BODY>\n"; print "</HTML>\n";

Utilizando PERL y DBI


use strict; use DBI; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a MySQL con script de Perl usando DBI </center></h2>"; print "<PRE>"; #Se establece la cadena de conexin #Consulte los datos de la conexin en el panel de control my ($servidor, $bd, $usuario, $passw) = ('servidor', 'DBPersonas', 'usuario', 'password'); my $cadena="DBI:mysql:database=$bd;host=$servidor"; #Se conecta a la base de datos my $dbh = DBI->connect($cadena,$usuario,$passw); #Se realiza la consulta SQL #IMPORTANTE: MySQL es sensible a maysculas/minsculas en las consultas SQL. #Esto quiere decir que las tablas "Personas" y "personas" son distintas. my $SQL= "SELECT Id, Nombre FROM Personas"; my $sth = $dbh->prepare($SQL) or die "No puedo conectar a la base de datos"; $sth->execute; #Se recorre la tabla y se muestran los datos print "Id\tNombre\n"; while (my $ref = $sth->fetchrow_arrayref) { print "$ref->[0]\t$ref->[1]\n"; }

#Se desconecta de la base de datos $sth->finish(); $dbh->disconnect(); #Se escriben las cabeceras de fin print "</PRE>"; print "</BODY>\n"; print "</HTML>\n";

Utilizando PERL y DBI


#!/usr/bin/perl use DBI(); #Se imprimen las cabeceras print "content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a MySQL con script de Perl </center></h2>"; print "<PRE>"; #Se establece la cadena de conexin. #Consulte los datos de la conexin en el panel de control my ($servidor, $bd, $usuario, $passw) = ('servidor', 'DBPersonas', 'usuario', 'password'); my $cadena="DBI:mysql:dbname=$bd; host=$servidor"; #Se realiza la conexin my $dbh = DBI->connect($cadena,$usuario,$passw); #Se ejecuta la consulta SQL #IMPORTANTE: MySQL es sensible a maysculas/minsculas en las consultas SQL. #Esto quiere decir que las tablas "Personas" y "personas" son distintas. my $SQL= "SELECT Id, Nombre FROM Personas"; my $sth = $dbh->prepare($SQL) or die "No puedo conectar a la base de datos"; $sth->execute; #Se recorre la tabla y se muestran los datos print "Id\tNombre\n"; while (my $ref = $sth->fetchrow_arrayref) { print "$ref->[0]\t$ref->[1]\n";

} #Se desconecta de la base de datos $sth->finish(); $dbh->disconnect(); #Se escriben las cabeceras de fin print "</PRE>"; print "</BODY>\n"; print "</HTML>\n";

Utilizando PHP
<html> <body> <?php #Se efecta la conexin usando 3 parmetros #(servidor, usuario y contrasea) #Consulte estos datos en el panel de control $db = mysql_connect("servidor", "usuario", "password"); #Se selecciona la base de datos que se va a utilizar mysql_select_db("DBPersonas",$db); #Se ejecuta una consulta SQL $result = mysql_query("SELECT * FROM Personas",$db); echo "<table border=1>\n"; echo "<tr><td>Id</td><td>Nombre</td></tr>\n"; #Se recorre el resultado mostrando la informacin while ($myrow = mysql_fetch_row($result)) { printf("<tr><td>%s</td><td>%s</td></tr>\n",$myrow[0],$myrow[1]); } echo "</table>\n"; ?> </body> </html>

Ejemplos de conexin con bases de datos PostgreSQL


Utilizando ASP (en VBScript) y ADO
<%

Option Explicit 'Se Dim Dim Dim Dim Dim declaran las variables Conexion Cadena ADOPersonas MiId MiNombre

'Se crean los objetos conexin y Recordset Set Conexion = CreateObject("ADODB.Connection") Set ADOPersonas = CreateObject("ADODB.Recordset") 'Se establece la cadena de conexin 'El campo server ser el servidor de PostgreSQL 'Database ser el nombre de la base de datos 'uid es el nombre de usuario 'pwd es la contrasea 'Puede consultar todos estos datos en su panel de control Cadena="Driver={PostgreSQL}; Server=servidor; Database=DBPersonas; Uid=usuario; Pwd=password" 'Se abre la conexin Conexion.Open Cadena 'Se realiza la consulta SQL ADOPersonas.Open "Select Id, Nombre from Personas", Conexion %> <HTML> <HEAD> <TITLE>Resultado</TITLE> </HEAD> <BODY> <h2><center> Ejemplo de conexin a PostgreSQL con ASP-VBScript </center></h2> <table width="30%" border="1" align="center"> <tr> <td><center><b>Id</b></center></td> <td><center><b>Nombre</b></center></td> </tr> <% 'Se recorre la tabla y se muestran los resultados While Not ADOPersonas.eof Set MiId=ADOPersonas("Id") Set MiNombre=ADOPersonas("Nombre") %>

<tr> <td><%=MiId%></td> <td><%=MiNombre%></td> </tr> <% ADOPersonas.Movenext Wend 'Se cierran los objetos creados ADOPersonas.Close Conexion.Close %> </BODY> </HTML>

Utilizando PERL y ADO


Ejemplo usando el mtodo Execute:

use strict; use Win32::OLE; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a PostgreSQL con script de Perl usando ADO </center></h2>"; print "<PRE>\n"; #Se crea el objeto conexin my $MiConexion = Win32::OLE->new("ADODB.Connection"); #Se establece la cadena de conexin #Consulte los datos de la conexin en el panel de control my ($servidor, $bd, $usuario, $passw) = ('servidor', 'DBPersonas', 'usuario', 'password'); my $Cadena="driver={PostgreSQL}; server=$servidor; database=$bd; uid=$usuario; pwd=$passw"; #Se conecta con la base de datos $MiConexion->Open($Cadena);

#Se ejecuta la consulta SQL my $RS = $MiConexion->Execute("SELECT * FROM Personas"); #Se recorre la tabla y se imprimen los datos while ( !$RS->EOF ) { my $Id = $RS->Fields('Id')->value; my $Nombre = $RS->Fields('Nombre')->value; print "$Id\t$Nombre\n"; $RS->MoveNext; } #Se cierra la conexin $MiConexion->Close; #Se imprimen las cabeceras de fin print "</PRE>\n"; print "</BODY>\n"; print "</HTML>\n";
Ejemplo usando el objeto Recordset:

use strict; use Win32::OLE; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a PostgreSQL con script de Perl usando ADO </center></h2>"; print "<PRE>\n"; #Se crean los objetos conexin y Recordset my $MiConexion = Win32::OLE->new("ADODB.Connection"); my $ADOPersonas= Win32::OLE->new("ADODB.Recordset"); #Se establece la cadena de conexin. #Consulte los datos de la conexin en el panel de control. my ($servidor, $bd, $usuario, $passw) = ('servidor', 'DBPersonas', 'usuario', 'password'); my $Cadena="driver={PostgreSQL}; server=$servidor; database=$bd; uid=$usuario; pwd=$passw";

#Se abre la conexin con la base de datos $MiConexion->Open($Cadena); #Se realiza la consulta SQL $ADOPersonas->open("select Id, Nombre from Personas",$MiConexion,3, 3); #Se recorre la tabla y se imprimen los datos while ( not $ADOPersonas->{EOF}) { my $Id = $ADOPersonas->{'Id'}->Value; my $Nombre = $ADOPersonas->{'Nombre'}->Value; print "$Id\t$Nombre\n"; $ADOPersonas->{MoveNext}; } #Se cierran los objetos creados $ADOPersonas->Close; $MiConexion->Close; #Se imprimen las cabeceras de fin print "</PRE>\n"; print "</BODY>\n"; print "</HTML>\n";

Utilizando PERL y DBI


use strict; use DBI; #Se imprimen las cabeceras print "HTTP/1.0 200 OK\n"; print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a PostgreSQL con script de Perl usando DBI </center></h2>"; print "<PRE>"; #Se establece la cadena de conexin #Consulte los datos de la conexin en el panel de control my ($servidor, $bd, $usuario, $passw) = ('servidor', 'DBPersonas', 'usuario', 'password'); my $cadena="DBI:PgPP:database=$bd;host=$servidor";

#Se conecta a la base de datos my $dbh = DBI->connect($cadena, $usuario, $passw); #Se realiza la consulta SQL my $SQL= "SELECT Id, Nombre FROM Personas"; my $sth = $dbh->prepare($SQL) or die "No puedo conectar a la base de datos"; $sth->execute; #Se recorre la tabla y se muestran los datos print "Id\tNombre\n"; while (my $ref = $sth->fetchrow_arrayref) { print "$ref->[0]\t$ref->[1]\n"; } #Se desconecta de la base de datos $sth->finish(); $dbh->disconnect(); #Se escriben las cabeceras de fin print "</PRE>"; print "</BODY>\n"; print "</HTML>\n";

Utilizando PERL y DBI


#!/usr/bin/perl use DBI(); #Se imprimen las cabeceras print "content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Resultado</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<h2><center> Ejemplo de conexin a PostgreSQL con script de Perl </center></h2>"; print "<PRE>"; #Se establece la cadena de conexin. #Consulte los datos de la conexin en el panel de control my ($servidor, $bd, $usuario, $passw) = ('servidor', 'DBPersonas', 'usuario', 'password'); my $cadena="DBI:Pg:dbname=$bd; host=$servidor"; #Se realiza la conexin

my $dbh = DBI->connect($cadena, $usuario, $passw); #Se ejecuta la consulta SQL my $SQL= "SELECT Id, Nombre FROM Personas"; my $sth = $dbh->prepare($SQL) or die "No puedo conectar a la base de datos"; $sth->execute; #Se recorre la tabla y se muestran los datos print "Id\tNombre\n"; while (my $ref = $sth->fetchrow_arrayref) { print "$ref->[0]\t$ref->[1]\n"; } #Se desconecta de la base de datos $sth->finish(); $dbh->disconnect(); #Se escriben las cabeceras de fin print "</PRE>"; print "</BODY>\n"; print "</HTML>\n";

Utilizando PHP
<html> <body> <?php

#Se establece la cadena de conexin #Consulte los datos de acceso de su base de datos en su panel de control $cadena = "host=servidor port=5432 dbname=DBPersonas user=usuario password=contrasea"; #Se efectua la conexin $connection = pg_pconnect ($cadena); #Se ejecuta la consulta $result=pg_exec("SELECT * FROM Personas"); #Mostramos los resultados print "Id , Nombre\n"; $rows = pg_numrows($result); for ($i=0; $i < $rows; $i++){ list($foo,$bar) = pg_fetch_row($result,$i); print "($foo , $bar)\n"; }

#Se cierra la conexin pg_close($connection); ?> </body> </html>

Diagramas entidad-relacin y de clases de UML en el modelado de gobierno electrnico


Jesus Alberto Andrade Castro Laboratorio de Investigacin de Tecnologas y Sistemas de Informacin, Computacin, Universidad Del Zulia. Maracaibo, Zulia. Repblica Bolivariana de Venezuela jandrade@fec.luz.edu.ve

Resumen
El Lenguaje de Modelado Unificado (UML) es considerado hoy en da un mtodo estndar para el desarrollo de sistemas de informacin. Sin embargo, el grado de fiabilidad y flexibilidad de los portales de gobierno electrnico, requieren el uso de principios bsicos y del concurso y la experiencia de viejos estilos y disciplinas del desarrollo de sistemas, que sean independientes de los softwares de aplicacin disponibles en el mercado. En ello, el modelo Entidad Relacin (ER) es una herramienta fundamental para el modelado de trmites de e-gobierno porque son fcilmente transferidos a los diagramas de clases de UML. De manera que al modelar un sitio Web para gobierno electrnico con UML y ER, el sistema es dotado con diagramas grficos semiformales, que permiten el diseo de mltiples vistas basado en un modelado conceptual a partir de las instancias y requerimientos legales de la administracin pblica. Este trabajo analiza el uso del Modelo Entidad Relacin y los diagramas de clase de UML y propone, en forma prctica, las notaciones bsicas que se requieren en el desarrollo de un portal de egobierno.

Palabras Clave:

Modelado, e-gobierno, Lenguaje de Modelado Unificado , Modelo Entidad Relacin, diagramas de clase

Entity-relationship diagrams and UML class modeling egovernment


Abstract
The Unified Modeling Language (UML) is now considered a standard method for developing information systems. However, the degree of reliability and flexibility of e-government portals, require the use of basic principles of competition and the experience of old styles and disciplines of the development of systems that are independent of application software available on the market. In it, the Entity Relationship Model (ER) is an essential tool for modeling e-government procedures because they are easily transferred to UML class diagrams. So to model a Web site for e-government with UML and ER, the system is equipped with semi-formal graphical charts, which allow the design of multiple views based on a conceptual modeling from the courts or the administration's legal requirements public. This paper analyzes the use of entity-relationship model and UML class diagrams and proposes a practical, basic notations required in the development of e-government portal.

Keywords:

, Modeling, e-government, Unified Modeling Language , Entity Relationship Model

Introduccin
Con la creciente presencia de instituciones gubernamentales en la Internet y la variedad de servicios disponibles, la frontera existente entre usuarios, empresas y gobierno ha venido desvanecindose; sin embargo, cada vez ms, las aplicaciones automatizadas son ms complejas y las transacciones son ms dinmicas. La gente suele pensar en relacin con el gobierno como una estructura burocracia jerrquica (Margetts, 2003) y las burocracias son a menudo criticadas por su rigidez, lo procedimental, la ineficiencia y la incapacidad de servir a los seres humanos (Ho, 2002). Pero con e-gobierno se ofrece una oportunidad para "crear una nueva modalidad en los servicios pblicos con la esperanza de ofrecer un servicio modernizado, integrado y sin fisuras en relacin con las necesidades de sus ciudadanos" (Silcock, 2001). Usualmente, el diseo de sistemas se realiza bajo el enfoque de caja negra; perspectiva que obliga a los desarrolladores de

software a concentrarse en cmo es la funcionalidad de los componentes. Es por ello que con frecuencia, los datos son tratados normalmente con software construidos ad hoc para satisfacer requisitos especficos de las organizaciones. Desafortunadamente, enfoques como ste presentan muchos inconvenientes, porque los sistemas terminan por identificarse con una determinada plataforma o se comprometen con arquitecturas que son incompatibles, y en consecuencia, se generan cdigos y sistemas difciles de mantener y depurar. Por otro lado, existe la necesidad de estandarizar la migracin de sistemas en uso, hacia aplicaciones de servicios web; y tambin, hay necesidad de innovar en diseos de nuevas metodologas con un enfoque integral, sistemtico, que en la medida de lo posible sea automatizable y con un lenguaje que sea comn, tanto para el desarrollo de nuevas aplicaciones como para el desarrollo de sistemas heredados dirigidos a servicios en red, para evitar de esta manera redisear o reescribir desde cero los sistemas que se heredan. Como consecuencia, una meta de los diseadores y desarrolladores de portales debera ser lograr que los sistemas adopten tecnologas estandarizadas que satisfagan las necesidades y expectativas de calidad que tienen los usuarios. Para ayudar a garantizar claridad, adaptabilidad e integracin, los sistemas deben ser especificados a nivel conceptual, a nivel de los metamodelos, utilizando para ello lenguajes que la gente pueda comprender fcilmente, con el fin de obtener aplicaciones sensibles a los requisitos de calidad de los datos. Los portales de la administracin pblica dependen de diseos apropiados y de la especificacin de los diversos procesos informacionales, comunicacionales o transaccionales que son comunes en el dominio de aplicacin, los cuales deben ser expresados en un lenguaje comn para que funcionen en las plataformas heterogneas disponibles en la Internet, de forma tal que, aun cuando los requisitos de los diversos mbitos de la administracin electrnica varen, la especificacin de los procesos debern seguir los principios generales del diseo. Para ello, es necesario codificar los modelos disponibles en una representacin comn, de modo que las distintas notaciones puedan intercambiar data y diseos usando herramientas propias de modelado. Se trata de describir de modo preciso el significado de cada uno de los componentes del sistema, mediante el uso de una herramienta apropiada como es el Modelo Entidad Relacin (ER), y transferidos a un lenguaje comn para los diseadores de sistemas, como es el Lenguaje de Modelado Unificado (UML). Algunos autores como Cao, Bryant, Zhao, Burt, Gray, Raje, Olson y Auguston (2005) han referido a estas transferencias de notacin de modelado como conversin y des-conversin . El concepto se refiere a la transformacin de un modelo en una forma semntica comn intermedia, que es reinterpretada en otro entorno o usada por otra herramienta de modelado.

En el presente trabajo describimos una aproximacin de la evolucin de las relaciones que se pueden dar para transformar una aplicacin de un sistema (mundo real) de la administracin pblica venezolana a un modelo conceptual, centrndose en la construccin de diagramas necesarios usados para definir un sistema de una manera consistente.

Contexto
Desde que la Internet estuvo a disposicin del pblico, la aparicin de portales electrnicos se ha multiplicado y los servicios Web asociados a los negocios se han hecho tan populares, que su proliferacin refleja el advenimiento de un nuevo paradigma de software relacionado con el diseo de componentes en ambientes de redes. Con ello, el desarrollo de servicios red o servicios web es parte del nuevo paradigma del diseo de sistemas basados en componentes de software, donde la Internet acta como el centro de distribucin de informacin. Hoy en da es muy comn encontrar diversidad de software, lenguajes y todo tipo de sistemas y servicios sobre Internet. Por lo tanto, existe tambin una tendencia a estandarizar el desarrollo de aplicaciones con el concurso de metodologas y lenguajes abiertos. Ejemplo de ello es el cdigo XML que corresponde a la descripcin estndar de un lenguaje abierto, o el protocolo de transporte HTTP y otros sistemas de software que estn disponibles para el desarrollo de aplicaciones, que se incorporan a la red, que luego son reutilizadas e integradas en entornos distribuidos a travs de plataformas heterogneas que abundan en la Internet. Dada la homogeneidad de portales existentes en la Web, se pudiera pensar que ellos son desarrollados bajo un nico enfoque o lineamiento, que es independiente de la orientacin, destino o funcionabilidad del sistema. Sin embargo, segn Hofreiter; Huemer; Liegl; Mosser; Schuster y Zapletal (2007) existe una distincin entre portales dedicados al gobierno electrnico y el resto, y ello es as debido a la diferencia que se produce en los servicios de informacin, comunicacin y transacciones. Los servicios de informacin ofrecen contenido a los ciudadanos y empresas de una manera unidireccional. Los servicios de comunicacin ofrecen contenido de informacin pero de una manera bidireccional, por lo tanto permiten la retroalimentacin. En el gobierno electrnico, los procesos de prestacin de servicios a menudo son multi-funcionales, y cada vez ms interagencia. Debido a esto, el desarrollo de sistemas orientados a los procesos de anlisis tiene que ser un elemento central de los proyectos de gobierno electrnico. La mayora de los servicios de administracin electrnica en uso hoy en da estn orientados a servicios de informacin o de comunicacin; sin embargo, hay que destacar que estos dos tipos de servicios no imponen retos tecnolgicos de grandes magnitudes. Por otro lado, los servicios transaccionales son ms difciles de implementar, porque deben permitir interactuar entre las diversas instituciones

gubernamentales con el fin de ejecutar funciones oficiales. Un servicio transaccional entre una organizacin (empresas pblicas o privadas, oficinas gubernamentales, ciudadanos, etc.) y una agencia de gobierno, requiere que se alineen interfaces y sistemas entre las entidades actuantes. En portales de egobierno, se deben considerar los requisitos legales en una forma muy bien definida, por ello, para que una operacin de gobierno electrnico se pueda ejecutar, las polticas y directrices necesarias deben estar plenamente establecidas. De manera que en ese contexto, alinear la poltica significa que las partes involucradas deben actuar en un rea jurdica especfica, que no deje lugar a dudas del alcance y afectacin de las transacciones. De forma tal que, si un modelo es compartido entre los agentes actuantes, tiene que ser formalmente correcto, a fin de garantizar una comunicacin clara en trminos del dominio de modelado. Por lo tanto, antes de ejecutar una operacin de gobierno electrnico se deben determinar las polticas y directrices legales necesarias para poder realizar las transacciones asociadas; con el fin de actuar en un rea jurdica especfica, bien definida y segura, que sea compartida entre los entes involucrados. Uno de los principales objetivos en la composicin de servicios Web es proporcionar un mtodo para crear aplicaciones ejecutables. La Figura 1 nos permite comprender mejor el impacto que pudiera originar el desarrollo de un sistema de servicios transaccionales en un dominio de gobierno.

Figura 1 Dominio de servicios transaccionales en e-gobierno

La visin del desarrollo de servicios y aplicaciones en el gobierno electrnico es la de permitir que los programas nos eximan de gran parte de la carga de la localizacin de recursos de la Web, que son relevantes para nuestras necesidades; tales como extraccin, integracin e indexacin de la informacin contenida en su interior. En el e-gobierno, la magnitud de los requisitos legales supedita la disponibilidad de los recurso de la Web y otros requisitos (principalmente los organizacionales y tcnicos), pues es el estamento legal, la razn de ser de las transacciones de servicios asociadas al desarrollo de portales web en las instancias de gobierno. La alineacin poltica, contractual y los intereses de los gobiernos en relacin con los procesos de negocios definen el tipo de orientacin entre un portal de e-gobierno y cualquier otro tipo de portal con servicios transaccionales. El desarrollo de software usando tcnicas de modelado antes de la implementacin real de un sistema ofrece muchas ventajas, como la abstraccin, la visualizacin, la independencia de la tecnologa y la reutilizacin (Karetsos, Manouselis y Costopoulou, 2011), de all la importancia de usar un mecanismo tcnico pero sencillo que permita la transicin los requerimientos en la construccin de un modelo operacional de un sistema de gobierno electrnico.

Notacin de modelado de datos


La calidad de un portal de gobierno electrnico depende fundamentalmente de su diseo; por ello, los modeladores de sistemas con frecuencia ponen mayor inters en las relaciones que se establecen en el diseo que en su implementacin. Una herramienta de anlisis y modelado de bases de datos muy popular que ha ocupado gran notoriedad desde la dcada de los 70 es el modelo expresado en entidades y relaciones, una tcnica estndar aceptada desde entonces en el diseo de sistemas. Desde que Peter Chen (1976) propuso en 1976 el Modelo Entidad Relacin (ER) se cont con una metodologa formal pero sencilla para el anlisis y diseo de sistemas de informacin y bases de datos. Desde entonces, el modelo ER se hizo muy popular, y hoy constituye una piedra angular en la ingeniera de software que sirve para la conversin y des-conversin de propuestas de sistemas. El modelo ER es un enfoque conceptual acerca de datos que define, de una manera simple, al mundo real a travs de entidades y relaciones, que permite disear una base de datos bajo un esquema de alto nivel conceptual, sin considerar los problemas de bajo nivel asociados a la eficiencia o a las estructuras fsicas de los datos. Aunque la notacin original diseada por Chen es ampliamente utilizada en los textos acadmicos y revistas, rara vez es vista en las herramientas CASE. Los diseadores de bases de datos suelen utilizar esta metodologa para cumplir con los requisitos y definir la arquitectura de los sistemas de base de datos, pero no la usan para el diseo de los sistemas Web; y ello es debido a que el modelo ER no define una sintaxis para representar en forma grfica los diagramas del modelo, como si lo permite el Lenguaje de Modelado Unificado -UML-, el cual se ha convertido en un estndar para el desarrollo de portales Web. UML es un lenguaje ampliamente aceptado y usado por los analistas y desarrolladores de software, y es, adems, un complemento para la representacin grfica de los diagramas ER (Gornik, 2006), porque facilita la comunicacin entre los miembros del equipo, a la vez que permite la integracin de los repositorios de datos. De manera que el modelo ER es la mejor seleccin que se puede hacer para representar un modelo relacional en forma visual. Sin embargo, existentes diferencias que deben ser comprendidas antes de proceder a disear con ER y UML. Debido a que UML deriv de diversos enfoques, no es una notacin nica, sino una serie de anotaciones para los elementos de modelado, particularmente clases, comportamientos y eventos.UML es un lenguaje de notacin creado inicialmente para el diseo de software que se ha expandido en el diseo del negocio y base de datos. Incluye elementos y esquemas necesarios que van desde el anlisis hasta la implementacin y desarrollo de un sistema. Aunque pareciera existir una separacin entre el lenguaje UML y el modelo ER desde el punto de vista de la concepcin de los objetos, el lenguaje de modelado UML tiene sus races en el

modelo ER. Los autores del UML han proclamado que el lenguaje es diferente al modelado de datos y no tiene nada que ver con el diseo de bases de datos; sin embargo, la Object Management Group (OMG, 2008) ha trabajado en producir un conjunto de metamodelos para describir el modelado entidad relacin, as como el diseo de bases de datos relacionales y el diseo de esquemas XML, de manera de producir Modelos Entidad Relacin "conceptuales" con el uso de notacin de clases en UML (Hay, 1999). Por otro lado, si se pretende desarrollar plataformas que permitan el uso de diferentes herramientas de anlisis, diseo e implementacin, las cuales posiblemente estn basadas en diversos modelos (por ejemplo, con UML y las diversas variantes de ER) con el uso de la ingeniera de reversa, los diagramas ER pueden ser vistos como un diagrama de clases de de UML, lo cual permite cambiar, mejorar o actualizar las abstracciones de las bases de datos, y adems, integrar los nuevos diseos con otros existentes. En tal caso, se requiere un mapeo de los diagramas del modelo ER a UML que lo ideal sera que las transformaciones se lograran en forma automtica. Abstraccin El Modelo Entidad Relacin es una herramienta apropiada en la transformacin de un sistema de mundo real a un modelo conceptual. Para muchos diseadores y modeladores de sistemas el mundo es visto en una forma abstracta, por ello su preocupacin se basa en describir con precisin el negocio, en lugar de preocuparse acerca de detalles tales como el rendimiento de la base de datos. La Figura 2 muestra el nivel conceptual abstracto en un determinado nivel de dominio; a este nivel, el lenguaje es usado para describir un modelo a diferentes niveles de abstraccin. En el nivel lgico se prepara el modelo conceptual para la implementacin del sistema, usando para ello el modelo relacional (Entidad Relacin). Finalmente, el modelo fsico es la representacin del modelo desde los niveles ms altos de un sistema especfico (por ejemplo, con los detalles del almacenamiento de datos).

Figura 2. Modelos de data en diferentes niveles de abstraccin

Modelos El modelaje de datos bajo el enfoque orientado por el modelo ER permite desarrollar muchas ideas diferentes sobre lo que pudiera constituir un buen modelo de datos, porque se trata de asuntos semnticos y no de cuestiones tcnicas. Los modelos de clases UML que apoyan el diseo se parece mucho al modelo ER en el anlisis de requisitos. En el modelo ER, el tipo entidad es una descripcin o plano que puede producir cualquier cantidad de artefactos que se diferencian entre s, nicamente por su identidad y estado. El elemento correspondiente en UML es la clase. Aunque el modelo ER utiliza las clases de una manera similar a los de UML, existen diferencias de alcance. En primer lugar, una "entidad" en el modelo ER no se refiere a las operaciones, los mtodos, o el comportamiento, sino que slo se refiere a la estructura de los datos. En segundo lugar, una entidad clase en el modelo ER, no es cualquier entidad discreta con un lmite bien definido, sino que se limita a lo que Richard Barker llama las cosas u objetos, "de importancia real o imaginaria cuya informacin debe ser conocida o mantenida" (Barker 1989). El diagrama de clases es central para el UML debido a que presenta las abstracciones en un sistema y cmo ellos se relacionan. Esto es as porque la clase, por definicin, tiene la

capacidad de ocultar el contenido, mientras que la entidad tiene interfaces de acceso. Una de las ventajas de UML es que puede ser usado en todos los niveles de abstraccin, desde el nivel conceptual (por ejemplo, describiendo los procesos del negocio) o a nivel de implementacin (por ejemplo, definiendo las clases escritas en un lenguaje especfico de programacin). Y ello es debido a que el modelo de clases de UML es conceptualmente diferente del modelo ER, porque este ltimo restringe a las entidades de clase slo a aquellas cosas importantes para el negocio, en cambio para UML casi cualquier cosas puede ser un objeto que se recoge en las clases. Sin embargo, no existe posibilidad de representar caractersticas particulares de algunos tipos de datos (por ejemplo, los datos asociados con las propiedades de temporalidad y espacialidad que requieren algunos fenmenos geogrficos propios del los sistemas georeferenciados).

Notacin bsica
UML ayuda a abordar reas que corresponden al inicio temprano del desarrollo del ciclo de vida del modelo conceptual, de manera que el modelo ER puede ser mapeado en un modelo UML, a travs de un conjunto de reglas de transformacin. Ello es debido a que tanto la notacin del Modelo Entidad Relacin como el Lenguaje Unificado de Modelado pueden describir entidades clases y relaciones. Antes de comenzar con UML, se puede crear el diagrama de ER, simplemente utilizando las clases (las clases tienen la forma de "entidad" del modelo ER, de manera que se comportan como cualquier entidad), los atributos y sus asociaciones (es decir, relaciones) a otras entidades. Para realizar un mapeo desde el modelo ER a UML no existe un lenguaje para definir el modelado en el cual se definan los metamodelos de UML, como si existe en las transformaciones entre UML y MDA (Arquitectura Dirigida por Modelos). Sin embargo, el metamodelado en ER es importante porque define un modelado abierto al entendimiento humano, y sirve de herramienta para la transformacin en un lenguaje adecuado para el desarrollo de modelos. El objetivo final de usar UML como notacin de modelado de datos es proporcionar mecanismos que orienten sobre cmo producir un modelo entidad relacin conceptual, usando la notacin del Diagrama de Clase de UML. Por lo tanto, el lenguaje UML funciona de una manera semi-formal como un metamodelo. Para alcanzar este modelaje con UML es importante tener en cuenta tres cosas: Solamente son tratadas las clases entidad que pertenecen al contexto del negocio analizado. Solamente un subconjunto de la notacin utilizada en UML puede ser usado para representar la semntica de un negocio.

El significado de los smbolos es diferente del que tienen los smbolos en el mundo orientado a objetos.

Para Fuster, Llorens, Fuentes, Morato y Martnez (2011) cada vez que hay una voluntad de expresar una propiedad del modelo, para transmitir alguna informacin al respecto, hay que reconocer una intencin semntica, no slo una esttica. En ello, los diagramas de ER expresados con notacin UML son particularmente apropiados de usar, porque adems de ser estticamente pulcros, transmiten una semntica precisa del sistema a implementar. La Figura 3 es un sencillo ejemplo de un diagrama ER que usa la notacin UML, en un sistema de administracin de un portal de gobierno electrnico para el registro de un Consejo Comunal.

Figura 3. Diagrama Entidad Relacin usando notacin UML

La Figura 3A muestra un ejemplo de un fragmento de un modelo en notacin ER. Una instancia de un REGISTRO Consejo Comunal describe los valores de "Nmero de registro" y "Fecha de registro", mientras que Consejo Comunal miembros es descrito por los valores del "Nmero de consejo", "Cantidad de miembros", "Municipio", y "Parroquia". La relacin Consejo comunal ubicado es de uno a cero o muchos.

Figura 3A: Notacin Modelo ER

Es importante destacar que sintcticamente los trminos usados para representar los nombres de las clases de entidad y los nombres de las funciones son abiertos al entendimiento humano. De manera que las convenciones tipogrficas (maysculas y cursivas) son innecesarias. El ejemplo de la Figura 3A, muestra las etiquetas de los atributos y entidades que estn correctamente construidas, de manera que se permiten etiquetas abiertas (con espacios en blanco). Si se tratara de la notacin del lenguaje UML debera ser ms estricto porque se trata de los aspectos tecnolgicos y no del proceso de negocios, tal como lo expresa la Figura 3B relacionada con el mismo modelo en notacin UML.

Figura 3B: Notacin UML

Semnticamente las dos formas de las Figuras 3A y 3B son equivalentes, sin embargo, podramos sealar que el esquema de notacin planteado por la Figura 3A corresponde al modelo lgico, mientras que la Figura 3B al modelo fsico. Clase, atributos, relaciones y cardinalidad De acuerdo a la semntica de UML, una clase es el descriptor para un conjunto de objetos con similar estructuras, conductas y relaciones. Una clase corresponde a la implementacin del tipo, la cual puede tener atributos que definen su estructura y operaciones y define tambin las conductas de las instancias de la clase. Un objeto es una entidad en el modelo Entidad Relacin, por lo tanto, una clase es mapeada en un tipo entidad en el modelo ER. Atributos de la clase son mapeados a atributos de las entidades tipos resultantes. En UML se asume que cada objeto (instancia de una clase) es nicamente identificado por su objeto identificador (OID). En el modelo ER una entidad se distingue de otra entidad por el valor del atributo clave. Clase - Entidad Una clase de una entidad en el modelo ER es el nombre de una "cosa u objeto de importancia para una organizacin o negocio, ya sea real o imaginaria, cuya

informacin se necesita conocer o mantener (Barker, 1989). Puede ser una cosa concreta, como una persona o la ubicacin geogrfica; o puede ser una abstraccin como Consejo Comunal miembros o Rol en el ConsejoComunal. En UML, un subconjunto del concepto de "clase" puede utilizarse siempre y cuando se entienda dentro del modelo ER. El nombre de la clase entidad es una particularidad y refiere a una instancia de esa clase. Atributos Al igual que en UML, un atributo en el modelo entidad relacin es una caracterstica de una clase de entidad que "sirve para calificar, identificar, clasificar, cuantificar o expresar el estado de una entidad" (Barker, 1989, p. 56). Pero adems, UML tiene la capacidad de mostrar un gran nmero de cosas acerca de un atributo: su tipo de datos, su "visibilidad" por ejemplo, si se trata de "slo lectura" o no. En cambio en el modelo ER slose muestra el nombre del atributo, si es opcional o no, a lo sumo, opcionalmente se puede indicar si el atributo es derivado. Relaciones y cardinalidad Una relacin es una coleccin semntica entre las clases. Hay diversos tipos de relaciones en UML: asociacin bidireccional; asociacin unidireccional; dependencia; asociacin de agregacin; herencia y la plantilla de creacin de instancias. Una relacin entre dos clases de entidad se compone de dos aseveraciones acerca de ellas. Cada afirmacin es el papel de una clase entidad con respecto a las dems. Esto puede ser descrito en UML mediante una lnea de "asociacin". Una asociacin UML es equivalente a una relacin con la entidad, a diferencia del modelo ER donde una relacin es ms limitada en cuanto a lo que puede representar una asociacin orientada a objetos como en UML. En concreto, como se describe a continuacin, cada relacin es un par de afirmaciones sobre la naturaleza del negocio. No es simplemente el reconocimiento de que dos cosas estn de alguna manera relacionadas entre s. En UML, la cardinalidad es representada mediante los caracteres: ".. 1" (lo que significa que una instancia de la clase primera entidad se puede asociar a no ms de una instancia de la segunda clase); o con los caracteres "..*" (que significa que la primera entidad puede estar asociada con un nmero ilimitado de instancias de la segunda clase). Tambin, una relacin puede ser " 0 .." (que significa que la relacin es opcional) o "1 .." (significa que se requiere). UML, al contrario de lo expresado en el modelo entidad/relacin es compatible con una variedad de valores de cardinalidad mxima. Por ejemplo, la

expresin podra ser "1,5,> 9 ", es decir, el valor debe ser exactamente 1 o 5, o superior a 9. A diferencia del uso convencional dado en UML, cada relacin se compone de dos frases aunque con estructura rigurosa. Cada final de la relacin se denomina en UML el "rol". As, la relacin representada en la Figura 3B muestra la cardinalidad y opcionalidad en trminos grficos (Ver Figura 3C).

Figura 3C: Relacin en notacin UML

La interpretacin del rol si se lee de derecha a izquierda es: Cada REGISTROConsejoComunal puede estar compuesto de uno o ms de Consejo_Comunal_miembros Si se lee de izquierda a derecha: Cada Consejo_Comunal_miembros debe ser parte de exactamente un REGISTROConsejoComunal Estas son frases no tcnicas y deberan ser plena y fcilmente, por lo tanto, cualquiera debera entender la naturaleza de la relacin. Adicionalmente, UML proporciona una serie de capacidades tiles. Por ejemplo, se puede representar la asociacin muchos a muchos directamente en los modelos de datos, junto con la correspondiente asociacin de entidades (conocidas como interseccin) (ver Figura 4), La asociacin entidad pertenece a la relacin y no a cualquiera otra de las dos entidades participantes. Esto permite tener una visualizacin real de los elementos del modelo, incluidos los atributos adicionales definidos dentro de la asociacin entidad. Este tipo de relaciones explcitamente representadas permite a los interesados entender estas entidades y resolver las estructuras de una base de datos que responda a los requerimientos de la organizacin o del negocio. Se pueden utilizar los casos de uso de UML para crear un modelo del modelo existente, y de las funciones deseadas.

Figura 4: Relacin "Muchos a Muchos" usando la notacin UML

La simplicidad de los diagramas de casos de uso permite a la organizacin, al equipo de desarrollo de la base de datos entender fcilmente estos modelos. El modelado de casos de uso es una forma sencilla de a) entender el negocio actual, b) obtener los requisitos deseados para el nuevo sistema que se va a crear, y c) establecer quines se estarn comunicando con el sistema y de qu forma. Super tipos y sub tipos Cuando las instancias de una clase entidad se puede dividir en dos o ms clases, cada una de las clases subalternas "heredan" los atributos y las relaciones de la clase entidad original, estas clases subordinadas se llaman subtipos (Ver Figura 5A).

Figura 5A Subtipos de una clase

Persona y Organizacin son subtipos de Consejo Comunal. Cada instancia del Consejo Comunal es una instancia de Persona o de Organizacin. Por otro lado, Organizacin es un supertipo de Lder comunal y de Organizador Poltico. Es posible que una clase entidad sea designada como un subtipo de otra, grficamente la caja est dentro de otra caja. La Figura 5B muestra la forma (a partir de la notacin en el modelo ER) que en UML se representan los subtipos: fuera del rea super-tipo, que se asocian a travs de flechas especializadas.

Figura 5B Subtipos de una clase en UML

Hay que tomar en cuenta que si se tienen muchos subtipos, el diagrama se puede llenar y restar importancia a otras estructuras del sistema. Si los subtipos se anidan con profundidad, se hace difcil determinar cul instancia es sub-tipo de otra. Los atributos y las relaciones en los niveles superiores no son, los mismos atributos y relaciones del menor nivel de sub-tipos. Las herramientas UML permiten, a partir del modelo ER, mostrar cajas de subtipos dentro de los super tipos. Para ello, primero se debe crear las lneas de las estructuras generales y luego mover las cajas sub tipos adentro de las cajas super tipos y luego se borran las lneas de los objetos grficos que representan las relaciones de los subtipos (Ver Figura 5C).

Figure 5C Sub-Tipos en la conversin ER - UML

Es de suponer que el modelador del sistema debe estar pendiente de: a) Integridad. Cada instancia de la entidad super-tipo debe ser una instancia de uno de los sub-tipos. Esto es equivalente en UML a llamar a la super-tipo "abstracto". Es decir, en UML se puede imponer esta restriccin o no. En el modelado de datos, la restriccin se aplica siempre, pero puede refinarse mediante la adicin de un sub-tipo; b) Exclusividad. No hay instancia de la super-tipo que pueda ser una instancia de ms de uno de los sub-tipos, c) No hay herencia mltiple. Cada subtipo puede tener slo un super-tipo.

Conclusiones
El Modelo Entidad Relacin puede servir de fundamento natural que sustente el entendimiento de modelos, y como herramienta fundamental para capturar la informacin requerida. Como se ha sugerido en las secciones previas, el objetivo de este trabajo fue la de describir cmo un esquema basado en el modelo Entidad Relacin puede mejorarse si se disea bajo el lenguaje UML. Uno podra automticamente mapear un modelo lgico de datos ER a su correspondiente modelo de clase en UML, a travs de un sistema que permita redisear en un primer paso a travs del enfoque de ingeniera reversa de datos, en un diseo de una base de datos existente en un modelo de datos fsico, transfiriendo el diagrama ER lgico a travs del mapeo a un modelo de clase de UML. Tradicionalmente, la conversin de la data se deja para que la realicen los programadores. Los modelos lgicos ms habituales (como es el modelo relacional) y los lenguajes de bases de datos (como lo es el SQL) no proporcionan una representacin explcita de las

relaciones; por lo tanto, se deben establecer estrategias de traduccin con el fin de transformar los tipos de estructuras datos en unas estructuras que sean adecuadas al contexto de desarrollo de los sistemas de informacin. El objetivo del modelado entidad-relacin (ER) es crear una representacin vlida de las entidades, sus atributos y sus relaciones de manera que satisfagan las necesidades del negocio o la organizacin. Si bien la mayora de las notaciones de modelado disponibles pueden servir para este propsito, el lenguaje de modelado unificado (UML) permite flexibilidad para lograr este objetivo, especialmente cuando se trata de la parte de la organizacin o negocio. Para convertir un esquema relacional a otro esquema de datos, primero se debera mapear el esquema relacional en un modelo ER, para luego convertirlo en un diagrama basado en el lenguaje UML, a fin de obtener beneficios de su uso en la creacin de los modelos lgicos de la ER. Es decir, se pretende partir de un modelo conceptual que luego permita trasladar modelo de datos en un modelo en UML cuyo destino final podra ser cargado en una base de datos. El desarrollo de un sistema de gobierno electrnico considerara que el modelo se supedite a las instancias legales; por lo tanto, las entidades y relaciones que conforman el sistema deben estar diseadas para cumplir con los requisitos de la administracin pblica. De manera que la calidad de un portal de gobierno electrnico depende fundamentalmente de su diseo y de la notacin que se haga de los datos en el modelo. Por eso, nuestra propuesta de conversin entre ER y UML se bas en un enfoque de metamodelado. En este trabajo se detall cmo los diferentes componentes de un modelo y, en particular cmo el componente de datos, en relacin con su manipulacin y con sus estructuras ha de llevarse a cabo para desarrollar las relaciones en el contexto de los servicios web. Independientemente de la aparicin de los nuevos paradigmas informticos, por mltiples razones, la creacin de sistemas en portales web requiere el concurso y la experiencia de viejos estilos y disciplinas de desarrollo de sistemas que son independientes de los software de aplicacin, que estn disponibles en el mercado. La metodologa de desarrollo de modelos ha sido probada para el desarrollo de sistemas de informacin que permita la creacin de sistemas acordes con el desarrollo de los portales de gobierno electrnico

Tipos de base de datos


Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se est manejando, la utilidad de las mismas o las necesidades que satisfagan.

[editar] Segn la variabilidad de los datos almacenados


[editar] Bases de datos estticas
Son bases de datos de slo lectura, utilizadas primordialmente para almacenar datos histricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a travs del tiempo, realizar proyecciones, tomar decisiones y realizar anlisis de datos para inteligencia empresarial.

[editar] Bases de datos dinmicas


stas son bases de datos donde la informacin almacenada se modifica con el tiempo, permitiendo operaciones como actualizacin, borrado y adicin de datos, adems de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de informacin de un supermercado, una farmacia, un videoclub o una empresa.

[editar] Segn el contenido


[editar] Bases de datos bibliogrficas
Slo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro tpico de una base de datos bibliogrfica contiene informacin sobre el autor, fecha de publicacin, editorial, ttulo, edicin, de una determinada publicacin, etc. Puede contener un resumen o extracto de la publicacin original, pero nunca el texto completo, porque si no, estaramos en presencia de una base de datos a texto completo (o de fuentes primarias ver ms abajo). Como su nombre lo indica, el contenido son cifras o nmeros. Por ejemplo, una coleccin de resultados de anlisis de laboratorio, entre otras.

[editar] Bases de datos de texto completo


Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una coleccin de revistas cientficas.

[editar] Directorios
Un ejemplo son las guas telefnicas en formato electrnico.

[editar] Bases de datos o "bibliotecas" de informacin qumica o biolgica


Son bases de datos que almacenan diferentes tipos de informacin proveniente de la qumica, las ciencias de la vida o mdicas. Se pueden considerar en varios subtipos:

Las que almacenan secuencias de nucletidos o protenas. Las bases de datos de rutas metablicas. Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomolculasBases de datos clnicas. Bases de datos bibliogrficas (biolgicas, qumicas, mdicas y de otros campos): PubChem, Medline, EBSCOhost.

[editar] Modelos de bases de datos


Adems de la clasificacin por la funcin de las bases de datos, stas tambin se pueden clasificar de acuerdo a su modelo de administracin de datos. Un modelo de datos es bsicamente una "descripcin" de algo conocido como contenedor de datos (algo en donde se guarda la informacin), as como de los mtodos para almacenar y recuperar informacin de esos contenedores. Los modelos de datos no son cosas fsicas: son abstracciones que permiten la implementacin de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemticos. Algunos modelos con frecuencia utilizados en las bases de datos:

[editar] Bases de datos jerrquicas


Artculo principal: Base de datos jerrquica.
En este modelo los datos se organizan en una forma similar a un rbol (visto al revs), en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones que manejan un gran volumen de informacin y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.

[editar] Base de datos de red


Artculo principal: Base de datos de red.
ste es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la modificacin del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerrquico). Fue una gran mejora con respecto al modelo jerrquico, ya que ofreca una solucin eficiente al problema de redundancia de datos; pero, aun as, la dificultad que significa administrar la informacin en una base de datos de red ha significado que sea un modelo utilizado en su mayora por programadores ms que por usuarios finales.

[editar] Bases de datos transaccionales


Son bases de datos cuyo nico fin es el envo y recepcin de datos a grandes velocidades, estas bases son muy poco comunes y estn dirigidas por lo general al entorno de anlisis de calidad, datos de produccin e industrial, es importante entender que su fin nico es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicacin de informacin no es un problema como con las dems bases de datos, por lo general para poderlas aprovechar al mximo permiten algn tipo de conectividad a bases de datos relacionales. Un ejemplo habitual de transaccin es el traspaso de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no aparezca o desaparezca dinero), las dos operaciones deben ser atmicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una cada del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no se ha realizado ninguna.

[editar] Bases de datos relacionales


Artculo principal: Modelo relacional. Artculo principal: Base de datos relacional.
ste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San Jos (California), no tard en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podran considerarse en forma lgica como conjuntos de datos llamados "tuplas". Pese a que sta es la teora de las bases de datos relacionales creadas por Codd, la mayora de las veces se conceptualiza de una manera ms fcil de imaginar. Esto es pensando en cada relacin como si fuese una tabla que est compuesta por registros (las filas de una tabla), que representaran las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de que es ms fcil de entender y de utilizar para un usuario espordico de la base de datos. La informacin puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la informacin. El lenguaje ms habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estndar implementado por los principales motores o sistemas de gestin de bases de datos relacionales. Durante su diseo, una base de datos relacional pasa por un proceso al que se le conoce como normalizacin de una base de datos.

Durante los aos 80 la aparicin de dBASE produjo una revolucin en los lenguajes de programacin y sistemas de administracin de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestin.

[editar] Bases de datos multidimensionales


Artculo principal: Base de datos multidimensional.
Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creacin de Cubos OLAP. Bsicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podra serlo tambin en una base de datos multidimensional), la diferencia est ms bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan mtricas que se desean estudiar.

[editar] Bases de datos orientadas a objetos


Artculo principal: Base de datos orientada a objetos.
Este modelo, bastante reciente, y propio de los modelos informticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:

Encapsulacin - Propiedad que permite ocultar la informacin al resto de los objetos, impidiendo as accesos incorrectos o conflictos. Herencia - Propiedad a travs de la cual los objetos heredan comportamiento dentro de una jerarqua de clases. Polimorfismo - Propiedad de una operacin mediante la cual puede ser aplicada a distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definicin de la base de datos. Una operacin (llamada funcin) se especifica en dos partes. La interfaz (o signatura) de una operacin incluye el nombre de la operacin y los tipos de datos de sus argumentos (o parmetros). La implementacin (o mtodo) de la operacin se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicacin de los usuarios pueden operar sobre los datos invocando a dichas operaciones a travs de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podra denominarse independencia entre programas y operaciones. SQL:2003, es el estndar de SQL92 ampliado, soporta los conceptos orientados a objetos y mantiene la compatibilidad con SQL92.

[editar] Bases de datos documentales

Permiten la indexacin a texto completo, y en lneas generales realizar bsquedas ms potentes. Tesaurus es un sistema de ndices optimizado para este tipo de bases de datos.

[editar] Bases de datos deductivas


Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a travs de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Las bases de datos deductivas son tambin llamadas bases de datos lgicas, a raz de que se basa en lgica matemtica. Este tipo de base de datos surge debido a las limitaciones de la Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones indirectas de los datos almacenados en la base de datos.

[editar] Lenguaje
Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y permite al ordenador hacer deducciones para contestar a consultas basndose en los hechos y reglas almacenados.

[editar] Ventajas

Uso de reglas lgicas para expresar las consultas. Permite responder consultas recursivas. Cuenta con negaciones estratificadas Capacidad de obtener nueva informacin a travs de la ya almacenada en la base de datos mediante inferencia. Uso de algoritmos de optimizacin de consultas. Soporta objetos y conjuntos complejos.

[editar] Desventajas

Crear procedimientos eficaces de deduccin para evitar caer en bucles infinitos. Encontrar criterios que decidan la utilizacin de una ley como regla de deduccin. Replantear las convenciones habituales de la base de datos.

[editar] Fases

Fase de Interrogacin: se encarga de buscar en la base de datos informaciones deducibles implcitas. Las reglas de esta fase se denominan reglas de derivacin. Fase de Modificacin: se encarga de aadir a la base de datos nuevas informaciones deducibles. Las reglas de esta fase se denominan reglas de generacin.

[editar] Interpretacin
Encontramos deductivas: dos teoras de interpretacin de las bases de datos

Teora de Demostracin: consideramos las reglas y los hechos como axiomas.

Los hechos son axiomas base que se consideran como verdaderos y no contienen variables. Las reglas son axiomas deductivos ya que se utilizan para deducir nuevos hechos.

Teora de Modelos: una interpretacin es llamada modelo cuando para un conjunto especfico de reglas, stas se cumplen siempre para esa interpretacin. Consiste en asignar a un predicado todas las combinaciones de valores y argumentos de un dominio de valores constantes dado. A continuacin se debe verificar si ese predicado es verdadero o falso.

[editar] Mecanismos
Existen dos mecanismos de inferencia:

Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglas de inferencia. Descendente: donde se parte del predicado (objetivo de la consulta realizada) e intenta encontrar similitudes entre las variables que nos lleven a hechos correctos almacenados en la base de datos.

[editar] Gestin de bases de datos distribuida (SGBD)


La base de datos y el software SGBD pueden estar distribuidos en mltiples sitios conectados por una red. Hay de dos tipos: 1. Distribuidos homogneos: utilizan el mismo SGBD en mltiples sitios. 2. Distribuidos heterogneos: Da lugar a los SGBD federados o sistemas multibase de datos en los que los SGBD participantes tienen cierto grado de autonoma local y tienen acceso a varias bases de datos autnomas preexistentes almacenados en los SGBD, muchos de estos emplean una arquitectura cliente-servidor. Estas surgen debido a la existencia fsica de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder as a distintas universidades, sucursales de tiendas, etctera.

Gestores de bases de datos.

-4.1. Que son sistemas gestores de bases de datos.


Son un tipo de software muy especfico, dedicado a servir de interfaz entre las bases de datos, el usuario y las aplicaciones que la utilizacin.

-4.2. .. Que objetivos debe cumplir.

Abstraccin de informacin: Los SGBD ahorran a los usuarios detalles acerca del almacenamiento fsico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. As, se definen varios niveles de abstraccin.

Independencia: La independencia de los datos consiste en la capacidad de modificar el esquema (fsico o lgico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

Consistencia: En aquellos casos en los que no se ha logrado eliminar la redundancia, ser necesario vigilar que aquella informacin que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultnea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debera aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programacin de este tipo de condiciones.

Seguridad: La informacin almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta informacin se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categoras de permisos.

Manejo de transacciones: Una transaccin es un programa que se ejecuta como una sola operacin. Esto quiere decir que luego de una ejecucin en la que se produce una falla es el mismo que se obtendra si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho ms simple que si no se dispusiera de ellos.

Tiempo de respuesta: Lgicamente, es deseable minimizar el tiempo que el SGBD demora en proporcionar la informacin solicitada y en almacenar los cambios realizados

.-4.3. Cuales son sus ventajas y desventajas.

Ventajas:

Provee facilidades para la manipulacin de grandes volmenes de datos. Simplifica la programacin de equipos de consistencia. Manejando las polticas de respaldo adecuadas, garantizan que los cambios de la base sern siempre consistentes sin importar si hay errores correctamente. Organizar los datos con un impacto mnimo en el cdigo de los programas.

Disminuyen drsticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrollos. Usualmente, proveen interfaces y lenguajes de consulto que simplifican la recuperacin de los datos.

Desventajas:

Tamao: la complejidad y la gran cantidad de funciones que tienen, hacen que sea un software de gran tamao, que requiere de gran cantidad de memoria para poder correr.

Costo de Hadware adicional: los requisitos de hadware para correr un SGBD por lo general son relativamente altos, y estos equipos pueden llegar a costar grandes cantidades de dinero.

Si se tiene muy pocos datos que son usados por un nico usuario por vez y no hay que realizar consultas sobre datos, entonces es posible que sea mejor usar una hoja de clculo.

Complejidad: el software muy complejo y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al mximo.

-4.4. SGBD disponibles. Cuales son sus caractersticas y cual es su uso preferencial.

-MYSQL:

Amplio subconjunto del lenguaje SQL-algunas extensiones son incluidas igualmente. Disponibilidad de gran cantidad de plataformas y sistemas. Posibilidad de seleccin de mecanismos de almacenamiento que ofrecen diferente velocidad de operacin, soporte fsico, capacidad, distribucin geogrfica, transacciones. Transacciones y claves forneas. Replicacin. Conectividad segura.

- - Uso preferencial:

Para aplicaciones web, como dupral o phpbb, en plataformas, y por herramientas de seguimiento de errores como bugzilla. Su popularidad como aplicaciones web esta muy ligada a php, que a menudo aparece en combinaciones con MYSQL.

--POSTGRESQL:

Alta concurrencia: permite que mientras una persona este en la tabla y otra persona pueda entrar, sin bloqueos. Amplia variedad de tipos nativos, provee nativamente soportes para:

-nmeros de precisin orbitaria. -texto de largo ilimitado. -figuras geomtricas.

-uso preferencial:

Lo utilizan en empresas para comercializar.

-FIREBIRDSQL: Es multiplataforma y se pueden ejecutar en sistemas operativos. Soporte de user- defined fundctios. Es mediante escalables. Buena seguridad basada en usuarios. Capacidad de almacenar elementos. BLOB

-uso preferencial:

Para administrar bases de datos relacional.

-4.5. Que es Microsoft Access. Que se puede hacer con el.

Microsoft Access: es un programa que permite el ingreso


y almacenamiento de datos mediante la programacin y creacin de formularios, as como otras actividades como consultas e informes impresos.

Que se puede hacer con el: crear ficheros con bases de datos.

-4.6. Con el enfoque u orientacin del Access defina los siguientes elementos.

Tablas: son el componente bsico o elemental de las bases


de datos, o lo que es lo mismo, una base de datos esta principalmente compuesta por varias tablas relacionadas. Las tablas contienen datos sobre algo o alguien, proveedores,

clientes, libros en una biblioteca, compras, ventas, etc.

Entidades: una entidad es la que guarda informacin


relacionada con el producto o lo que deseamos guardar.

Relaciones: es el coincidir de los datos de las columnas de


clave, normalmente las columnas con el mismo nombre ambas tablas.

Campos: es cada uno de los tipos de datos que se van a usar.


Se hace referencia a los campos por su nombre.

Registros: un registro es la informacin particular.

Publicado por marce en 20:12 Sin comentarios: Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook

Bases de datos.

3.1-. Cuales son sus caractersticas.

.Permite que slo se puedan ver, los registros de la base de datos, cuando el usuario haya introducido un determinado nmero de registros en ella.

.Permite configurar los derechos de edicin. Puede agregar entradas profesores y alumnos, si lo permite en la base de datos. Esto no restringe la visualizacin de sus entradas para todos.

Se puede limitar el nmero mximo de entradas de cada participante.

Podemos permitir aadir comentarios a las entradas de la base de datos

Podemos habilitar la revisin del profesor antes de que las entradas sean publicas.

-.3.2. Relacione sus ventajas.

.se puede almacenar grandes cantidades de datos o informacin.

compartir datos.

flexibilidad y rapidez al obtener datos.

seguridad.

independencia de datos

redundancia controlada.

-3.3. Especifique sus desventajas.

.tamao: el sistema de manejo de base de datos (DBMS)

requiere de mucho espacio en disco duro y tambin requiere de mucha memoria principal (RAM).

.complejidad: debido a la cantidad de operaciones y a las capacidades del DBMS, se convierte en un producto complejo de entender.

.costo: los productores de bases de datos (ORACLE, DB2, ETC) son productores caros.

requerimiento adicional del equipo: el adquirir un

producto de base de datos, requiere a su vez adquirir equipo adicional para poder correr ese producto como por ejemplo, servidores, memorias, discos duros, etc.

.complejo al recuperar los datos: en caso de accidente que corrompa la base de datos, el proceso de recuperacin y de volver a la base de datos su estado al problema, es mucho mas complejo que ejecutar que en sistemas tradicionales.

-3.4. Cual es el uso actual de las bases de datos.

<!--[if !supportLists]--> <!--[endif]-->Una

base de datos es la manera actual de

recopilar y guardar archivos de cualquier ndole.

-3.5. Que no es una base de datos.


Software. Tecnologa.

<!--[if !supportLists]-->

-3.6. Porque no es indispensable tanto software como la tecnologa para hablar de base de datos.

Software: por que es una herramienta principal del enfoque de la administracin de base de datos, dado que controla la creacin, el mantenimiento y el uso de la base de datos de una organizacin y de sus usuarios finales.

<!--[if !supportLists]-->

Funciones.
nuevas bases de datos y aplicaciones

<!--[if !supportLists]--> <!--[if !supportLists]-->1. <!--[endif]-->Crear

para ella.
<!--[if !supportLists]-->2. <!--[endif]-->Mantener

la calidad de la informacin en las

bases de datos de una organizacin.

<!--[if !supportLists]-->3. <!--[endif]-->Utilizar

las bases de datos de una

organizacin para proporcionar la informacin necesaria para sus usuarios finales.

Tecnologa: las cosas van avanzando, las personas necesitan ir de la mano con estos avances y buscar lo mejor y lo mas adecuado para su comodidad , por eso es importante e indispensable, la tecnologa para una base de datos que son tan utilizados en empresas.

-3.7. Diferencias entre una base de datos dinmica y una esttica. Ejemplos de cada una. base de datos dinmica:

<!--[if !supportLists]--> <!--[endif]-->

-la informacin almacenada con el tiempo se modifica.

-permite operaciones como actualizacin, borrado y adicin de datos.

<!--[if !supportLists]--> <!--[endif]-->

base de datos estticas:

-bases de datos de solo lectura, almacenan datos histricos.

-se utilizan para estudios, compartimientos de un conjunto de datos a travs del tiempo, realizar proyecciones, tomar decisiones y realizar anlisis de datos para inteligencia empresarial.

<!--[if !supportLists]--> <!--[endif]-->Ejemplos:

-base de datos dinmica: base de datos utilizada en un sistema de informacin, de un supermercado, una farmacia, un videoclub, o una empresa.

-base de datos estticas: en una empresa, sobre el personal de la empresa.

-3.8. Caractersticas que presenta una base de datos relacional:

<!--[if !supportLists]--> <!--[endif]-->Una

base de datos relacional se compone de

varias tablas o relaciones.


<!--[if !supportLists]--> <!--[endif]-->No

puede existir dos tablas con el mismo

nombre ni registro.
<!--[if !supportLists]--> <!--[endif]-->Cada

tabla a su vez en conjunto de registros

(filas y columnas).
<!--[if !supportLists]--> <!--[endif]-->Las

relacin entre una tabla padre y un hijo

de lleva acabo por medio de las claves primarias y ajenas (o forneas).


<!--[if !supportLists]--> <!--[endif]-->Las

claves primarias son la clave principal de

un registro dentro de una tabla y estas deben cumplir con las la integridad de datos.

<!--[if !supportLists]--> <!--[endif]-->Las

claves ajenas se ubican en la tabla hija,

contienen el mismo valor que la clave primaria del registro padre; por medio de estas se hacen las relaciones.

Publicado por marce en 14:10 Sin comentarios: Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook

Historia de la base de datos.

2.1-.Con que objetivo se crearon las bases de datos.


Para almacenar grandes cantidades de informacin o datos.

2.2-. Como se manejaban inicialmente las bases de datos.

Las primeras bases de datos manejaban ficheros que almacenados con tarjetas o soportes magnticos. Cuando evolucionan siguen las cintas y los discos, son dotados de mucha ms potencia y facilidad de manipulacin.

2.3-. Cuando se vuelven tiles las bases de datos.


Cuando se da la nueva generacin se bases de datos que eran las cintas y discos.

Publicado por marce en 13:52 Sin comentarios: Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook

mircoles, 11 de abril de 2012

Sistemas de informacin.

1.1-.Que es un sistema de informacin.


Es un conjunto de elementos orientados al tratamiento y administracin de datos e informacin, organizados y listos para su uso posterior, generados para cubrir una necesidad u objeto.

1.2 -.que elementos conforman un sistema de informacin, cual es su funcin. Relaciones ejemplos de cada uno.

-. Entrada: es el proceso mediante el cual el sistema de informacin toma los datos que se requiere para procesar la informacin, las entradas pueden ser manuales o automticas. Ejemplo: mouse, teclado, scanner. Ejemplo: los proveedores de la empresa Coca-Cola toma sus respectivos datos de los pedidos de las tiendas y supermercados

-. Almacenamiento: es una de las actividades o capacidades ms importantes que tiene una computadora ya que a travs de esta propiedad el sistema puede recordar la informacin guardada en la seccin o proceso anterior, esta informacin denominada archivos.

Ejemplo: el proveedor guarda sus respectivos datos de los pedidos requeridos.

-. Procesamiento: es la capacidad del sistema de informacin para efectuar clculos de acuerdo con la secuencia de operaciones prestablecidas, estos clculos pueden efectuarse con datos introducidos recientemente en el sistema o con datos almacenados. Ejemplo: los datos que el proveedor ingreso siguen una secuencia en la cual esos datos que ingreso se efectan como clculos y pasa la informacin al repartidor y la empresa lleva sus datos almacenados.

-. Salida de informacin: es la capacidad de un sistema para sacar la informacin procesada, las unidades de salida son: monitor, impresora, terminales, disquetes, cintas magnticas.

Ejemplo: la informacin que sale es mandada a los repartidores para que hagan su respectiva entrega.

Bases de datos
Una base de datos es un conjunto de datos guardados para despues darle su uso.

En la actualidad la mayoria de las bases de datos se usa de forma electronica o en la informatica, ya que es mucho mas facil y simple. Existen varios tipos de bases de datos, y se clasifican en las siguientes: 1. Bases de datos estaticas: los archivos contenidos en esta base de datos solo son de lectura, y se pueden guardar pero sin usar, o usarlas un tiempo despues, un ejemplo de este seria bibliotecas, periodicos (para almacenar informacion y si se requiere consultarla tiempo despues). 2. Base de datos dinamicas: estas son las mas usadas, ya que como su nombre lo indica con dinamicas, es decir, que se usan constantemente, ya sea modificando o consultando la base de datos, ejemplos de esta seria de tiendas, negocios, en universidades (para los alumnos), etc. Tambien existen bases de datos de acuerdo a como se administran, aqui les mostrare algunas de las mas usadas. Bases de datos relacionales: estos son los que se usan para problemas reales o administrar datos de forma dinamica. El programa mas rcomendable para hacer este tipo de base de datos es el SQL, que es el lenguaje mas usado en la actualidad.

Base de datos multidimensionales: estas bases de datos se usan para crear aplicaciones muy concretas, como por ejemplo crear cubos OLAP (el almacenamiento fisico se realiza en un vector multidimensional). Se pueden representar por medio de tablas.

Base de datos orientada a objetos: en esta base datos se hacen 3 procedimientos, encapsulacion, que permite ocultar informacion para que no pueda haber conflictos,

herencia, que sirve para clasificar en orden las bases de datos, y por ultimo polimorfismo, que es para aplicar operaciones a distintos tipos de objetos.

Das könnte Ihnen auch gefallen