Logo Studenta

Interfaz-Web-para-la-comunicacion-con-el-RDBMS-postresql-utilizando-Apache-y-PHP-en-el-Sistema-Operativo-Windows

¡Este material tiene más páginas!

Vista previa del material en texto

UNIVERSIDAD NACIONAL AUTÓNOMA DE 
MÉXICO 
 
 
 
 
FACULTAD DE ESTUDIOS SUPERIORES ARAGÓN 
 
 
 
INTERFAZ WEB PARA LA COMUNICACIÓN CON EL 
RDBMS POSTGRESQL UTILIZANDO APACHE Y PHP EN 
EL SISTEMA OPERATIVO WINDOWS 
 
 
 
 
Tesina para la titulación bajo la modalidad de 
“Seminarios y cursos de actualización y capacitacion profesional” 
que para obtener el título de : 
Ingeniera en Computación 
 
 
 
presenta 
Diana Gutiérrez Nájera 
 
 
 
 Asesor: 
Ing. Raúl Héctor León Y Berber 
 
 
 
 
 
 
2009 
Neevia docConverter 5.1
 
UNAM – Dirección General de Bibliotecas 
Tesis Digitales 
Restricciones de uso 
 
DERECHOS RESERVADOS © 
PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL 
 
Todo el material contenido en esta tesis esta protegido por la Ley Federal 
del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). 
El uso de imágenes, fragmentos de videos, y demás material que sea 
objeto de protección de los derechos de autor, será exclusivamente para 
fines educativos e informativos y deberá citar la fuente donde la obtuvo 
mencionando el autor o autores. Cualquier uso distinto como el lucro, 
reproducción, edición o modificación, será perseguido y sancionado por el 
respectivo titular de los Derechos de Autor. 
 
 
 
Gracias a Dios, a mis padres a mi hermana, a mi tío Miguelito y 
Javier, a mi familia, a mi casa de estudios, la Universidad 
Nacional Autónoma de México, así como a todos los profesores 
por transmitir el conocimiento a mis amigos, amigas y todas 
aquellas personas que me han hecho crecer y valorar todo lo 
que me rodea, al equipo de atletismo de la FES Aragón y al 
equipo de AFG de CU por enseñarme el valor de ser 
perseverante y del trabajo en equipo, agradezco a Orlando por 
ser esa iluminación en la penumbra. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Neevia docConverter 5.1
TABLA DE CONTENIDO 
Introducción 
……………….……………………………………………….…………………………………. i 
 
Capítulo 1. Resumen de los módulos del diplomado en Administración de Bases de Datos. 
 
1.1. Módulo 1. Sistemas de información y el modelo de datos relacional 
……………….……………………………………………….…………………………………. 1 
1.2. Módulo 2. Sistemas manejadores de bases de datos relacionales (RDBMS). 
……………….……………………………………………….…………………………………. 8 
1.3. Módulo 3. SQL (Structured Query Language) 
……………….……………………………………………….…………………………………. 14 
1.4. Módulo 4. Acceso a datos a través de la programación de clientes 
……………….……………………………………………….…………………………………. 28 
1.5. Módulo 5. Fundamentos de Sistemas Operativos 
……………….……………………………………………….…………………………………. 30 
1.6. Módulo 6. Habilidades directivas para administradores 
……………….……………………………………………….…………………………………. 37 
1.7. Módulo 7. Administración de Bases de Datos 
……………….……………………………………………….…………………………………. 44 
1.8. Módulo 8. Buenas prácticas en la función de la administración 
……………….……………………………………………….…………………………………. 49 
1.9. Módulo 9. Seguridad en Bases de Datos 
……………….……………………………………………….…………………………………. 52 
1.10. Módulo 10. Performance and Tuning 
……………….……………………………………………….…………………………………. 54 
1.11. Módulo 11. Modelo orientado a objetos 
……………….……………………………………………….…………………………………. 58 
1.12. Módulo 12. Tópicos avanzados de Bases de Datos 
……………….……………………………………………….…………………………………. 60 
 
Capítulo 2. Desarrollo de la interfaz con el RDBMS postgresql 
 
2.1. Sistema operativo Windows 
……………….……………………………………………….…………………………………. 67 
2.2. Servidor Apache 
……………….……………………………………………….…………………………………. 71 
2.3. RDBMS Postgresql 
……………….……………………………………………….…………………………………. 73 
2.4. Software AppServer 
……………….……………………………………………….…………………………………. 74 
2.5. Lenguaje de marcas Html 
……………….……………………………………………….…………………………………. 74 
2.6. Lenguaje Php 
……………….……………………………………………….…………………………………. 76 
2.7. Lenguaje interpretado JavaScript 
……………….……………………………………………….…………………………………. 77 
2.8. Definición de Hojas de estilo Css 
……………….……………………………………………….…………………………………. 77 
2.9. Integración de las tecnologías en el desarrollo del proyecto 
……………….……………………………………………….…………………………………. 78 
 
Neevia docConverter 5.1
Capítulo 3. Puesta a punto del sistema. 
 
3.1. Preparación del servidor 
……………….……………………………………………….…………………………………. 80 
3.2. Configuraciones en el archivo php.ini 
……………….……………………………………………….…………………………………. 82 
3.3. Configuraciones en el path de Windows 
……………….……………………………………………….…………………………………. 83 
 
Conclusiones 
……………….……………………………………………….…………………………………. 84 
 
Apéndice A. Sentencias SQL 
……………….……………………………………………….…………………………………. 85 
Apéndice B. Instalación del AppServer 
……………….……………………………………………….…………………………………. 93 
Apéndice C. Instalación del postgreSQL 
……………….……………………………………………….…………………………………. 97 
 
 
Glosario 
……………….……………………………………………….…………………………………. 104 
 
Bibliografía 
……………….……………………………………………….…………………………………. 107 
Neevia docConverter 5.1
 i 
Introducción 
 
Al observar a nuestro alrededor podemos darnos cuenta del valor que ha adquirido 
la información. 
 
 El valor es tanto que hay quienes se dedican a ser guardianes de esta 
información, estos “guardaespaldas” de la información tienen funciones tanto de 
conservar la estructura del almacenamiento de la información como de revisar la 
consistencia de la información y ofrecer o revocar los permisos de acceso a la 
misma para no comprometerla y tenerla disponible en cualquier momento en que 
necesite ser accesada por los usuarios autorizados. 
 
 La administración de bases de datos abarca todos estos aspectos que permiten 
tener la información en forma consistente, coherente y oportuna en las manos 
adecuadas. 
 
 Aún cuando los Sistemas Manejadores de Bases de Datos Relacionales 
(RDBMS) nos ofrecen todo un estándar para resguardar nuestra información una 
interfaz sin duda hará más amigable la interacción entre el usuario y el propio 
RDBMS permitiendo que no se hagan accesos no autorizados al sistema desde la 
capa cliente-servidor, así como limitar el campo de acción de los usuario sobre el 
RDBMS utilizando validaciones previas a la conexión del servidor con el propio 
RDBMS. 
 
 En el aspecto del desarrollo e implementación de sistemas ha adquirido mucho 
auge la utilización de software libre por su accesibilidad y por la facilidad con que 
se puede entrar en contacto con comunidad desarrolladora e implementadora de 
sotware para aclarar dudas, reportar bugs sin dejar a un lado el apoyo en cuanto a 
documentación y foros disponibles por los propios desarrolladores del software, 
así como la no siempre gratuita asesoría técnica de algún experto. 
 
Neevia docConverter 5.1
 ii 
Este trabajo se encuentra divido en tres capítulos, tres anexos y un cd con el 
código y el software utilizado, lo que pretende es que partiendo de conceptos 
básicos dentro de la Administración de Bases de datos y de los lenguajes de 
programación Web y pasando a través del uso de las tecnologías web se 
implemente una interfaz entre el RDBMS PostgreSQL y el cliente. 
 
 Esta interfaz que esta sobre la plataforma Windows sirve para la administración 
del RDBMS PostgreSQL, entendiéndose por administración, creación de bases de 
datos, borrado de bases de datos, creación de tablas e inserción de datos, así 
como la administración de usuarios. 
 
 La organización de los capítulos, se encuentra distribuida de tal manera que en 
el capítulo 1 (Resumen de los módulos del diplomado en Administración de Bases 
de Datos) se trata todo lo relacionado con la teoría de la Administración de Bases 
de datos. Mientras que el capítulo 2 (Desarrollo de la interfaz con el RDBMS 
postgresql) se centra en la teoria relacionada con las tecnologías utilizadas para el 
desarrollo de la interfaz y el capítulo 3 (Puesta a punto del sistema) trata de las 
cuestiones de configuración e implementación de la interfaz desarrollada. 
Neevia docConverter 5.1
 1 
Capítulo 1. 
Resumen de los módulos del diplomado en Administración de Bases de 
Datos. 
 
1.1. Módulo 1. Sistemas de información y el modelo de datosrelacional. 
 
Estos son algunos de los conceptos básicos para comprender el lenguaje utilizado 
dentro de la administración de bases de datos: 
 
 Dato. Es la unidad mínima de información, hechos sin evaluar o un valor sin 
significado, dentro de una base de datos responde a la función (objeto, atributo, 
valor, ejemplo: empleado, edad, 35 años). Un dato debe ser procesado por varias 
operaciones para obtener resultados relacionados con la evaluación e 
identificación de personas, eventos y objetos. 
 
 Información. Se obtiene del procesamiento de los datos. Conjunto de datos 
interrelacionados entre sí y que tiene un significado del cual podemos obtener 
conocimiento para una futura toma de decisiones. 
 
 Análisis de la información. Modelo de datos que consiste en la representación 
conceptual de la problemática que se desea resolver y cuya característica 
primordial es la claridad de su contenido. La obtención de la información genera 
gastos y su valor sólo puede ser comparado con el valor que tendrá para el 
receptor final. 
 
 Base de datos. Conjunto de datos relacionados entre si con un objetivo común. 
Colección de datos integrados con redundancia controlada y una estructura que 
refleje las interrelaciones y las restricciones existentes en el mundo real. Los datos 
que han de ser compartidos por diferentes usuarios y aplicaciones, deben 
mantenerse independientes de éstas, la definición y descripción únicas para cada 
tipo de datos, han de estar almacenadas junto con los mismos. Los 
Neevia docConverter 5.1
 2 
procedimientos de actualización y recuperación, comunes, y bien determinados, 
habrán de ser capaces de conservar la integridad, seguridad y confidencialidad del 
conjunto de datos. Los tres componentes principales de un sistema de bases de 
datos son el hardware, software DBMS y los datos a manejar, así como el 
personal encargado del sistema. 
 
 Arquitectura para las bases de datos. Años atrás las bases de datos eran el 
