Beruflich Dokumente
Kultur Dokumente
Recuerde que slo podr conectar a bases de datos de Access si tiene contratado un Plan de Alojamiento bajo sistema operativo Windows.
<% 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>
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";
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";
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.
'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>
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:
#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";
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";
'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>
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";
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";
#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";
} #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>
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>
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";
#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";
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"; }
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
Keywords:
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.
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.
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).
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.
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.
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.
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).
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.
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).
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.
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).
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
[editar] Directorios
Un ejemplo son las guas telefnicas en formato electrnico.
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.
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.
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.
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] 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
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.
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
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:
-uso preferencial:
-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:
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.
Publicado por marce en 20:12 Sin comentarios: Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook
Bases de datos.
.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.
Podemos habilitar la revisin del profesor antes de que las entradas sean publicas.
compartir datos.
seguridad.
independencia de datos
redundancia controlada.
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.
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.
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
para ella.
<!--[if !supportLists]-->2. <!--[endif]-->Mantener
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:
-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.
-base de datos dinmica: base de datos utilizada en un sistema de informacin, de un supermercado, una farmacia, un videoclub, o una empresa.
nombre ni registro.
<!--[if !supportLists]--> <!--[endif]-->Cada
(filas y columnas).
<!--[if !supportLists]--> <!--[endif]-->Las
un registro dentro de una tabla y estas deben cumplir con las la integridad de datos.
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
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.
Publicado por marce en 13:52 Sin comentarios: Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook
Sistemas de informacin.
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.
-. 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.