Logo Studenta

Proyecto-de-implantacion-de-un-sistema-de-administracion-de-bases-de-datos-para-el-area-de-activos-especiales-de-BANAMEX

¡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 
 
 
 
“PROYECTO DE IMPLANTACIÓN DE UN SISTEMA 
DE ADMINISTRACIÓN DE BASES DE DATOS 
PARA EL ÁREA DE ACTIVOS ESPECIALES DE 
BANAMEX” 
 
 
TESINA QUE PARA OBTENER EL TÍTULO DE: 
 
 
INGENIERO EN COMPUTACIÓN 
 
 
BAJO LA MODALIDAD DE SEMINARIOS Y CURSOS 
DE ACTUALIZACIÓN Y CAPACITACIÓN 
PROFESIONAL 
 
 
P R E S E N T A : 
 
 
NORMA FAUSTINOS GARCIA 
 
 
 
A S E S O R: 
 
Ing. Norma Raquel Soto Arredondo 
 
 
México, 2010 
 
 
 
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. 
 
 
 
 
 
 
 
 
 
Dedico este trabajo a: 
 
 
 
 
 
Mi madre (Raquel García) y 
 
 
Hermanas (Carmen, Luz y Adriana Faustinos) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AGRADECIMIENTOS 
 
 
 
 
Primero quiero dar gracias a Dios, porque a pesar de que muchas veces puse mis intereses por 
encima de él, nunca me faltó, y aunque no soy su hija más devota, en él confío por estar conmigo 
en cada paso que doy, por iluminar mi mente y por haber puesto en mi camino a aquellas personas 
que fueron mi soporte y compañía durante todo el periodo de estudio. 
 
A mi madre, le agradezco su guía y confianza, porque me enseñó que la satisfacción se encuentra 
en mis propios progresos y no en las apreciaciones de los demás, me preparó para encarar las 
adversidades, me ha dado todo lo que soy como persona, mis valores, mis principios, mi 
perseverancia y mi empeño. 
 
A mis hermanas, por las cosas que me permitieron aprender de ellas y por las que de todos modos 
aprendí a pesar suyo, por las veces que me defendieron de los demás, por sus consuelos. Les 
brindo mi reconocimiento por ser más de lo que les pedí y de lo que en algunas ocasiones merecía, 
por dar más de lo que necesité, por valerse de sus experiencias propias para enseñarme el valor de 
prever, por velar por mí, por eso y por tantas cosas que jamás terminaré de agradecer. ¡Las quiero 
mucho! 
 
A mis sobrinos con mucho cariño, las presiones siempre son más llevaderas si están acompañadas 
de momentos agradables y de personas que te permiten disipar la carga (Aun y cuando en 
ocasiones llegan a ser un verdadero dolor de cabeza). En mis oraciones siempre le pido a Dios que 
les permita tomar las decisiones correctas que los lleve a convertirse en personas exitosas y extra 
talentosas. Los amo y quiero que sepan que no hay nada imposible de alcanzar, recuerden que 
nosotros nos ponemos nuestros propios límites y lo más importante en esta vida es ser feliz. Espero 
algún día muy cercano ser testigo del logro de sus metas. 
 
A Rodrigo Cedillo (Mi eterno amigo), Juan Carlos Escobar (Mi compañero de universidad), 
Andrés García (Mi apoyo) y Arturo Díaz (Mi amigo incondicional), personas increíbles con 
quienes compartí momentos inolvidables, ustedes enriquecieron mi vida con su amistad, gracias 
porque siempre me escucharon y a pesar de la distancia siempre se han mantenido constantes. 
 
Agradezco a la Ing. Norma Soto por haber confiado en mi persona, por la paciencia y por el 
asesoramiento en la realización del presente trabajo. 
 
Le brindo mi gratitud a cada uno de los maestros que participaron en mi desarrollo profesional 
durante mi carrera, sin su ayuda y conocimientos no estaría en donde me encuentro ahora. 
 
También quiero hacer extensivo mi reconocimiento a Lic. Luis E. Palacio y C.P. Román 
González, sé que confían en mi capacidad y en mi persona, y debo agradecerles el que nunca me 
pongan traba alguna cuando se trata de mi superación personal, al contrario, siempre me han 
empujado a hacerlo. 
 
 
En general quisiera agradecer a todas y cada una de las personas que han vivido conmigo la 
realización de este trabajo, con sus altos y bajos y que no necesito nombrar porque tanto ellas 
como yo sabemos que desde lo más profundo de mi corazón les agradezco el haberme brindado 
todo el apoyo, ánimo y sobre todo su cariño. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ÍNDICE
 
 
 
 
1.4.2 PHP…………………………………………………………………………....………… 16 
1.4.3 Proyecto final del modulo programación de clientes…………………..…....……. 16 
INTRODUCCIÓN …………………………………………..………………………………….….... 1 
 
CAPÍTULO 1: REPORTE DEL DIPLOMADO DE ADMINISTRACIÓN DE BASES DE 
DATOS……….…………..………….………….………….………….………….………………….... 3 
 
1.1 Sistemas de Información y modelos de datos relacional………………………...……...... 3 
 
1.1.1 Bases de datos ……………………………………………………………………...... 3 
 
1.1.2 Modelos de datos…………………………………………………………..………..... 3 
 
1.1.3 Modelo Relacional……………………………………………………………..…….... 5 
 
1.2 Sistemas Manejadores de Bases de Datos Relacionales (RDBMS)………….….………..… 6 
 
1.2.1 Arquitectura y niveles de seguridad de los Sistemas Manejadores de 
 Bases de Datos……..……………………………………………………….………… 7 
 
1.2.2 Tipos de Datos y usuarios……………………………………..……………………… 9 
 
1.3 Lenguaje Estructurado de Consulta SQL……………………..……………………..……….. 10 
 
1.3.1 Definición de datos………….…………….……………………………...…………… 10 
 
1.3.2 Manipulación de datos………………….….………………………………...……….. 11 
 
 1.3.2.1 Selección de datos……….……..………………….…………..………….. 11 
 
 1.3.2.2 Inserción de datos…….…………………………..………………..……... 12 
 
 1.3.2.3 Actualización y eliminación de registros…………………..………….…. 13 
 
1.3.3 Control de datos…………………………………………………….…………………. 13 
 
1.3.4 Manejo de transacciones, procedimientos almacenados y Triggers…….……….. 13 
 
1.4 Programación de clientes……………………………………………………………...………. 15 
 
1.4.1 HTML (Hyper Text Markup Language)…………………………...…………………. 15 
 
 
 
 
 
 
 
1.5 Fundamentos de sistemas operativos…………………………….……………...…………… 18 
 
1.5.1 UNIX………..……………………………………………………………….....………. 19 
 
 1.5.1.1 Administración de Linux..………..………………………………………... 19 
 
 1.5.1.2 GNU/LINUX………………………………………………………………….. 21 
 
1.5.2 Windows Server 2000…………………………………………….………….……….. 22 
 
1.6 Habilidades directivas……………………….………………………………………………….. 23 
 
1.6.1 Liderazgo y estilos de comunicación………....………….……………………..…… 23 
 
1.6.2 Presentaciones y reuniones efectivas……………………...…...………...………… 24 
 
1.6.3 Definición de metas…………………..……………………………….……...………. 25 
 
1.7 Administración de bases de datos……………….……………….…..………………………. 26 
 
1.7.1 Sybase…………….…………………………………………..………………………… 27 
 
 1.7.1.1 Tamaño de una base de datos……….……………………………...…… 27 
 
 1.7.1.2 Usuarios, roles y privilegios.……………………..…………………….…. 28 
 
 1.7.1.3 Administración de usuarios………………………………………………... 29 
 
 1.7.1.4 Respaldos.……………………………………………………………...…… 29 
 
1.7.2 PostgreSQL……….………………………………………………………………...….. 29 
 
 1.7.2.1Usuarios y privilegios..……………………………………………...….….. 30 
 
 1.7.2.2 Tareas de mantenimiento de la base de datos………………….……… 31 
 
 1.7.2.3 Respaldos…..……………………………………………………………….. 32 
 
1.7.3 Mysql……….……………………………………………………………………...….... 32 
 
1.8 Mejores prácticas en la función de la administración de bases de datos.……..…………. 33 
 
1.8.1 ITIL (Information Technology Infrastructure Library)……………….……….....… 34 
 
1.8.2 Objetivos de control………..…………………………………………….……..…….. 34 
 
 
 
1.8.3 Sistema de Gestión de la Seguridad de la Información (SGSI) y Continuity 
 of business COB………………………………………………………………......…… 36 
 
1.8.4 Auditoría Informática.……………………………………………….………...……… 37 
 
1.9 Seguridad en Bases de datos……………………….………..…………….…………………. 37 
 
1.10 Performance and Tuning……………………….……………………..………….…………… 39 
 
1.10.1 Modificación de la configuración predeterminada del SQL Server……...………. 40 
 
1.10.2 Refinación en la asignación de recursos de disco……………………..………….. 41 
 
1.11 Modelado Orientado a objetos………………………………………..…………………...…. 42 
 
1.11.1 UML………………………………………………………………………….…………. 43 
 
1.11.2 Proyecto final del módulo modelado orientado a objetos………..…….………… 44 
 
1.12 Tópicos avanzados de bases de datos…………………………..………………..……….... 47 
 
1.12.1 Minería de datos………………………………………………………….…………... 47 
 
1.12.2 Data Warehousing………………………………………………………..……..……. 47 
 
1.12.3 Bases de datos multidimensionales…..………………………………...…...…..…. 48 
 
CAPÍTULO 2: PLANTEAMIENTO, JUSTIFICACIÓN Y REQUERIMIENTOS DEL 
SISTEMA……….…………..………….………….………….………….…………….…………….… 49 
 
2.1 Planteamiento y justificación del sistema……………………………………………….…….. 49 
 
2.2 Requerimientos del sistema.………………………………………………………..………….. 51 
 