resultado de una programación compleja y complicados mecanismos de 
almacenamiento, al popularizarse la informática se dispuso de herramientas de 
gestión de datos que dieron lugar a los DBMS (Data Base Management System, 
Sistemas de Gestión de Bases de Datos) y con esto se hace necesario normalizar 
los esquemas que guiaban la creación de las bases de datos. 
 
 Características de las bases de datos. 
 Un sistema de base de datos se encuentra dividido en módulos cada uno de los 
cuales controla una parte de la responsabilidad total del sistema. En la mayoría de 
los casos el sistema operativo proporciona los servicios más básicos y el sistema 
debe partir de esa base para el manejo correcto de los datos. 
 
 Las bases de datos respetan la arquitectura de tres niveles definida por el grupo 
ANSI/SPARC, interno, conceptual y externo. 
� Nivel interno. Define como se almacenan los datos en el soporte físico y los 
métodos de acceso. 
� Nivel conceptual. Representación de los datos realizada por la 
organización, recoge las vistas parciales de los requerimientos de los 
diferentes usuarios y las aplicaciones posibles, se configura como visión 
organizativa total e incluye la definición de datos y la relación entre ellos. 
� Nivel externo. Corresponden las diferentes vistas parciales que los 
diferentes usuarios tienen de la base de datos, es la parte del modelo 
conceptual al que tienen acceso. 
 
Neevia docConverter 5.1
 3 
 Modelo de datos. Colección de herramientas conceptuales para describir los 
datos, las relaciones que existen entre ellos, semántica asociada a los datos y 
restricciones de consistencia. Se dividen en tres grupos: 
� Modelos lógicos basados en objetos. Describen datos en los niveles 
conceptual y de visión, es decir, representan los datos como nosotros los 
captamos en el mundo real y permiten especificar las restricciones de datos 
explícitamente. El modelo más utilizado en este tipo es el Entidad-Relación. 
� Modelos lógicos basados en registros. Describen datos en los niveles 
conceptual y físico. Utilizan registros e instancias para representar la 
realidad así como las relaciones existentes entre estos registros (ligas o 
apuntadores). Se usan para especificar la estructura lógica global de la 
base de datos y para proporcionar una descripción al nivel más alto de la 
implementación. Los modelos más aceptados son: 
o Modelo jerárquico. La forma de representar las relaciones y datos es 
por medio de registros y sus ligas. Organizado por conjuntos de 
árboles. Véase Figura 1.1. 
 
 
o Modelo de red. Representa los datos mediante colecciones de 
registros, sus relaciones se representan por medio de ligas o enlaces 
(pueden verse como punteros). Véase Figura 1.2. 
 
 
o Modelo relacional. Representa los datos y las relaciones entre estos, 
a través de una colección de tablas, en las cuales los renglones 
(tuplas) equivalen a cada uno de los registros que contendrá la base 
Figura 1.1. Modelo Jerárquico 
Figura 1.2. Modelo de Red 
Neevia docConverter 5.1
 4 
de datos y las columnas corresponden a los atributos de cada 
registro localizado en la tupla. Véase Figura 1.3. 
 
 
o Modelo orientado a objetos. Es una adaptación a los sistemas de 
bases de datos. Se basa en el concepto de encapsulamiento de 
datos y código que opera sobre éstos en un objeto. Los objetos 
estructurados se agrupan en clases. La interfaz entre un objeto y el 
resto del sistema se define mediante un conjunto de mensajes. Un 
método es un trozo de código para implementar cada mensaje y 
devuelve un valor como respuesta al mensaje. Para ver un esquema 
gráfico comparativo entre el modelo Relacional y el modelo 
Orientado a Objetos véase Figura 1.4. 
 
o 
o Modelos físicos de datos. Describen los datos al nivel más bajo, 
capturan los aspectos de implementación de los sistemas de bases 
de datos. Véase Figura 1.5. 
 
Figura 1.3. Modelo Relacional 
Figura 1.4. Comparativa entre el Modelo Relacional y el Modelo Orientado a Objetos 
Figura 1.5. Modelo físico de datos 
Neevia docConverter 5.1
 5 
 Arquitectura cliente/servidor. El termino cliente/servidor podemos entenderlo 
como un sistema en el que una máquina “cliente” solicita a una segunda máquina 
“servidor”, que ejecute una tarea específica, el cliente suele ser una PC conectada 
a una red LAN y el servidor un servidor de archivos PC o un servidor de archivos 
UNIX. Véase Figura 1.6. Se define como la tecnología que proporciona al usuario 
final, el acceso transparente a las aplicaciones, datos, servicios de cómputo o a 
cualquier otro recurso dentro del grupo de trabajo y/o a través de la empresa en 
diferentes plataformas. 
 
 
 
 Modelo relacional. Los datos se almacenan como tablas y las relaciones entre 
las filas y las tablas son visibles en los datos. 
 
La arquitectura relacional consta de: 
� Modelo relacional de datos. En el nivel conceptual está representado por 
una colección de relaciones almacenadas. Cada registro de tipo conceptual 
se implementa como un archivo almacenado distinto. 
 
� Sub-modelo de datos. Son los esquemas externos, cada uno consta de uno 
a más escenarios (vistas) para describir los datos requeridos por una 
aplicación. Cada programa de aplicación esta provisto de un buffer donde el 
DBMS puede depositar los datos recuperados de la base para su 
Figura 1.6. Arquitectura cliente/servidor 
Neevia docConverter 5.1
 6 
procesamiento o puede guardar temporalmente sus salidas antes de que el 
DBMS los escriba en la base de datos. 
 
� Esquema de almacenamiento. En el nivel interno, cada tabla base se 
implementa como un archivo almacenado, para las recuperaciones sobre la 
llave primaria o secundaria se pueden establecer uno o más índices para 
acceder al archivo almacenado. 
 
� Sub-lenguaje de datos. Es un lenguaje de manejo de datos para el sistema 
relacional, el álgebra relacional yel cálculo relacional, ambos lenguajes son 
“relacionalmente completos”, esto es, cualquier relación que pueda 
derivarse de una o más tablas de datos, también puede derivarse con un 
solo comando de sublenguaje. 
 
 El trabajo publicado por Codd en ACM (Association for Computing Machinery, 
1970)1 presentaba un nuevo modelo de datos que perseguía objetivos como: 
independencia física, independencia lógica, flexibilidad, uniformidad y sencillez. 
 
 Reglas de Codd 
0. Cualquier DBMS que proclame ser relacional, deberá manejar, completamente, 
las bases de datos por medio de sus capacidades relacionales. 
1. Regla de información. 
2. Regla de acceso garantizado. 
3. El manejo sistemático de los valores nulos. 
4. Catálogo dinámico en línea basado en un modelo relacional. 
5. Regla del sub-lenguaje de dato completo. 
6. Regla de actualización de vistas. 
7. Inserción, actualización y eliminación de alto nivel. 
8. Independencia física de los datos. 
 
1 Véase, 
http://portal.acm.org/citation.cfm?id=362384.362685&coll=GUIDE&dl=GUIDE&CFID=507004&CFTOKEN=374
76599 
Neevia docConverter 5.1
 7 
9. Independencia lógica de los datos. 
10. Independencia de la integridad. 
11. Independencia de la distribución. 
12. Regla de la subversión. 
 
 Bases de datos relacionales 
Es una base de datos en donde todos los datos visibles al usuario están 
organizados estrictamente como tablas de valores, y en donde todas las 
operaciones de la base de datos operan sobre estas tablas. Están basadas en el 
concepto matemático de relaciones entre conjuntos. 
 
 El lenguaje de consulta relacional 
El SQL (Structured Query Language) es una herramienta para organizar, gestionar 
y recuperar datos almacenados en una base de datos, es un lenguaje informático 
que se puede utilizar para interaccionar con una base de datos y específicamente 
con un tipo llamado base de datos relacional con operaciones como unión, 
intersección, diferencia, producto cartesiano, proyección, selección, join. 
 
 La independencia de datos y la integridad referencial. La independencia de 
datos se refiere a la protección contra los programas de aplicación que pueden 
originar modificaciones cuando se altera la organización física o lógica de la base 
de datos. Existen dos niveles de independencia de datos: 
� Independencia física de los datos. Capacidad de modificar el esquema 
físico sin provocar que se vuelvan a escribir los programas de aplicación. 
� Independencia lógica de los datos. Capacidad de modificar el esquema 
conceptual sin provocar que se vuelvan a escribir los programas de 
aplicación. 
La integridad referencial se enmarca en la segunda regla de integridad y se aplica 
a las llaves foráneas. Si en una relación hay alguna llave foránea, sus valores 
deben coincidir con valores de la llave primaria a la que hace referencia, o bien, 
deben ser completamente nulos. 
Neevia docConverter 5.1
 8 
 Modelo Entidad-Relación. Es una técnica de diseño de base de datos gráfica, 
que incorpora información relativa a los datos y la relación existente entre ellos. 
Algunos conceptos fundamentales son: entidad (fuertes o regulares y débiles), 
atributos, dominio y restricción para un atributo (llave, relaciones o interrelaciones 
regulares o débiles), cardinalidad, DER (Diagrama Entidad Relación). 
 
 Normalización. Proceso de cristalización de las entidades y sus relaciones en 
formatos de tabla usando los conceptos relacionales. Consiste en agrupar a los 
campos de datos en un conjunto de relaciones o tablas que representan a las 
entidades, sus características y sus relaciones en forma adecuada. Véase Figura 
1.7. 
 
 
 
 Herramientas CASE. Computer Aided Software Engineering (Ingeniería asistida 
por computadora). Son aplicaciones informáticas destinadas a aumentar la 
productividad en el desarrollo de software reduciendo el costo de las mismas en 
términos de tiempo y dinero. 
 
 
1.2. Módulo 2. Sistemas manejadores de bases de datos relacionales 
(RDBMS). 
 
Un RDBMS es el conjunto de programas que permiten la definición, manipulación 
y control de acceso para una o varias bases de datos. 
 
Figura 1.7. Las tres formas normales 
Neevia docConverter 5.1
 9 
Conceptualmente lo que sucede en un RDBMS cuando un usuario realiza una 
petición se muestra en la Figura 1.8. 
 
 
 
 
En cuanto a un esquema de seguridad dentro del DBMS podemos encontrar un 
acceso multicapas. 
� Seguridad a nivel servidor. El usuario final debe tener una cuenta válida 
dentro de la capa del servidor (DBMS). 
� Seguridad a nivel base de datos. El usuario final debe ser un usuario válido 
dentro de la capa de la base de datos. 
� Seguridad a nivel de permisos sobre objetos y comandos. El usuario final 
deberá tener permisos dentro de la capa de los datos. 
 
 
Figura 1.8. Representación conceptual de un RDBMS 
Figura 1.9. Acceso multicapas 
Neevia docConverter 5.1
 10 
