Diseño de una base de datos heterogénea y su

Anuncio
Diseño de una base de datos heterogénea y su implementación en MySQL, y
PostgreSQL
Propósito:
Diseñar una base de datos relacional con el modelo entidad relación e implementarla en
Mysql, y PostgreSQL.
Objetivo general:
Desarrollar una aplicación WEB distribuida con PHP que interactue con una base de
datos heterogénea con Mysql, y PostgreSQL.
Objetivos particulares:
- Diseñar una base de datos relacional con el modelo entidad relación.
- Aplicar las funciones de conectividad a un servidor de bases de datos relacional
PostgreSQL
mediante
el
lenguaje
PHP.
- Gestionar una base de datos PostgreSQL por medio de phpPgAdmin, Usermin o línea
de comandos psql.
Desarrollo de competencia:
- Entender y aplicar el modelo entidad relación en el diseño de bases de datos.
Evaluación:
Este foro lo evalua el instructor, cada mensaje es valorado de acuerdo a la eficacia en su
ejecución de su producto, y calificado en una escala del 1 al 100.
Requisitos previos:
Conocimientos básicos acerca del modelo de bases de datos relacional, programación
estructurada, Sistema Operativo Unix, HTML, PHP, SQL y conectividad a MySQL con
PHP.
Herramientas:
Computadora
personal
con
conección
a
Internet.
- Servidor Linux con PHP, Mysql, PostgreSQL, phpMyAdmin, phpPgAdmin, Usermin y
WebFTP o algún cliente FTP (Ejemplo: CuteFTP), editor de archivos (Ejemplo:
dzphp36) y cliente telnet/ssh (Ejemplo: putty).
Indicaciones al instructor o técnico:
-
Crear
una
base
datos
PostgreSQL por
cada
uno
de
los
participantes.
Ejemplo: create database al300000 with owner = al300000 TEMPLATE template0;
-
Crear
un
usuario
PostgreSQL
por
cada
participante.
Ejemplo: CREATE USER al3000000 PASSWORD 'password' NOCREATEDB
NOCREATEUSER;
- Explicar a los participantes el funcionamiento general de PostgreSQL, de las funciones
de conectividad de PHP para PostgreSQL, del programa phpPgAdmin, Usermin y línea
de comandos psql, orientado al desarrollo de aplicaciones en el WEB.
Antecedentes:
- Leer el manual de referencia de las funciones de conectividad de PHP para PostgreSQL
disponible en http://www.php.net/pgsql
Procedimiento:
Ingresar
al
administrador
de
bases
pablotorres.ens.uabc.mx/admin/phpPgAdmin
pablotorres.ens.uabc.mx:20000/postgresql
con
o
tu
de
datos
a
cuenta
- Seleccionar tu base de datos, y ejecutar las siguientes ordenes SQL.
- Crear tabla.
CREATE TABLE especialidad (
id integer NOT NULL PRIMARY KEY,
descripcion varchar(20)
);
http://www.php.net/pgsql pablotorres.ens.uabc.mx/admin/phpPgAdmin
- Agregar registros con phpPgAdmin o Usermin.
Insert into especialidad (id, descripcion) values (1,'calefaccion');
Insert into especialidad (id, descripcion) values (2,'electricidad');
- Por medio de la línea de comandos psql:
phpPgAdmin
y
usermin
contraseña.
ssh pablotorres.ens.uabc.mx
pablotorres> psql -U al300000
psql> Ordenes SQL;
psql> exit;
- Emplear las funciones de conectividad a PostgreSQl con PHP:
<?php
//pruebaconecpgsql.php
$conn = pg_pconnect("host=localhost port=5432 dbname=al300000 user=al300000
password=clave");
if (!$conn) {
echo "Error. ";
exit;
}
$result = pg_query($conn, "SELECT id, descripcion FROM especialidad");
if (!$result) {
echo "Error. ";
exit;
}
while ($row = pg_fetch_row($result)) {
echo "Id: $row[0] Nombrel: $row[1]";
echo "<br /> ";
}
?>
- Coloquelo en un directorio denominado public_html de tu cuenta en el servidor por
medio de un cliente FTP o con el WebFTP:
http://pablotorres.ens.uabc.mx/admin/webftp/
- Diseñe un diagrama entidad relación para este problema:
La Empresa ABC construye edificios comerciales de los que necesita manejar
información. Cada uno de los proyectos de construcción tiene un identificador único
además de otra información. Los proyectos, tienen un responsable de proyecto además de
otra serie de empleados, cada uno con su identificador y demás información. Los
responsables de proyecto pueden encargarse al mismo tiempo de varios proyectos.
Cada proyecto se asocia, generalmente a varios subcontratistas para los que se guarda un
identificador y el resto de la información. Estos subcontratistas se especializan en una
única línea de trabajo (calefacción, electricidad, carpintería, etc. ). Estas especializaciones
tienen un código único. Un subcontratista puede participar en varios proyectos, pero en
algunos proyectos pueden participar varios subcontratistas en una misma especialización.
- Reutilice este ejemplo de mantenimiento a una tabla Mysql, de tal manera que los
subcontratistas pueden automáticamente registrarse, modificar sus datos, consultar su
información,
y
darse
de
baja
del
catálogo,
- Incorpore el soporte de la base de datos PostgreSQL e implementelo en al menos la
consulta de información.
- Probar los programas con soporte MySQL, PostgreSQL y depurar los programas si es
necesario:
Los enlaces WEB son de esta forma pablotorres.ens.uabc.mx/~al300000/practica.php
- Coloque la dirección WEB de esta práctica en este foro.
Descargar