CAPÍTULO 3: DESARROLLO DEL PROYECTO…………..………………….……………….…. 52 
 
3.1 Acceso al sistema………………………………………….………………………..…….…….. 52 
 
3.2 Usuarios………………………………………….……………………………..……….……….. 53 
 
3.2.1 Administración de usuarios (Búsqueda, creación, actualización y eliminación)…. 53 
 
3.2.2 Cambio de password……………………….………………………………………… 56 
 
3.2.3 Bitácoras de acceso………………………………………………………..………….. 57 
 
3.3 Respaldos……………………………………….…………………………………….…..……… 59 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3.4 Bases de datos………………………………….…………………….…………..……………… 61 
 
3.4.1 Consulta de datos………………………….…………………….…………..………… 62 
 
3.4.2 Administración de las bases de datos (Búsqueda, creación y eliminación)….... 62 
 
3.4.3 Tablas……………………….…………………………………………………………. 64 
 
3.4.4 Inserción y/o modificación de datos……….…………………………………..….. 66 
 
CONCLUSIONES…………………………………………….…………………………………..……. 68 
 
GLOSARIO…………………………………………….………………………………………..……… 70 
3.3.1 Creación de respaldos………………………….………………………..………….. 59 
 
3.3.2 Recuperación de datos……………………….………………….……..…………… 60 
 
1 
 
INTRODUCCIÓN 
 
 
 
 
Hoy, la importancia e impacto de las bases de datos es incuestionable a medida que organizaciones 
gubernamentales, instituciones académicas y entidades comerciales, crean y mantienen grandes 
bases de datos que contienen toda clase de información, desde documentos de texto en lenguaje 
natural, tablas estadísticas y datos financieros, hasta datos de naturaleza técnica y científica. 
 
Existen programas denominados Sistemas Manejadores de Bases de Datos (DBMS) que permiten 
almacenar y posteriormente acceder a los datos de forma rápida y estructurada. 
 
Las tecnologías de bases de datos, incluyendo métodos de arquitectura y acceso, se están 
desarrollando rápidamente para mantenerse al día con la demanda de mecanismos de 
administración de la información, por ello la Universidad Nacional Autónoma de México, a través de 
la Dirección General de Servicios de Cómputo Académico, imparte el Diplomado de Administración 
de Base de Datos, con la finalidad de formar profesionales que apliquen técnicas efectivas en el 
manejo de los DBMS, desde su modelado, hasta su implementación, optimización y administración. 
 
El objetivo del presente trabajo, es mostrar un informe de los temas tratados en el Diplomado 
anteriormente mencionado, y así mismo presentar el proyecto de un sistema a través del cual se 
realice la administración de bases de datos. 
 
Dicho sistema fue creado debido a la necesidad que se tiene en el área de Activos especiales de 
Banamex de almacenar grandes cantidades de información concernientes a procesos que se llevan a 
cabo y que hoy en día requieren estar bajo control. 
 
A continuación hago una breve mención de los temas contenidos en este trabajo escrito: 
 
 Conceptos fundamentales de bases de datos, modelo relacional y Sistemas Manejadores de 
Bases de Datos Relacionales. 
 
 Principales sentencias del lenguaje SQL para la extracción y manipulación de información 
contenida en bases de datos. 
 
 Nociones generales de HTML y PHP, así como presentación de un sistema capaz de 
conectarse a diversas bases de datos a través de una aplicación web. 
 
 Conceptos de Sistemas Operativos, comandos Linux y herramientas cruciales para la 
administración de usuarios, procesos, archivos y todo lo relacionado con el sistema que aloje 
bases de datos. 
 
 Información esencial para lograr una buena comunicación con el equipo de trabajo que a la 
vez nos lleve al logro de metas. 
 
 Instalación, configuración y realización de tareas de administración y mantenimiento en los 
siguientes RDBMS: PostgreSQL, Sybase y Mysql. 
 
 
 
2 
 Fundamentos básicos de la auditoría informática y las organizaciones dedicadas a ellas, 
como lo es ISACA (Asociación de Auditoría y Control de Sistemas), las normas que establece, 
los objetivos de control de COBIT (Objetivos de Control para la Información y la Tecnología 
Relacionada) y las mejores prácticas de ITIL (Biblioteca de Infraestructura de Tecnología de 
la Información) relacionadas con la administración de Bases de Datos. 
 
 Principales vulnerabilidades de seguridad de los equipos que se encuentran conectados en 
red, técnicas de prevención y corrección ante éstas. 
 
 Configuración de memoria de SQL Server y refinación en la asignación de recursos de disco. 
 
 Conceptos relacionados al Modelado Oriento a objetos y Lenguaje de Modelado Unificado. 
 
 Temas avanzados de bases de datos (Minería de datos, Data Warehousing, OLAP o bases de 
datos multidimensionales.) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3 
CAPÍTULO I 
 
 
REPORTE DEL DIPLOMADO DE “ADMINISTRACIÓN DE BASES DE DATOS” 
 
 
 
 
1.1 SISTEMAS DE INFORMACIÓN Y MODELO DE DATOS RELACIONAL 
 
Un dato es la unidad mínima de información, es un hecho sin evaluar ó un valor sin significado. La 
información se obtiene asociando estos hechos en un contexto determinado, también se puede 
definir como un conjunto de datos interrelacionados entre sí de forma que ante una entrada 
proporcionada por un mundo exterior produce una respuesta (salida). Así pues los sistemas de 
información son un conjunto de componentes que interactúan entre sí para lograr un objetivo 
común para la toma de decisiones. 
 
 
1.1.1 BASES DE DATOS 
 
Una base de datos es un conjunto de datos relacionados entre sí, su contenido engloba a la 
información concerniente de una organización, de tal manera que los datos estén disponibles para 
los usuarios en tiempo real y sean compatibles con usuarios concurrentes. 
 
Las características de las bases de datos son: 
 
 Redundancia.- Se refiere a la existencia de información repetida o duplicada 
innecesariamente. Dentro de una base de datos relacional la redundancia debe ser mínima y 
controlada. 
 
 Consistencia.- Es la evaluación de las reglas del negocio, es decir, verificar que los datos 
estén siguiendo ciertas reglas. Es probable que surjan incongruencias al almacenar la misma 
información en más de un lugar; ya que al modificar, eliminar o agregar un dato,se debe 
realizar en cada una de las instancias del mismo con el riesgo de no realizarlo en su 
totalidad, generando datos inconsistentes. 
 
 Integridad.- Es la facultad de poder implementar los mecanismos necesarios para que los 
datos guarden consistencia. 
 
 Seguridad.- Hoy en día en las empresas, la información es considera como uno de los activos 
más valiosos e importantes, por lo que la seguridad de la misma es muy importante e 
implica asegurar que los usuarios están autorizados para llevar a cabo lo que tratan de 
hacer. 
 
 
1.1.2 MODELOS DE DATOS 
 
Los modelos de datos son una colección de herramientas conceptuales utilizadas para describir los 
datos, las relaciones que existen entre ellos, la semántica asociada a ellos y las restricciones de 
consistencia. 
 
4 
En un enfoque más amplio, un modelo de datos permite describir los elementos que intervienen en 
una realidad o en un problema dado y la forma en que se relacionan dichos elementos entre sí. Los 
modelos de datos se dividen en tres grupos: lógicos basados en objetos, lógicos basados en 
registros y físicos de datos (Figura 1.1). 
 
 
Figura 1.1 Modelos de datos 
 
 
Los modelos lógicos basados en objetos se usan para describir datos en los niveles conceptual 
y de visión, es decir, con este modelo se representan los datos de tal forma como nosotros los 
captamos en el mundo real. Los más conocidos son el modelo entidad-relación y el orientado a 
objetos. 
 
 Modelo entidad-relación.- Es el más utilizado para el diseño conceptual de bases de datos, 
permiten describir la realidad mediante un grupo de representaciones gráficas y lingüísticas. 
 
 Modelo orientado a objetos.- Se basa en encapsular código y datos en una única unidad, 
llamada objeto. La interfaz entre un objeto y el resto del sistema se define mediante un 
conjunto de mensajes. Un objeto tiene asociado: un conjunto de variables que contienen los 
datos del objeto, un conjunto de mensajes a los que el objeto responde y un método, que es 
un trozo de código para implementar cada mensaje. 
 
 
Los modelos lógicos basados en registros se utilizan para describir datos en los niveles 
conceptual y físico. Estos modelos utilizan registros e instancias para representar la realidad, así 
como las relaciones que existen entre estos registros (ligas) o apuntadores. Los tres modelos de 
datos más ampliamente aceptados son: 
 
 Modelo jerárquico.- En este modelo, la forma de representar las relaciones y datos es por 
medio de registros y sus ligas. La diferencia radica en que están organizados por conjuntos 
de árboles en lugar de gráficas arbitrarias donde la raíz es un nodo ficticio. 
 
 Modelo de red.- Este modelo representa los datos mediante colecciones de registros, sus 
relaciones se representan por medio de ligas o enlaces, los cuales pueden verse como 
punteros. Una base de datos de red está formada por una colección de registros, los cuales 
están conectados entre sí por medio de enlaces. 
 
 Modelo relacional.- En este modelo se representan los datos y las relaciones entre estos, a 
través de una colección de tablas, en las cuales los renglones (tulpas) equivalen a cada uno 
de los registros que contendrá la base de datos y las columnas corresponden a las 
características (atributos) de cada registro localizado en la tulpa. 
 
 
5 
Los modelos físicos de datos se usan para describir a los datos en el nivel más bajo, aunque 
existen muy pocos modelos de este tipo, básicamente capturan aspectos de la implementación de 
los sistemas de base de datos. 
 
 
1.1.3 MODELO RELACIONAL 
 