Componentes de los RDBMS. 
Para ver la arquitectura de un RDBMS véase la Figura 1.10. 
� DDL (Lenguaje de Definición de Datos). Nos permite definir la estructura de 
la base de datos mediante comandos como crear (Create), eliminar (Drop), 
o alterar (Alter). 
� DML (Lenguaje de Manipulación de Datos). Nos permite realizar la consulta 
y edición de la informacipon. Contenida en la Base de Datos. Hay dos tipos, 
procedural (trata registros individualmente) y no procedural (trata conjuntos 
de registros). Se utiliza para realizar la consulta y edición de la información 
contenida en la base de datos, esto implica: seleccionar (select), insertar 
(insert), borrar (delete) y modificar (update). 
� DCL (Lenguaje de control de datos). Se utiliza para la definición de los 
privilegios de control de acceso y edición a los elementos que componen la 
base de datos, es decir, permitir (grant) o revocar (revoke) el acceso. 
� DD (Diccionario de datos). El contenido del diccionario puede considerarse 
como “datos acerca de los datos” (metadatos), es decir, definiciones de 
otros objetos de la base de datos. 
 
 
 
 
 
 
SQL ANSI 89, 92 y 99. 
En 1989, tanto ANSI como ISO, publicaron estándares que definían al modelo 
relacional en el manejo de bases de datos. Estos estándares son: ANSI X3.135-
1989 e ISO/IEC9075:1989. Véase la tabla de la Figura 1.11. 
 
Figura 1.10. Arquitectura del RDBMS 
Neevia docConverter 5.1
 11 
ANSI SQL 89 ANSI SQL 92 ANSI SQL 99 
Agrega integridad referencial y la descripción de 
todo el modelo referencial. 
 
√ 
 
√ 
Se define el SQL compuesto por comandos, 
cláusulas, operadores y funciones de agregado para 
combinarlos y manipular la base de datos. 
 
 
√ 
 
 
√ 
Se establecen los elementos de un DBMS (DDL, 
DML y DCL) así como instrucciones y sintaxis 
relacionadas con ellos. 
 
 
√ 
 
 
√ 
Establecimiento de las cláusulas del comando 
select: FROM, WHERE, GROUP BY, HAVING, 
ORDER BY. 
√ 
Consideraciones 
para el uso de las 
cláusulas GROUP 
BY y HAVING. 
√ 
Definición de los operadores lógicos AND, OR y 
NOT. 
 
√ 
 
√ 
Definición de los operadores de comparación. 
√ 
 
√ 
Determinación de las funciones de agregado: AVG, 
COUNT, SUM, MAX, MIN. 
 
√ 
 
√ 
Permite la definición de esquemas. √ √ 
Permite tipos de datos definidos por el usuario. 
√ 
 
√ 
Menciona las consideraciones para realizar 
consultas sencillas, multi-tablas y subconsultas. 
 
√ 
 
√ 
Incluye los operadores EXISTS y NO EXISTS. 
√ 
 
√ 
 Contempla el uso 
de la palabra 
DISTINCT en una 
consulta 
√ 
Incorpora una 
nueva expresión de 
condición IS 
DISTINCT para la 
cláusula FROM. 
Específica la definición de vistas en una tabla. √ √ 
 Incluye nuevos 
tipos de datos 
escalares: 
BOOLEAN, CLOB 
(objeto de 
caracteres largo) y 
BLOB (objeto 
binario grande). 
 Presenta dos 
nuevos operadores 
de totales: EVER y 
ANY. 
 Incorpora 
generadores de 
tipo de dato: REF, 
ARRAYy ROW. 
 Soporta la opción 
LIKE en CREATE 
TABLE. 
 Incluye la cláusula 
WITH. 
 
 
 
Figura 1.11. Tabla comparativa ANSI 89, 92 y 99 
Neevia docConverter 5.1
 12 
Figura 1.12. Tabla principales RDBMS 
Principales RDBMS. 
Las características de los principales RDBMS se puede consultar en la Figura 
1.12. 
RDBMS Ámbito Características 
Microsoft 
SQL Server 
comercial Manejo de bases de datos distribuidas. 
Manejo de varias particiones físicas para almacenamientos de datos 
flexibles. 
Permite realizar algunas tareas de mantenimiento y administración de la 
base de datos sin tener que darla de baja. 
Permite realizar acciones OLAP (Online Analazing Processing, analizar 
datos almacenados en una base de datos por medio de cubos de 
información). 
Conexiones con clientes ODBC y JDBC2. 
Es necesario disponer de Microsoft Windows Server para algunas 
características de SQL Server. 
Sybase comercial, 
libre 
(linux) 
Soporta aplicaciones OLTP (On Line Transaction Processor, ambiente 
diseñado para insertar, actualizar y borrar datos en una base de datos). 
Permite integrar aplicaciones basadas en XML con la base de datos y 
crear reglas de negocio que ejecuten Java Beans. 
Permite realizar queries XQL, utilizando un motor abierto para búsqueda 
de contenidos XML almacenados en la base de datos, o en un URL. 
Bloqueo a: nivel de fila, nivel de página de datos, nivel de página (datos e 
índices), nivel de tabla. 
Conexiones con clientes ODBC y JDBC. 
Oracle comercial Ofrece varias plataformas de desarrollo para Internet y aplicaciones 
tradicionales, tales como: XML, Enterprise Java Engine, SQL y PL/SQL, 
C, C++ entre otros. 
Manejo de bases de datos distribuidas 
Capacidad de replicación de bases de datos. 
Soporta OLTP y OLAP. 
Ofrece escalabilidad y performance sin modificar las aplicaciones 
instaladas. 
Conexiones con clientes ODBC y JDBC. 
Redefinición de tablas en línea. 
Respaldo y recuperación en línea. 
Informix y 
DB2 
comercial Provee acceso a cualquier tipo de cliente. 
Manejo de bases de datos distribuidas 
Capacidad de replicación de bases de datos. 
Permite realizar queries en paralelo. 
Contiene plataformas de desarrollo con SPL (Informix Stored Procedure 
Language): C, Java, XML. 
Soporta OLTP y OLAP. 
Conexiones con clientes ODBC, JDBC, OLE/DB. 
Soporta aplicaciones para eCommerce e inteligencia de negocios. 
PostgreSQL libre Bajo costo de operación. 
Conformación a estándares ANSI. 
Estrategia de almacenamiento MVCC para grandes volúmenes. 
Capacidad de replicación de bases de datos. 
Interfaces nativas para ODBC, JDBC, C, C++, PHP, Perl, TCL, XML. 
Soporta SSL nativo. 
MySQL libre Conformación a estándares ANSI. 
Contiene esquemas de almacenamiento independientes: InnoDB (para 
transacciones y bloqueo de registros), MyISAM (sin transacciones). 
Soporta SSL. 
Queries con manejo de cache. 
Capacidad de replicación de bases de datos. 
 
2 Véase página 49. 
Neevia docConverter 5.1
 13 
Figura 1.13. Arreglos de RAID 
Elementos de hardware que hay que considerar: Procesador, tarjeta madre, tipos 
de canal (BUS), memoria, disco duro, arreglos de RAID (nivel 0, arreglo de discos 
fragmentado; nivel 1, espejo del disco; nivel 3, igual que el nivel 0 el bloque de 
datos es subdividido y escrito sobre los discos de datos, la paridad de partición es 
generada sobre la escritura por lo que se reserva un disco dedicado a la 
corrección de errores en los datos y revisada en la lectura). Véase Figura 1.13. 
 
 
 
 
Los tipos de datos usados por los RDBMS se clasifican en trece tipos primarios y 
varios, sinónimos válidos conocidos por dichos tipos de datos: BINARY 
(VARBINARY, BINARY, VARYING, BIT VARYING), BIT (BOOLEAN, LOGICAL, 
LOGICAL 1, YESNO), BYTE (INTEGER 1, TINYNIT), COUNTER 
(AUTOINCREMENT, ENT, SEQUENCE), MONEY (CURRENCY), DATETIME 
(DATE, TIME), DECIMAL (NUMERIC, DEC), REAL (SINGLE, FLOAT 4, 
IEEESINGLE), FLOAT (DOUBLE, FLOAT 8, IEEEDOUBLE, NUMBER), 
SMALLINT (SHORT, INTEGER 2), INTEGER (LONG, INT, INTEGER 4), IMAGE 
(LONGBINARY, GENERAL, OLEOBJECT), TEXT (LONGTEXT, LONGCHAR, 
MEMO, NOTE, NTEXT), CHAR (TEXT(n), ALPHANUMERIC, CHARACTER, 
STRING, VARCHAR, CHARACTER VARYING, NCHAR, NATIONAL 
CHARACTER, NATIONAL CHAR, NATIONAL CHARACTER VARYING, 
NATIONAL CHAR VARYING). 
 
 
Neevia docConverter 5.1
 14 
1.3. Módulo 3. SQL (Structured Query Language). 
El lenguaje nativo SQL (Structured Query Language, Lenguaje Estructurado de 
Consulta) adoptado en la industria en 1986, es utilizado para el desarrollo de 
consultas a la base de datos3. 
 
 Una de las revisiones al estándar más importante fue la de 1992 conocida como 
ANSI SQL92. Actualmente la versión más soportada por la mayoría de las bases 
de datos es el ANSI SQL99 también conocido como SQL3. 
 
 Con el ANSI SQL, los diversos RDBMS tienen que acoplarse al estándar 
permitiendo una mayor compatibilidad entre ellos e implicando que conociendo 
una variante del SQL se tienen los conocimientos necesarios para poder utilizar 
otros RDBMS (Ms SQL Server, Oracle, Sybase, MySQL, PostgreSQL, DB2, etc.) 
 
 Las diferencias entre distintos RDBMS se deben a que cada fabricante 
implementa funcionalidades extra que le dan un valor agregado a su producto, 
sacrificando la compatibilidad. 
 
 SQL es un lenguaje fácil de entender ya que su estructura utiliza palabras en 
inglés. 
 
 Los componentes del SQL son: DDL (Data Definition Language), DML (Data 
Manipulation Language), DCL (Data Control Language)4. 
 
 Los elementos que intervienen en la definición de la información en una base de 
datos: la tabla es el elemento fundamental de una base de datos relacional, la cual 
consiste de una serie de renglones (registros) que representan la información. 
Cada renglón está divido en columnas (campos) los cuales deben de tener un tipo 
de dato establecido. 
 
