miércoles, 7 de noviembre de 2012
jueves, 25 de octubre de 2012
Asesorías y Sustentaciones
Hola Todos,
Les publico los horarios de asesoría y sustenteaciones. Cierro ediciones mañana a las 6:00PM
Horarios
Les publico los horarios de asesoría y sustenteaciones. Cierro ediciones mañana a las 6:00PM
Horarios
Validaciones con JavaScript
Hola Todos,
Les publico el enlace para quienes quieran validar sus formularios de ingreso de datos usando JavaScript: http://www.elcodigo.net/tutoriales/jsavanzado/jsavanzado13.html
Les publico el enlace para quienes quieran validar sus formularios de ingreso de datos usando JavaScript: http://www.elcodigo.net/tutoriales/jsavanzado/jsavanzado13.html
domingo, 21 de octubre de 2012
Material - Seminario Bases de Datos
Diapositivas - Primera parte
Diapositivas - Segunda parte
Diapositivas - Tercera parte
Diapositivas - Cuarta parte
Libro Bases de Datos MySQL
Fortamto IEEE para Artículos
Caso de Estudio
Durante el seminario trabajamos en un caso de estudio, donde dados unos requerimientos iniciales se realizó el diagrama entidad - relación, luego elaboramos el modelo relacional, posteriormente implementamos la base de datos mediante el lenguaje de definición de datos (LDD) de SQL y finalmente realizamos un conjunto de consultas (lenguaje de manipulación de datos LMD).
Base de datos
Diagrama Entidad - Relación
Modelo Relacional
Consultas
Plazo de Entrega
Noviembre 6 (Martes) a las 4:00 PM
Diapositivas - Segunda parte
Diapositivas - Tercera parte
Diapositivas - Cuarta parte
Libro Bases de Datos MySQL
Fortamto IEEE para Artículos
Caso de Estudio
Durante el seminario trabajamos en un caso de estudio, donde dados unos requerimientos iniciales se realizó el diagrama entidad - relación, luego elaboramos el modelo relacional, posteriormente implementamos la base de datos mediante el lenguaje de definición de datos (LDD) de SQL y finalmente realizamos un conjunto de consultas (lenguaje de manipulación de datos LMD).
Base de datos
Diagrama Entidad - Relación
Modelo Relacional
Consultas
Plazo de Entrega
Noviembre 6 (Martes) a las 4:00 PM
Triggers y Procedimientos Almacenados (Store Procedures)
--PROCEDIMIENTO ALMACENADO--
DELIMITER $$
CREATE PROCEDURE sp_registrodoctor()
begin
UPDATE doctor
SET ums_doc_registro='no'
WHERE ums_doc_registro='';
end $$
delimiter ;
--TRIGGER--
DELIMITER $$
CREATE TRIGGER T_doctorRegistro
AFTER INSERT ON doctor
FOR EACH ROW
BEGIN
CALL sp_registrodoctor();
END$$
DELIMITER ;
UPDATE doctor
SET ums_doc_registro='no'
WHERE ums_doc_registro='';
DELIMITER $$
CREATE PROCEDURE sp_registrodoctor()
begin
UPDATE doctor
SET ums_doc_registro='no'
WHERE ums_doc_registro='';
end $$
delimiter ;
--TRIGGER--
DELIMITER $$
CREATE TRIGGER T_doctorRegistro
AFTER INSERT ON doctor
FOR EACH ROW
BEGIN
CALL sp_registrodoctor();
END$$
DELIMITER ;
UPDATE doctor
SET ums_doc_registro='no'
WHERE ums_doc_registro='';
jueves, 11 de octubre de 2012
Tareas Programadas - Cron Job
Hola Todos,
Para quienes están trabajando en Ubuntu, deben revisar dos aspectos que no tuvimos en cuenta en la sesión anterior:
a) Que el archivo que se está llamando para realizar la acción (agregar_medicos.php) tenga en general todos los permisos (777) para esto pueden usar el comando chmod.
b) En la línea de ejecución del cron job, deben tener en cuenta la ruta donde tienen instalado el php, por ejemplo:
00 10 11 * * user/bin/php(ruta del php) -f
/<<...colocar toda la ruta del proyecto...>>/agregar_medicos.php /<<...colocar toda la ruta del proyecto...>>/cj.txt
Para quienes están trabajando en Ubuntu, deben revisar dos aspectos que no tuvimos en cuenta en la sesión anterior:
a) Que el archivo que se está llamando para realizar la acción (agregar_medicos.php) tenga en general todos los permisos (777) para esto pueden usar el comando chmod.
b) En la línea de ejecución del cron job, deben tener en cuenta la ruta donde tienen instalado el php, por ejemplo:
00 10 11 * * user/bin/php(ruta del php) -f
/<<...colocar toda la ruta del proyecto...>>/agregar_medicos.php /<<...colocar toda la ruta del proyecto...>>/cj.txt
miércoles, 10 de octubre de 2012
SQL Injection
En la jornada pasada revisamos una técnica para evitar que usuarios no autorizados ingresen al sistema de información mediante la aplicación técnicas de SQL Injection.
Lectura 01
Lectura 02
Lectura 01
Lectura 02
Delitos informáticos en Colombia
En este enlace les comparto el documento correspondiente a la Ley 1273 de 2009, “Por medio de la cual se modifica el Código Penal, se crea un nuevo bien jurídico tutelado - denominado “de la protección de la información y de los datos”- y se preservan integralmente los sistemas que utilicen las tecnologías de la información y las comunicaciones, entre otras disposiciones”.
lunes, 1 de octubre de 2012
Sesión 18
Durante esta jornada se realizaron avances en el desarrollo del proyecto, construyendo la estructura de bases de datos requerida para almacenar la información, según los requerimientos presentados.
Aporte de Alejandra: En este documento encontrarán la descripción de las actividades realizadas durante la sesión.
----------------------------------------------------------------------------------------------------------
Aporte de Carlos Torres: En el archivo comprimido se encuentra el script para exportar la base de datos terminada, también el modelo entidad relación de la base datos y una carpeta con las clases php que habíamos utilizado.
1 ) La clase bdatos.php contiene todos los métodos para trabajar con la base de datos.
2 ) La clase operaciones es una implementacion de la clase bdatos.php
3 ) Desde un formulario deben enviarse los datos por medio de POST a la clase operaciones.php, una vez lleguen los datos, se reciben por medio de la función REQUEST, luego se concatenan dentro de una variabla que contendrá todos los datos concatenados y otra variable que contendrá todos los nombres de los campos concatenados.
4 ) Luego se crea un objeto de la clase bdatos.php para hacer un llamado de los métodos: insertar, modificar, eliminar o consultar.
5 ) Los parámetros que reciben estos métodos son: el nombre de la tabla y las variables que concatenamos anteriormente
Los métodos de consultar deben ser modificados dependiendo de la tabla que se usa.
----------------------------------------------------------------------------------------------------------
Compromisos Académicos:
Estos compromisos son para Oct 1/2012:
Carlos y Oscar: Terminan la base de datos del proyecto.
Alejandra: Envía la documentación de la jornada.
Estos compromisos son para Oct 3/2012, con base en los anteriores:
Valeria y Daniel: Ingresa los 8.000 datos en la tabla paciente.
Laura y Alejandra: Ingresan los datos correspondientes a los medicamentos (de acuerdo a la página referida en el proyecto).
Alejandro y Valeria: Ingresan los datos de las enfermedades.
Yeison y Andres: Elaboran el formulario para realizar el CRUD de Paciente.
Johan: Elabora los formularios para realizar el CRUD de: sangre tipo, doctor, iden. tipo
Mario, Camilo y Cristian: Elaboran los formularios para realizar el CRUD de: alergias, antecedentes, pacientes.
Alejandra, Luisa, Darlleny: Elaboran el formulario para realizar el CRUD de: historias clínicas
Aporte de Alejandra: En este documento encontrarán la descripción de las actividades realizadas durante la sesión.
----------------------------------------------------------------------------------------------------------
Aporte de Carlos Torres: En el archivo comprimido se encuentra el script para exportar la base de datos terminada, también el modelo entidad relación de la base datos y una carpeta con las clases php que habíamos utilizado.
1 ) La clase bdatos.php contiene todos los métodos para trabajar con la base de datos.
2 ) La clase operaciones es una implementacion de la clase bdatos.php
3 ) Desde un formulario deben enviarse los datos por medio de POST a la clase operaciones.php, una vez lleguen los datos, se reciben por medio de la función REQUEST, luego se concatenan dentro de una variabla que contendrá todos los datos concatenados y otra variable que contendrá todos los nombres de los campos concatenados.
4 ) Luego se crea un objeto de la clase bdatos.php para hacer un llamado de los métodos: insertar, modificar, eliminar o consultar.
5 ) Los parámetros que reciben estos métodos son: el nombre de la tabla y las variables que concatenamos anteriormente
Los métodos de consultar deben ser modificados dependiendo de la tabla que se usa.
----------------------------------------------------------------------------------------------------------
Compromisos Académicos:
Estos compromisos son para Oct 1/2012:
Carlos y Oscar: Terminan la base de datos del proyecto.
Alejandra: Envía la documentación de la jornada.
Estos compromisos son para Oct 3/2012, con base en los anteriores:
Valeria y Daniel: Ingresa los 8.000 datos en la tabla paciente.
Laura y Alejandra: Ingresan los datos correspondientes a los medicamentos (de acuerdo a la página referida en el proyecto).
Alejandro y Valeria: Ingresan los datos de las enfermedades.
Yeison y Andres: Elaboran el formulario para realizar el CRUD de Paciente.
Johan: Elabora los formularios para realizar el CRUD de: sangre tipo, doctor, iden. tipo
Mario, Camilo y Cristian: Elaboran los formularios para realizar el CRUD de: alergias, antecedentes, pacientes.
Alejandra, Luisa, Darlleny: Elaboran el formulario para realizar el CRUD de: historias clínicas
miércoles, 26 de septiembre de 2012
Sesión 17
Durante esta sesión se realizó una presentación detallada del
Proyecto Final. del curso, así como sus respectivas fechas de entrega. También se presento el concepto de Bases de Datos Centralizadas y Bases de Datos Distribuidas y se explicó en qué casos debe implementarse un modelo de Bases de Datos Distribuidas.
Iniciamos con la construcción del proyecto, como primera medida se inició con el diseño e implementación de la estructura de la base de datos, la cual denominamos UMSalud, a continuación les dejo dos enlaces:
Base de Datos elaborada. Aportes de Christian
Documentación de la clase. Aportes de Alejandro.
Para la próxima clase, cada grupo debe garantizar que la fila de computadores que le corresponde tenga instaladas las herramientas, en este caso: XAMPP, MySQL WB.
Iniciamos con la construcción del proyecto, como primera medida se inició con el diseño e implementación de la estructura de la base de datos, la cual denominamos UMSalud, a continuación les dejo dos enlaces:
Base de Datos elaborada. Aportes de Christian
Documentación de la clase. Aportes de Alejandro.
Para la próxima clase, cada grupo debe garantizar que la fila de computadores que le corresponde tenga instaladas las herramientas, en este caso: XAMPP, MySQL WB.
lunes, 17 de septiembre de 2012
Aviso
El próximo miércoles no tendremos la jornada de clase habitual, dado que fui seleccionado por Colciencias como par para evaluación de proyectos. Continuamos con las sustentaciones el próximo viernes.
Por favor estar atentos al blog, dado que proximamente estaré publicando el proyecto.
Por favor estar atentos al blog, dado que proximamente estaré publicando el proyecto.
miércoles, 5 de septiembre de 2012
Ayuda [Programación y BD]
Buenos días,
Este archivo contiene una clase para el manejo de las operaciones básicas de bases de datos entre php y mysql. En clase veremos su funcionamiento y concepción.
Nombre del archivo: bdatos.php / Contenido:
class bdatos
{
//Definicion de atributos de la clase
var $bd_nombre;
var $bd_clave;
var $bd_ip_host;
var $bd_usuario;
var $bd_conexion;
var $bd_resultado;
var $bd_nregistros;
//Definicion de metodos de la clase
//Metodo constructor
function bdatos()
{
$this->bd_nombre="programacioniv";
$this->bd_clave="";
$this->bd_ip_host="127.0.0.1";
$this->bd_usuario="root";
}
//Metodo conectar a base de datos
function bd_conectar($servidor,$usuario,$clave,$nombre)
{
$conectado=true;
$this->bd_conexion=mysql_connect($servidor,$usuario,$clave);
if(!$this->bd_conexion)
{
$conectado=false;
die("Error de conexion a la base de datos: ".mysql_error());
}
mysql_select_db($nombre,$this->bd_conexion);
return($conectado);
}
//Metodo desconectar base de datos
function bd_desconectar()
{
mysql_close($this->bd_conexion);
}
//Metodo consultar
function bd_consultar($sql)
{
$this->bd_conectar($this->bd_ip_host, $this->bd_usuario, $this->bd_clave,$this->bd_nombre);
$this->bd_resultado=mysql_query($sql,$this->bd_conexion);
$this->bd_desconectar();
$this->bd_nregistros=@mysql_num_rows($this->bd_resultado);
}
//Metodo Insertar
function bd_insertar($tabla, $campo, $valores)
{
$sql="INSERT INTO ".$tabla." (".$campo.") VALUES (".$valores." )";
$this->bd_consultar($sql);
return($sql);
}
//Metodo Eliminar
function bd_eliminar($tabla, $campo, $codigo)
{
$sql="DELETE FROM".$tabla." WHERE ".$campo. " = ".$codigo;
$this->bd_consultar($sql);
return($sql);
}
//Metodo Modificar
function bd_modificar($tabla, $campoyvalores, $condicion)
{
$sql="UPDATE ".$tabla." SET ".$campoyvalores. " WHERE ".$condicion;
$this->bd_consultar($sql);
return($sql);
}
}
?>
Este archivo contiene una clase para el manejo de las operaciones básicas de bases de datos entre php y mysql. En clase veremos su funcionamiento y concepción.
Nombre del archivo: bdatos.php / Contenido:
class bdatos
{
//Definicion de atributos de la clase
var $bd_nombre;
var $bd_clave;
var $bd_ip_host;
var $bd_usuario;
var $bd_conexion;
var $bd_resultado;
var $bd_nregistros;
//Definicion de metodos de la clase
//Metodo constructor
function bdatos()
{
$this->bd_nombre="programacioniv";
$this->bd_clave="";
$this->bd_ip_host="127.0.0.1";
$this->bd_usuario="root";
}
//Metodo conectar a base de datos
function bd_conectar($servidor,$usuario,$clave,$nombre)
{
$conectado=true;
$this->bd_conexion=mysql_connect($servidor,$usuario,$clave);
if(!$this->bd_conexion)
{
$conectado=false;
die("Error de conexion a la base de datos: ".mysql_error());
}
mysql_select_db($nombre,$this->bd_conexion);
return($conectado);
}
//Metodo desconectar base de datos
function bd_desconectar()
{
mysql_close($this->bd_conexion);
}
//Metodo consultar
function bd_consultar($sql)
{
$this->bd_conectar($this->bd_ip_host, $this->bd_usuario, $this->bd_clave,$this->bd_nombre);
$this->bd_resultado=mysql_query($sql,$this->bd_conexion);
$this->bd_desconectar();
$this->bd_nregistros=@mysql_num_rows($this->bd_resultado);
}
//Metodo Insertar
function bd_insertar($tabla, $campo, $valores)
{
$sql="INSERT INTO ".$tabla." (".$campo.") VALUES (".$valores." )";
$this->bd_consultar($sql);
return($sql);
}
//Metodo Eliminar
function bd_eliminar($tabla, $campo, $codigo)
{
$sql="DELETE FROM".$tabla." WHERE ".$campo. " = ".$codigo;
$this->bd_consultar($sql);
return($sql);
}
//Metodo Modificar
function bd_modificar($tabla, $campoyvalores, $condicion)
{
$sql="UPDATE ".$tabla." SET ".$campoyvalores. " WHERE ".$condicion;
$this->bd_consultar($sql);
return($sql);
}
}
?>
lunes, 3 de septiembre de 2012
Sesión 11
Se realizó un taller para mejorar las habilidades en el diseño de la estructura de almacenamiento de un base de datos (diagrama entidad - relación), realizando como caso de estudio la implementación del formulario para la declaración de IVA que expone la DIAN en su sitio web.
Como compromiso académico queda para el miércoles 05-SEP-2012, sustentar los siguientes puntos:
1. Diagrama entidad - relación
2. Implementación de la clase bdatos.php que contenga como mínimo los siguientes métodos: conectar, desconectar, insertar, modificar, eliminar y consultar.
3. Implementar un formulario web que registre por lo menos las tres primeras secciones del formulario de declaración de IVA.
Como compromiso académico queda para el miércoles 05-SEP-2012, sustentar los siguientes puntos:
1. Diagrama entidad - relación
2. Implementación de la clase bdatos.php que contenga como mínimo los siguientes métodos: conectar, desconectar, insertar, modificar, eliminar y consultar.
3. Implementar un formulario web que registre por lo menos las tres primeras secciones del formulario de declaración de IVA.
viernes, 24 de agosto de 2012
miércoles, 22 de agosto de 2012
viernes, 17 de agosto de 2012
Sesión 08
Durante esta jornada se trabajó en lenguaje SQL usando DML (Lenguaje de Manipulación de Datos), estudiando las siguientes instrucciones:
1. Instrucción INSERT INTO
Uso: Agregar registros en una tabla.
Ejemplo:
INSERT INTO age_instituciones
(
age_ins_nombre, age_ins_nit, age_ins_replegalnombre, age_ins_replegalid,
age_ins_direccion,age_ins_email
)
VALUES
( 'Cuerpo de Bomberos de Manizales', 'Juan Perez', '30123123',
'Calle 12 No 22 22', 'jperez@cbm.gov.co'
);
Nota:
a) Se realizaron insersiones múltiples usando "," como separador de registros.
2. Instrucción UPDATE
Uso: Modificar los datos de un registro previamente agregado.
Ejemplo:
UPDATE age_instituciones
SET age_ins_nombre = 'CAMBIO'
WHERE age_ins_uid=83;
3. Instrucción DELETE
Uso: Eliminar registros de una tabla
DELETE FROM age_instituciones
WHERE age_ins_uid=84;
4. Instrucción DROP TABLE
Uso: Elimina la tabla (Estructura y datos)
DROP TABLE age_instituciones;
5. Instrucción SELECT
Uso: Recupera datos almacenados en una o varias tablas.
Ejmplos:
SELECT age_ins_nombre, age_ins_nit,
age_ins_replegalnombre, age_ins_replegalid,
age_ins_direccion,age_ins_email
FROM age_instituciones
WHERE age_ins_uid BETWEEN 20 AND 30;
SELECT age.age_age_nombre AS 'EVENTO',
apr.age_apr_fecha AS 'FECHA',
mun.age_mun_nombre As 'MUNICIPIO'
FROM age_agenda AS age,
age_municipiosagendas AS mag,
age_agendaprogramaciones AS apr,
age_municpios AS mun
WHERE mag.age_munagenda_uid=1 AND
apr.age_apr_fecha BETWEEN '2013-01-01' AND
'2013-01-15'AND
apr.age_age_uid=age.age_age_uid AND
mag.age_munagenda_uid=mun.age_mun_id
ORDER BY FECHA DESC;
Compromisos Académicos:
1. Resolver las siguientes preguntas implementado consultas SQL SELECT:
a. ¿Cuántos eventos hay programados entre el 01-Ene-2012 y el 31-Ene-2012?
b. ¿Cuántos eventos deportivos hay programados para el 15-Ene-2012?
c. ¿Cuáles son los eventos culturales que hay en Manizales la próxima semana?
d. ¿Cuál es la institución que realiza más eventos en Manizales?
e. ¿Cuáles son los 5 tipo de eventos que más se realizaron en Manizales el mes pasado?
f. ¿Cuál es el sitio donde más se realizan eventos en Manizales?
g. ¿Qué eventos, de qué tipo, quién organiza y dónde se realizaran, el próximo 25 de agosto?
2. El primer examen parcial queda programado para el próximo viernes Ago-24-2012
1. Instrucción INSERT INTO
Uso: Agregar registros en una tabla.
Ejemplo:
INSERT INTO age_instituciones
(
age_ins_nombre, age_ins_nit, age_ins_replegalnombre, age_ins_replegalid,
age_ins_direccion,age_ins_email
)
VALUES
( 'Cuerpo de Bomberos de Manizales', 'Juan Perez', '30123123',
'Calle 12 No 22 22', 'jperez@cbm.gov.co'
);
Nota:
a) Se realizaron insersiones múltiples usando "," como separador de registros.
2. Instrucción UPDATE
Uso: Modificar los datos de un registro previamente agregado.
Ejemplo:
UPDATE age_instituciones
SET age_ins_nombre = 'CAMBIO'
WHERE age_ins_uid=83;
3. Instrucción DELETE
Uso: Eliminar registros de una tabla
DELETE FROM age_instituciones
WHERE age_ins_uid=84;
4. Instrucción DROP TABLE
Uso: Elimina la tabla (Estructura y datos)
DROP TABLE age_instituciones;
5. Instrucción SELECT
Uso: Recupera datos almacenados en una o varias tablas.
Ejmplos:
SELECT age_ins_nombre, age_ins_nit,
age_ins_replegalnombre, age_ins_replegalid,
age_ins_direccion,age_ins_email
FROM age_instituciones
WHERE age_ins_uid BETWEEN 20 AND 30;
SELECT age.age_age_nombre AS 'EVENTO',
apr.age_apr_fecha AS 'FECHA',
mun.age_mun_nombre As 'MUNICIPIO'
FROM age_agenda AS age,
age_municipiosagendas AS mag,
age_agendaprogramaciones AS apr,
age_municpios AS mun
WHERE mag.age_munagenda_uid=1 AND
apr.age_apr_fecha BETWEEN '2013-01-01' AND
'2013-01-15'AND
apr.age_age_uid=age.age_age_uid AND
mag.age_munagenda_uid=mun.age_mun_id
ORDER BY FECHA DESC;
Compromisos Académicos:
1. Resolver las siguientes preguntas implementado consultas SQL SELECT:
a. ¿Cuántos eventos hay programados entre el 01-Ene-2012 y el 31-Ene-2012?
b. ¿Cuántos eventos deportivos hay programados para el 15-Ene-2012?
c. ¿Cuáles son los eventos culturales que hay en Manizales la próxima semana?
d. ¿Cuál es la institución que realiza más eventos en Manizales?
e. ¿Cuáles son los 5 tipo de eventos que más se realizaron en Manizales el mes pasado?
f. ¿Cuál es el sitio donde más se realizan eventos en Manizales?
g. ¿Qué eventos, de qué tipo, quién organiza y dónde se realizaran, el próximo 25 de agosto?
2. El primer examen parcial queda programado para el próximo viernes Ago-24-2012
miércoles, 15 de agosto de 2012
Sesión 07
Sustentación de compromisos académicos.
Se establece plazo hasta el miércoles 22-Ago-2012 para volverlos a presentar.
Grupos máximo de 3 personas.
Se establece plazo hasta el miércoles 22-Ago-2012 para volverlos a presentar.
Grupos máximo de 3 personas.
viernes, 10 de agosto de 2012
Sesión 06
Se realizaron diversos ejercicios usando las instrucciones vistas en la sesión anterior, profundizando en la creación de todas las tablas requeridas para crear la solución al problema propuesto.
Compromisos académicos:
1. Mediante la instrucción LOAD DATA IN FILE, cargar la información de cada una de las tablas creadas en el sistema.
2. Verificar por qué varía el tamaño teórico del tamaño en práctica de un registro en cada tabla.
Compromisos académicos:
1. Mediante la instrucción LOAD DATA IN FILE, cargar la información de cada una de las tablas creadas en el sistema.
2. Verificar por qué varía el tamaño teórico del tamaño en práctica de un registro en cada tabla.
miércoles, 8 de agosto de 2012
Sesion 05
Durante esta sesión iniciamos el trabajo usando SQL (Lenguaje Estructurado de Consulta - Structured Query Language), teniendo en cuenta el concepto DDL (Lenguaje de Definición de Datos)
1. Instrucción CREATE DATABASE
Uso: Esta instrucción nos permite crear nuevas bases de datos, en caso de ejecutarla y que el nombre de bases de datos ya exista, el sistema generará un error no permitiendo crear la nueva.
Formato SQL: CREATE DATABASE
Ejemplo: CREATE DATABASE db2_t01_agenda;
Todas las bases de datos que creemos en el curso tendrán el prefijo db2_, posteriormente el número del taller (en este caso t01_, nos indica taller 01) y finalmente un nombre representativo.
2. Instrucción DROP DATABASE
Uso: Esta instrucción borra una base de datos completa (estructura y datos), se aconseja tener una copia de seguridad antes de ejecutar este comando, se aclara que una vez ejecutado no se podrá recuperar la base de datos.
Formato SQL: DROP DATABASE
Ejemplo: DROP DATABASE db2_t01_agenda;
3. Instrucción CREATE TABLE
Uso: Esta instrucción permite crear una nueva tabla en la base de datos, si existe una tabla con el mismo nombre generará un error no permitiendo crear la nueva. Como estándar para la creación de tablas se estableció que llevarían la abreviatura (3 primeras letras) del nombre de la base de datos (age_), posteriormente el nombre de la tabla en plural, en minúsculas y sin caracteres especiales como tildes, eñes, y demás (lugares): age_lugares.
Formato SQL: CREATE TABLE
(Campo1 (tamaño) tipodedato restricciones,
Campo2 (tamaño) tipodedato restricciones,
...
Campon (tamaño) tipodedato restricciones)
Ejemplo:
USE db2_t01_agenda;
CREATE TABLE age_lugares
(age_lug_uid INT (10) NOT NULL AUTO_INCREMENT PRIMARY KEY
COMMENT 'Codigo de lugar',
age_lug_nombre VARCHAR (250) CHARACTER SET utf8
COLLATE utf8_spanish_ci
NOT NULL COMMENT 'Nombre del lugar',
age_lug_capacidad INT (10) NOT NULL
COMMENT 'Numero de personas permitidas para el lugar',
age_lug_direccion VARCHAR (250) CHARACTER SET utf8
COLLATE utf8_spanish_ci NOT NULL
COMMENT 'Localizacion del sitio dentro del municipio',
age_lug_telefono VARCHAR (20)
COMMENT 'Numero de Telefono',
age_lug_celular VARCHAR (20) COMMENT 'Numero de celular'
)
ENGINE = InnoDB;
4. Instrucción ALTER TABLE
Uso: Esta instrucción permite modificar la estructura de una tabla previamente creada. Se recomienda tener una copia antes de ejecutarla dado que su acción podría eliminar datos registrados.
Formato SQL: ALTER TABLE
4.1 AGREGAR UN CAMPO AL FINAL DE LA TABLA
USE db2_t01_agenda;
ALTER TABLE age_lugares
ADD age_lug_email VARCHAR (250) CHARACTER SET utf8
COLLATE utf8_spanish_ci NOT NULL COMMENT 'Correo electronico del lugar';
4.2 MODIFICAR LA ESTRUCTURA DE UN CAMPO
USE db2_t01_agenda;
ALTER TABLE age_lugares
MODIFY age_lug_celular VARCHAR (25) CHARACTER SET utf8
COLLATE utf8_spanish_ci NOT NULL
COMMENT 'Celular de contacto del lugar';
4.3 AGREGAR UN CAMPO DESPUÉS DE OTRO
USE db2_t01_agenda;
ALTER TABLE age_lugares
ADD age_lug_paginaweb VARCHAR( 250 ) CHARACTER SET utf8
COLLATE utf8_spanish_ci NOT NULL
COMMENT 'Sitio web del lugar' AFTER age_lug_celular;
DBMS: phpmyadmin
Mediante el uso de phpmyadmin vimos cómo realizar un proceso de ingeniería en reversa para autogenerar el diagrama entidad - relación. También vimos cómo generar el diccionario de datos de forma automática.
viernes, 3 de agosto de 2012
Sesion 04
Durante esta jornada se expuso un problema para solucionarlo mediante la implementación de una base de datos: centralización de eventos de un municipio, mediante el ejercicio realizado se comprendió el problema, se identificaron las entidades de almacenamiento requeridas por el problema (tablas), sus principales campos y las relaciones entre ellas.
miércoles, 1 de agosto de 2012
Sesión 03
Revisión del Taller 01:
En esta sesión se realizó una revisión personalizada por cada grupo donde se verificó cada punto solicitado en el taller, se aclararon dudas principalmente sobre los contenidos de los manuales solicitados, profundizando en la construcción de un diagrama de despliegue sobre la arquitectura requerida para los programas a instalar. También se hicieron aclaraciones sobre la elaboración del Benchmarking de Motores de Bases de Datos.
Compromisos académicos:
1. Cada grupo de trabajo enviará antes del 4 de Agosto al monitor del curso, los ítems a corregir requeridos por el profesor en la revisión.
2. Enviar al monitor los archivos entregables del taller antes del próximo miércoles 8 de Agosto, con las correcciones efectuadas.
En esta sesión se realizó una revisión personalizada por cada grupo donde se verificó cada punto solicitado en el taller, se aclararon dudas principalmente sobre los contenidos de los manuales solicitados, profundizando en la construcción de un diagrama de despliegue sobre la arquitectura requerida para los programas a instalar. También se hicieron aclaraciones sobre la elaboración del Benchmarking de Motores de Bases de Datos.
Compromisos académicos:
1. Cada grupo de trabajo enviará antes del 4 de Agosto al monitor del curso, los ítems a corregir requeridos por el profesor en la revisión.
2. Enviar al monitor los archivos entregables del taller antes del próximo miércoles 8 de Agosto, con las correcciones efectuadas.
martes, 31 de julio de 2012
viernes, 27 de julio de 2012
Sesión 02 - SQL Básico
Durante esta jornada se trataron los temas 1.1 y 1.2 definidos en el acta de compromiso. Anexo encontrarán un enlace a las diapositivas usadas en clase.
lunes, 23 de julio de 2012
Jornadas Universitarias UM 40 Años
Esta semana se realizan en las Jornadas Universitarias con ocasión de los 40 años de la Universidad de Manizales, en este enlace podrán encontrar la programación.
Por tanto, el día miércoles no tendremos la clase habitual, la cual estaremos reanudando el viernes 27.
Por tanto, el día miércoles no tendremos la clase habitual, la cual estaremos reanudando el viernes 27.
miércoles, 18 de julio de 2012
Sesión 01
Datos de Contacto
Docente: Ing. Julián Carvajal Vargas
E-Mail: jucarva@umanizales.edu.co
Blog de apoyo al curso Bases de Datos II
Objetivo General
Este curso será orientado por talleres que permitan llevar a la praxis los conceptos teóricos que se presentan en cada sesión de tipo magistral. Todos los talleres estarán orientados a que los participantes en el curso adquieran dos habilidades principales: a) dominio en la concepción y construcción de estructuras de almacenamiento del tipo relacional (DER Diagrama Entidad Relación). Y b) Dominio del lenguaje SQL (Structured Query Language – Lenguaje Estructurado de Consulta).
Temática General
Unidad 1. SQL básico
Unidad 2. Sistemas de información (plataforma web)
Unidad 3. SQL avanzado
Unidad 4. Bases de datos distribuidas
Evaluación
En el curso contará semanalmente con un taller que será sustentado por cada grupo (los grupos de trabajo serán de dos estudiantes). En cada corte se tomará el promedio de las notas de los talleres y tendrán un valor del 60%, el 40% se evaluará de forma individual mediante una prueba escrita.
Enlaces
Acta de compromiso
Taller 01
Notas Generales
1. Se recomienda a los miembros del grupo abrir cuenta en la plataforma de Gmail.
2. Los grupos de trabajo se conformarán desde el inicio del semestre y hay plazo para definirlos antes del 25 de julio a las 13:00:00, la información deben enviarla a la monitora del curso.
Docente: Ing. Julián Carvajal Vargas
E-Mail: jucarva@umanizales.edu.co
Blog de apoyo al curso Bases de Datos II
Objetivo General
Este curso será orientado por talleres que permitan llevar a la praxis los conceptos teóricos que se presentan en cada sesión de tipo magistral. Todos los talleres estarán orientados a que los participantes en el curso adquieran dos habilidades principales: a) dominio en la concepción y construcción de estructuras de almacenamiento del tipo relacional (DER Diagrama Entidad Relación). Y b) Dominio del lenguaje SQL (Structured Query Language – Lenguaje Estructurado de Consulta).
Temática General
Unidad 1. SQL básico
Unidad 2. Sistemas de información (plataforma web)
Unidad 3. SQL avanzado
Unidad 4. Bases de datos distribuidas
Evaluación
En el curso contará semanalmente con un taller que será sustentado por cada grupo (los grupos de trabajo serán de dos estudiantes). En cada corte se tomará el promedio de las notas de los talleres y tendrán un valor del 60%, el 40% se evaluará de forma individual mediante una prueba escrita.
Enlaces
Acta de compromiso
Taller 01
Notas Generales
1. Se recomienda a los miembros del grupo abrir cuenta en la plataforma de Gmail.
2. Los grupos de trabajo se conformarán desde el inicio del semestre y hay plazo para definirlos antes del 25 de julio a las 13:00:00, la información deben enviarla a la monitora del curso.
Suscribirse a:
Entradas (Atom)