En la década de los 80 comenzaron a aparecer numerosos Manejadores de Bases de Datos (DBMS) 
que se anunciaban como "relacionales", sin embargo, estos sistemas carecían de muchas 
características que se consideran importantes en un sistema relacional. En 1984 Codd publicó 12 
reglas que un verdadero sistema relacional debería de cumplir, éstas se resumen en las siguientes 
líneas: 
 
 Independencia física. El modo en el que se almacenan los datos no influye en su 
manipulación lógica y por tanto, los usuarios que acceden a esos datos no tienen que 
modificar sus programas por cambios en el almacenamiento físico. 
 
 Independencia lógica. El añadir, eliminar o modificar objetos de la base de datos no 
repercute en los programas y/o usuarios que están accediendo a subconjuntos parciales de 
los mismos (vistas). 
 
 Flexibilidad. El poder presentar a cada usuario los datos de la forma en que éste prefiera. 
 
 Uniformidad. Las estructuras lógicas de los datos presentan un aspecto uniforme, lo que 
facilita la concepción y manipulación de la base de datos por parte de los usuarios. 
 
 Sencillez. Las características anteriores, así como unos lenguajes de usuario muy sencillos, 
producen como resultado que el modelo de datos relacional sea fácil de comprender y de 
utilizar por parte del usuario final. 
 
En el modelo de bases de datos relacional, los datos se almacenan como tablas, llamadas 
relaciones. Es importante saber que las entradas en la tabla tienen un solo valor (son atómicos); 
no se admiten valores múltiples, todas las entradas de cualquier columna son de un solo tipo. 
 
Las relaciones están constituidas por filas (tuplas) y columnas (atributos), por ejemplo, si en la 
base de datos se quiere representar personas, se define una relación llamada "Personas", cuyos 
atributos describen las características de las mismas, cada tupla de la relación "Personas" 
representa una persona concreta. En la figura 1.2 se puede observar un ejemplo de estas 
definiciones. 
 
Figura 1.2 Relación “Personas” 
 
6 
Para distinguir una tupla de otra, se utiliza la "llave primaria", o sea un atributo o conjunto de 
atributos que permiten identificar unívocamente una tupla en una relación. Los atributos de la llave 
primaria no pueden asumir el valor nulo, cada atributo de una relación se caracteriza por un nombre 
y por un dominio. 
 
Las formas de normalización fueron propuestas originalmente por Codd, entre 1971 y 1972, 
posteriormente varios investigadores continuaron trabajando en esta teoría. Las formas normales 
son una serie de restricciones que se definen sobre las estructuras relacionales para evitar 
anomalías al efectuar adiciones, eliminaciones o actualizaciones de tuplas, así como mejorar la 
independencia de datos y eliminar la redundancia e inconsistencias de dependencia en el diseño de 
las tablas. 
 
 Primera Forma Normal (1FN).- Una relación está en primera forma normal si, y sólo si, todos 
los dominios de la misma contienen valores atómicos, es decir, no hay grupos repetitivos. Si 
se ve la relación gráficamente como una tabla, estará en 1FN si tiene un solo valor en la 
intersección de cada fila con cada columna. 
 
 Segunda Forma Normal (2FN).- Una relación está en segunda forma normal si, y sólo si, está 
en 1FN y, además, cada atributo que no está en la clave primaria es completamente 
dependiente de la clave primaria. 
 
 Tercera Forma Normal (3FN).- Una relación está en tercera forma normal si, y sólo si, está 
en 2FN y, además, cada atributo que no está en la clave primaria no depende 
transitivamente de la clave primaria. 
 
 
1.2 SISTEMAS MANEJADORES DE BASES DE DATOS RELACIONALES (RDBMS). 
 
Las bases de datos eran el resultado de una compleja programación y de complicados mecanismos 
de almacenamiento, con la popularización de la informática, la aparición de aplicaciones específicas 
también trajo la disponibilidad de herramientas de gestión de datos que dieron lugar a los 
denominados Sistemas Manejadores de Bases de Datos Relacionales, identificados por sus siglas 
RDBMS (Relational Data Base Management System). 
 
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, es responsable de las siguientes tareas: 
 
 Interactuar con el manejador de archivos.- En la base de datos, los datos se guardan en 
disco mediante el sistema de archivos,proporcionado comúnmente por el sistema operativo. 
El manejador de la base de datos, traduce las diferentes proposiciones del manejo de datos 
en comandos del sistema de archivos de bajo nivel, de esta forma el manejador se puede 
encargar del almacenamiento, recuperación y actualización de los datos. 
 
 Implantación de la integridad.- Los valores de los datos que son almacenados, deben 
satisfacer ciertas limitantes de consistencia, estas limitantes deben ser determinadas por el 
administrador, pero es el manejador el encargado de verificar que las actualizaciones que se 
hagan a la base de datos cumplan con dichas normas. 
 
 Puesta en práctica de la seguridad.- El manejador de la base de datos es quien verifica que 
los accesos sean realizados por las personas autorizadas. 
 
 
7 
 Respaldo y recuperación.- Entre las labores que debe ejecutar el manejador está la de 
verificar de forma constante la integridad de la base de datos y lograr recuperación de datos 
y/o mejoras en caso que se requieran. 
 
 Control de concurrencia.- Se podría entender como la principal tarea del manejador o por lo 
menos la más difícil. Cuando varios usuarios están accediendo la base de datos al mismo 
tiempo, es posible que la consistencia de los datos no se conserve. El manejador debe 
encargarse de coordinar los accesos de los diferentes usuarios, de forma que los datos no se 
dañen. 
 
 
Cuando un usuario realiza una operación, dentro del RDBMS se presentan las siguientes acciones 
(Figura 1.3) 
 
- El usuario hace una solicitud que se traduce a una petición SQL. 
- El RDBMS interpreta y analiza la petición, verifica sintaxis del SQL. 
- El RDBMS checa que exista la base de datos, verifica los permisos del usuario. 
- El RDBMS verifica que existan las tablas y elementos. 
- El RDBMS ejecuta las operaciones necesarias sobre la base de datos. 
- El RDBMS devuelve resultados al usuario. 
 
 
 
Figura 1.3 Funcionamiento del RDBMS 
 
 
1.2.1 ARQUITECTURA Y NIVELES DE SEGURIDAD DE LOS SISTEMAS MANEJADORES DE 
BASES DE DATOS 
 
Hay tres características importantes inherentes a los sistemas de bases de datos: 
 
1. La separación entre los programas de aplicación y los datos. 
2. El manejo de múltiples vistas por parte de los usuarios 
3. El uso de un catálogo para almacenar el esquema de la base de datos. 
 
 
En 1975, el comité ANSI-SPARC (American National Standard Institute - Standards Planning and 
Requirements Committee) propuso una arquitectura de tres niveles para los sistemas de bases de 
datos, el objetivo de esta arquitectura es el de separar los programas de aplicación de la base de 
datos física. 
 
 
 
 
 
 
 
8 
En esta arquitectura, el esquema de una base de datos se define en tres niveles de abstracción 
distintos: 
 
1. En el nivel interno se describe la estructura física de la base de datos mediante un esquema 
interno. Este esquema se especifica mediante un modelo físico y describe todos los detalles 
para el almacenamiento de la base de datos, así como los métodos de acceso. 
 
2. En el nivel conceptual se describe la estructura de toda la base de datos para una 
comunidad de usuarios mediante un esquema conceptual. Este esquema oculta los detalles 
de las estructuras de almacenamiento y se concentra en describir entidades, atributos, 
relaciones, operaciones de los usuarios y restricciones. En este nivel se puede utilizar un 
modelo conceptual o un modelo lógico para especificar el esquema. 
 
3. En el nivel externo se describen varios esquemas externos o vistas de usuario. Cada 
esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios 
determinados y oculta a ese grupo el resto de la base de datos. En este nivel se puede 
utilizar un modelo conceptual o un modelo lógico para especificar los esquemas. 
 
 
En lo que se refiere al acceso en el Sistema Manejador de Base de Datos (DBMS), se puede 
encontrar un acceso multicapas (Figura 1.4): 
 
- Acceso a Nivel Servidor. El usuario final debe tener una cuenta válida dentro de la capa del 
servidor (DBMS). 
 
- Acceso a Nivel de Base de Datos. El usuario final debe ser un usuario válido dentro de la 
capa de la base de datos. 
 
- Acceso a Nivel de Permisos sobre Objetos y Comandos. El usuario final deberá tener permiso 
dentro de la capa de los datos. 
 
 
 
Figura 1.4 Acceso multicapas 
 
 
Por otro lado, los componentes que se manejan dentro de los Sistemas Manejadores de Bases de 
Datos son (Figura 1.5): 
 
- DDL o Lenguaje de Definición de Datos 
- DML o Lenguaje de Manipulación de Datos 
- DCL o Lenguaje de Control de Datos 
- DD o Diccionario de Datos 
 
 
 
 
9 
 
 
 
 
 
 
 
 
 
Figura 1.5 Arquitectura de los RDBMS 
 
 
1.2.2 TIPOS DE DATOS Y USUARIOS 
 
Los tipos de datos SQL se clasifican en 13 tipos primarios y de varios sinónimos válidos reconocidos 
por dichos tipos de datos dependiendo del DBMS (Tabla 1.1). 
 