3 En este trabajo sólo se expondrán las sentencias que maneja el estándar SQL y no las sentencias propias 
de los RDBMS como por ejemplo sentencias para crear bases de Datos. 
4 Veáse, página 10. 
Neevia docConverter 5.1
 15 
 Es labor del diseñador de la base de datos encontrar el mejor tipo de dato que 
satisfaga las necesidades de almacenamiento y recuperación de cierta 
información. 
 
 Los tipos de datos que se manejan en una base, pueden variar ligeramente 
entre diferentes RDBMS, sin embargo el estándar ANSI, asegura que cierto tipo 
de datos estará presente en cualquier RDBMS asegurando así su compatibilidad. 
Algunos RDBMS implementan sinónimos para los tipos de datos, de manera que 
puedan cumplir con el ANSI SQL99, sin embargo internamente son convertidos a 
un tipo de dato que si esté soportado. Por ejemplo MS SQL Server acepta el tipo 
de dato DOUBLE PRECISION pero lo convierte y maneja como un FLOAT. 
 
Para consultar los tipos de datos equivalentes, véase la tabla de la Figura 1.14. 
Tipo en 
SQL99 
MySQL PostgreSQL Oracle Sybase Ms SQL 
Server 
Descripción 
Tinyint tinyint tinyint tinyint 
smallint smallint smallint smallint(lo 
convierte a 
number) 
smallint smallint Entero con 
signo de 2 
bytes 
int, integer int, integer integer int(lo 
convierte a 
number) 
Int int Entero con 
signo de 4 
bytes 
float() float float() float float Número de 
punto 
flotante 
double double double 
precision 
double 
precision (lo 
convierte a 
float) 
double 
precision 
double 
precision 
(se 
convierte a 
float) 
Número 
Doble 
real real real (lo 
convierte a 
float) 
real real Número 
Real 
numeric 
(p,d) 
numeric 
(p,d) 
numeric 
(p,d) 
number(p,d) numeric 
(p,d) 
decimal(p,d) Numérico 
con 
precisión p y 
d decimales 
character 
varying(n) 
varchar(n) varchar(n) varchar2(n) varchar(n) varchar(n) Carácter de 
longitud 
variable 
char, 
character 
(n) 
char(n) char(n) char(n) char(n) char(n) Cadena de 
caracteres 
de longitud 
fija 
date datedate Fecha sin 
Neevia docConverter 5.1
 16 
hora del día 
time time time Hora del día 
timestamp timestamp timestamp date datetime datetime Fecha y 
hora del día 
blob blob bytea blob image image Binary large 
object 
clob text text clob text text Character 
large object 
boolean boolean bit bit Valor 
booleano 
interval interval Intervalo de 
tiempo 
 
 
 
 En algunos casos existe en el manejador el nombre del tipo de dato estándar, 
más no cumple con las especificaciones que debería. Por ejemplo en la tabla 
anterior se muestra el tipo DATE de Oracle, más no cumple con las 
especificaciones del DATE estándar, porque almacena la hora y la fecha en el 
mismo campo y no por separado. Lo mismo sucede con el tipo de dato timestamp 
de Sybase y Ms SQL Server, aunque existe la palabra como tal, timestamp no 
tiene ninguna relación con el estándar. 
 
El valor nulo. 
El valor nulo es algunas veces confundido con un valor numérico de 0 o una 
cadena vacía. Un valor nulo se representa en SQL con la cláusula NULL y 
representa la ausencia de información, es importante recordar esto cuando se 
desean realizar ciertas operaciones como por ejemplo un promedio de edades, 
dado que la función para determinar el promedio no contemplará valores nulos. 
 
Los valores nulos también se utilizan en texto, no es lo mismo una cadena vacía 
que un valor nulo. 
 
Tablas 
La tabla es la representación física en la base de datos de una Entidad mientras 
que las relaciones son representadas mediante restricciones, véase Figura 1.15. 
Figura 1.14. Tablas de tipos de datos equivalentes 
Neevia docConverter 5.1
 17 
 
 
 
 
Convenciones de nombres. 
Los nombres que se le asignan a los objetos de una base de datos, están sujetos 
a ciertas reglas que varían entre RDBMS, incluso de una versión a otra del mismo. 
Véase la tabla de la Figura 1.16. para consultar las convenciones de algunos 
RDBMS. 
 
Algunas reglas son: 
� No pueden usarse palabras reservadas del servidor SQL. 
� Es aconsejable usar nombres descriptivos. 
� No pueden existir dos objetos (aunque sea de distinto tipo) con el mismo 
nombre para un usuario en particular. 
 
Sybase Deben empezar con una letra. 
Pueden contener letras: A-Z,a-z, números 0-9,_,#,$. 
Oracle Deben empezar con una letra 
Pueden contener letras:A-Z,a-z,números 0-9,_,#,$ 
MySQL Puede empezar con los símbolos_,$,letras o números 
Pueden contener letras: A-Z,a-z, números 0-9,_,$ 
PostgreSQL Puede empezar con el símbolo _, y letras. 
Puede contener letras: A-Z,a-z, números 0-9,_,$ 
Ms SQL Server Puede empezar con el símbolo #,_,letras. 
Puede contener letras: A-Z,a-z, números 0-9,_,$ 
 
 
Figura 1.15. Representación de una tabla y los Registros 
Figura 1.16. Convenciones de nombres 
Neevia docConverter 5.1
 18 
Creación de tablas. 
La sintaxis básica para la creación de tablas puede consultarse en el Apéndice A 
Fig A-1 
 
Modificación a las tablas. 
Dependiendo del RDBMS la modificación en la estructura de la tabla es mayor o 
menor. Para ver las características soportadas en los diferentes RDBMS véase en 
el Apéndice A Fig A-2. 
 
La sintaxis general para agregar un campo puede consultarse en el Apéndice A 
Fig A-3. Cabe señalar que siempre que se agregue un campo a una tabla, éste 
debe permitir valores NULOS. 
 
Eliminación de tablas: 
La sintaxis básica para la eliminación de tablas puede consultarse en el Apéndice 
A Fig A-4. 
 
 
Reglas 
Las reglas dentro de la base de datos, permiten definir condiciones que debe 
cumplir la información para que sea válida. Por ejemplo se puede definir una regla 
que especifique que la percepción de un empleado no sobrepase los $10,000 
pesos. 
El exceso de reglas puede disminuir el rendimiento del RDBMS en los procesos de 
inserción y modificación de información. Para ver los diferentes RDBMS que 
soportan las reglas véase el Apéndice A Fig A-5. La sintaxis de la creación de 
reglas puede verse en el Apéndice A. Fig A-6. 
 
Defaults 
Los defaults establecen que valor será registrado de manera predeterminada para 
una columna, en caso de que no se especifique al momento de introducir los 
Neevia docConverter 5.1
 19 
datos. En algunos RDBMS los defaults son objetos que se pueden emplear en 
diferentes tablas, mientras que en los demás, están ligados a la definición de la 
tabla. Al igual que con las reglas, la funcionalidad de los defaults pueden 
implementarse utilizando la lógica de la aplicación, véase Apéndice A Fig A-7. 
para consultar los RDBMS que soportan la creación de Defaults para cpnsultar la 
sintaxis véase Apéndice A Fig A-8. 
 
 En Sybase y MS SQL Server es posible definir un DEFAULT como un objeto 
independiente que se puede vincular a varios campos de una o más tablas, 
mientras que en Oracle, MySQL y PostgreSQL los defaults estan ligados a un solo 
campo. 
 
En todos los RDBMS, los valores predeterminados se pueden especificar al 
momento de generar una tabla, o en algunos casos es posible modificar la tabla 
para agregar estos valores predeterminados, véase Apéndice A Fig A-9. 
 
 
Llaves e Índices 
Un índice es una estructura de almacenamiento físico que permiten recuperar 
datos de una manera muy eficiente. 
En un esquema relacional, cada registro dentro de una tabla debe de ser 
identificado de manera única, y esto se logra a través de una llave primaria (PK), a 
la cual se le genera de manera automática un índice, que ayuda a ser más 
eficiente el proceso de consulta de la información. También existen las llaves 
foráneas(FK), que son las columnas que hacen referencia a la llave primaria de 
otra tabla. A través de ellas se establecen relaciones entre tablas. 
 
 Es un error frecuente confundir entre índices y llaves, quizá sea el hecho de que 
al crear una llave primaria se genera un índice, lo cual no sucede para una llave 
foránea. Hay que tener presente que los índices tienen como función acelerar el 
proceso de recuperación de la información. 
Neevia docConverter 5.1
 20 
Llaves primarias. 
Permiten identificar de manera única un registro dentro de una tabla. Al crear una 
llave de este tipo se genera automáticamente un índice de valores únicos. 
Formas de crear las llaves primarias: 
� Al crear una tabla especificando que campo o campos forman parte de la 
llave primaria, véase Apéndice A Fig A-10. 
� Cuando la tabla ya existe y se desea especificar los campos que forman 
parte de la llave primaria, empleando la cláusula ALTER TABLE, véase 
Apéndice A Fig A-11. 
 
Llaves foráneas. 
Son atributos de una tabla que hacen referencia a la llave primaria de otra tabla y 
permiten establecer las relaciones entre las distintas tablas que existen dentro de 
la Base de Datos. La mayoría de los RDBMS implementan restricciones 
(constraints) cuando se genera una llave foránea. 
 
Las llaves foráneas se pueden crear dentro de la definición de la tabla, o una vez 
que esta ya existe, se puede utilizar la cláusula ALTER TABLE para agregar esta 
restricción. A diferencia de las llaves primarias, las llaves foráneas no generan un 
índice, por lo que de ser necesario se deberá crear con la cláusula CREATE 
INDEX, véase Apéndice A Fig A-12. 
 
Creación de índices. 
Un índice es una estructura de almacenamiento físico que ocupa un espacio. Los 
índices ayudan al Servidor SQL a localizar datos y son transparentes para el 
usuario. El propósito principal de un índice es proporcionar un acceso más rápido 
a los datos, aunque en algunos casos su propósito es asegurar que el contenido 
de un campo sea único. Para ver la sintaxis de creación de índices véase 
Apéndice A Fig A-13. Para ver la sintaxis de eliminación de índices véase 
Apéndice A Fig A-14. 
 
Neevia docConverter 5.1
 21 
Manipulación de datos. 
La mayor parte del trabajo con SQL giarará entorno a cuatro comandos: 
 
� Select. Permite seleccionar (recuperar) información de una tabla.� Insert. Permite agregar información a una tabla. 
� Delete. Permite eliminar información de una tabla. 
� Update. Permite actualizar información que existe en una tabla. 
 