Tipo de 
Datos 
Longitud Descripción 
BINARY 1 byte Para consultas sobre tabla adjunta de productos de bases de datos que 
definen un tipo de datos Binario. 
BIT 1 byte Valores Si/No ó True/False 
BYTE 1 byte Un valor entero entre 0 y 255. 
COUNTER 4 bytes Un número incrementado automáticamente (de tipo Long) 
CURRENCY 8 bytes Un entero escalable entre 922.337.203.685.477,5808 y 
922.337.203.685.477,5807. 
DATETIME 8 bytes Un valor de fecha u hora entre los años 100 y 9999. 
SINGLE 4 bytes Un valor en punto flotante de precisión simple con un rango de - 
3.402823*1038 a -1.401298*10-45 para valores negativos, 
1.401298*10- 45 a 3.402823*1038 para valores positivos, y 0. 
DOUBLE 8 bytes Un valor en punto flotante de doble precisión con un rango de - 
1.79769313486232*10308 a -4.94065645841247*10-324 para valores 
negativos, 4.94065645841247*10-324 a 1.79769313486232*10308 para 
valores positivos, y 0. 
SHORT 2 bytes Un entero corto entre -32,768 y 32,767. 
LONG 4 bytes Un entero largo entre -2,147,483,648 y 2,147,483,647. 
LONGTEXT 1 byte 
por 
carácter 
De cero a un máximo de 1.2 gigabytes. 
LONGBINARY Según se 
necesite 
De cero 1 gigabyte. Utilizado para objetos OLE. 
TEXT 1 byte 
por 
carácter 
De cero a 255 caracteres. 
 
Tabla 1.1 Tipos de datos de SQL 
 
Los tipos de usuarios en una base de datos son los siguientes: 
 
 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 alguna aplicación 
desarrollada o utilizando una interfaz incluida como parte integral de los programas del 
DBMS. 
 
10 
 El DBA (database administrator, Administrador de la base de datos). 
 
 
Los roles o perfiles sirven como medio para conceder privilegios sobre todo el sistema a un usuario 
que los requiera. Estos permisos pueden verse reflejados sobre objetos o sobre el mismo sistema. 
En los RDBMS ya vienen predeterminados algunos, sin embargo no en todos se pueden crear 
nuevos roles. 
 
 
1.3 LENGUAJE ESTRUCTURADO DE CONSULTA SQL 
 
El lenguaje por excelencia de los diversos RDBMS es el SQL, fue estandarizado en 1986 por el ANSI, 
dando lugar a la primera versión estándar de este lenguaje, al año siguiente este estándar también 
fue adoptado por la ISO, desde entonces se le han realizado revisiones para incorporar nueva 
funcionalidad conforme la industria de las bases de datos lo va requiriendo. Una de las revisiones 
más importantes fue la de 1992, conocida como ANSI SQL92. 
 
El SQL es una herramienta que sirve para organizar, gestionar y recuperar datos almacenados en 
una base de datos informática, su nombre es una abreviatura de “Structured Query Languaje” 
(Lenguaje de consultas estructurado), se puede utilizar para interaccionar con una base de datos y 
más concretamente con un tipo especifico llamado base de datos relacional. 
 
 
1.3.1 DEFINICIÓN DE DATOS 
 
Para trabajar con SQL, es necesario conocer los elementos que intervienen en la definición de la 
información en una base de datospara poder manipularla de manera adecuada. 
 
Los comandos utilizados para la definición de datos son los siguientes: 
 
- create.- Utilizado para crear nuevas bases de datos, tablas, campos, índices, vistas, 
defaults, reglas, procedimientos, cursores, triggers. 
 
- alter.- Utilizado para modificar la estructura de una tabla para agregar campos o constraint. 
 
- drop.- Utilizado para eliminar bases de datos, tablas, campos, índices, vistas, defaults, 
reglas, procedimientos, cursores, triggers. 
 
 
Las llaves e índices ayudan al Servidor SQL a localizar datos, proporcionan un acceso más rápido 
a los mismos y son transparentes para el usuario. 
Abusar del empleo de índices también puede llevar a que se degrade el tiempo de respuesta del 
servidor en lugar de mejorarlo, esto se debe a que en operaciones que involucran inserción, 
modificación o eliminación de datos, los índices también deben ser actualizados, lo cual puede 
consumir un tiempo considerable. Por lo general se suelen crear índices únicamente cuando las 
tablas tienen un tamaño considerable. 
 
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, 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. 
 
11 
Las reglas dentro de la base de datos, permiten definir condiciones que debe cumplir la 
información para que sea válida. 
 
En la práctica, muchas de estas reglas no se definen en la base de datos, sino mediante la lógica de 
una aplicación desarrollada en algún lenguaje que tiene acceso a la información, ya que el exceso 
de reglas, puede disminuir el rendimiento del RDBMS en los procesos de inserción y modificación de 
información. 
 
Los defaults establecen qué valor será registrado de manera predeterminada para una columna, 
en caso de que no se especifique al momento de introducir los datos, su funcionalidad también 
puede implementarse utilizando la lógica de la aplicación. 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 las mismas. 
 
 
1.3.2 MANIPULACIÓN DE DATOS 
 
La mayor parte del trabajo con SQL gira en torno a cuatro comandos: 
 
- select. Permite realizar consultas a la base de datos. 
- insert. Empleado para agregar registros a una tabla. 
- update. Utilizado para modificar los valores de los campos de una tabla. 
- delete. Utilizado para eliminar los valores de los campos de una tabla. 
 
 
Para el empleo de cualquiera de los comandos antes mencionados es indispensable tomar en cuenta 
dos puntos: 
 
1. Para expresar un valor de tipo alfanumérico o fecha, es requisito entrecomillarlo con comillas 
simples. 
 
2. Todo valor que no se especifique entre comillas simples, será interpretado como tipo de dato 
numérico. 
 
 
SQL se basa en el álgebra relacional, por ello es importante conocer las operaciones del álgebra 
relacional y su relación con SQL. 
 
1.3.2.1 Selección de datos 
 
Las consultas de selección se utilizan para indicarle al motor de datos que devuelva información de 
las bases de datos, esta información es devuelta en forma de conjunto de registros. Para la 
selección de datos se utilizan las siguientes operaciones: 
 
 Selección (Restricción) 
 Proyección 
 Producto Cartesiano 
 
 
 
 
12 
La operación de selección genera un subconjunto de los renglones de una tabla, con base en un 
criterio (restricción) establecido. Esta operación del álgebra relacional es realizada por la cláusula 
WHERE de SQL la cual permite delimitar los registros que serán mostrados en la consulta, a través 
de criterios o condiciones. 
 
El valor NULL es un valor especial por lo cual se debe tener sumo cuidado cuando se desee utilizar 
condiciones con NULL. La única forma de comparar contra un valor NULL es utilizar el operador IS o 
IS NOT. 
 
La proyección selecciona y genera un subconjunto con los atributos (columnas) indicados de una 
tabla. Esta operación es realizada por la cláusula SELECT del SQL que indica que la instrucción a 
ejecutar es una consulta a la base de datos. SELECT permite indicar el nombre de los campos que 
se quieren mostrar en la consulta. En caso de querer mostrar todos los campos de una tabla se 
emplea el comodín asterisco: *. 
 
Cuando se realiza una consulta que involucra dos o más tablas, al nombre de cada campo se le 
antepone el de la tabla a la que pertenece. 
 
<nombre_tabla>.<nombre_campo> 
 
El producto cartesiano es el producto cruz entre 2 tablas. El resultado es la combinación de cada 
renglón de una tabla con cada renglón de la otra tabla. 
 
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. 
 
Cuando una consulta involucra dos o más tablas, es indispensable establecer las relaciones que 
existen entre ellas (join) mediante una cláusula WHERE, así mismo es necesario especificar de cual 
tabla es el campo que se desea mostrar. Es frecuente el uso de seudónimos para las tablas, con la 
finalidad de simplificar la escritura de la consulta. El seudónimo se coloca inmediatamente después 
del nombre de la tabla. 
 
<tabla> [seudónimo] 
 
 
1.3.2.2 Inserción de datos 
 
A través de la instrucción insert de SQL, se introduce la información a una tabla. 
 
La estructura general de este comando es la siguiente: 
 
INSERT INTO <tabla> [(<nombreCampo1>, <nombreCampo2>, <nombreCampo3> ...)] 
{VALUES (<valorCampo1>, <valorCampo2>, <valorCampo3> ... ) | <Expresión select> } 
 
Existen dos cláusulas relacionadas con esta instrucción: 
 
 Cláusula INTO. Cláusula VALUES
 
 
 
La cláusula INTO permite indicar la tabla en donde se realizará la inserción. Únicamente se puede 
especificar una tabla a la vez. Después del nombre de la tabla puede o no ir el nombre de los 
 
13 
campos donde se va insertar información, esto es opcional (pero el omitirlos le puede restar 
legibilidad a la instrucción). Si no se especifica el nombre de los campos que se van a insertar, el 
DBMS identifica que se desea insertar información en cada uno de los campos, en el orden definido 
por la estructura de la tabla. 
 
La cláusula VALUES permite especificar los valores a insertar para cada uno de los campos 
involucrados en la sentencia. 
 
 
1.3.2.3 Actualización y eliminación de registros. 
 
La cláusula delete permite indicar que la operación a realizar es una eliminación de registros, esta 
instrucción, 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. 
 
La cláusula update es la 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 se desea 
modificar. Sólo se puede especificar una tabla a la vez. Si no se especifica una condición con la 
cláusula WHERE, todos los registros que existan en la tabla se actualizarán. 
 
UPDATE empleado 
SET salario_empleado = 27000, edad = 27 
WHERE id_empleado = 12 
 
La cláusula 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. 
 
 
1.3.3 CONTROL DE DATOS 
 
Uno 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 asignar o revocar permisos y/o crear usuarios. 
 
Se pueden controlar los privilegios a los usuarios de creación de objetos en la base de datos, así 
como la manipulación de la información contenida en ella, mediante los siguientes comandos: 
 
- grant. Permite otorgar permisos a los usuarios sobre los objetos definidos en la base de 
datos, así comolas operaciones a utilizar sobre ellos. 
 
- revoke. Permite revocar permisos sobre los objetos definidos en la base de datos y las 
operaciones sobre los mismos. 
 
 
1.3.4 MANEJO DE TRANSACCIONES, PROCEDIMIENTOS ALMACENADOS Y TRIGGERS 
 
Una transacción puede comprender una o más instrucciones SQL y a su vez 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. 
 
 
14 
Una base de datos transaccional garantiza que todas las operaciones realizadas en una transacción 
sean guardadas en almacenamiento permanente antes de que ésta sea reportada como 
completada, previniendo así, perdida de información por fallas del equipo, por ejemplo en un corte 
del suministro de energía. 
 