Para el empleo de los comandos es necesario tomar en cuenta que para expresar 
un valor de tipo alfanumérico o fecha, es requisito entrecomillarlo con comillas 
simples y que todo valor que no se especifique entre comillas simples, será 
interpretado como tipo de dato numérico. 
 
Selección (Restricción). 
La operación de selección genera un subconjunto de los renglones de una tabla, 
con base en un criterio (restricción) establecido. Véase operaciones del álgebra 
relacional en el Apéndice A Fig A-15. 
 
Esta operación del álgebra relacional es realizada por la cláusula WHERE de SQL. 
 
Proyección: 
La proyección selecciona y genera un subconjunto con los atributos (columnas) 
indicados de una tabla. También es conocida como operación vertical. Véase 
operaciones del álgebra relacional en el Apéndice A Fig A-15. 
 
Union: 
La operación unión realiza la misma acción que en el álgebra de conjuntos, es 
decir {1,4,5,10} U {1,4,3,9} = {1,3,4,5,9,10}. Véase operaciones del álgebra 
relacional en el Apéndice A Fig A-15. 
 
Esta operación se realiza con la cláusula UNION del SQL. 
Neevia docConverter 5.1
 22 
Producto cartesiano: 
El producto cartesiano es el producto cruz entre 2 tablas: 
{a,b} X {1,2} = {a1, a2, b1, b2} 
El resultado es la combinación de cada renglón de una tabla con cada renglón de 
la otra tabla. Véase operaciones del álgebra relacional en el Apéndice A Fig A-15. 
En SQL esta operación se lleva a cabo cuando se ocupa la cláusula FROM 
especificando 2 o más tablas, y no se especifica una restricción que indique la 
relación entre las tablas. 
 
Join 
La operación Join es en esencia un producto cartesiano, donde se selecciona los 
renglones que satisfagan las condiciones indicadas que establecen la relación 
entre las tablas involucradas. Esta es una operación muy común en las bases de 
datos relacionales. 
 
Selección de datos 
Las tablas dentro de una base de datos son las estructuras que tienen 
almacenada la información en forma de registros. Para poder recuperar esa 
información almacenada, se requiere del comando SELECT de SQL. 
El comando SELECT es sumamente útil, ya que a través de él es posible realizar 
desde una consulta simple que sólo involucra una tabla, hasta una consulta 
compleja donde intervienen dos o más tablas, varias condiciones, agrupaciones de 
datos y ordenamientos. Véase Apéndice A Fig A-16 para ver la sintaxis de la 
cáusula SELECT, así como la sintaxis de otras cláusulas. 
 
FROM sirve para indicar las tablas de las cuales se desea mostrar la información, 
véase Apéndice A Fig A-16. 
 
WHERE permite delimitar los registros que serán mostrados en la consulta, a 
través de criterios o condiciones, véase Apéndice A Fig A-17. 
 
Neevia docConverter 5.1
 23 
GROUP BY en esta cláusula se indica el o los campos por los cuales se desea 
agrupar un conjunto de registros. Comúnmente esta agrupación va acompañada 
con una serie de funciones conocidas como funciones de agregación o 
agrupación, véase Apéndice A Fig A-18. 
 
HAVING es el equivalente a la cláusula WHERE, es decir, especifica un criterio o 
condición, pero la diferencia radica en que se ocupa únicamente cuando se desea 
especificar una función de agregación5 en la condición, véase Apéndice A Fig A-
19. 
 
ORDER BY nos permite indicar los campos por los cuales se desea ordenar la 
información mostrada. Es posible indicar si el orden es descendente o ascendente, 
de manera predeterminada es ascendente. Véase Apéndice A Fig A-20. 
 
Inserción de datos 
A través de la instrucción INSERT de SQL, se introduce la información a una tabla. 
Para ver la sintaxis véase Apéndice A Fig A-21. 
 
INTO permite indicar la tabla en donde se realizará dicha inserción. Únicamente se 
puede especificar una tabla a la vez, véase Apéndice A Fig A-22. 
 
VALUES permite especificar los valores a insertar para cada uno de los campos 
involucrados en la sentencia, véase Apéndice A Fig A-23. 
 
 
Eliminación de registros 
La instrucción delete elimina registros de la tabla indicada con la posibilidad de 
indicar un criterio, en caso de omitirlo, se eliminan todos los registros de la tabla. 
Para ver la sintaxis véase Apéndice A Fig A-24. 
 
 
5 Véase significado en el glosario, pag.109. 
Neevia docConverter 5.1
 24 
Actualización de datos. 
Para modificar o actualizar los valores de los registros de una tabla se utiliza el 
comando UPDATE. Si no se especifica una condición con la cláusula WHERE, 
todos los registros que existan en la tabla serán actualizados. Para ver la sintaxis 
véase Apéndice A Fig A-25. 
 
UPDATE es la claúsula que indica que la operación a ejecutar es una 
actualización. Después de la cláusula se especifica el nombre de la tabla en donde 
se encuentra la información que deseamos modificar. Véase Apéndice A Fig A-26. 
 
SET permite especificar los campos que se desean modificar y su nuevo valor. La 
cláusula se coloca una sola vez aunque sean varios campos los que se deseen 
modificar. Véase Apéndice A Fig A-26. 
 
 
Vistas 
Una vista es una tabla qué no ocupa espacio de almacenamiento para la 
información que contiene, porque su estructura e información está definida a 
través de la ejecución de una instrucción SELECT. Las vistas tiene dos usos: el 
primero es para simplificar el acceso a datos que se ocupan frecuentemente y que 
requieren una sentencia de SQL muy compleja para dicho acceso; y el segundo es 
con fines de seguridad, que permitan mantener ocultas ciertas columnas. Para ver 
la sintaxis véase Apéndice A Fig A-27. Para ver la sintaxis de eliminación de vistas 
véase Apéndice A Fig A-28. 
 
 
Definición de privilegios 
 
Unos de los componentes de un RDBMS es el DCL (Data Control Language) que 
permite controlar y establecer restricciones de acceso a la información contenida 
en la base de datos. Es tarea del administrador de la base de datos el encargarse 
Neevia docConverter 5.1
 25 
de asignar o revocar permisos y/o crear usuarios en la base de datos. El manejo 
de usuario varía considerablemente de un RDBMS a otro. 
Posteriormente debe darse de alta al usuario en la base de datos que se desea 
pueda acceder. 
 
 GRANT se utiliza para otorgar privilegios y REVOKE para eliminarlos6. 
 
 
FUNCIONES: 
Las funciones de tipo carácter pueden consultarse en la tabla de la figura 1.17. 
 
Función Descripción Ejemplo 
char_length (<cadena>) / 
character_length (<cadena>) 
Determina la longitud de la 
cadena especificada 
char_length(‘jose’) 
lower (<cadena>) convierte el texto a 
minúsculas 
lower(‘TOM’) 
octet_length(<texto>) almacena el tamaño del 
texto 
octet_length(‘jose’) 
position(<cadena1> in <cadena2>) posición de un subtrexto 
especificado 
position(‘o’ in ‘Tom’) 
substring(<cadena>[from<entero>][for 
<entero>]) 
extrae un subtexto 
especificado 
substring(‘Tom’ from 2 for 
2) 
trim([leading|trailing|both] 
[<cadena1>] from <cadena2>) 
remueve caracteres de un 
texto 
trim(both ‘x’ from ‘xTomx’) 
upper (<cadena>) convierte un texto a 
mayúsculas 
upper(‘tom’) 
<cadena1>||<cadena2> concatenación de cadenas ‘Hola’ || ‘Mundo’ 
Case WHEN <expresion> THEN 
<valor1> [ELSE <valor2>] END 
evalúa la expresión si es 
verdadera regresa valor1 
de lo contrario regresa 
valor2 
CASE WHEN 
Id_departamento is 
Null THEN ‘No tiene 
asignado Departamento’ 
END 
cast(<valor> AS <tipo_de_dato>) Realiza la conversión 
entre tipos de datos 
cast (‘0055’ AS NUMERIC) 
 
 
 
 Las diferentes funciones de tipo carácter que se manejan entre los RDBMS 
pueden consultarse en la tabla de la Figura 1.18. 
 
6 Véase, página 45. 
Figura 1.17. Funciones de tipo carácter 
NeeviadocConverter 5.1
 26 
 
 
 
Función 
SQL92 
MySQL PostgreSQL Oracle Sybase Ms SQL 
Server 
char_length Sí Sí No No No 
lower Sí Sí Sí Sí Sí 
octet_length Sí Sí No No No 
position Sí Sí No No No 
substring Sí Sí No estándar No estándar No estándar 
trim Sí Sí Sí No No 
upper Sí Sí Sí Sí Sí 
|| No Sí Sí No No 
case Sí Sí Sí No No 
 
 
A continuación se muestran las funciones de Syabse/Ms SQL Server que remplazan a las 
ausentes del estándar SQL92: 
 
 
 
 
 
 
 
 
 
 
 
 
 
Las funciones de tipo matemáticas pueden consultarse en la tabla de la figura 
1.19. 
 
 
 