Cuando múltiples usuarios realizan transacciones de manera concurrente, cada uno de ellos no debe 
ver los cambios incompletos realizados por los demás. En el momento que una transacción finaliza 
adecuadamente y es almacenada permanentemente, los cambios se vuelven visibles para todos los 
demás usuarios. 
 
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. 
 
Un procedimiento almacenado es un conjunto de comandos de SQL que pueden ser compilados 
y almacenados en el servidor. Una vez realizado esto, los clientes no necesitan volver a teclear 
todas las instrucciones sino únicamente hacer referencia al procedimiento. Esto mejora el 
rendimiento del servidor, ya que la instrucción de SQL solamente es revisada una sola vez y menos 
información debe ser enviada entre el cliente y el servidor. 
 
El lenguaje que se emplea para programar los procedimientos almacenados, varía de un RDBMS a 
otro, y existen algunos que permiten programar en más de un lenguaje. 
 
Las variables son elementos fundamentales en la programación de procedimientos, deben ser 
declaradas al inicio del programa, antes de ser utilizadas. Las variables locales sólo existen durante 
la ejecución del procedimiento donde son declaradas; cuando éste termina, son eliminadas. 
 
Un trigger es un procedimiento almacenado que es invocado cuando un evento en particular 
ocurre. Por ejemplo, se puede ejecutar (disparar) un procedimiento almacenado cada vez que se 
borre, actualice o inserte un registro. Los procedimientos almacenados que se invocan tienen la 
restricción de que no pueden manejar parámetros ni ser invocados directamente. 
 
En algunos RDBMS, los triggers, al ser disparados, crean dos tablas temporales a las cuales sólo se 
puede acceder dentro del trigger, y poseen la misma estructura de la tabla a la que está ligada. 
Estas tablas son: Inserted y Deleted. (Tabla 1.2) 
 
 
Tabla Contenido En Triggers 
Inserted Contiene los registros que se van a agregar a la tabla, como resultado de 
los comandos Insert y Update. 
Insert, Update 
Deleted Contiene los registros que se van a eliminar de la tabla, como resultado 
de los comandos Delete y Update 
Delete, Update 
 
Tabla 1.2 Tablas temporales de Triggers 
 
 
 
 
 
 
 
15 
1.4 PROGRAMACIÓN DE CLIENTES 
 
Un cliente es una aplicación cuyo principal objetivo es facilitarle al usuario la manipulación, 
definición y control de acceso a las Bases de Datos. Los clientes que con más frecuencia se 
programan son aplicaciones web (www), ya que uno de los objetivos de las Bases de Datos es que 
la información esté accesible para varios usuarios al mismo tiempo desde donde sea y en cualquier 
momento. 
 
El servicio Web o www es una forma de representar la información en Internet basada en páginas. 
Una página www puede incluir tres tipos de información: texto, gráficos e hipertexto. Un hipertexto 
es texto resaltado que el usuario puede activar para cargar otra página WWW. La diferencia entre 
un documento hipertexto y un documento normal consiste en que el hipertexto contiene, además 
de la información, una serie de enlaces o conexiones con otros documentos relacionados, de 
manera que el lector puede pasar de un tema a otro y volver al documento original en el momento 
en que le interese. 
 
 
1.4.1 HTML 
 
HTML, Hyper Text Markup Language, es un lenguaje simple utilizado para crear documentos de 
hipertexto para www. 
 
Todos los documentos www comparten un mismo aspecto y una única interfaz, esto es posible 
porque el lenguaje HTML, en que están escritos los documentos, no solo permite establecer 
hiperenlaces entre diferentes documentos, sino que es un "lenguaje de descripción de página" 
independiente de la plataforma en que se utilice. Es decir, un documento HTML contiene toda la 
información necesaria sobre su aspecto y su interacción con el usuario, y luego el browser que se 
utilice es el responsable de asegurar que el documento tenga un aspecto coherente, 
independientemente del tipo de estación de trabajo desde se esté efectuando la consulta. 
 
Las etiquetas o tags que controlan el comportamiento del documento son fragmentos de texto 
encerrados entre los signos "mayor que" y "menor que" (<etiqueta>). Existen diferentes tipos de 
etiquetas: algunas controlan simplemente la presentación del texto del documento; otras, la forma 
en que se incluyen en él imágenes; y finalmente, los hiperenlaces con documentos o con diferentes 
partes del mismo documento. En la tabla 1.3 se mencionan algunas de las etiquetas de mayor uso 
en la elaboración de páginas web. 
 
ETIQUETA FUNCIONAMIENTO 
<IMG> Es la etiqueta que permite incluir imágenes. Esta etiqueta debe ir junto con el atributo 
SRC que permite dar la dirección del archivo gráfico que contiene la imagen. 
<FORM> 
</FORM> 
Definen un formulario y entre ellas se sitúan todas las marcas que generan los 
diversos elementos que componen un formulario. 
<A> 
</A> 
En HTML se define una zona activa (puede ser un texto o una imagen) que se asocia 
al URL del documento que sustituirá al documento visualizado cuando se haga clic 
sobre esa zona. 
 <TEXTAREA> 
</TEXTAREA> 
Permite crear una ventana con barras de desplazamiento horizontales y verticales en 
la que se puede escribir texto. El valor dado a los atributos ROWS (líneas) y COLS 
(columnas) delimita el tamaño de esta ventana. 
<SELECT> 
</SELECT> Permite generar listas de selección simple o de selección variable. 
Tabla 1.3 Etiquetas de mayor uso en HTML 
 
16 
1.4.2 PHP 
 
PHP es un lenguaje interpretado de propósito general, ampliamente usado y está diseñado 
especialmente para desarrollo web y puede ser incrustado dentro de código HTML. 
 
Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor 
ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera 
dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el 
intérprete al servidor, quien a su vez se lo envía al cliente. La figura 1.6 muestra la manera en cómo 
funciona una aplicación web. 
 
 
 
Figura 1.6 Funcionamiento de una aplicación web 
 
 
Algunas de las características más importantes de PHP son: 
 
- Es un lenguaje multiplataforma. 
- Completamente orientado a la web. 
- Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's 
o extensiones). 
- Posee una amplia documentación en su página oficial, entre la cual se destaca que todas las 
funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda. 
- Es libre, por lo que se presenta como una alternativa de fácil acceso para todos. 
- Permite aplicar técnicas de programación orientada a objetos. 
- Biblioteca nativa de funciones sumamente ampliae incluida. 
- No requiere definición de tipos de variables aunque sus variables se pueden evaluar también 
por el tipo que estén manejando en tiempo de ejecución. 
 
 
1.4.3 PROYECTO FINAL DEL MÓDULO PROGRAMACIÓN DE CLIENTES. 
 
En este módulo se desarrolló un proyecto cuyo objetivo fue la conexión a una base de datos a 
través de la programación así como la obtención de información a través de consultas 
SQL. 
 
 
 
 
 
17 
La primer pantalla es la de login en la cual es necesario introducir “usuario” y contraseña (Figura 
1.7). 
 
 
Figura 1.7 Pantalla de login 
 
 
Si se introducen datos incorrectos, la pantalla mostrará que hubo un error al querer ingresar al 
sistema. 
 
Una vez dentro de la aplicación, lo primero que se muestra es una pantalla conformada de 4 
“frames” así como de un encabezado y un pie. 
 
En el cuerpo de la pantalla del lado izquierdo (el primer frame), despliega una lista de las bases de 
datos que se encuentran disponibles para realizar consultas (Figura 1.8). 
 
 
 
Figura 1.8 Listado de Bases de datos 
 
 
18 
Al momento de seleccionar la base de datos, en el segundo frame de izquierda a derecha, despliega 
la lista de tablas que conforman la base de datos seleccionada. 
 
Una vez que se despliegan las tablas que corresponden a la base de datos seleccionada, se muestra 
de qué campos se compone cada una de ellas. Esto se ve en el 3er frame. 
 
Y por último en el 4to. Frame se encuentra una caja en la que se puede introducir la consulta que 
se requiera realizar sobre la Base de datos seleccionada. (Figura 1.9). 
 
 
 
Figura 1.9 Estructura general 
 
Una vez tecleada la consulta, en una nueva pantalla se arroja el resultado de la misma (Figura 
1.10). 
 
 
 
Figura 1.10. Resultado de la consulta 
 
 
1.5 FUNDAMENTOS DE SISTEMAS OPERATIVOS 
 
El sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware 
de una computadora y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar 
programas. EL S.O. controla todos los recursos de la computadora y proporciona la base sobre la 
que pueden escribirse los programas de aplicación. 
Bases de 
Datos 
Tablas que conforman 
la Base de Datos 
seleccionada. 
Caja para 
introducir las 
consultas 
seleccionada. 
Campos de los 
que está formada 
la tabla 
seleccionada. 
 
19 
Un sistema operativo está formado por varios programas que en conjunto presentan al usuario una 
vista integrada del sistema, los componentes principales de un sistema operativo son los siguientes 
módulos: 
 
- Administrador de procesos. (scheduler). 
- Administrador de E/S. 
- Administrador de la Memoria. 
- Manejo del Sistema de Archivos. 
 
 
1.5.1 UNIX 
 
Unix es un sistema operativo portable, multitarea y multiusuario, este sistema comenzó en 1969 
como un proyecto de investigación de AT&T, con el tiempo, UNIX se dividió en varias ramas de 
sistema, siendo las dos principales, la que derivaba del AT&T UNIX, y la de la universidad de 
California, el BSD. 
 
Superadas las querellas de licencias entre BSD y AT&T, desde hace unos años los fabricantes han 
tomado el código fuente público de AT&T, BSD o ambos para comenzar a partir de ellos sus propios 
desarrollos. 
 
Esto ha originado un sin número de variantes. El desarrollo más reciente ha sido el advenimiento de 
Linux, a partir de un núcleo (kernel) diseñado por Linus Torvalds, en 1991. 
 
 
1.5.1.1 Administración de Linux 
 
El objetivo principal del administrador de sistemas consiste en “proporcionar y mantener acceso a 
los recursos del sistema.” 
 
Todos los comandos en Unix y Linux siguen el siguiente formato: 
 
 comando opciones argumentos 
 
A continuación se muestra en forma resumida en qué consisten las tareas de administración en los 
sistemas GNU/LINUX (o UNIX). 
 
Arranque y apagado del sistema: cualquier sistema basado en UNIX tiene unos sistemas de 
arranque y apagado valorables, de manera que podemos configurar qué servicios se ofrece en el 
arranque de la máquina y cuándo hay que pararlos, o programar el apagado del sistema para su 
mantenimiento (Tabla 1.4) 
 
COMANDOS DE ARRANQUE Y APAGADO 
reboot reinicia la maquina startx arranca el servidor x 
halt apaga el sistema exit cierra la sesión actual 
shutdown apaga el sistema 
 
Tabla 1.4 Comandos de arranque y apagado 
 
 
20 
Gestión de usuarios y grupos: dar cabida a los usuarios es una de las principales tareas de 
cualquier administrador. Habrá que decidir qué usuarios pueden acceder al sistema, de qué forma y 
bajo qué permisos; y establecer comunidades mediante los grupos (Tabla 1.5) 
 
COMANDOS DE GESTIÓN DE USUARIOS 
adduser agrego nuevo usuario set da información sobre el entorno del 
usuario 
userdel borra un usuario groupadd agrego nuevo grupo 
who muestra los usuarios del 
sistema 
su cambio de usuario 
chown cambio de propietario chmod cambio permisos a archivos y directorios 
chgrp cambio de grupo 
 
Tabla 1.5 Comandos de gestión de usuarios 
 
Gestión de discos: la computadora puede disponer de diferentes recursos de almacenamiento de 
datos y dispositivos (disquetes, discos duros, ópticos, etc.), con diferentes sistemas de acceso a los 
archivos (Tabla 1.6) 
 
COMANDOS DE DISCOS 
mount monta un disco mkfs formatea un disco 
umount desmonta un disco fsck estado del disco 
fdisk gestión de particiones df muestra el espacio libre de los discos 
du muestra el espacio usado 
por el disco o un directorio 
 
Tabla 1.6 Comandos de discos 
 
Procesos del sistema: cualquier recurso que vaya a ser compartido tiene que ser administrado, y 
según la cantidad de usuarios, se debe establecer un sistema de cuotas para evitar el abuso de los 
recursos por parte de los usuarios o establecer clases (o grupos) de usuarios diferenciados por 
mayor o menor uso de recursos (Tabla 1.7) 
 
COMANDOS DE PROCESOS 
top muestra los procesos que se están 
ejecutando y permite matarlos 
time mide el tiempo que tarda un proceso en 
ejecutarse 
ps muestra la lista de procesos del 
usuario 
fg trae a primer plano un proceso parado o en 
segundo plano 
kill mata proceso por ID bg pone un proceso en segundo plano 
killall mata proceso por nombre 
 
Tabla 1.7 Comandos de procesos 
 
Seguridad del sistema: seguridad local, sobre protecciones a los recursos frente a usos indebidos 
o accesos no permitidos a datos del sistema o de otros usuarios o grupos. 
 
Una de las primeras cosas que intentan los intrusos de un sistema como vía para explotar la cuenta 
de root es obtener acceso a una cuenta de usuario local. 
 
 
 
 
21 
Algunas buenas prácticas sobre permitir a otras personas el acceso al sistema Linux son: 
 
- Darles la cantidad mínima de privilegios que necesiten. 
- Ser conscientes desde, cuándo y dónde se conectan o se deberían estar conectando. 
- Asegurarse de borrar las cuentas inactivas. 
 
 
Sólo se debe usar la cuenta de root para tareas muy cortas y específicas, la mayoría de los 
programas se deben ejecutar como un usuario normal. Incluso los pequeños errores que se 
cometan como root pueden causar problemas. En la tabla 1.8 se muestran algunos comandos de 
uso general: 
 
COMANDOS DE ARCHIVOS Y DIRECTORIOS 
ls lista los archivos y directorios ln crea enlaces a archivos o carpetas 
cp copia archivo tar empaqueta archivos 
rm borra archivos gzip comprime archivos gz 
mv mueve o renombra archivos y directorios gunzip descomprime archivos gz 
more muestra el contenido de los archivos por 
pantalla 
vi abre el editor de texto vi 
less muestra el contenido de los archivos pico edita un fichero de texto 
whereis muestra la ubicación de un archivo split parte ficheros 
whatis muestra descripción del archivo find busca archivos 
grep busca un texto en archivos mkdir crea un directorio 
join cruza la información de dos archivos y 
muestra las partes que se repiten 
rmdir borra directorios 
cd cambia de directorio cut sirve para seleccionar columnas de una 
tabla o campos de cada línea de 
archivo pwd muestrael path actual 
 
Tabla 1.8 Comandos de archivos y directorios 
 
 
1.5.1.2 GNU/LINUX 
 
GNU/Linux se refiere al núcleo o kernel del sistema operativo más un conjunto de programas que 
permiten compilar lenguajes de programación, interpretar comandos, manejar archivos y discos, 
acceder a otras máquinas, enviar y recibir correo electrónico y un sinfín de tareas más. 
 
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. 
 
 
 
 
22 
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”. 
 
 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. 
 
 
1.5.2 WINDOWS 2000 SERVER 
 
Windows 2000 Server es una versión del Sistema Operativo de Microsoft, sirve para gestionar y 
administrar una red. Dentro de las tareas que puede realizar están: crear cuentas de usuarios, 
asignar recursos y privilegios, actuar como servidor web, FTP, DNS o resolución de nombres de 
dominio, entre otros servicios básicos. Otra de las funciones que tiene, como en todo sistema 
windows es la opción de utilizarlo como una estación de trabajo más de la red. 
 
Su principal punto fuerte es el Active Directory (Directorio Activo), que es una herramienta desde la 
cual se puede administrar toda la infraestructura de una organización, se puede llevar a cabo el 
control y la administración centralizada de todos los usuarios del dominio de la red. 
 
Windows 2000 está clasificado como un sistema operativo de kernel híbrido, y su arquitectura está 
dividida en dos modos: Modo usuario y modo kernel. El modo kernel provee acceso sin restricciones 
a los recursos del sistema y facilita el modo usuario, el cual es estrictamente restrictivo y diseñado 
para la mayoría de las aplicaciones. 
 
La versión comercial de Windows 2000 es capaz de reconocer y dar soporte a multitud de 
dispositivos, asignando de forma automática los recursos e instalando los controladores. El 
reconocimiento del hardware es la parte más larga de la instalación. Una vez terminada la copia de 
archivos y controladores, el sistema se reinicia y se entra en la fase de configuración, creación de 
accesos y registro de componentes. 
 
Las características más importantes de Windows 2000 server son: 
 
- Multiusuario. Brinda servicio y procesamiento a múltiples usuarios simultáneamente. 
 
- Multitarea. Permite que varios procesos sean ejecutados al mismo tiempo compartiendo uno 
o más procesadores. 
 
- Multiproceso. El uso de múltiples procesos concurrentes en un sistema en lugar de un único 
proceso en un instante determinado. 
 
- Multihilo. Tienen soporte en hardware para ejecutar eficientemente múltiples hilos de 
ejecución. Un hilo de ejecución, es una característica que permite a una aplicación realizar 
varias tareas a la vez (concurrentemente). 
 
 
 
 
23 
1.6 HABILIDADES DIRECTIVAS 
 
Un Administrador de Base de Datos debe contar con aptitudes técnicas para el manejo del sistema 
con el que trabaje, además es conveniente tener nociones de administración, manejo de personal e 
incluso un cierto grado de diplomacia. 
 
Las personas formamos parte de un sistema que integra recursos técnicos, humanos y materiales 
destinados a lograr objetivos comunes. Es necesario desarrollar la habilidad para comunicarnos con 
las personas con las que colaboramos, descubrir sus capacidades, comprender las necesidades del 
grupo y obtener lo mejor de cada persona en el desempeño grupal. 
 
 
1.6.1 LIDERAZGO Y ESTILOS DE COMUNICACIÓN 
 
Existen 3 tipos distintos de comunicación: 
 
- Visual: Pensar con imágenes. Representar las ideas, los recuerdos y la imaginación mediante 
imágenes mentales. 
 
- Auditivo: Pensar con sonidos. Los sonidos pueden ser voces o ruidos, por ejemplo, el 
gorgoteo del café en la cafetera. 
 
- Cinestésico: Representar los pensamientos como sentimientos internos o sensaciones físicas. 
El sabor y el olor se incluyen en esta categoría sensorial. 
 
 
Un buen comunicador utiliza de forma natural el estilo que mejor encaja con las preferencias de su 
interlocutor, así tiene la certeza de hablar un mismo idioma y de que su interlocutor le entiende. 
 
Para llegar a ser un buen líder (Figura 1.11) se requiere reconocer tres áreas de resultados 
igualmente importantes: 
 
- Tareas: Donde se trata de lograr resultados específicos, en la cantidad, con calidad y la 
oportunidad requeridas. 
 
- Grupos: Donde se requiere ocuparse de los individuos a su cargo para asegurar su 
capacitación, motivación y progreso. 
 
- Equipos: Donde debe asegurarse su integración y desarrollo, así como un clima de 
comunicación y colaboración. 
 
 
Figura 1.11 Un buen líder 
 
 
 
24 
1.6.2 PRESENTACIONES Y REUNIONES EFECTIVAS 
 
Las diapositivas son solamente una ayuda audio visual, por lo que deben contener sólo información 
clave que debe ser ampliada durante la presentación oral. No existe una regla específica sobre la 
cantidad de información adecuada para cada diapositiva. 
 