FUNCION SINTAXIS 
substring Substring (<cadena>,#empiezo,#longitud) 
Extrae una cadena de la cadena a partir de # empiezo hacia la izq. 
De #longitud 
charindex chaindex (<cadena1>,<cadena2>) 
Regresa la posición donde se encuentra la cadena1 dentro de la 
cadena2 
ltrim ltrim(<cadena>) 
Elimina los blancos a la izquierda de la cadena 
rtrim rtrim(<cadena>) 
Elimina los blancos a la derecha de la cadena 
datalength Datalength(<cadena>) 
Regresa la longitud de la cadena 
Figura 1.18. Funciones de tipo carácter soportadas por los diferentes RDBMS 
Neevia docConverter 5.1
 27 
 
 
 
 
Manejo de transacciones: 
 Los RDBMS deben de implementar un mecanismo a través del cual, los 
cambios a realizar en la información, a través de una instrucción INSERT, 
DELETE o UPDATE, no son efectuados hasta que el usuario lo indique 
explícitamente. Una transacción puede comprender una o más instrucciones SQL. 
Una transacción es atómica, porque todas las instrucciones de SQL deben 
completarse con éxito, o ninguna de ellas. Una vez que el RDBMS determina que 
la transacción fue exitosa es necesario que la información sea almacenada de 
manera permanente. 
 
SQL92 MySQL PostgreSQL Oracle Sybase Ms SQL 
Server 
abs Sí Sí Sí Sí Sí 
acos Sí Sí Sí Sí Sí 
asin Sí Sí Sí Sí Sí 
atan Sí Sí Sí Sí Sí 
ceiling Sí ceil ceil Sí Sí 
cos Sí Sí Sí Sí Sí 
cot Sí Sí No Sí Sí 
degrees Sí Sí No Sí Sí 
floor Sí Sí Sí Sí Sí 
log Sí Ln Ln Sí Sí 
log10 Sí log log Sí Sí 
pi Sí Sí No Sí Sí 
power Sí pow Sí Sí Sí 
radians Sí Sí No Sí Sí 
rand Sí random No Sí Sí 
round Sí Sí Sí Sí Sí 
sign Sí Sí Sí Sí Sí 
sin Sí Sí Sí Sí Sí 
sqrt Sí Sí Sí Sí Sí 
tan Sí Sí Sí Sí Sí 
 Figura 1.19. Funciones de tipo matemáticas soportadas por los diferentes RDBMS 
Neevia docConverter 5.1
 28 
 El comando commit permite indicar que los cambios a realizar dentro de una 
transacción sean llevados a cabo de manera permanente, y el comando rollback 
permite deshacer los cambios. El RDBMS reserva un espacio de almacenamiento, 
donde registra todas las instrucciones de SQL que se deben de ejecutar. De esta 
manera es posible deshacer los cambios realizados por operaciones UPDATE, 
DELETE o INSERT. 
 
Las transacciones se inician de distinta manera, aunque similar. Por ejemplo en 
PostgreSQL, una transacción es iniciada mediante la cláusula BEGIN y en Sybase 
se emplea BEGIN TRANSACTION, seguida de las instrucciones de SQL a realizar 
y finalmente se emplea la cláusula COMMIT para indicar que las modificaciones 
deben realizarse de manera permanente o en caso que se desee cancelar la 
operación, se ocupa la cláusula ROLLBACK. 
 
 
1.4. Módulo 4. Acceso a datos a través de la programación de clientes. 
 
En la web es utilizada la arquitectura denominada cliente – servidor en la que en 
una máquina central (servidor) se encuentran varios servicios a los que una o 
varias computadoras (cliente) pueden acceder, dependiendo de los privilegios que 
el usuario tenga dados de alta el servidor podrá tener acceso a ciertos servicios. 
Véase Figura 1.20. 
 
 
 
 
Figura 1.20. Arquitectura Cliente - Servidor 
Neevia docConverter 5.1
 29 
HTML. Es un sistema para estructurar documentos. Estos documentos pueden ser 
mostrados por los navegadores de páginas Web en Internet, como Netscape, 
Mozilla, Galeon, Microsoft Explorer, etcétera. 
Cualquier cosa que hagamos debe ir entre etiquetas aunque existen etiquetas que 
no necesitan cerrarse, así como etiquetas que no requieren de parámetros. 
<ETIQUETA parámetros> ... </ETIQUETA> 
PHP (Hipertext Preprocesor) es un lenguaje de programación de script que se 
combina con código HTML para generar páginas web dinámicas. Es ejecutado en 
el servidor y el resultado se envía al navegador. Véase Figura 1.21. 
 
 
 
 
Java Server Pages (JSP) es un lenguaje de programación de script que se 
combina HTML con fragmentos de Java para producir páginas web dinámicas. 
Una página JSP es un archivo de texto simple que consiste en contenido HTML o 
XML con elementos JSP. 
 
Cuando un cliente pide una página JSP del sitio web y no se ha ejecutado antes, 
la página es inicialmente pasada al motor de JSP, el cual compila la página 
convirtiéndola en Servlet, la ejecuta y devuelve el contenido de los resultados al 
cliente. Cuando ya existe el Servlet solo se manada a llamar, sin necesidad de 
volver a compilarse. Véase Figura 1.22. 
 
Figura 1.21. PHP ejecutado como CGI 
Neevia docConverter 5.1
 30 
 
 
 
ASP (Active Server Pages) es una tecnología creada por Microsoft con la que el 
usuario puede recibir páginas generadas dinámicamente en el servidor. Estas 
páginas contienen código HTML y fragmentos de código que son utilizados para 
llevar a cabo la interacción entre el servidor y el navegador. Véase Figura 1.23. 
 
 
 
ASP puede conectarse a cualquier motor que disponga de ODBC. Para procesar 
una página ASP es necesario un servidor Web de Microsoft (IIS 3.0 o superior, 
Personal Web Server). Se utiliza el archivo ASP.DLL para interpretar el código. 
Para plataformas Unix es necesario añadir un software que actúe de intérprete 
siendo algunos de los más conocidos: Chilisoft e Instant ASP. 
 
 
1.5. Módulo 5. Fundamentos de Sistemas Operativos. 
 
 Un sistema operativo es el encargado de asignar ordenadamente y 
controladamente los recursos para los programas que compiten por ello. 
 
Figura 1.22. Arquitectura JSP 
Figura 1.23. Arquitectura ASP 
Neevia docConverter 5.1
 31 
Figura 1.24. Generaciones de computadoras 
Generaciones 
Para consultar las generaciones de las computadoras véase la tabla de la Figura 
1.24. 
Primera (1945-1955) Bulbos conexiones A finales de la generación se 
introducen las tarjetas 
perforadas. 
Segunda(1955-
1965) 
Transistores Procesamiento por lotes FMS, IBSYS 
Tercera(1965-1980) Circuitos 
Integrados 
Multiprogramación IBM 360, MULTICS, UNIX en 
PDP-7 
Cuarta(1980-1990) Estaciones de 
trabajo y 
computadoras 
personales. 
SO en red, distribuidos DOS, UNIX 
 
 
 
Unix actuales 
Para consultar los UNIX actuales véase la tabla de la Figura 1.25. 
Solaris Sun Microsystems Basado en AT&T, con muchas extensiones. Arquitectura Sparc 
y X86 
AIX IBM Diferente de AT&T y BSD7 especialmente en las herramientas 
administrativas. Arquitectura RS6000. 
SCO Unix The Santa Cruz 
Operation (SCO) 
Basado en AT&T pero con muchos agregados, arquitectura 
x86. 
IRIX Silicon Graphics Similar a AT&T, arquitectura propietaria. 
Linux Público BSD (SunOS) en lo interno, AT&T en la administración. 
Arquitectura Intel x86, sparc, alpha y otras. Múltiples 
distribuciones como Red Hat, S.u.s.e., Slackware, Debian, 
Corel, Caldera, Mandrake. FreeBSD público basado en BSD8. 
Arquitectura Intelx86. 
HP-Ux Hewlett-Packard Hibrido AT&T y BSD, con peculiaridades propias. Arquitectura 
propietaria. 
 
 
Los programas se pueden clasificar en dos grandes grupos: 
 
- Programas de sistema. Controlan la operación de la computadora. Los más 
representativos son los compiladores y el sistema operativo. 
 
7 Las características pueden consultarse en la página 73. 
8 Ibidem. 
Figura 1.25. UNIX actuales 
Neevia docConverter 5.1
 32 
- Programas de aplicación. Resuelven problemas de los usuarios como por 
ejemplo, procesadores depalabras, hojas de cálculo, manejadores de 
bases de datos, juegos, etcétera. 
 
El sistema operativo es un nivel de software por encima del hardware que 
controla todas las partes del sistema y presenta al usuario una interfaz o 
máquina virtual que es más fácil de usar que el hardware subyacente. 
 
Componentes de un Sistema Operativo: 
El SO está formado por varios programas que en conjunto presentan al usuario 
una vista integrada del sistema, véase Figura 1.26 para el caso de Linux, los 
componentes principales son los siguientes módulos: 
 
� Administrador de procesos (scheduler) 
� Administrador de E/S 
� Administrador de la memoria 
� Manejo del sistema de archivos 
 
Neevia docConverter 5.1
 33 
 
 
 
El sistema operativo UNIX: 
UNIX es un sistema operativo portable, multitarea y multiusuario; desarrollado en 
principio por un grupo de empleados de los laboratorios Bell de AT&T, entre los 
que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy. 
Para ver la cronología de la Historia de UNIX, consultese la tabla de la Figura 
1.27. 
 
1969 UNIX como proyecto de investigación de 
AT&T Bell Labs 
Descendiente de MULTICS 
(proyecto de SO de varias 
empresas) 
1976 V6 gratuita por las universidades 
1979 
 
V7 distribuida ampliamente y base de la 
mayoría de las versiones UNIX 
Después AT&T el grupo USG 
(UNIX Support Group). El 
grupo se separa de AT&T 
con el nombre de USL (UNIX 
System Laboratories) para 
desarrollar UNIX como 
producto comercial. 
 Bell Labs y USG continúan desarrollando 
UNIX en direcciones divergentes 
USL saca versiones System 
III y System V . 
Figura 1.26. Componentes típicos del Kernel de GNU/Linux 
Neevia docConverter 5.1
 34 
1992 AT&T vendió sus operaciones en UNIX a 
Novell quien saca UNIXWare 
 
1977 Comienzo del UNIX de Berkeley cuando el 
CSRG (Computer Systems Research 
Group) de la Universidad licenció el código 
de la V6 de AT&T 
Versiones de Berkeley 
BSD(Berkeley Software 
Distribution) comenzaron con 
1BSD(para PDP-11) 
culminando en 1993 con la 
versión 4.4BSD 
 Berkeley con el propósito de eliminar todo 
el código de AT&T pierde su financiamiento 
y al disolverse el CSRG lanza la versión de 
código propio (4.4BSD-Lite) 
La mayoría de los UNIX de la 
rama BSD tienen como 
antecedente esta versión 
 Superadas varias querellas de licencias 
entre BSD y AT&T, los fabricantes pueden 
tomar el código fuente público de AT&T, 
BSD o ambos para comenzar a partir de 
ellos sus propios desarrollos. 
 
1991 Advenimiento de Linux, a partir de un 
núcleo (Kernel) diseñado por Linus 
Torvalds (estudiante graduado de la 
Universidad de Helsinki Finlandia). 
 
 
 
LINUX. 
GNU/Linux es un clon del sistema operativo Unix, escrito desde cero por el 
finlandés Linus Torvalds con la asistencia de un pequeño grupo de hackers 
esparcidos por la red. Entre sus principales características se encuentra la 
implantación del estándar POSIX. 
 
Estrictamente, GNU/Linux se refiere al núcleo o kernel. En un sentido más amplio, 
comprende el núcleo del sistema operativo más un conjunto de programas que 
permiten compilar lenguajes de programación, editar texto, interpretar comandos, 
manejar archivos y discos, acceder a otras máquinas, establecer comunicaciones 
telefónicas, enviar y recibir correo electrónico, manejar las colas de impresión y un 
sin fín de tareas más. Algunos de estos programas pueden haber sido 
desarrollados por los propios usuarios. 
 
 
 
Figura 1.27. Historia de UNIX 
Neevia docConverter 5.1
 35 
Figura 1.30. Mensaje de Torvalds 
Fue en Julio de 1991 cuando Linux aún siendo estudiante de Computer Science 
en Finlandia, envío su primer mensaje al grupo de noticias minix, respecto a un 
proyecto personal sobre el sistema operativo Minix39, véase Figura 1.28. 
 
 
 
 
Al que le siguió un mensaje, que muchos consideran el verdadero inicio del Linux, 
véase Figura 1.29. 
 
 
 
Respecto al inicio, Linux escribiría años después lo mostrado en la Figura 1.30. 
 
 
9 Medina, López Francisco. Fundamentos de Sistemas Operativos, 2006 v 2.2., COAPA, DGSCA. 
Figura 1.28. Mensaje enviado por Torvalds a Minix 
Figura 1.29. Mensaje considerado el inicio de Linux 
Neevia docConverter 5.1
 36 
 
Las versiones iniciales fueron distribuidas en código fuente por el propio Linus, 
para que otras personas pudieran entender su proyecto y sobretodo para que lo 
ayudaran. 
 
Linus trabajó activamente hasta la versión 0.96, tras ello, se sumaron al proyecto 
más programadores y se formó un grupo de desarrollo amplio (Linux Developers) 
que continúa siendo dirigido por él; pero como el mismo lo reconoce, su labor es 
más la de un “router” del grupo que la del desarrollo en si. 
Para consultar la Historia cronológica del desarrollo de GNU LINUX véase la tabla 
de la Figura 1.31. 
 
 
 
Objetivos de GNU/Linux 
GNU/Linux fue diseñado teniendo en mente los siguientes objetivos: 
Crear un sistema interactivo de tiempo compartido diseñado por programadores y 
para programadores, destinado a usuarios calificados, que fuera sencillo, 
elegante, escueto y consistente, que permitiera resolver problemas complejos 
combinando un número reducido de comandos básicos. 
Figura 1.31. La historia de GNU/Linux 
Neevia docConverter 5.1
 37 
Filosofía del sistema GNU/Linux 
Los objetivos con que se creó determinaron una “filosofía” caracterizada por: 
- comandos cortos, simples, específicos y muy eficientes, que “hacen una 
sola cosa pero la hacen muy bien” 10. 
- Entrada y salida estandarizadas que permiten la interconexión de 
comandos. Esto se llama entubamiento “pipelining”: la salida de un 
comando es tomada por el siguiente como entrada. 
- todo es un archivo. 
 
Distribuciones. 
GNU/Linux es sólo el núcleo del sistema operativo, pero necesita aplicaciones y 
programas para hacer algo. Muchos han sido migrados a Linux, otros han sido 
creados específicamente para GNU/Linux, todos ellos se encuentran en Internet 
dispuestos a que cualquiera los baje y los instale en su sistema. 
Como esto es una ardua tarea no tardan en surgir compañías dedicadas a reunir 
todos esos programas facilitando la tarea de crear un sistema Linux funcional 
como: Slackware, Debian, SuSE, Mandriva, Red Hat, Fedora Core, CENTOS. 
 
 
1.6. Módulo 6. Habilidades directivas para administradores. 
 
Liderazgo en la organización 
Una definición de liderazgo es la de influir, guiar o dirigir a los miembros del grupo 
hacia el éxito o en la consecución de metas y objetivos organizacionales lo cuál 
conlleva a comprender la importancia de la persona responsable de ser líder, en 
las organizaciones nuestros jefes o nosotros mismos. Véase Figura 1.32. 
 
10 Ibidem. 
Neevia docConverter 5.1
 38 
 
 
 
Algunas personas se inclinarán hacia las relaciones interpersonales, hacia las 
personas, hacia la cohesión de un grupo, mientras que otras lo harán hacia 
aspectos de productividad y el logro de metas organizacionales. 
 
Estilos de liderazgo. 
 
Teoria de Blake y Mounton 
Jane Mounton y Kobert Blake –ambos de nacionalidad inglesa- diseñaron un 
sistema para determinar el estilo de autoridad de quien ejerce el mando en una 
organización. Este sistema tiene el nombre de Grid Gerencial, y consiste en un 
gráfico formado por un eje horizontal y otro vertical. El eje horizontal del tablero 
representa el interés por la producción y el eje vertical el interés por las personas. 
Cada eje representa una escala del uno al nueve, en el que el número uno 
 Habilidades 
que debe poseer un 
 dirigente. 
� Aumentar la autoestima y valía de los 
miembros del equipo. 
� Aumentar la cohesión y el espíritu de equipo 
de los miembros de su grupo. 
� Motivar la productividad y el logro de las metas 
organizacionales. 
� Apoyar a los miembros a alcanzar esasmetas 
por sí mismos –proporcionando la planeación, 
programación, coordinación, solución de 
problemas y suministros- de los recursos 
necesarios. 
Figura 1.32. Orientaciones hacia el Liderazgo 
Neevia docConverter 5.1
 39 
representa un menor interés, sea por la tarea o las personas, en tanto que el 
número nueve representa el máximo interés en cada escala, véase Figura 1.33. 
 
 
 
 
La malla gerencial tiene 81 posiciones posibles, sin embargo, son cinco las más 
representativas del alcance de esta teoría. Cada posición se puede definir como 
un estilo de gerencia, aplicable a la empresa o a las personas. 
 
Motivaciones El sentido de fortaleza de este líder proviene de sentirse poderoso, sin 
someterse a nada ni a nadie, obteniendo el acatamiento sin 
cuestionamientos de sus subordinados. 
Efectos Los compromisos con la organización se diluyen 
Se trata de evitar los castigos y asegurar las recompensas 
Limita la creatividad 
Manejo del 
conflicto 
Probable que el gerente vea el desacuerdo como insubordinación y su 
respuesta es la represión. 
El enfoque consiste en ganar, forzando a otras personas a ceder. 
No le importa ser apreciado por otros, es irrelevante si sus adversarios se 
sienten humillados. 
Toma de deciones Son individuales y unilaterales. 
Crítica Las críticas son rara vez constructivas, es una evaluación unilateral 
enfocada a descubrir fallas y culpas 
 
 Posición 9,1 
 Estilo de mando 
autoridad-obediencia 
(véase Figura 1.34.) 
� Alta preocupación por la obra y baja por la gente. 
� Lema “Producir o morir”. 
� Se sacrifica a las personas para el logro de la tarea. 
� Capataz exigente que sabe qué hacer para que el 
trabajo se haga. 
� Único propósito obtener resultados. 
� El trabajo se dispone de tal manera que se elimina la 
necesidad de que los subordinados piensen con la 
finalidad de obtener resultados más rápidos. 
 
Figura 1.33. Malla gerencial. Teoria de Blake y Mounton 
Figura 1.34. Autoridad - Obediencia 
Neevia docConverter 5.1
 40 
 
Características Se dirige de acuerdo con lo que la gente quiere. 
Las relaciones sociales son muy importantes. 
El jefe es el amigo. 
Se estimula la lealtad a través de prebendas. 
El jefe está dispuesto a consolar más que a mandar. 
Flexibilidad en normas y sanciones. 
Comunicaciones informales. 
Se tapan los errores. 
El ritmo de trabajo es confortable 
Efectos Escasa dedicación al trabajo. 
Los objetivos de la empresa no se cumplen. 
Puede llevar a hacer desaparecer la empresa. 
Motivaciones La persona se siente segura cuando las relaciones son positivas y 
cuando otras personas la aceptan y la aprueban, temor al rechazo 
que lo deja lastimado o herido. 
La crítica se toma como una forma de rechazo. 
Aborrece el conflicto porque toma el desacuerdo como algo 
personal. 
Manejo del conflicto Lo maneja mediante el humorismo, se convierte en una forma de 
desviar la atención de un tema serio a fin de evitarlo. 
Evade las negativas. Cuando otras personas reaccionan con enojo o 
de forma hostil, tiende a bajar el tono de vos e incluso se torna 
sumisa. 
Toma de decisiones Puede ser un placer cuando tienen alta probabilidad de ser 
aceptadas por los demás, “evito tomar decisiones que son 
frustrantes para otras personas, si surge algo que sea inquietante 
me aseguro de que las otras personas sepan que no es mi culpa” 
Siempre que es posible, las decisiones desagradables son 
delegadas. 
Crítica Su reacción es “Yo trato de hacer que los demás se sientan bien 
dando enfoque positivo a las cosas. Cuándo las personas están 
felices, se sienten naturalmente motivadas para hacer las cosas 
mejor”. 
 
 
Posición 1,9 
Estilo de mando 
Club Campestre 
(véase Figura 
1.35.) 
 
� Contraria a la anterior. 
� Escasa preocupación por la tarea y alta prioridad en la 
relación con la gente. 
� Lema “Todos somos hermanos”. 
� Maneja asuntos a través de caminos indirectos ideales para 
crear amistad y camaradería. 
� Menor énfasis en la producción a pesar de no ser intencional. 
� La gente trabaja a un ritmo suave con otras personas que le 
simpatizan 
� El interés se enfoca en las áreas de acuerdo y satisfacción. 
� La creatividad y la innovación toman un papel secundario 
porque con demasiada frecuencia conducen a la controversia 
y al desafío. 
 
Figura 1.35. Club campestre 
Neevia docConverter 5.1
 41 
 
Características Administración empobrecida. 
Se hace sólo lo necesario para sobrevivir. 
Se asignan tareas pero nunca se les da seguimiento. 
Es necesario mantenerse fuera de los problemas. 
Se eluden responsabilidades. 
Se siguen las normas y los reglamentos ciegamente. 
El jefe es el mensajero entre los superiores y los subordinados. 
Comunicaciones mínimas. 
Aislamiento y mimetismo. 
Efectos Poco compromiso con los objetivos si es que los tiene. 
Pocas ideas de cambio. 
Existe poca o ninguna lealtad. 
Evita todos los riesgos. 
Motivaciones La motivación positiva es un deseo de no involucrarse, de cumplir 
con los requisitos de trabajo, y de exponerse lo menos posible al 
contacto con otras personas. 
Se siente emocionalmente agotado y apartado. 
Si puede abrigar sentimientos de preocupación por la organización 
y sus miembros, el involucrarse es visto “como algo que no vale la 
pena”, sin embargo, hay conciencia de que se debe demostrar 
suficiente presencia para mantener el empleo. 
Hacer el mínimo necesario para acumular antigüedad, sin ninguna 
consideración real por hacer una contribución. 
La necesidad de conservar el trabajo personal es lo que conduce a 
la motivación negativa. 
Mantiene a las personas a distancia de tal suerte que no tiene 
muchos enemigos, ni tampoco muchos amigos. 
Manejo del conflicto Tiene muchas maneras de crear la apariencia de responder sin 
presentar ningún punto de vista. 
Congruente con la estrategia básica de mantener la neutralidad a 
fin de estar a salvo. 
Toma de decisiones Cree que si las decisiones se posponen o retrasan, tal vez los 
problemas se resolverán por sí mismos o simplemente 
desaparecerán. 
Define en lugar de decidir. 
La delegación es considerada una virtud. 
Crítica Nunca pensaría en hacer crítica (no es que la evite, simplemente 
no piensa en ella). 
En cuanto a la retroalimentación “¡Por qué empezar una pelea!”, 
como quiera que sea la gente debe juzgar su propio desempeño. 
Quienes tienen talento tratan de escapar, un equipo o 
departamento dirigido de este modo, tiende a ser cada vez menor. 
El resultado probable es el fracaso. 
 
 
Posición 1,1 
Estilo de mando 
 Empobrecido 
(véase Figura 
1.36.) 
 
� Este jefe experimenta una leve contradicción o no 
experimenta ninguna contradicción entre la necesidad de 
producción y las necesidades de la gente. La preocupación 
por ambos es mínima. 
� Lema “Nada de nada”. 
Figura 1.36. Mando empobrecido 
Neevia docConverter 5.1
 42 
Figura 1.37. Hombre - Orghanización 
 
Características Se buscan soluciones intermedias que satisfagan los factores en conflicto. 
La autoridad no se ejerce sino a través de normas, reglamentos y 
procedimientos. 
Se le hace creer a la gente que se le da participación, pero está no existe. 
Efectos Los planes se modifican continuamente. 
Permite la creatividad en forma restringida 
Rara vez se enfrenta a los conflictos, porque se teme perder o ganar. 
Se obtienen resultados apenas satisfactorios. 
Motivaciones La motivación consiste en evitar que se le humille a uno que se le ponga 
en ridículo. 
Cuando cae en la gracia de sus colegas, experimenta dolor y pena. 
Estar en desacuerdo puede conducir a la perdida de la amistad y a la 
membresía propia. 
Ansiedad en virtud de que necesita a otras personas para saber como 
pensar. 
Manejo del conflicto Ve una contradicción básica entre las necesidades de la gente y las 
necesidades de productividad de la organización. 
La confrontación directa es vista como un situación en la cuál alguien gana 
y alguien pierde. 
El gerente retrocede hasta que las tensiones se calmen. 
La resolución de conflictosconsiste en la avenencia, el acomodo y en 
dividir la diferencia. 
Representa un desempeño promedio y no excelente. 
Toma de decisiones Delega sobre la base de justicia y equidad. 
Deslinda responsabilidades de tal manera que cada persona obtenga una 
parte equitativa. 
Nadie debe tener más responsabilidades que otras. 
La popularidad más que las pruebas objetivas es determinante para la 
toma de decisiones. 
Crítica Si usted estimula a los subordinados para que hagan bien las cosas 
ofreciéndoles elogios, esto los mantiene motivados para lograr un nivel 
aceptable de trabajo, sin embargo, esto puede ser contraproducente. 
No le gusta darle malas noticias a la gente, sin embargo, se percata de 
que la gente necesita conocer sus debilidades a fin de mantenerse al ritmo 
del grupo. 
En la retroalimentación es superficial y llano. 
No es sincero, abierto o directo. 
 Posición 5,5 
 Estilo de mando 
 Hombre-organización 
(véase Figura 1.37.) 
 
� Mediana preocupación por la obra y mediana por la gente. 
� Lema “Estamos en la cuerda floja”. 
� Sólo empuja para lograr un nivel de productividad 
moderado y a cambio proporciona un monto de 
consideración aceptable para las actitudes y sentimientos 
de la gente que lleva a cabo su trabajo. 
� Progresa razonablemente dentro del sistema siguiendo las 
reglas y reglamentos para mantener el estatus como 
miembro con buena reputación. 
� Operan con la regla de toma y da: da un poco para obtener 
un poco. 
� Tienden a guiarse por otras personas. 
� Es un esfuerzo positivo como norma de grupo. La gente se 
convierte en una porra para animarse unos a otros a fin de 
crear un espíritu de equipo “se puede hacer”, de 
entusiasmo y emoción, sin embargo, el problema es que no 
se tolera la negatividad y el equipo puede perder de vista la 
realidad. 
Neevia docConverter 5.1
 43 
 
 
Características No existe conflicto entre la producción y la gente, existe una integración 
efectiva. 
Se buscan las mejores soluciones. 
La piedra angular de esta posición es el trabajo en equipo o grupo de 
trabajo. 
Participación del personal en el proceso de planeación y definición de 
objetivos. 
Se involucra a la gente en las soluciones y los resultados. 
Se realiza autocontrol y auto dirección, el jefe es el consultor y el 
consejero. 
Efectos Se entrelazan las necesidades de la institución y las del individuo. 
La creatividad esta en un alto nivel. 
Se presentan innovaciones fundamentales en el trabajo. 
Se manejan los conflictos en forma clara y confrontación directa. 
Motivaciones La motivación se caracteriza por un alto sentido de gratificación, de gozo 
con el trabajo y emoción por contribuir con la empresa. 
El lado negativo es el “temor al egoísmo”. Esto significa perder la 
perspectiva, identificarse más con la forma propia de hacer algo y perder 
de vista la aportación de otras personas. 
Manejo del conflicto Les permite a la personas no estar de acuerdo con ventilar sus 
desacuerdos a la luz de los hechos, y en última instancia entenderse entre 
sí. 
La sinergia es una meta de la resolución de problemas y se hace posible 
al hacerle frente al conflicto y confrontándolo en lugar de tratar de 
eliminarlo o huir de él. 
En una confrontación no hay ganador ni perdedor. Todo mundo sale 
adelante al haber encontrado una solución más sana. 
Toma de 
decisiones 
Se propone lograr el entendimiento y el acuerdo entre las personas a 
quienes afecta la propia decisión. Esto describe la condición óptima, ya 
que todas las dudas y reservas han sido eliminadas y se ha establecido 
un consenso con respecto a un fin específico. 
Incluso si no es posible un acuerdo pleno, los miembros del equipo tienen 
un sentido del compromiso con la decisión final, toda vez que ellos han 
tenido una oportunidad de prestar sus mejores ideas y expresar sus 
dudas y reservas. 
La delegación de toma de decisiones proporciona una oportunidad de 
desarrollo importante. El jefe ayuda a un subordinado a obtener 
experiencia en una nueva área que aumenta el sentido de autonomía y el 
logro personal. 
Crítica Es autocrítico y receptivo a la retroalimentación de otros miembros del 
equipo. 
Cuando la crítica se hace con eficacia, se aumenta el potencial de las 
decisiones fortalecidas. 
 Posición 9,9 
 Estilo de mando 
 Trabajo en equipo 
(véase Figura 1.38.) 
 
� Alta preocupación por la obra y alta por la gente. 
� Lema “Todos somos el equipo”. 
� Supone que no existe contradicción entre el fin de la 
organización y la necesidad de que la gente sea 
productiva. 
� Reúne a la gente todo el tiempo para obtener su punto 
de vista. 
� El objetivo consiste en promover la participación, el 
involucramiento y el compromiso con el esfuerzo del 
equipo, dirigido a lograr los fines de la organización lo 
más plenamente posible. 
Neevia docConverter 5.1
 44 
Este enfoque de doble vuelta de la retroalimentación permite el 
aprendizaje de la experiencia. 
Tiene la más alta probabilidad de lograr consecuencias positivas con y a 
través de otras personas, independientemente del estilo de gris de estas 
últimas. Esto obedece a que tratar a las personas de esta manera tiene el 
efecto de ascenderlas a un nivel de resolución de problemas. 
La gente tiene probabilidad de trabajar conjuntamente de manera más 
productiva desde está posición. 
Tiende a sacar lo mejor de la gente porque los principios constituyen 
valores medulares de cada individuo. 
 
 
 
1.7. Módulo 7. Administración de Bases de Datos. 
Servidores de Bases de Datos. 
 
Origines relacionados de SQL. 
El modelo relacional de administración de bases de datos fue desarrollado por 
Edgar Frank Codd a principios de decenio de 1970 en el laboratorio de 
investigación de IBM establecido en San José11. SQL era originalmente las siglas 
en ingles del Lenguaje de consulta Estructurado (Structured Query Language que 
se pronuncia sicuel), pero ahora es un nombre. También fue desarrollado por el 
equipo de investigación de IBM a mediados de la misma década con el propósito 
de ser un objeto de interfaz de consulta, “parecido al ingles” para el prototipo de 
base de Datos relacional denominado System R.. si bien SQL es un lenguaje 
“semejante” al ingles, tiene hondas raíces en la rama de las matemáticas conocida 
como teoría de conjuntos y cálculo de predicados, el modelo relacional pugna por 
una clara separación de los aspectos físicos de la información de su 
representación lógica. 
 
Esquemas de seguridad en el RDBMS: 
Dentro del DBMS podemos encontrar un acceso multicapas12 y los componentes 
de un RDBMS 13, para profundizar se presenta nuevamente el componente: 
 
11 La referencia a las publicaciones es: http://portal.acm.org/portal.cfm 
12 Para profundizar en este tema se puede consultar el capítulo 1.1. página 9 
13 Para profundizar en este tema se puede consultar el capítulo 1.1. página 10 
 
Figura 1.38. Trabajo en Equipo 
Neevia docConverter 5.1
 45 
DCL o Lenguaje de Control de Datos: Se utiliza para la definición de los privilegios 
de control de acceso y edición a los elementos que componen la base de datos 
(seguridad), es decir, permitir o revocar el acceso. 
 
Los permisos a nivel base de datos pueden otorgarse a usuarios para ejecutar 
ciertos comandos dentro de la base o para que puedan manipular objetos y los 
datos que puedan contener estos. 
 
Las instrucciones relacionadas con este componente son: 
� Grant. Permite otorgar permisos a los usuarios sobre los objetos definidos 
en la base de datos, así como las operaciones a utilizar sobre ellos. 
� Revoke. Permite revocar permisos sobre los objetos definidos en la base de 
datos y las operaciones sobre los mismos. 
 
Usuarios en una Base de Datos 
� El programador de aplicaciones, quien se encarga de escribir los programas 
de aplicación que utilizan la base de datos. 
� El usuario final, el cual tiene acceso a los datos de la base a través de

Continuar navegando