Se deben diseñar diapositivas agradables, con buena combinación entre los colores del fondo y el 
texto de la misma. Para una lectura más fácil, debe existir un contraste entre el texto y el fondo. En 
una presentación es posible incluir videos, sonido, transiciones de diapositivas, imágenes fijas y con 
movimiento, objetos voladores y gráficos. 
 
Tamaño: Por lo general para presentaciones con una audiencia mediana es recomendable utilizar 
tamaños no menores a 24 puntos para que las personas no tengan dificultad tratando de leer las 
diapositivas. 
 
Tipo de letra: Para no recargar visualmente la presentación hay que tratar de utilizar solamente un 
tipo de letra, si se considera muy necesario se puede utilizar como máximo dos tipos. 
 
El lenguaje corporal es de suma importancia para la realización de presentaciones efectivas. Cuando 
se muestra una diapositiva, se tiene que alternar la atención entre la diapositiva y el contacto visual 
con la audiencia. 
 
Los pasos a seguir para organizar una reunión de trabajo efectiva son los siguientes: 
 
1. Fijar el objetivo de la reunión para que se pueda preparar y llevar a cabo con mayor rapidez y 
acierto. 
 
2. Hacer una lista detallada de asuntos por tratar para lograr reuniones más cortas y productivas. 
Solo existen tres razones para que un tema figure en una orden del día: 
 
a. Para informar b. Para generar una acción c. Para tomar una decisión 
 
 
La forma en que se deben organizar los temas a tratar en una reunión es: 
 
- Los asuntos urgentes y que requieren ideas brillantes o soluciones creativas deben 
encabezar la lista porque las personas se encuentran más atentas y creativas durante los 
primeros 15 o 20 minutos de una reunión. 
 
- Pasados 20 minutos, deben introducirse temas que provoquen reacciones fuertes para que 
las personas se interesen por el asunto a pesar del cansancio mental. 
 
- Asignar tiempos para la revisión de cada tema. 
 
 
3. Elaborar y distribuir con antelación la orden del día y la documentación, permite a los asistentes 
prepararse en forma adecuada. 
 
 
 
 
 
25 
4. Dirigir la reunión, reducir su duración y duplicar su eficacia. 
 
- La habilidad en el trato con los demás es igualmente importante para sacar el máximo 
partido de las reuniones. 
 
- Anticiparse y prepararse para los posibles problemas y conflictos que puedan surgir en la 
reunión, ayuda a que se reaccione mejor ante ellos. 
 
- Iniciar puntualmente la reunión. 
 
 
Durante las reuniones se debe evitar:- Diálogos del moderador con algunos asistentes. 
- Conversaciones entre los asistentes. 
- Varias personas hablando al mismo tiempo. 
- Discusiones en torno a un tema ajeno a la agenda. 
- Que los comentarios y discusiones versen sobre las personas y no sobre asuntos e ideas. 
 
 
En cuanto a la distribución de los asistentes a la reunión se deben seguir los siguientes consejos: 
 
 En reuniones para la resolución de problemas que implican compartir ideas y contribuciones, 
se sugiere una formación de círculo. Así, cada persona tiene una ubicación equitativa y no 
existe una cabecera de mesa que sugiera desde el inicio una suerte de liderazgo. 
 
 Para una reunión en la que se requiere tomar una decisión respecto de acciones específicas, 
lo adecuado es disponer a los asistentes en torno a una mesa rectangular, de modo que 
desde el principio se establezca claramente una posición de liderazgo. 
 
 Cuando dos personas acostumbran tener ideas encontradas y están en constante 
desacuerdo, lo aconsejable es sentarlas una al lado de otra, de manera que sea menor la 
cantidad de contacto visual que puedan tener. Esto reduce el nivel de argumento y 
hostilidad. 
 
 
1.6.3 DEFINICIÓN DE METAS 
 
Los siguientes pasos indican cómo definir metas de la mejor manera: 
 
Paso 1. Identificación del objetivo 
 
Hay dos aspectos fundamentales en la identificación de objetivos que generalmente son 
descuidados: 
 
 Deben ser específicos y mensurables.- La especificidad y mensurabilidad, son claves cuando 
se está tratando de ejecutar un proyecto, no basta con establecer que se van a generar 
utilidades con este o aquel desarrollo, hay que determinar el monto específico de ganancias 
que se generarán. 
 
 Deben establecerse positivamente.- De tal forma que se vean como hechos ya consumados. 
 
26 
Paso 2. Identificación de los beneficios y los beneficiarios 
 
Ya identificados los objetivos se procede a determinar cuáles serán los beneficios que se obtendrán. 
Al alcanzar metas se están dando pasos hacia un mejor estado, sea cual fuere el ámbito en el que 
se establezcan las metas siempre habrán beneficios y siempre habrá alguien que obtenga estos 
beneficios; si son generales, perfecto; si son particulares, hay que identificarlos y enlistarlos para 
poder darlos a conocer. 
 
Paso 3. Fijación de límites de tiempo 
 
Se deben fijar límites de tiempo para la consecución de cada objetivo. Cuando se establece un 
determinado lapso de tiempo se crea sentido de urgencia para realizar las acciones a que haya 
lugar. 
 
Es adecuado elaborar cronogramas que permitan dividir el objetivo en partes, así se cierra la 
posibilidad de sentir que no se podrá conseguir el objetivo final, ya que se estará trabajando en el 
día a día por conseguir objetivos más pequeños que sumados permitirán lograr el más importante. 
 
Paso 4. Identificación de los principales obstáculos 
 
Si lo que se quiere es alcanzar metas, entonces hay que saber cuáles son los posibles problemas 
que se pueden encontrar en el camino hacia su consecución, de otro modo no se podrán realizar 
planes o adelantar estrategias para resolverlos. 
 
Paso 5. Identificación de las habilidades y el conocimiento requerido 
 
Ya que se conocen cuáles son los problemas a enfrentar, hay que determinar qué habilidades y 
conocimientos son requeridos. 
 
Paso 6. Identificación de individuos, grupos, organizaciones y compañías con las cuales trabajar 
 
Si se acude a la gente apropiada se encontrará la solución adecuada. 
 
Paso 7. Desarrollo del plan de acción 
 
Las metas no se conseguirán con el simple hecho de determinarlas específicamente o sabiendo 
cuáles son las barreras a franquear, se alcanzarán si se ejecuta un plan de acción juicioso paralelo a 
un cronograma. 
 
 
1.7 ADMINISTRACIÓN DE BASES DE DATOS 
 
La característica más importante que debe poseer un Administrador de Bases de Datos (DBA), es el 
conocimiento de las políticas y normas de su empresa, así como el criterio de la misma para 
aplicarlas en un momento dado. La responsabilidad del DBA es facilitar el desarrollo y el uso de la 
Base de Datos dentro de las políticas definidas por la administración de los datos. 
 
Los manejadores de bases de datos utilizados durante este módulo y en los cuáles se realizaron las 
prácticas y ejercicios de administración son: Sybase, Postgresql y MySQL. 
 
 
 
27 
1.7.1 SYBASE 
 
Al instalar SQL Server se incluyen las siguientes bases de datos del sistema, cabe mencionar que 
master, model y temporal residen en el dispositivo master: 
 
- La base de datos master 
- La base de datos model 
- La base de datos de procedimientos del sistema, sybsystemprocs 
- La base de datos temporal, tempdb 
 
 
La base de datos master controla el funcionamiento de SQL Server en su conjunto y almacena 
información sobre todas las bases de datos de usuario, y sus dispositivos asociados. Hace el 
seguimiento entre otros, de: 
 
- Cuentas de usuarios (en syslogins ) 
- Procesos en curso (en sysprocesses ) 
- Mensajes de error del sistema (en sysmessages ) 
- Bases de datos en SQL Server (en sysdatabases ) 
- Espacio asignado a cada base de datos (en sysusages ) 
- Cintas y discos montados en el sistema (en sysdevices ) 
 
 
Después de instalar Sybase y conocer los comandos para levantar, detener y acceder a este 
servidor, es necesario crear dispositivos que alojarán a las Bases de Datos, para ello se utiliza el 
comando “disk init” especificando entre otros parámetros el nombre del dispositivo, la ruta en 
disco y su tamaño expresado en páginas, 1024 Kb (1MB) equivalen a 512 páginas. 
 
El término “dispositivo” no se refiere necesariamente a un dispositivo físico diferente, puede ser 
alguna porción de un disco o un archivo en el sistema de archivos. 
 
El hecho de poder crear dispositivos, le da la oportunidad al DBA de controlar en qué lugar se crea 
la Base de datos, además le brinda el poder de separarla del log de transacciones (que es el registro 
de los INSERT, DELETE y UPDATE que se realizan) y en distintos dispositivos. Además siempre se 
puede incrementar el tamaño de la Base de datos. 
 
 
1.7.1.1 Tamaño de una base de datos 
 
Antes de crear una base de datos se debe decidir: 
 
- El tamaño 
- La ubicación y el espacio necesario 
- Si un dispositivo de log es necesario y, si lo es, ¿de qué tamaño? 
 
 
Para el cálculo del tamaño de una base de datos, es necesario conocer el tamaño de cada tabla 
perteneciente a ella, a continuación se describen los pasos a seguir para el cálculo del tamaño: 
 
- Conocer la longitud de cada registro contenido en la tabla. 
- Tener una estimación de cuántos registros habrá en determinado tiempo. 
 
28 
- Multiplicar los valores anteriores y aumentarle un 10% recomendado como buena práctica, 
por los índices que pueda tener la tabla. 
- Si es una base altamente transaccional, aumentar 30%, si no lo es, aumentar 15%. 
- Redondear. 
- Convertir el valor obtenido a MB y multiplicarlo por 512 para obtener el valor en páginas que 
se necesitan. 
- Aunado a lo anterior, se reserva un 30% de LOG. 
 
De otra manera, estos pasos se pueden ahorrar simplemente tecleando el siguiente comando: 
 
sp_estspace <nombre_tabla>, <No_registros_estimados> 
 
Para monitorear el uso del espacio en la base de datos, se pueden usar las siguientes herramientas: 
 
 sp_helpdb sp_helpsegment sp_spaceused 
 
 
1.7.1.2 Usuarios, Roles y privilegios 
 
Cuando SQL Server es instalado por primera vez, el login sa es asignado con tres roles especiales 
(system administrator, system security officer y system operator). El password del login sa es 
inicialmente nulo, pero debe ser cambiado y una vez cambiado, no puede ser nulo otra vez. En la 
tabla 1.9 se indican los roles de SQL y sus funciones. 
 
ROLES DE LA BASE DE DATOS 
sa (System 
Administrator) 
- Maneja el almacenamiento de los discos. 
- Borra, modifica, bloquea y desbloquea logines. 
- Otorga y/o revoca roles de SA. 
- Crea bases de datos de usuarioy otorga propiedad sobre ellas. 
- Otorga ciertos permisos a los usuarios del SQL Server. 
- Afina SQL Server cambiando los parámetros de configuración. 
- Cierra SQL Server y sus procesos. 
- Monitorear la recuperación de base de datos en el arranque del SQL 
Server y utilizar ciertas herramientas para el diagnóstico de 
problemas en el sistema. 
 
sso (System Security 
Officer) 
- Crea logines en el SQL Server (asignando passwords iniciales). 
- Cambia passwords. 
- Fija un intervalo de expiración del password. 
- Crea, otorga y revoca roles de usuario. 
- Otorga autorización para uso del proxy. 
- Otorga y revoca roles SSO y OPER. 
- Maneja el sistema de auditoría. 
- Bloquea y desbloquean logines. 
- SSO no puede modificar o borrar logines; esto sólo puede hacerlo un 
login con rol SA. 
dbo (Data Base 
Owner) 
- Crea Bases de datos. 
- Crea y/o elimina usuarios de la base de datos. 
- Otorga y revoca permisos a usuarios para crear objetos en la B.D. 
Ejecuta algunas tareas de operador del sistema en su propia Bases 
de Datos. 
- Tiene todos los privilegios sobre todos los objetos en la Base de 
Datos. 
 Tabla 1.9 Roles de SQL 
 
29 
1.7.1.3 Administración de usuarios 
 
Dado que master guarda información sobre los dispositivos y bases de datos de usuario, es 
necesario estar en la base de datos master para poder ejecutar los siguientes comandos: create 
database, alter database, disk init, disk refit, disk reinit y los comandos de duplicación de 
disco. 
 
Un rol SSO puede agregar logines usando sp_addlogin 
sp_addlogin login_name, passwd [, defaultdb [, deflanguage [, fullname]]] 
 
Para agregar un usuario a la base de datos se usa la sintaxis: 
sp_adduser login_name [, name_in_db [, grpname]] 
 
Para bloquear o desbloquear cuentas o desplegar una lista de las cuentas bloqueadas, se usa: 
sp_locklogin [login_name, "{lock | unlock}"] 
 
Para borrar un usuario: 
sp_dropuser name_in_db 
 
Para borrar el alias de un usuario: 
sp_dropalias login_name 
 
Para agregar un grupo, la sintaxis es: 
sp_addgroup grpname 
 
Use sp_helpgroup para desplegar los grupos en una base de datos use: 
sp_helpgroup [grpname] 
 
 
1.7.1.4 Respaldos 
 
El comando dump database <nombre_base> to <ruta_respaldo> respalda tanto la base como su 
log de transacciones. 
 
El comando dump tran <nombre_base> to <ruta_respaldo> respalda sólo el log de transacciones 
y lo limpia. 
 
La restauración de un respaldo se hace en caso de que el sistema sufra algún fallo y se dañe la base 
de datos, siguiendo este procedimiento: 
 
- Se borra la base dañada. 
- Se crea de nuevo la base con CREATE DATABASE. 
- Se recupera el respaldo con load dump <base> from <ruta_respaldo> 
- Se pone en línea la base con ONLINE DATABASE <nombre_base> 
 
 
1.7.2 POSTGRESQL 
 
Postgresql se caracteriza por ser Open Source, que es el término con el que se conoce al software 
distribuido y desarrollado libremente, su licencia es BSD (Se puede modificar, copiar y distribuir para 
cualquier propósito). 
 
30 
Los pasos a seguir para la instalación de PostgreSQL son: 
 
1. Descargar de: http://www.postgresql.org 
 
2. Ejecutar los siguientes comandos: 
 
- # groupadd postgres (Se añade el grupo llamado postgres) 
- # useradd -g postgres postgres (Se crea el usuario postgres dentro del grupo postgres) 
- # tar -zxvf /home/instalacion/postgresql-8.1.1.tar.gz (Se descomprime el paquete 
postgresql-8.1.1.tar.gz) 
- # ln -s postgresql-8.1.1 postgresql (Crea un enlace llamado postgresql) 
- # cd postgresql (Cambiar al directorio postgresql) 
- # ./configure --prefix=/usr/local/pgsql (Crea un archivo llamado makefile el cual constituye 
la base de compilación. Si configure falla no tendremos makefile.) 
- # make (El Make se encarga de leer todos los makefiles que fueron creados, estos archivos 
le dicen a make cuales archivos compilar y el orden que debe ser compilado, esto es muy 
importante, ya que podría haber cientos de archivos fuente.) 
- # make install (Instala) 
- # mkdir /usr/local/pgsql/data (crea un directorio llamado data que es donde se guardan las 
bases de datos) 
- # chown postgres /usr/local/pgsql/data (modificar a los usuarios y grupos dueños de la 
carpeta data.) 
 
3. Para instalar la base de datos, se ejecuta la siguiente línea: 
 
- $ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data (Este se debe ejecutar como usuario 
postgres.) 
 
4. De la siguiente forma se configura el arranque automático del servidor: 
 
- # cp /usr/local/pgsql/bin/postmaster /etc/rc.d/init.d/postgres 
- # ln -s /etc/rc.d/init.d/postgres /etc/rc.d/rc5.d 
 
 
1.7.2.1 Usuarios y privilegios 
 
Para crear un usuario se utiliza el comando CREATE USER nombre_ usuario 
 
El manejo de usuarios en PostgreSQL no se diferencia mucho del manejo de cualquier otro objeto, 
ya sean bases de datos, tablas, vistas, etcétera. Todo se basa en tres sentencias básicas create, 
drop y alter. 
 
CREATE USER user_name 
[WITH PASSWORD password] 
[CREATEDB | NOCREATEDB] 
[CREATEUSER | NOCREATEUSER] 
[IN GROUP group1, ...groupN] 
[VALID UNTIL 'abstime']; 
 
user name es el nombre del usuario 
 
 
31 
WITH PASSWORD pide la contraseña del usuario. Si no se va a usar autentificación por password 
se puede omitir esta opción, de otra manera el usuario no será capaz de conectarse con el servidor 
de autenticación de passwords. 
 
CREATEDB, NOCREATEDB son órdenes que definen la capacidad de un usuario para que pueda o no 
crear bases de datos. Si se omite esta opción, NOCREATEDB se usa por default. 
 
CREATEUSER, NOCREATEUSER determina si a un usuario se le permitirá crear nuevos usuarios. Si 
se omite esta opción se creara NOCREATEUSER como valor por defecto del usuario. 
 
IN GROUP es el nombre de un grupo dentro del cual se coloca al usuario como un nuevo miembro. 
VALID UNTIL pone un valor absoluto a la fecha en la que la palabra clave del usuario pierde su 
validez. Si se omite esta orden el login valdrá para siempre. 
 
Para cambiar la contraseña y los privilegios de un usuario se utiliza el comando ALTER USER. 
 
Para borrar a un usuario existente, se utiliza el comando DROP USER 
 
DROP USER borra de la base de datos al usuario creado, es importante señalar que esta cláusula no 
borra tablas, vistas u otros objetos que pertenezcan al usuario. Si el usuario es dueño de una base 
de datos, se producirá un error. 
 
Los grupos son una manera lógica de agrupar a usuarios para facilitar la administración de 
privilegios: Para crear a un grupo se utilizan: 
 
 CREATE GROUP permite crear un grupo nuevo en la base de datos. Este comando 
solamente podrá ser ejecutado por un usuario administrativo. 
 
 ALTER GROUP añade y/o elimina usuarios de un grupo. De igual forma, sólo los 
administradores pueden usar este comando. Añadir un usuario a un grupo no crea ese 
usuario. 
 
 DROP GROUP elimina un grupo. Eliminar a un usuario de un grupo no significa que se 
elimine al usuario en sí mismo. 
 
 
1.7.2.2 Tareas de mantenimiento de la base de datos 
 
Existen algunas tareas de mantenimiento que se deben realizar periódicamente para asegurar que 
el servidor PostgreSQL se ejecute sin problemas. 
 
- Una tarea obvia del mantenimiento es la creación de respaldos de los datos bajo un 
determinado horario. Sin un respaldo reciente, no existe ninguna posibilidad de recuperar los 
datos después de una catástrofe, por ejemplo fuego, falla del disco, entre otros. 
 
- Una segunda categoría de las tareas de mantenimiento periódicas es la conocida como 
“VACUUMING”. 
 
- Un elemento extra que puede necesitar la atención del administrador de la base de datos es 
el archivo de log. 
 
 
32 
El comando VACUUM de PostgreSQL se debe correr regularmente: 
 
1. Para recuperar espacio en disco ocupado por actualizaciones o registros borrados. 
 
2. Para actualizar la estadística de datos usada por el planificador de consultas en PostgreSQL. 
 
 
El objetivo estándar de VACUUM es mantener en uso un pequeño espacio de disco. La función 
estándar es que

Continuar navegando