2. 2
Índice:
4-13~Que es Microsoft Access
14-24~Que es una base de datos
25-26~Tipos de base de datos
27-33~Evolución de las bases de
datos
34-39~Formularios
40-52~Tablas, Registros y campos
63-67~SQL Server
68-72~Que es el modelo entidad
relación
73-78~Que son consultas
79-84~Base de datos distribuidas
85-86~Que son bases de datos NoSQL
3. 3
Biografía
En este libro encontraremos casi todo
(por no decir todo lo esencial) sobre
las bases de datos, tipos,
características entre muchas cosas
más.
Aquí además de hablar sobre las
bases de datos, también
encontraremos contenido de
desarrollo de la misma e imágenes
de demostración del tema y demás,
espero que les sea de utilidad el
contenido de este.
4. 4
¿Que es Microsoft Access?
Access es un programa, utilizado en los sistemas operativos
Microsoft Windows, para la gestión de bases de datos creado
y modificado por Microsoft y orientado a ser usado en
entornos personal o en pequeñas organizaciones. Es un
componente de la suite Microsoft Office. Permite crear ficheros
de bases de datos relacionales que pueden ser fácilmente
gestionadas por una interfaz gráfica sencilla. Además, estas
bases de datos pueden ser consultadas por otros programas.
Dentro de un sistema de información, entraría dentro de la
categoría de gestión, y no en la de ofimática, como podría
pensarse. Este programa permite manipular los datos en
forma de tablas (formadas por filas y columnas), crear
relaciones entre tablas, consultas, formularios para introducir
datos e informes para presentar la información.
El primer Microsoft Access, versión 1.0, fue lanzado por
Microsoft en noviembre de 1987. Rápidamente, en junio de
1993, se lanzó Access 1.1 para mejorar la compatibilidad con
otros productos de Microsoft e incluir el lenguaje de
programación Access Basic.
5. 5
Historia
Access versión 1.0 fue liberado en noviembre de 1992,
rápidamente en mayo de 1993 se liberó Access 1.1 para mejorar
la compatibilidad con otros productos de Microsoft e incluir
el lenguaje de programación de Access Basic.
Originalmente, el software funcionó bien con bases de datos
relativamente pequeños, pero las pruebas mostraron algunas
circunstancias que causaban la corrupción de los datos. Por
ejemplo, el tamaño de los archivos de más de 10 MB eran
problemáticos (tenga en cuenta que la mayoría de los discos
duros eran más pequeños que 500 MB en ese entonces), y el
manual de Cómo empezar advierte sobre una serie de
circunstancias en las que los controladores de dispositivo
obsoletos o configuraciones incorrectas puede causar la
pérdida de datos. Con la eliminación gradual de Windows 95,
98 y ME, la mejora de la confiabilidad de la red, y el
lanzamiento de Microsoft de 8 Service Pack para el Jet
Database Engine, la fiabilidad de las bases de datos de
Access se ha mejorado enormemente tanto en tamaño como en
número de usuarios.
Con Office 95, Microsoft Access 95 se convirtió en parte de
Microsoft Office Professional Suite junto con Microsoft
Excel, Word y PowerPoint y la transformación de Access
Basic a Visual Basic para Aplicaciones (VBA). Desde
entonces, ha habido liberaciones de Microsoft Access con cada
6. 6
versión de Office. Esto incluye el Access 97 (versión 8.0),
Access 2000 (versión 9.0), Access 2002 (versión 10.0), Access
2003 (versión 11.0) y Access 2007 (versión 12.0). El formato de
base de datos nativa de Access (la base de datos Jet MDB)
también ha evolucionado a lo largo de los años. Incluyen
los formatos de acceso 1.0, 1.1, 2.0, 95, 97, 2000, y 2002-2007.
La más significativa fue la transición de Access 97 a Access
2000, formato que no era compatible antes, y Access 2000
requirió el nuevo formato. Desde Access 2000, todas las
nuevas versiones de Access soportan este formato. Se
añadieron nuevas características a Access 2002, que pudieron
ser usadas por Access 2002, 2003 y 2007.
En Access 2007, un nuevo formato de base de datos se
introdujo: ACCDB. El ACCDB soporta los tipos de datos más
complejos, como archivos adjuntos y campos con múltiples
valores. Estos nuevos tipos de campos son esencialmente de
registros y permitir el almacenamiento de múltiples valores
en un campo.
Antes del lanzamiento de Access, el mercado de base de
datos de escritorio estaba dominado por Borland con sus
programas Paradox y dBase, y FoxPro. Microsoft Access fue
el primer programa en masa de base de datos para Windows.
Con la compra de FoxPro y la incorporación de sus rutinas de
optimización Rushmore dentro de Access, Microsoft Access se
convirtió rápidamente en la principal base de datos para
Windows de manera efectiva eliminando la competencia que
no daba transición en el mundo MS-DOS.
Su nombre código fue Cirrus, el motor se llamó Ruby. Esto fue
antes de Visual Basic, Bill Gates los llamo así y decidió que
7. 7
el lenguaje BÁSIC debía ser co-desarrollado como una
aplicación ampliable, un proyecto denominado Thunder.
Como los motores eran incompatibles entre si, estos proyectos
fueron desarrollados por separado, sin embargo, estos se
fusionaron de nuevo después de VBA.
Access también fue el nombre de un programa de
comunicaciones de Microsoft, destinado a competir con
Procomm y otros programas. Esto resultó ser un fracaso y se
abandonó. Años más tarde, Microsoft reutilizó el nombre
para su software de bases de datos.
8. 8
Elementos de Access
Tablas
Las tablas con el componente básico o elemental de las bases
de datos. O lo que es lo mismo, una base de datos está
principalmente compuesta por varias tablas relacionadas. Las
tablas contienen datos sobre algo o alguien, proveedores,
clientes, libros en una biblioteca, compras, ventas, etc.
Consultas
Las consultas son preguntas que un usuario hace a la base de
datos. Con ellas puede obtener información de varias tablas y
con la estructura que más le interese. Además, las consultas
pueden archivarse de forma que la próxima vez que se quiera
hacer la misma pregunta no tendrá que volver a plantearla,
será suficiente con llamar a la consulta previamente creada.
La importancia de las consultas es enorme, de hecho es la
potencia de esta herramienta la que permite que los gestores
de base de datos sean casi imprescindibles en nuestro trabajo
diario.
Formularios
Los formularios son un mecanismo que facilita enormemente
la operatoria general con tablas, principalmente a la hora de
mostrar, introducir y modificar datos. Un uso adecuado de
éstos redunda bastante en el nivel de manejabilidad de una
aplicación o de un sistema de información desarrollado con
Access.
9. 9
Informes
Los informes permiten presentar la información con una
apariencia altamente profesional a la hora de imprimir
nuestros datos.
Página de Access
Páginas de acceso a datos Una página de acceso a datos es
una página Web que se puede utilizar para agregar, modificar,
ver o manipular datos actuales en una base de datos de
Microsoft Access o de SQL Server. Se pueden crear páginas que
se utilizarán para especificar y modificar datos, de manera
similar a los formularios de Access. También se pueden crear
páginas que muestren registros agrupados jerárquicamente, de
manera similar a los informes de Access.
Macros
Las macros son un mecanismo de automatización de Microsoft
Access. Utilizando éstas es posible automatizar tareas
repetitivas eliminando la posibilidad de introducir errores de
operación y liberando tiempo para emplearlo en otras
actividades. Podemos decir que una macro no es más que una
lista de tareas que queremos que Access lleva a cabo
automáticamente.
10. 10
Programa Access
Antes del lanzamiento de Access, el mercado de base de
datos de escritorio estaba dominado por Borland, con sus
programas Paradox y dBase, y por FoxPro. Microsoft Access
fue el primer programa vendido en masa de base de datos
para Windows. Con la compra de FoxPro y la incorporación
de sus rutinas de optimización Rushmore dentro de Access,
Microsoft Access se convirtió rápidamente en la principal
base de datos para Windows de manera efectiva, eliminando
la competencia que no realizaba la transición desde el MS-
DOS.
Inicialmente, Access presentaba una serie de circunstancias en
las que los controladores de dispositivos obsoletos o
configuraciones incorrectas podían causar pérdida de datos.
Con la eliminación gradual de Windows 95, 98 y ME, la
mejora de la confiabilidad de estas bases de datos y el
lanzamiento de Microsoft de Service Pack 8 para el Access Jet
Data base Engine, la fiabilidad de las bases de datos Access
ha mejorado enormemente tanto en tamaño como en número
de usuarios.
Con Office 95, Microsoft Access 95 se convirtió en parte de
Microsoft Office Professional Suite junto con Microsoft
Excel, Word y PowerPoint y la transformación de Access
Basic a Visual Basic para Aplicaciones (VBA). Desde
entonces, ha habido liberaciones de Microsoft Access con cada
11. 11
versión de Office. Esto incluye el Access 97 (versión 8.1),
Access 2000 (versión 9.0), Access 2002 (versión 10.0), Access
2003 (versión 11.0) y Access 2007 (versión 12.0).
El formato de base de datos nativa de Access (la base de
datos Jet MDB) también ha evolucionado a lo largo de los
años. Incluyen los formatos de acceso 1.0, 1.1, 2.0, 95, 97,
2000, y 2002-2007. La más significativa fue la transición de
Access 97 a Access 2000, formato que no era compatible
antes, y Access 2000 requirió el nuevo formato. Desde Access
2000, todas las nuevas versiones de Access soportan este
formato. Se añadieron nuevas características a Access 2002,
que pudieron ser usadas por Access 2002, 2003 y 2007.
En Access 2007, se introdujo un nuevo formato de base de
datos: ACCDB. El ACCDB soporta los tipos de datos más
complejos, como archivos adjuntos y campos con múltiples
valores. Estos nuevos tipos de campos son esencialmente de
registros y permiten el almacenamiento de múltiples valores
en un campo. También se ha modificado enormemente la
interfaz de usuario (la cual estaba un poco descuidada en
versiones anteriores) simplificando y mejorando la experiencia
del usuario con Access.
12. 12
Partes de la ventana de
Microsoft Access
1. Barra de título
Es la barra en donde se encuentran el nombre de las
presentaciones de Access.
En ella están las opciones comunes de Windows:
Minimizar, maximizar y cerrar.
2. Barra de Menú
Es la barra donde se encuentra unas opciones que a
seleccionarlas, se encuentran sub-minués, que contienen
todas las opciones, funciones y comandos para trabajar
con Microsoft Access.
3. Barra de Herramientas
Contienen diferentes iconos, que nos permiten ejecutar
directamente las funciones y comandos más usados en
Access, esta sufre variaciones de acuerdo a la situación o
al objeto seleccionado.
Estas opciones también se encuentran en la barra de
Menú
4. Área de trabajo Access
Es el sector en donde se abrirán las ventanas de trabajo,
por ejemplo: Las bases de datos, formularios, informes,
etc.
5. Barra de estado
Nos muestra una breve reseña de la acción de
determinado comando.
Puede indicarnos también qué operación podemos
13. 13
realizar a continuación.
Si llevamos el señalador del mouse (sin pulsar) sobre
un determinado botón-herramienta, podremos leer allí
una breve descripción de su función.
6. Ventana de bases de Datos
Esta ventana contiene las opciones para crear una base
de datos, esta incluyen: Tablas, Formularios, Consultas,
Informes, páginas, macros y módulos. Que son las
herramientas necesarias que contienen una base de daros.
7. El botón de Microsoft Office
Reemplaza el menú Archivo y está situado en la esquina
superior izquierda de estos programas de Microsoft
Office.
14. 14
¿Qué es una base de datos?
Una base de datos es un “almacén” que nos permite guardar
grandes cantidades de información de forma organizada para
que luego podamos encontrar y utilizar fácilmente. A
continuación te presentamos una guía que te explicará el
concepto y características de las bases de datos.
El término de bases de datos fue escuchado por primera vez en
1963, en un simposio celebrado en California, USA. Una base
de datos se puede definir como un conjunto de información
relacionada que se encuentra agrupada ó estructurada.
Desde el punto de vista informático, la base de datos es un
sistema formado por un conjunto de datos almacenados en
discos que permiten el acceso directo a ellos y un conjunto de
programas que manipulen ese conjunto de datos.
Cada base de datos se compone de una o más tablas que
guarda un conjunto de datos. Cada tabla tiene una o más
columnas y filas. Las columnas guardan una parte de la
información sobre cada elemento que queramos guardar en la
tabla, cada fila de la tabla conforma un registro.
15. 15
Historia
El término bases de datos fue escuchado por primera vez en
un simposio celebrado en California en 1963.
En una primera aproximación, se puede decir que una base de
datos es un conjunto de información relacionada que se
encuentra agrupada o estructurada.
Desde el punto de vista informático, una base de datos es un
sistema formado por un conjunto de datos almacenados en
discos que permiten el acceso directo a ellos y un conjunto de
programas que manipulen ese conjunto de datos.
Por su parte, un sistema de Gestión de Bases de datos es un
tipo de software muy especifico dedicado a servir de interfaz
entre la base de datos, el usuario y las aplicaciones que la
utilizan; o lo que es lo mismo, una agrupación de programas
que sirven para definir, construir y manipular una base de
datos, permitiendo así almacenar y posteriormente acceder a
los datos de forma rápida y estructurada.
Actualmente, las bases de datos están teniendo un impacto
decisivo sobre el creciente uso de las computadoras.
Pero para poder entender más profundamente una base de
datos cabe entender su historia.
Origenes
Los orígenes de las bases de datos se remontan a la
Antigüedad donde ya existían bibliotecas y toda clase de
16. 16
registros. Además también se utilizaban para recoger
información sobre las cosechas y censos. Sin embargo, su
búsqueda era lenta y poco eficaz y no se contaba con la
ayuda de máquinas que pudiesen reemplazar el trabajo
manual.
Posteriormente, el uso de las bases de datos se desarrolló a
partir de las necesidades de almacenar grandes cantidades de
información o datos. Sobre todo, desde la aparición de las
primeras computadoras, el concepto de bases de datos ha
estado siempre ligado a la informática.
En 1884 Herman Hollerith creó la máquina automática de
tarjetas perforadas, siendo nombrado así el primer ingeniero
estadístico de la historia. En esta época, los censos se
realizaban de forma manual.
Ante esta situación, Hollerith comenzó a trabajar en el diseño
de una maquina tabuladora o cansadora, basada en tarjetas
perforadas.
Posteriormente, en la década de los cincuenta se da origen a
las cintas magnéticas, para automatizar la información y
hacer respaldos. Esto sirvió para suplir las necesidades de
información de las nuevas industrias. Y a través de este
mecanismo se empezaron a automatizar información, con la
desventaja de que solo se podía hacer de forma secuencial.
17. 17
Características
• Independencia lógica y física de los datos.
• Redundancia mínima.
• Acceso concurrente por parte de múltiples usuarios.
• Integridad de los datos.
• Consultas complejas optimizadas.
• Seguridad de acceso y auditoría.
• Respaldo y recuperación.
• Acceso a través de lenguajes de programación estándar.
18. 18
Ventajas de las bases de
datos
Control sobre la redundancia de datos:
Los sistemas de ficheros almacenan varias copias de los
mismos datos en ficheros distintos. Esto hace que se
desperdicie espacio de almacenamiento, además de provocar
la falta de consistencia de datos.
En los sistemas de bases de datos todos estos ficheros están
integrados, por lo que no se almacenan varias copias de los
mismos datos. Sin embargo, en una base de datos no se puede
eliminar la redundancia completamente, ya que en ocasiones
es necesaria para modelar las relaciones entre los datos.
Consistencia de datos:
Eliminando o controlando las redundancias de datos se
reduce en gran medida el riesgo de que haya inconsistencias.
Si un dato está almacenado una sola vez, cualquier
actualización se debe realizar sólo una vez, y está disponible
para todos los usuarios inmediatamente. Si un dato está
duplicado y el sistema conoce esta redundancia, el propio
sistema puede encargarse de garantizar que todas las copias
se mantienen consistentes.
Compartir datos:
19. 19
En los sistemas de ficheros, los ficheros pertenecen a las
personas o a los departamentos que los utilizan. Pero en los
sistemas de bases de datos, la base de datos pertenece a la
empresa y puede ser compartida por todos los usuarios que
estén autorizados.
Mantenimiento de estándares:
Gracias a la integración es más fácil respetar los estándares
necesarios, tanto los establecidos a nivel de la empresa como
los nacionales e internacionales. Estos estándares pueden
establecerse sobre el formato de los datos para facilitar su
intercambio, pueden ser estándares de documentación,
procedimientos de actualización y también reglas de acceso.
Mejora en la integridad de datos:
La integridad de la base de datos se refiere a la validez y la
consistencia de los datos almacenados. Normalmente, la
integridad se expresa mediante restricciones o reglas que no se
pueden violar. Estas restricciones se pueden aplicar tanto a
los datos, como a sus relaciones, y es el SGBD quien se debe
encargar de mantenerlas.
Mejora en la seguridad:
La seguridad de la base de datos es la protección de la base
de datos frente a usuarios no autorizados. Sin unas buenas
medidas de seguridad, la integración de datos en los
sistemas de bases de datos hace que éstos sean más
vulnerables que en los sistemas de ficheros.
Mejora en la accesibilidad a los datos:
20. 20
Muchos SGBD proporcionan lenguajes de consultas o
generadores de informes que permiten al usuario hacer
cualquier tipo de consulta sobre los datos, sin que sea
necesario que un programador escriba una aplicación que
realice tal tarea.
Mejora en la productividad:
El SGBD proporciona muchas de las funciones estándar que
el programador necesita escribir en un sistema de ficheros. A
nivel básico, el SGBD proporciona todas las rutinas de
manejo de ficheros típicas de los programas de aplicación.
El hecho de disponer de estas funciones permite al
programador centrarse mejor en la función específica
requerida por los usuarios, sin tener que preocuparse de los
detalles de implementación de bajo nivel.
Mejora en el mantenimiento:
En los sistemas de ficheros, las descripciones de los datos se
encuentran inmersas en los programas de aplicación que los
manejan.
Esto hace que los programas sean dependientes de los datos,
de modo que un cambio en su estructura, o un cambio en el
modo en que se almacena en disco, requiere cambios
importantes en los programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los
datos de las aplicaciones. Esto es lo que se conoce como
independencia de datos, gracias a la cual se simplifica el
21. 21
mantenimiento de las aplicaciones que acceden a la base de
datos.
Aumento de la concurrencia:
En algunos sistemas de ficheros, si hay varios usuarios que
pueden acceder simultáneamente a un mismo fichero, es
posible que el acceso interfiera entre ellos de modo que se
pierda información o se pierda la integridad. La mayoría de
los SGBD gestionan el acceso concurrente a la base de datos
y garantizan que no ocurran problemas de este tipo.
Mejora en los servicios de copias de seguridad:
Muchos sistemas de ficheros dejan que sea el usuario quien
proporcione las medidas necesarias para proteger los datos
ante fallos en el sistema o en las aplicaciones. Los usuarios
tienen que hacer copias de seguridad cada día, y si se produce
algún fallo, utilizar estas copias para restaurarlos.
En este caso, todo el trabajo realizado sobre los datos desde
que se hizo la última copia de seguridad se pierde y se tiene
que volver a realizar. Sin embargo, los SGBD actuales
funcionan de modo que se minimiza la cantidad de trabajo
perdido cuando se produce un fallo.
Desventajas de las bases de datos
Complejidad:
Los SGBD son conjuntos de programas que pueden llegar a
ser complejos con una gran funcionalidad. Es preciso
22. 22
comprender muy bien esta funcionalidad para poder realizar
un buen uso de ellos.
Coste del equipamiento adicional:
Tanto el SGBD, como la propia base de datos, pueden hacer
que sea necesario adquirir más espacio de almacenamiento.
Además, para alcanzar las prestaciones deseadas, es posible
que sea necesario adquirir una máquina más grande o una
máquina que se dedique solamente al SGBD. Todo esto hará
que la implantación de un sistema de bases de datos sea más
cara.
Vulnerable a los fallos:
El hecho de que todo esté centralizado en el SGBD hace que
el sistema sea más vulnerable ante los fallos que puedan
producirse. Es por ello que deben tenerse copias de seguridad
(Backup).
Tipos de Campos
Cada Sistema de Base de Datos posee tipos de campos que
pueden ser similares o diferentes. Entre los más comunes
podemos nombrar:
• Numérico: entre los diferentes tipos de campos
numéricos podemos encontrar enteros “sin decimales” y
reales “decimales”.
• Booleanos: poseen dos estados: Verdadero “Si” y Falso
“No”.
23. 23
• Memos: son campos alfanuméricos de longitud
ilimitada. Presentan el inconveniente de no poder ser
indexados.
• Fechas: almacenan fechas facilitando posteriormente su
explotación. Almacenar fechas de esta forma posibilita
ordenar los registros por fechas o calcular los días
entre una fecha y otra.
• Alfanuméricos: contienen cifras y letras. Presentan una
longitud limitada (255 caracteres).
• Auto incrementables: son campos numéricos enteros que
incrementan en una unidad su valor para cada registro
incorporado. Su utilidad resulta: Servir de identificador
ya que resultan exclusivos de un registro.
Tipos de Base de Datos
Entre los diferentes tipos de base de datos, podemos
encontrar los siguientes:
• MySql: es una base de datos con licencia GPL basada en
un servidor. Se caracteriza por su rapidez. No es
recomendable usar para grandes volúmenes de datos.
• PostgreSql y Oracle: Son sistemas de base de datos
poderosos. Administra muy bien grandes cantidades de
datos, y suelen ser utilizadas en intranets y sistemas de
gran calibre.
• Access: Es una base de datos desarrollada por
Microsoft. Esta base de datos, debe ser creada bajo el
programa Access, el cual crea un archivo .mdb con la
estructura ya explicada.
24. 24
• Microsoft SQL Server: es una base de datos más potente
que Access desarrollada por Microsoft. Se utiliza para
manejar grandes volúmenes de informaciones.
Modelo entidad-relación
Los diagramas o modelos entidad-relación (denominado por
su siglas, ERD “Diagram Entity relationship”) son una
herramienta para el modelado de datos de un sistema de
información. Estos modelos expresan entidades relevantes
para un sistema de información, sus inter-relaciones y
propiedades.
25. 25
Tipos de base de datos
Existen diferentes maneras de ordenar y organizar la
información para que este sea accesible para nosotros. No
existe el sistema de base de datos perfecto: hay que elegir
aquella estructura que mejor se adapte a nuestras
necesidades. Los siguientes son los tipos más comunes:
• Las bases de datos jerárquicas construyen una estructura
de jerarquía con los datos que permite una
estructuración muy estable cuando gestionamos una
gran cantidad de datos muy interrelacionados.
• Las bases de datos en red derivan de las jerárquicas pero
mejoran la gestión de datos redundantes manteniendo
su rendimiento en consultas de datos.
• Las bases de datos transaccionales están diseñadas
para el envío y recepción de datos a grandes velocidades
y de forma continua. Su único fin es la recepción y envío
de información pero la gestión de almacenamiento o
redundancia están fuera de su propósito.
• Las bases de datos relacionales son las más utilizadas
en aplicaciones reales. La información se almacena
siempre haciendo referencia a otra por lo que se facilita
la gestión y su uso por personal no especialista. En este
modelo el lugar y la forma donde se guarde la
información es secundario.
• Las bases de datos orientadas a objetos han surgido
como concepto tras la aparición de los sistemas de
programación orientada a objetos.
26. 26
• Las bases de datos documentales están especializadas
en el almacenamiento de textos completos, por lo que
facilitan el tratamiento informatizado de grandes
cadenas de caracteres.
27. 27
Evolución de las bases de
datos
Década de 1960
Posteriormente en la época de los sesenta, las computadoras
bajaron los precios para que las compañías privadas las
pudiesen adquirir; dando paso a que se popularizara el uso
de los discos, cosa que fue un adelanto muy efectivo en la
época, debido a que a partir de este soporte se podía
consultar la información directamente, sin tener que saber la
ubicación exacta de los datos.
En esta misma época se dio inicio a las primeras generaciones
de bases de datos de red y las bases de datos jerárquicas, ya
que era posible guardar estructuras de datos en listas y
árboles.
Otro de los principales logros de los años sesenta fue la
alianza de IBM y American Airlines para desarrollar
SABRE, un sistema operativo que manejaba las reservas de
vuelos, transacciones e informaciones sobre los pasajeros de
la compañía American Airlines.
Y, posteriormente, en esta misma década, se llevó a cabo el
desarrollo del IDS desarrollado por Charles Bachman ( que
formaba parte de la CODASYL) supuso la creación de un
nuevo tipo de sistema de bases de datos conocido como
modelo en red que permitió la creación de un standard en los
28. 28
sistemas de bases de datos gracias a la creación de nuevos
lenguajes de sistemas de información.
CODASYL (Conference on Data Systems Languages) era un
consorcio de industrias informáticas que tenían como objetivo
la regularización de un lenguaje de programación estándar
que pudiera ser utilizado en multitud de ordenadores.
Los miembros de este consorcio pertenecían a industrias e
instituciones gubernamentales relacionadas con el proceso de
datos, cuya principal meta era promover un análisis, diseño e
implementación de los sistemas de datos más efectivos; y
aunque trabajaron en varios lenguajes de programación como
COBOL, nunca llegaron a establecer un estándar fijo, proceso
que se llevó a cabo por ANSI.
Década de 1970
Por lo que respecta a la década de los setenta, Edgar Frank
Codd, científico informático ingles conocido por sus
aportaciones a la teoría de bases de datos relacionales,
definió el modelo relacional a la par que publicó una serie
de reglas para los sistemas de datos relacionales a través de
su artículo “Un modelo relacional de datos para grandes
bancos de datos compartidos”.
29. 29
Este hecho dio paso al nacimiento de la segunda generación
de los Sistemas Gestores de Bases de Datos.
Como consecuencia de esto, durante la década de 1970,
Lawrence J. Ellison, más conocido como Larry Ellison, a partir
del trabajo de Edgar F. Codd sobre los sistemas de bases de
datos relacionales, desarrolló el Relational Software
System, o lo que es lo mismo, lo que actualmente se conoce
como Oracle Corporation, desarrollando así un sistema de
gestión de bases de datos relacional con el mismo nombre
que dicha compañía.
30. 30
Posteriormente en la época de los ochenta también se
desarrollará el SQL (Structured Query Language) o lo que es
lo mismo un lenguaje de consultas o lenguaje declarativo de
acceso a bases de datos relacionales que permite efectuar
consultas con el fin de recuperar información de interés de una
base de datos y hacer cambios sobre la base de datos de
forma sencilla; además de analiza grandes cantidades de
información y permitir especificar diversos tipos de operaciones
frente a la misma información, a diferencia de las bases de
datos de los años ochenta que se diseñaron para aplicaciones
de procesamiento de transacciones.
Pero cabe destacar que ORACLE es considerado como uno de
los sistemas de bases de datos más completos que existen en
el mundo, y aunque su dominio en el mercado de servidores
empresariales ha sido casi total hasta hace relativamente
poco, actualmente sufre la competencia del SQL Server de la
compañía Microsoft y de la oferta de otros Sistemas
Administradores de Bases de Datos Relacionales con licencia
libre como es el caso de PostgreSQL, MySQL o Firebird que
aparecerían posteriormente en la década de 1990.
Década de 1980
Por su parte, a principios de los años ochenta comenzó el
auge de la comercialización de los sistemas relacionales, y
SQL comenzó a ser el estándar de la industria, ya que las
bases de datos relacionales con su sistema de tablas
(compuesta por filas y columnas) pudieron competir con las
bases jerárquicas y de red, como consecuencia de que su nivel
de programación era sencillo y su nivel de programación era
relativamente bajo.
31. 31
Década años 1990
En la década de 1990 la investigación en bases de datos giró
en torno a las bases de datos orientadas a objetos. Las cuales
han tenido bastante éxito a la hora de gestionar datos
complejos en los campos donde las bases de datos
relacionales no han podido desarrollarse de forma eficiente.
Así se desarrollaron herramientas como Excel y Access del
paquete de Microsoft Office que marcan el inicio de las bases
de datos orientadas a objetos.
Así se creó la tercera generación de sistemas gestores de bases
de datos.
Fue también en esta época cuando se empezó a modificar la
primera publicación hecha por ANSI del lenguaje SQL y se
empezó a agregar nuevas expresiones regulares, consultas
recursivas, triggers y algunas características orientadas a
objetos, que posteriormente en el siglo XXI volverá a sufrir
32. 32
modificaciones introduciendo características de XML, cambios
en sus funciones, estandarización del objeto séquense y de las
columnas auto numéricas. Y además, se creará la posibilidad
de que SQL se pueda utilizar conjuntamente con XML, y se
definirá las maneras de cómo importar y guardar datos XML
en una base de datos SQL. Dando así, la posibilidad de
proporcionar facilidades que permiten a las aplicaciones
integrar el uso de XQuery (lenguaje de consulta XML) para
acceso concurrente a datos ordinarios SQL y documentos XML.
Y posteriormente, se dará la posibilidad de usar la cláusula
order by.
Aunque el boom de la década de los noventa será es el
nacimiento del World Wide Web a finales de la década, ya
que a través de este se facilitará la consulta a bases de
datos.
SIGLO XXI
En la actualidad, las tres grandes compañías que dominan el
mercado de las bases de datos son IBM, Microsoft y Oracle.
33. 33
Por su parte, en el campo de internet, la compañía que genera
gran cantidad de información es Google. Aunque existe una
gran variedad de software que permiten crear y manejar bases
de datos con gran facilidad, como por ejemplo LINQ, que es
un proyecto de Microsoft que agrega consultas nativas
semejantes a las de SQL a los lenguajes de la plataforma
.NET. El objetivo de este proyecto es permitir que todo el
código hecho en Visual Studio sean también orientados a
objetos; ya que antes de LINQ la manipulación de datos
externos tenía un concepto más estructurado que orientado a
objetos; y es por eso que trata de facilitar y estandarizar el
acceso a dichos objetos.
Cabe destacar que Visual Studio es un entorno de desarrollo
integrado para sistemas operativos Windows que soporta
varios lenguajes de programación tales como Visual C++,
Visual#, Visual J#, ASP.NET y Visual Basic.NET, aunque se
están desarrollando las extensiones necesarias para otros,
cuyo objetivo es permitir crear aplicaciones, sitios y
aplicaciones web, así como servicios web a cualquier entorno
que soporte la plataforma .Net, creando así aplicaciones que
intercomuniquen entre estaciones de trabajo, páginas web y
dispositivos móviles.
34. 34
Formularios
Uso de formularios
Para ver, escribir y cambiar datos de manera sencilla
directamente en una tabla, cree un formulario. Al abrir un
formulario, Microsoft Access recupera los datos de una o
más tablas, y los muestra en la pantalla con el diseño
elegido en el Asistente para formularios, o con un diseño que
haya creado en la vista Diseño (vista Diseño: ventana que
muestra el diseño de estos objetos de base de datos: tablas,
consultas, formularios, informes, macros y páginas de acceso
a datos. En la vista Diseño, puede crear objetos de base de
datos nuevos y modificar el diseño de otros existentes.).
: Una tabla muestra muchos registros al mismo tiempo, pero
puede que sea necesario desplazarse para ver todos los datos
de un solo registro. Por otra parte, cuando se visualiza una
tabla, no se pueden actualizar los datos de más de una tabla
al mismo tiempo.
35. 35
: Un formulario sitúa el enfoque en un registro cada vez, pero
puede mostrar los campos de más de una tabla. También
puede mostrar imágenes y otros objetos.
: Un formulario puede incluir un botón que imprima o abra
otros objetos, o puede realizar otras tareas automáticamente.
Datos de aspecto agradable
Un formulario es un tipo de objeto de base de datos que se
utiliza fundamentalmente para introducir o mostrar datos en
una base de datos. También puede usar un formulario como
un panel de control que abra otros formularios e informes en
la base de datos, o como un cuadro de diálogo
personalizado que aceptar los datos del usuario y realiza la
acción basada en la entrada.
Un cuadro de diálogo personalizado
La mayoría de los formularios están enlazados a una o
varias tablas y consultas (consulta: pregunta sobre los datos
almacenados en las tablas o solicitud para llevar a cabo
una acción en los datos. Una consulta puede unir datos de
36. 36
varias tablas para servir como origen de datos de un
formulario, informe o página de acceso a datos.) De la base
de datos. El origen de registros (origen de registros: origen de
datos subyacente de un formulario, informe o página de
acceso a datos. En una base de datos de Access, puede ser una
tabla, una consulta o una instrucción SQL. En un proyecto de
Access, puede ser una tabla, una vista, una instrucción SQL o
un procedimiento almacenado.) De un formulario hace
referencia a los campos de las tablas y consultas base. No es
necesario que un formulario contenga todos los campos de
cada una de las tablas o consultas en las que está basado.
Un formulario dependiente almacena o recupera los datos del
origen de registros base. Otra información del formulario, con
el título, la fecha y el número de página, se almacena en el
diseño del formulario.
• Los elementos gráficos como, por ejemplo, líneas y
rectángulos, se almacenan en el diseño del formulario.
• Los datos proceden de los campos del origen de
registros base.
• Un cálculo procede de una expresión almacenada en el
diseño del informe.
• El texto descriptivo se almacena en el diseño del
formulario.
El vínculo entre un formulario y su origen de registros se crea
mediante los objetos gráficos denominados
controles (control: objeto de interfaz gráfica para el usuario,
como un cuadro de texto, una casilla de verificación, una
barra de desplazamiento o un botón de comando, que permite
a los usuarios controlar el programa. Utilice los controles
37. 37
para mostrar datos y opciones, realizar una opción o facilitar
la lectura de la interfaz.). El tipo de control más comúnmente
utilizado para mostrar y escribir datos es un cuadro de texto.
• Las etiquetas muestran texto descriptivo.
• Los cuadros de texto muestran los datos de la tabla
Productos e introducen datos en dicha tabla.
• Un cuadro de texto utiliza una expresión para calcular
un total.
También puede abrir un formulario en la vista Tabla dinámica
o Gráfico dinámico para analizar los datos. En dichas vistas,
puede cambiar dinámicamente el diseño de un formulario para
presentar los datos de diferentes maneras. Puede reorganizar
los encabezados de filas, encabezados de columnas y campos
de filtro hasta que obtenga el diseño deseado. Cada vez que
modifica el diseño, el formulario actualiza inmediatamente
los datos a partir de la nueva organización.
38. 38
• En la vista Tabla dinámica, puede ver los datos de
detalles o datos resumidos organizando los campos en
las áreas de filtros, filas, columnas y detalles.
• En la vista Gráfico dinámico, puede mostrar visualmente
los datos al seleccionar un tipo de gráfico y ver los
datos organizando los campos en las áreas de filtros,
series, categorías y datos.
Creando un formulario
Para crear rápidamente un formulario, utilice el comando
Autoformato o un Asistente. La función Autoformulario crea
un formulario que muestra todos los campos y registros de
la tabla o consulta (consulta: pregunta sobre los datos
almacenados en las tablas o solicitud para llevar a cabo
una acción en los datos. Una consulta puede unir datos de
varias tablas para servir como origen de datos de un
formulario, informe o página de acceso a datos.) base. El
asistente hace preguntas y crea un informe basándose en las
respuestas que obtiene. Después, podrá personalizar el
formulario en la vista Diseño (vista Diseño: ventana que
39. 39
muestra el diseño de estos objetos de base de datos: tablas,
consultas, formularios, informes, macros y páginas de acceso
a datos. En la vista Diseño, puede crear objetos de base de
datos nuevos y modificar el diseño de otros existentes.).
• Personalizar un formulario
• En la vista Diseño
En la vista Diseño, puede personalizar un informe de las
siguientes maneras:
• Origen del registro: Puede cambiar las tablas y
consultas en las que está basado un formulario.
• Controlar y ayudar al usuario : Puede establecer las
propiedades del formulario para permitir o impedir a
los usuarios que agreguen, eliminen o modifiquen los
registros mostrados en un formulario. También puede
agregar Ayuda personalizada a un formulario
para ayudar a los usuarios a utilizar el formulario.
• Ventana Formulario: Puede agregar o quitar los botones
Maximizar y Minimizar, cambiar los menús
contextuales y otros elementos de la ventana
Formulario.
• Secciones : Se puede agregar, quitar, ocultar o cambiar de
tamaño los encabezados, pies y las secciones de
detalles de un informe. También se puede establecer
propiedades de sección para personalizar la forma en
que se imprimirá el contenido de una sección.
• Controles: Puede mover, cambiar el tamaño o establecer
las propiedades de fuente de un control. También puede
agregar controles para mostrar sus valores.
40. 40
Tablas, Registros y
Campos
Tablas
Tabla en las bases de datos, se refiere al tipo de modelado
de datos, donde se guardan los datos recogidos por un
programa. Su estructura general se asemeja a la vista general
de un programa de hoja de cálculo.
Una tabla es utilizada para organizar y presentar
información. Las tablas se componen de filas y columnas de
celdas que se pueden rellenar con textos y gráficos.
Las tablas se componen de dos estructuras:
• Registro: es cada una de las filas en que se divide la
tabla. Cada registro contiene datos de los mismos tipos
que los demás registros. Ejemplo: en una tabla de
nombres, direcciones, etc. Cada fila contendrá un nombre
y una dirección.
• Campo: es cada una de las columnas que forman la
tabla. Contienen datos de tipo diferente a los de otros
campos. En el ejemplo anterior, un campo contendrá un
tipo de datos único, como una dirección, o un número de
teléfono, un nombre, etc.
A los campos se les puede asignar, además, propiedades
especiales que afectan a los registros insertados. El campo
41. 41
puede ser definido como índice o auto incrementable, lo cual
permite que los datos de ese campo cambien solos o sean el
principal a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la Base de
Datos, haciéndola accesible mediante su nombre o su
seudónimo (Alias) (dependiendo del tipo de base de datos
elegida). La estructura de las tablas viene dada por la forma
de un archivo plano, los cuales en un inicio se componían de
un modo similar.
Las tablas son los objetos principales de bases de datos que
se utilizan para guardar datos.
Elemento disponible en el lenguaje HTML para la creación
de recuadros rectangulares que pueden o no estar anidados y
pueden o no contener celdas (recuadros más pequeños dentro
de una tabla, pero que no se consideran tablas). Las tablas se
utilizan para organizar, posicionar o dar mejor formato a los
textos y gráficos en una página web.
Pueden crearse gráficamente a través de un programa
desarrollador de páginas web o manejando los tags
correspondientes del lenguaje.
42. 42
Tipos de tablas
1. ISAM.- es el formato de almacenaje más antiguo, y
posiblemente pronto desaparecerá. Presentaba
limitaciones (los ficheros no eran transportables entre
máquinas con distinta arquitectura, no podía manejar
ficheros de tablas superiores a 4 gigas). Si aún tienes
tablas tipo ISAM, cámbialas a MYISAM.
2. MYISAM.- es el tipo de tabla por defecto en MySQL
desde la versión 3.23. Optimizada para sistemas
operativos de 64 bits, permite ficheros de mayor tamaño
que ISAM. Además los datos se almacenan en un
formato independiente, con lo que se pueden copiar
tablas de una máquina a otra de distinta plataforma.
Posibilidad de indexar campos BLOB y TEXT
3. HEAP.- Crea tablas en memoria. Son temporales y
desaparecen cuando el servidor se cierra; a diferencia de
una tabla TEMPORARY, que solo puede ser accedida
por el usuario que la crea, una tabla HEAP puede ser
utilizada por diversos usuarios.
4. BDB.- Base de datos Berkeley. TST. Solo en MySQL
MAX
5. INNODB.- TST, ACID, con posibilidad de commit,
rollback, recuperación de errores y bloqueo a nivel de
fila.
6. MERGE más que un tipo de tabla es la posibilidad de
dividir tablas MYISAM de gran tamaño (solo útil si
son verdaderamente de GRAN tamaño) y hacer consultas
sobre todas ellas con mayor rapidez. Las tablas deben
ser myisam e idénticas en su estructura.
43. 43
MySQL nos permite variar el tipo de tabla después de que
esta fue creada.
TST se refiere a ‘Transactions safe tables’, o tablas para
transacciones seguras. A este tipo pertenecen DBD e INNODB.
Las tablas tipo TST son menos rápidas y ocupan más
memoria, pero a cambio ofrecen mayor seguridad frente a
fallos durante la consulta.
Las tablas TST están disponibles desde la versión 4.0 de
MySQL
Las tablas TST permiten ir introduciendo consultas y finalizar
con un COMMIT (que las ejecuta) o ROLLBACK (que ignora
los cambios)
En bases de datos se denomina ACID a un conjunto de
características necesarias para que una serie de instrucciones
puedan ser consideradas como una transacción. Así pues, si un
sistema de gestión de bases de datos es ACID compliant
quiere decir que el mismo cuenta con las funcionalidades
necesarias para que sus transacciones tengan las
características ACID.
En concreto ACID es un acrónimo de Atomicity, Consistency,
Isolation and Durability: Atomicidad, Consistencia,
Aislamiento y Durabilidad en español.
44. 44
Tipos de tablas
proporcionales
Además de la función estándar de las tablas básicas
definidas por el usuario, el Server nos proporciona los
siguientes tipos de tabla, el método cuántico que permiten
llevar a cabo objetivos especiales en una base de datos: que
se utiliza para acomodar cuánticamente los datos obtenidos
de los datos del exterior.
Tablas con particiones
Las tablas con particiones son tablas cuyos datos se han
dividido horizontalmente entre unidades que pueden repartirse
por más de un grupo de archivos de una base de datos. Las
particiones facilitan la administración de las tablas y los
índices grandes porque permiten obtener acceso y administrar
subconjuntos de datos con rapidez y eficacia al mismo tiempo
que mantienen la integridad del conjunto. Las operaciones
como, por ejemplo, la carga de datos de un sistema OLTP a un
sistema OLAP, pueden realizarse en cuestión de segundos en
lugar de minutos u horas en otras versiones. Las operaciones
de mantenimiento que se realizan en los subconjuntos de
datos también se realizan de forma más eficaz porque sólo
afectan a los datos necesarios en lugar de a toda la tabla.
Tiene sentido crear una tabla con particiones si la tabla es
muy grande o se espera que crezca mucho, y si alguna de las
dos condiciones siguientes es verdadera:
45. 45
• La tabla contiene, o se espera que contenga, muchos
datos que se utilizan de manera diferente.
• Las consultas o las actualizaciones de la tabla no se
realizan como se esperaba o los costos de
mantenimiento son superiores a los períodos de
mantenimiento predefinidos.
• Las tablas con particiones admiten todas las
propiedades y características asociadas con el diseño y
consulta de tablas estándar, incluidas las restricciones,
los valores predeterminados, los valores de identidad y
marca de tiempo, los desencadenadores y los índices. *
Por lo tanto, si desea implementar una vista con
particiones que sea local respecto a un servidor, debe
implementar una tabla con particiones. Para obtener
información para comprender, diseñar e implementar
tablas con particiones, vea Tablas e índices con
particiones.
Tablas del sistema
SQL Server almacena los datos que definen la configuración
del servidor y de todas sus tablas en un conjunto de tablas
especial, conocido como tablas del sistema. Los usuarios no
pueden consultar ni actualizar directamente las tablas del
sistema si no es a través de una conexión de administrador
dedicada (DAC) que sólo debería utilizarse bajo la
supervisión de los servicios de atención al cliente de
Microsoft. Para obtener más información, vea Usar una
conexión de administrador dedicada. Las tablas de sistema se
cambian normalmente en cada versión nueva de SQL Server.
Puede que las aplicaciones que hacen referencia directamente
46. 46
a las tablas del sistema tengan que escribirse de nuevo para
poder actualizarlas a una versión nueva de SQL Server con una
versión diferente de las tablas de sistema. La información de
las tablas del sistema está disponible a través de las vistas
de catálogo. Para obtener más información, vea Tablas del
sistema (Transact-SQL).
Con las tablas anchas, puede crear esquemas flexibles dentro
de una aplicación. Puede agregar o quitar columnas siempre
que lo desee. Tenga presente que el uso de tablas anchas tiene
consideraciones de rendimiento únicas, como e13eunos
mayores requisitos de memoria en tiempo de ejecución y en
tiempo de compilación. Para obtener más información, vea
Consideraciones de rendimiento para las tablas anchas.
47. 47
Tablas persistentes
Son aquellas que permiten que los registros sean eliminados
o borrados manualmente, son de tres tipos:
1. Tabla Base: es en donde se encuentra toda la
información de todos los registros sin que se haga
ninguna validación adicional.
2. Vistas: es una vista o relación que se hace en referencia a
una fila o columna específica.
3. Instantáneos: son aquellos registros que se los puede
ver de manera inmediata con solo una referencia.
48. 48
Tablas de datos
Tabla en las bases de datos, se refiere al tipo de modelado
de datos, donde se guardan los datos recogidos por un
programa. Su estructura general se asemeja a la vista general
de un programa de Hoja de cálculo.
Las tablas se componen de dos estructuras:
1. Campo: corresponde al nombre de la columna. Debe ser
único y además de tener un tipo de dato asociado.
2. Registro: corresponde a cada fila que compone la tabla.
Allí se componen los datos y los registros.
Eventualmente pueden ser nulos en su almacenamiento.
En la definición de cada campo, debe existir un nombre único,
con su tipo de dato correspondiente. Esto es útil a la hora de
manejar varios campos en la tabla, ya que cada nombre de
campo debe ser distinto entre sí.
A los campos se les puede asignar, además, propiedades
especiales que afectan a los registros insertados. El campo
puede ser definido como índice o auto incrementable, lo cual
permite que los datos de ese campo cambien solos, el
principal indicar a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la cada base
de datos, haciéndola accesible mediante su nombre o su
seudónimo (Alias) (dependiendo del tipo de base de datos
elegida).
49. 49
Registros
Este representa un objeto único de datos implícitamente
estructurados en una tabla. En términos simples, una tabla de
una base de datos puede imaginarse formada de filas y
columnas o campos. Cada fila de una tabla representa un
conjunto de datos relacionados, y todas las filas de la
misma tabla tienen la misma estructura.
Un registro es un conjunto de campos que contienen los datos
que pertenecen a una misma repetición de entidad. Se le asigna
automáticamente un número consecutivo (número de registro)
que en ocasiones es usado como índice aunque lo normal y
práctico es asignarle a cada registro un campo clave para su
búsqueda.
¿Qué se necesita para realizarlo?
Tener usuario registrado en el sistema Clave Única del Estado
Uruguayo.
El ingreso al nuevo sistema es individual por persona física
con su documento de identidad y contraseña.
En caso de no tenerlo, puede registrase y activar su usuario
online accediendo a "Registrarse" de la página de login del
sistema de registro de URCDP.
Nota: Si usted utiliza otros sistemas transversales como ser
Notificaciones Electrónicas es posible que ya cuente con este
usuario.
¿Cómo se hace?
50. 50
1. Ingresar con usuario y clave.
2. Al ingresar, al sistema tendrá su bandeja de "Mis
Registros" con todos los registros tramitados o bandejas
por estado de registros.
3. Estos son los casos posibles para el usuario que ingresa
al sistema.
Usuario nuevo: Es la primera vez que el usuario entra en
contacto con los sistemas de URCDP para el registro de bases
de datos, de manera que no tiene registros realizados a los
cuales necesite acceder y sus bandejas están vacías.
Usuario que tramitó registros de bases de datos en el sistema
anterior de URCDP. Las personas que tramitaron registros en
el sistema anterior pueden no ver en el nuevo sistema estos
registros. Esto se debe a que en el sistema anterior se
utilizaba un nombre de usuario para ingresar al sistema que
era compartido por varias personas. En el nuevo sistema, cada
usuario ingresa con un nombre de usuario personal, que es su
documento de identidad, y es necesario asociarlo al titular de
los registros ingresados. De esta manera, es necesario migrar
el usuario anterior para que el nuevo usuario tenga acceso a
los mismos registros. Para realizarlo, se debe ingresar a la
opción "Migración Usuarios", en la parte inferior de la
pantalla. En esa pantalla debe indicar el nombre de usuario
que utilizaba para el ingresar al sistema anterior, y el mail
que tenia asociado esa cuenta en el otro sistema. Si el usuario
ingresa correctamente esta combinación de datos, el sistema le
informará los datos del titular al cual se le ha dado
permiso para ver sus registros. Deberá salir del sistema e
ingresar nuevamente para ver los efectos del cambio y
51. 51
visualizar los registros.
Usuario que era titular de registros o representante legal del
titular del registro de las base de datos registradas ante
URCDP. Si el usuario que ingresa al sistema tenia registros
ingresados donde aparecía como titular (titular persona
física) y estos registros estaban aprobados o pendientes de
revisión por parte de URCDP, entonces automáticamente los
va a visualizar en su bandeja "Mis Registros". No será
necesario un proceso de migración con en el caso anterior.
Además de ver los registros donde aparece como titular, el
usuario también visualizará en su bandeja de "Mis Registros"
los registros donde aparezca como representante legal de un
titular (persona física, jurídica u organismo). Esto también sin
necesidad de migrar su usuario.
Para crear un nuevo registro, el usuario debe presionar el
botón "Nuevo Registro" y completar la información de los
formularios en cada paso.
52. 52
Campos
Un campo es la unidad básica de entrada de datos de un
registro. Para definir un nuevo campo, en primer lugar debe
darle un nombre. A continuación, seleccione las opciones que
determinan cómo el campo interpreta, introduce, calcula,
almacena y muestra los datos.
Después de definir un campo, puede configurar opciones de
validación, introducción automática y almacenamiento.
Consulte Configurar opciones de campos para obtener más
información sobre la configuración de estas opciones.
Para crear campos:
1.
Al crear una base de datos, ésta se abre de forma
predeterminada en la vista Tabla. Haga clic en la cabecera
de la columna Crear campo y escriba un nombre para el
primer campo.
2.
El campo de texto aparece como tipo predeterminado. Para
cambiar el tipo de campo, haga clic con el botón derecho en
la cabecera de columna del campo y, a continuación,
seleccione Campo > Tipo de campo.
3.
Para añadir un segundo campo, haga clic en el signo + en
la cabecera de columna.
Se añade un nuevo campo a la base de datos y se muestra
como la última columna en la vista Tabla.
4. Escriba un nombre para el campo.
5.
Cree más campo o añada registros (filas) a la base de
datos.
53. 53
MySQL
MySQL es un sistema de gestión de bases de datos relacional
desarrollado bajo licencia dual GPL/Licencia comercial por
Oracle Corporación y está considerada como la base datos
open source más popular del mundo,12 y una de las más
populares en general junto a Oracle y Microsoft SQL Server,
sobre todo para entornos de desarrollo web.
MySQL fue inicialmente desarrollado por MySQL AB
(empresa fundada por David Axmark, Allan Larsson y
Michael Widenius). MySQL A.B. fue adquirida por Sun
Microsystems en 2008, y ésta a su vez fue comprada por
Oracle Corporation en 2010, la cual ya era dueña desde 2005
de Innobase Oy, empresa finlandesa desarrolladora del
motor InnoDB para MySQL.
Al contrario de proyectos como Apache, donde el software es
desarrollado por una comunidad pública y los derechos de
autor del código están en poder del autor individual, MySQL
es patrocinado por una empresa privada, que posee el
copyright de la mayor parte del código. Esto es lo que
posibilita el esquema de doble licenciamiento anteriormente
mencionado. La base de datos se distribuye en varias versiones,
una Community, distribuida bajo la Licencia pública general
de GNU, versión 2, y varias versiones Enterprise, para aquellas
empresas que quieran incorporarlo en productos privativos.
Las versiones Enterprise incluyen productos o servicios
adicionales tales como herramientas de monitorización y
soporte oficial. En 2009 se creó un fork denominado MariaDB
54. 54
por algunos desarrolladores (incluido algunos
desarrolladores originales de MySQL) descontentos con el
modelo de desarrollo y el hecho de que una misma empresa
controle a la vez los productos MySQL y Oracle Database.3
Está desarrollado en su mayor parte en ANSI C y C++.
Tradicionalmente se considera uno de los cuatro componentes
de la pila de desarrollo LAMP y WAMP.
MySQL es usado por muchos sitios web grandes y populares,
como Wikipedia, Google (aunque no para búsquedas),
Facebook, Twitter, Flickr, y YouTube.
55. 55
Historia
MySQL es un sistema de gestión de bases de datos relacional,
licenciado bajo la GPL de la GNU. Su diseño multihilo le
permite soportar una gran carga de forma muy eficiente.
MySQL fue creada por la empresa sueca MySQL AB, que
mantiene el copyright del código fuente del servidor SQL, así
como también de la marca.
SQL (Lenguaje de Consulta Estructurado) fue comercializado
por primera vez en 1981 por IBM, el cual fue presentado a
ANSI y desde entonces ha sido considerado como un estándar
para las bases de datos relacionales. Desde 1986, el estándar
SQL ha aparecido en diferentes versiones como por ejemplo:
SQL: 92, SQL: 99, SQL: 2003. MySQL es una idea originaria de
la empresa opensource MySQL AB establecida inicialmente en
Suecia en 1995 y cuyos fundadores son David Axmark, Allan
Larsson, y Michael "Monty" Widenius. El objetivo que
persigue esta empresa consiste en que MySQL cumpla el
estándar SQL, pero sin sacrificar velocidad, fiabilidad o
usabilidad.
Michael Widenius en la década de los 90 trató de usar
MySQL para conectar las tablas usando rutinas de bajo nivel
ISAM, sin embargo, MySQL no era rápido y flexible para sus
necesidades. Esto lo llevó a crear una API SQL denominada
MySQL para bases de datos muy similar a la de MySQL pero
más portable.
La procedencia del nombre de MySQL no es clara. Desde hace
más de 10 años, las herramientas han mantenido el prefijo
56. 56
My. También, se cree que tiene relación con el nombre de la
hija del cofundador Monty Widenius quien se llama My.
Por otro lado, el nombre del delfín de MySQL es Sakila y fue
seleccionado por los fundadores de MySQL AB en el
concurso “Name the Dolphin”. Este nombre fue enviado por
Ambrose Twebaze, un desarrollador de software de código
abierto africano, derivado del idioma SiSwate, el idioma local
de Swazilandia y corresponde al nombre de una ciudad en
Arusha, Tanzania, cerca de Uganda la ciudad origen de
Ambrose.
MySQL surgió como un intento de conectar el gestor MySQL a
las tablas propias de MySQL AB, usando sus propias rutinas
a bajo nivel. Tras unas primeras pruebas, vieron que MySQL no
era lo bastante flexible para lo que necesitaban, por lo que
tuvieron que desarrollar nuevas funciones. Esto resultó en
una interfaz SQL a su base de datos, con una interfaz
totalmente compatible a MySQL.
Se comenta en el manual [MySQL_Manual] que no se sabe
con certeza de donde proviene su nombre. Por un lado dicen
que sus librerías han llevado el prefijo 'my' durante los diez
últimos años. Por otro lado, la hija de uno de los
desarrolladores se llama My. No saben cuál de estas dos
causas (aunque bien podrían tratarse de la misma), han dado
lugar al nombre de este conocido gestor de bases de datos.
57. 57
Características
MySQL es un manejador de bases de datos principalmente
utilizado en las aplicaciones WEB en conjunto con PHP. Con
su última versión MYSQL 5.0 anexa nuevas características
importantes que lo hacen más competitivo con manejadores
como SQL Server, Sybase y Oracle.
Entre sus nuevas características tenemos:
• Uso de transacciones ACID (Atomic, Consistent
Isolated, Durable): Para construir aplicaciones más
seguras mediante commit, rollback, crash recovery y
bloqueo por registro.
• Store Procedures: Para mejorar la programación.
• Triggers: Para mejorar las reglas del negocio.
• Vistas: Para que la información sensible sea más segura.
• Information Schema: Para un fácil acceso a los
metadatos.
• Transacciones Distribuidas(XA): Para soportar
transacciones entre múltiples ambientes de bases de
datos
Especificaciones Técnicas
Arquitectura Flexible
• Open Source
• Multi-threaded
• Pluggable Storage-Engine Architecture
o MyISAM
58. 58
o InnoDB
o Merge
o Memory
o Archive
o Cluster
OLTP y Transacciones
• ACID Transactions
• Commit, Rollback
• Foreign Keys, Referential Integrity
• Row-level Locking
• Customizable Lock Isolation Levels
• Distributed Transactions (XA)
• Snapshot Repeatable Reads (readers don’t block writers
and vice-versa)
• Timed Deadlock Detection
ANSI SQL Standards
• ANSI SQL
• SubQueries, Joins, Cursors
• Prepared Statements
• Views
• Triggers
• Stored Procedures
• User-Defined Functions
• Information Schema
• Unicode
• Referential Integrity
• Server-enforced Data Integrity
59. 59
• Strong Data type Support (e.g.Numeric, VARCHAR,
BLOB, etc.)
• Optimized Datatype Support (e.g. Tinyint, Smallint,
Mediumint, Bigint, etc.)
Replicación, Cluster & Alta Disponibilidad
• Built-in Replication
o EngineMaster/Slave
o Dual Master
o Replication Ring
o Replication Tree
• Proven Load Balancing
• · Distributed AutoIncrement
• Main Memory Cluster Engine with instant failover
(available separately)
Respaldos
• Auto-Restart/Recovery
• Backup and Point-in-Time Recovery
• Logical Online Hot-Backup
• Physical Online Hot-Backup (available separately)
Manejo del Almacenamiento
• Hassle-Free Storage Administration
• Automatic Space Expansion
• Built-in Space Reclamation
• Auto Undo/Rollback Management
• Customizable Storage Assignments
• Compressed and Archive Tables
• Packed Index Storage
60. 60
• Works with NAS or SAN storage
Características optimizadas para aplicaciones Web
• Server-side Thread Pool
• Connection Thread Caching
• Query Results Caching
• Load Balancing
• Prepared Statements
• Full Text Search
• Multiple Character Sets
• Geospatial Support
• Multi-Terabyte Scalability
Características optimizadas para Data Warehouse
• Fast Data Load Utility
• High-Speed Multi-Insert Function
• GROUP BY WITH ROLLUP
• Aggregate UDF
• Analytic SQL Functions
• Geospatial Support
• Archive Storage Engine for historical data
• Multi-Terabyte Scalability
Seguridad
• SSL Support
• Built-in Data Encryption/Decryption
• Granular External Security Control Fine Grained Object
Privileges
• View Support
• Triggers for auditing
61. 61
• Query Logs for auditing
• Archive Storage Engine for auditing
Fully backed by MySQL Network
• Certified Testing
• Indemnification
• 24x7 Production Support
• Online Knowledge Base
• Customized Advisors
• Targeted Alerts
Buen Desempeño
• Dynamic Memory Caches
• Unique Query Cache
• Multiple Index Type Support (B-tree, R-tree, Hash, etc.)
• Cost-based Optimizer
• High-speed Query Optimizer
• Diagnostics and SQL Tracing
Fácil de usar
• Fácil de instalar y configurar (aproximadamente 15
minutos para todas las plataformas)
• Cambios dinámicos en la configuración
• Información del esquema
Herramientas Gráficas
• MySQL Workbench
• MySQL Query Browser
• MySQL Administrator
62. 62
• MySQL Migration Toolkit
Drivers
• MySQL Native C Library
• MySQL Drivers for ODBC, JDBC, .Net
• Community Drivers for PHP, Perl, Python, Ruby, etc
• MySQL Connector/MXJ for deployment as a JMX
MBean
Plataformas
• 32 and 64 bit native binaries
• Operating Systems
o Linux: RedHat, SuSE, Fedora, Debian
o Unix: Solaris, HP-UX, AIX, SCO
o BSD: FreeBSD
o Apple: Mac OS
o Windows: 2000, 2003, XP
o Novell: NetWare
• CPUs
o Intel x86, IA32, IA64
o AMD Optaron
o IBM PowerPC
o Sun SPARC
63. 63
SQL Server
SQL Server es un sistema de gestión de bases de datos
relacionales (RDBMS) de Microsoft que está diseñado para
el entorno empresarial. SQL Server se ejecuta en T-SQL
(Transact -SQL), un conjunto de extensiones de programación
de Sybase y Microsoft que añaden varias características a SQL
estándar, incluyendo control de transacciones, excepción y
manejo de errores, procesamiento fila, así como variables
declaradas.
Bajo el nombre código Yukon en su etapa de desarrollo, SQL
Server 2005 fue lanzado en noviembre de 2005. Se dice que el
producto 2005 proporcionó una mayor flexibilidad,
escalabilidad, confiabilidad y seguridad a las aplicaciones
de base de datos, y permitió que fueran más fáciles de crear y
desplegar, lo que reduce la complejidad y el tedio
involucrado en la gestión de bases de datos. SQL Server 2005
también incluía más soporte administrativo.
El código original de SQL Server ha sido desarrollado por
Sybase; a finales de 1980, Microsoft, Sybase y Ashton-Tate
colaboraron para producir la primera versión del producto,
SQL Server 4.2 para OS/2. Posteriormente, tanto Sybase como
Microsoft ofrecieron productos de SQL Server. Sybase cambió
después el nombre de su producto a Adaptive Server
Enterprise.
64. 64
Historia
Todo empieza en el año de 1989 con SQL Server 1.0 que salió
para el viejo sistemas operativo OS/2 de IBM que vio la luz
en 1987, posteriormente en el año 1993 aparece SQL Server 4.21
para Windows NT, lo raro fue su número de versión, luego en
el año de 1995 sale la versión de SQL Server 6.0 en todo el
apogeo del sistema operativo Windows 95, debo mencionar
que para estos momentos SQL server no era tan conocida ni
popular, recién tomaba auge Windows NT en el mundo de los
servidor, al siguiente año 1996 se lanza SQL Server 6.5, es este
momento que personalmente comienzo a ojear la
documentación del motor, pero no a implementarlo.
En 1998 Microsoft lanza SQL Server 7.0 que se convierte en la
versión más popular, en el siguiente año 1999
Microsoft lanzo otra versión 7.0 con las herramientas OLAP
(On-Line Analytical Processing) que es una solución utilizada
en la llamada Inteligencia empresarial o Business
Intelligence, donde el objetivo es agilizar la consulta de
grandes cantidades de datos.
Esta versión de Microsoft SQL Server 7.0 es la que use para mi
tesis cuando me gradué de Analista (año 2000) junto a dos
compañeros el Lcdo. Gabriel Buendía y el Analista Juan
Brito, la usamos para la 2da versión de la página del
antiguo PROTCOM (Programa de Tecnología en
Computación) ahora llamada EDCOM, usamos Macromedia
Flash y Dreamwaver, lo interesante y novedoso para aquella
época era que este sitio se lo administraba con un
65. 65
sistema hecho en Microsoft Visual Basic 6.0; todo se podía
modificar en cuanto a sus datos, y es aquí que decidimos usar
a SQL server, para la pagina usamos ASP 3.0, debo decirlo,
todo era tecnología Microsoft, desde el S.O. del servidor,
tecnología de acceso a datos y el motor, al finalizar la tesis
en el año 2000, migramos la base al reciente SQL Server 2000
o versión 8.0; desde aquí este motor marco un interés en mi en
aprender sobre su forma de administrar los datos y su
lenguaje T-SQL, aunque también soporta ANSI-SQL.
Escuche por unos amigos en el año 2003 que Microsoft saco
la versión SQL Server 2000
64-bit Edition, que se podía instalar en Windows XP 64Bit y
Windows Server, pero no la use, yo seguía aprendiendo más de
la versión 2000, para este año 2003 me certifique en SQL Server
2000 como MCP, además del conocido Microsoft Visual
Studio 2002 y ASP.NET.
Esta versión 2000 duró por mucho tiempo 5 años después en
el 2005 es lanzada la versión SQL Server 2005 o versión 9.0
que se me hizo fácil migrarme a ella; la utilice en mi tesis de
Licenciado con un sistema de control de dictado de materias
para docentes llamado “COASIS”; además como
Administrador de datos en la APESPOL (Asociación de
Profesores de la ESPOL) y en algunos proyectos del EDCOM:
pude probar sus nuevas características, y finalmente en el año
2008 es lanzada SQL Server 2008 o versión 10.0, que para el
2010 ya sabía trabajar con ella y la propusimos en el dictado
de una materia de la carrera de Sistemas con la que estamos
ahora.
66. 66
La última versión de este motor es lanzada en el año 2010
como SQL Server 2008 R2, algunos la llaman SQL Server 2010,
cosas raras de algunos administradores, pero en fin es solo
una versión mejorada de la 2008 que aun estoy aprendiendo
en cuanto a sus nuevas características.
Con este artículo espero dar un enfoque distinto a la historia
del motor relacional Microsoft SQL Server, en otro artículo
podemos profundizar en sus bondades y beneficios.
67. 67
Características
• Soporte de transacciones.
• Soporta procedimientos almacenados.
• Incluye también un entorno gráfico de administración,
que permite el uso de comandos DDL y DML
gráficamente.
• Permite trabajar en modo cliente-servidor, donde la
información y datos se alojan en el servidor y los
terminales o clientes de la red sólo acceden a la
información.
• Además permite administrar información de otros
servidores de datos.
68. 68
¿Qué es el modelo entidad
relación?
Como ya he comentado este modelo es solo y exclusivamente
un método del que disponemos para diseñar estos esquemas
que posteriormente debemos de implementar en un gestor de
BBDD (bases de datos). Este modelo se representa a través de
diagramas y está formado por varios elementos.
Este modelo habitualmente, además de disponer de un
diagrama que ayuda a entender los datos y como se
relacionan entre ellos, debe de ser completado con un
pequeño resumen con la lista de los atributos y las
relaciones de cada elemento.
69. 69
Elementos del modelo
entidad-relación
Entidad:
Las entidades representan cosas u objetos (ya sean reales o
abstractos), que se diferencian claramente entre sí.
Para poder seguir un ejemplo durante el artículo añadiré
ejemplos sobre un taller mecánico, donde se podría crear las
siguientes entidades:
• Coches (objeto físico): contiene la información de cada
taller.
• Empleado (objeto físico): información de los
trabajadores.
• Cargo del empleado (cosa abstracta): información de la
función del empleado.
Atributos:
Los atributos definen o identifican las características de
entidad (es el contenido de esta entidad). Cada entidad
contiene distintos atributos, que dan información sobre esta
entidad. Estos atributos pueden ser de distintos tipos
(numéricos, texto, fecha...).
Siguiendo el ejemplo de antes podemos analizar los
atributos de nuestra entidad "Coches", que nos darán
información sobre los coches de nuestro supuesto taller.
70. 70
Unos posibles atributos serían los siguientes: número de
chasis, matrícula, DNI del propietario, marca, modelo y
muchos otros que complementen la información de cada
coche.
Relación:
Es un vínculo que nos permite definir una dependencia entre
varias entidades, es decir, nos permite exigir que varias
entidades compartan ciertos atributos de forma indispensable.
Por ejemplo, los empleados del taller (de la entidad
"Empleados") tienen un cargo (según la entidad "Cargo del
empleado"). Es decir, un atributo de la entidad "Empleados"
especificará que cargo tiene en el taller, y tiene que ser
idéntico al que ya existe en la entidad "Cargo del empleado".
Las relaciones se muestran en los diagramas como rombos,
que se unen a las entidades mediante líneas.
Relaciones de cordialidad:
Podemos encontrar distintos tipos de relaciones según como
participen en ellas las entidades. Es decir, en el caso anterior
cada empleado puede tener un cargo, pero un mismo cargo lo
pueden compartir varios empleados.
Esto complementa a las representaciones de las relaciones,
mediante un intervalo en cada extremo de la relación que
especifica cuantos objetos o cosas (de cada entidad) pueden
intervenir en esa relación.
71. 71
Uno a uno: Una entidad se relaciona únicamente con otra y
viceversa. Por ejemplo, si tuviésemos una entidad con distintos
chasis y otra con matrículas deberíamos de determinar que
cada chasis solo puede tener una matrícula (y cada matrícula
un chasis, ni más en ningún caso).
Varios a varios: determina que una entidad puede relacionarse
con otra con ninguno o varios registros y viceversa. Por
ejemplo, en el taller un coche puede ser reparado por varios
mecánicos distintos y esos mecánicos pueden reparar varios
coches distintos.
Los indicadores numéricos indican el primero el número
mínimo de registros en una relación y posteriormente el
máximo (si no hay límite se representa con una "n").
Claves:
Es el atributo de una entidad, al que le aplicamos una
restricción que lo distingue de los demás registros (no
permitiendo que el atributo específico se repita en la entidad)
o le aplica un vínculo (exactamente como comentábamos en
las relaciones). Estos son los distintos tipos:
Superclave: aplica una clave o restricción a varios atributos de
la entidad, para así asegurarse que en su conjunto no se
72. 72
repitan varias veces y así no poder entrar en dudas al querer
identificar un registro.
Clave primaria: identifica inequívocamente un solo atributo no
permitiendo que se repita en la misma entidad. Como sería la
matrícula o el número de chasis de un coche (no puede existir
dos veces el mismo).
Clave externa o clave foránea: este campo tiene que estar
estrictamente relacionado con la clave primaria de otra
entidad, para así exigir que exista previamente ese clave.
Anteriormente hemos hablado de ello cuando comentábamos
que un empleado indispensablemente tiene que tener un cargo
(que lo hemos representado numéricamente).
73. 73
¿Qué son consultas?
En bases de datos, una consulta es el método para acceder a
los datos en las bases de datos. Con las consultas se puede
modificar, borrar, mostrar y agregar datos en una base de
datos. Para esto se utiliza un lenguaje de consultas. El
lenguaje de consultas a base de datos más utilizado es el
SQL.
Técnicamente hablando, las consultas a la base de datos se
realizan a través de un lenguaje de manipulación de datos
(DML – Data Manipulation Lenguaje). SQL es un lenguaje
DML, pero además posee otras características de otros
lenguajes. Por ejemplo, permite también crear bases de datos.
74. 74
Historia
La crisis del 73
“...desde 1900 ha habido cuatro fases de desarrollo distintas e
importantes. Estas son: el orden liberal, orientado hacia el
mercado, que terminó con la Primera Guerra Mundial, el
período de conflicto y autarquía de 1914 a 1950, la edad
dorada de crecimiento rápido hasta 1973, y la fase de
crecimiento más lento y de inflación acelerada desde
entonces.”
(Maddison- La economía mundial)
“Los orígenes de de la crisis son múltiples y complejos (…).
(…) cada vez era más difícil asegurar mercados para los
productos de los países industriales, tanto por la
competencia entre ellos, como por la dificultad de vender a
los países fuertemente empobrecidos del Tercer Mundo. Esta
situación empeoró con la crisis de petróleo de 1973. La
Organización de Países Exportadores de Petróleo (OPEP)
dejcidió cuadruplicar el precio del cruso.
El impacto del aumento de los precios del petróleo fue
terrible para unas economías como las occidentales,
fuertemente dependientes de las importaciones de esta fuente
de energía. La subida de precios de las materias primas, que se
produjo como consecuencia de la subida del petróleo,
encareció la producción y produjo en general una baja de los
beneficios empresariales y una subida del precio de venta de
los productos.
75. 75
La crisis afectó a muchas empresas y sectores industriales y
sólo los más fuertes sobrevivieron, lo que dio lugar a una
mayor concentración del poder económico.
También debido a la crisis, la industria tradicional empezó a
trasladarse al Tercer Mundo, donde los salarios eran más
bajos y los controles sobre contaminación ambiental menores,
reservándose los países más desarrollados a la producción
de alta tecnología y las actividades de investigación y
desarrollo.
Por otro lado, en muchos países se produjo un debilitamiento
del sector público, a fin de reducir gastos en los presupuestos,
y muchas empresas, e incluso servicios sociales se
privatizaron.
Asimismo, se experimentó, en general, aun aumento de la
desocupación (…)
(Tiempo 4 Ciencias Sociales. p. 42)
PBI per cápita en dólares
(precios de 1980)
76. 76
Características
• Es como una votación. Puede usarse para votar sobre
algo o para recibir una respuesta de cada estudiante (por
ejemplo, para pedir su consentimiento para algo).
• El profesor puede ver una tabla que presenta de forma
intuitiva la información sobre quién ha elegido qué.
• Se puede permitir que los alumnos vean la tabla
anterior o un gráfico anónimo y actualizado de los
resultados.
• Esta consulta no es científica, responde tan sólo a las
respuestas voluntarias de los participantes que deseen
exponer su opinión.
• Podemos limitar el número de máximo de respuestas por
opción.
•
77. 77
Interacción
Interacción es un vocablo que describe una acción que se
desarrolla de modo recíproco entre dos o más organismos,
objetos, agentes, unidades, sistemas, fuerzas o funciones.
En el campo de la física, se distinguen cuatro tipos de
interacciones fundamentales entre las partículas: la nuclear
fuerte, la nuclear débil, la electromagnética y la gravitatoria.
Esta última es sin duda la más conocida (y experimentada)
por todos. Para la Ciencia es también la más enigmática, ya
que afecta a todos los cuerpos, aún a aquellos sin carga o
sin masa, como es el caso del fotón.
Desde el plano de la medicina, una interacción farmacológica
se produce cuando se alteran los efectos de los fármacos
debido a la ingesta de alimentos o del consumo de otros
medicamentos; la acción de estos últimos puede ser
antagónica (genera que el efecto disminuya) o sinérgica
(potencia los efectos). Evidentemente, quien consume dos
fármacos sinérgicos puede padecer una sobredosis con efectos
secundarios.
En el campo del diseño industrial, el correcto análisis del
tipo de interacción que tendrán los potenciales usuarios con
un determinado producto que se esté desarrollando será clave
para su éxito. En el arduo y extenso proceso de creación de un
aparato o periférico (como ser un mouse o un mando de
juegos) intervienen múltiples disciplinas, como la usabilidad
y la ergonomía.
78. 78
Interacción entre el hombre
y la maquina
La Interacción Humano-Computador (HCI) es el estudio de
la interacción entre el ser humano, los computadores y los
trabajos que se desarrollan producto de esta actividad; su
principal objetivo es dar a conocer cómo las personas y los
computadores interactúan para llevar a cabo labores a través
de software y sistemas.
Existen aportes significativos a la HCI, que se han adquirido
de las ciencias de la computación, psicología, matemáticas,
artes gráficas, sociología, inteligencia artificial, lingüística,
filosofía, antropología y ergonomía. Esta última rama de
estudio, contiene partes fundamentales de la HCI, ya que su
propósito principal es interpretar cómo los computadores y el
ser humano intercambian información para realizar tareas ya
existentes y/o nuevas.
La ergonomía en este caso se encauza en hallar las
características de diseño en los sistemas computacionales
para que tengan un uso más efectivo y eficiente, así como el
desarrollo de principios, guías, métodos y herramientas para
mejorar el diseño y desarrollo de los sistemas interactivos
computacionales (Sociedad de Ergonomistas de México A.C,
(2007)
En la Interacción Humano-Computador, el diseño de la
Interfaz Gráfica de Usuario desempeña un rol.
79. 79
Base de datos distribuidas
Una Base de Datos Distribuida (BDD) es un conjunto de
cuales se encuentran distribuidas entre diferentes sitios
interconectados por una red de comunicaciones, los cuales
tienen la capacidad de procesamiento autónomo lo cual
indica que puede realizar operaciones locales o distribuidas.
Un sistema de Bases de Datos Distribuida (SBDD) es un
sistema en el cual múltiples sitios de bases de datos están
ligados por un sistema de comunicaciones de tal forma que,
un usuario en cualquier sitio puede acceder los datos en
cualquier parte de la red.
En un sistema distribuido de bases de datos se almacenan en
varias computadoras. Los principales factores que distinguen
un SBDD de un sistema centralizado son los siguientes:
• Hay múltiples computadores, llamados sitios o nodos.
• Estos sitios deben de estar comunicados por medio de algún
tipo de red de comunicaciones para transmitir datos y órdenes
entre los sitios.
80. 80
Reglas
El principio fundamental es que para el usuario un sistema
distribuido debe ser igual que uno centralizado.
• Autonomía Local: Los sitios distribuidos deben ser
autónomos, es decir que todas las operaciones en un sitio
dado se controlan en ese sitio.
• No dependencia de un sitio central: No debe de haber
dependencia de un sitio central para obtener un servicio.
• Operación Continua: Nunca debería apagarse para que se
pueda realizar alguna función, como añadir un nuevo sitio.
• Independencia con respecto a la localización: No debe de
ser necesario que los usuarios sepan dónde están
almacenados físicamente los datos, sino que más el usuario
lo debe de ver como si solo existiera un sitio local.
• Independencia con respecto a la fragmentación: La
fragmentación es deseable por razones de desempeño, los
datos, pueden almacenarse en la localidad donde se utilizan
con mayor frecuencia de manera que la mayor parte de las
operaciones sean sólo locales y se reduzca el tráfico en la
red.
• Independencia de réplica: Si una relación dada (es decir, un
fragmento dado de una relación) se puede presentar en el
nivel físico mediante varias copias almacenadas o réplicas, en
81. 81
muchos sitios distintos.
• Procesamiento Distribuido de Consultas: El objetivo es
convertir transacciones de usuario en instrucciones para
manipulación de datos, y así reducir el trafico en la red
implica que el proceso mismo de optimización de consultas
debe ser distribuido.
• Manejo Distribuido de Transacciones: Tiene dos aspectos
principales, el control de recuperación y el control de
concurrencia, cada uno de los cuales requiere un tratamiento
más amplio en el ambiente distribuido.
• Independencia con respecto al equipo: El SGBDD debe ser
ejecutable en diferentes plataformas hardware.
• Independencia con respecto al Sistema Operativo: El
sistema debe ser ejecutable varios diferentes SO.
• Independencia con respecto a la red: El sistema debe poder
ejecutarse en diferentes redes.
• Todos los usuarios accesan a la BDD a través de un
esquema global en forma transparente al usuario. Debe ser
posible ejecutar diferentes SGBDD locales que utilicen
distintos modelos de datos.
82. 82
Ventajas
La principal ventaja de los sistemas distribuidos es la
capacidad de compartir y acceder a la información de una
forma fiable y eficaz.
• Utilización compartida de los datos y distribución del
control: la ventaja principal de compartir los datos por
medio de la distribución es que cada localidad pueda
controlar hasta cierto punto los datos almacenados
localmente. En un sistema centralizado, el administrador de
base de datos de la localidad central controla la base de
datos. En un sistema distribuido existe un administrador
global de la base de datos que se encarga de todo el
sistema. Parte de esta responsabilidad se delega al
administrador de base de datos de cada localidad.
Dependiendo del diseño del sistema distribuido, cada
administrador local podrá tener un grado de autonomía
diferente, que se conoce como autonomía local. La posibilidad
de contar con autonomía local es en muchos casos una
ventaja importante de las bases de datos distribuidas.
• Fiabilidad y disponibilidad: si se produce un fallo en una
localidad de un sistema distribuido, es posible que las demás
localidades puedan seguir trabajando. En particular, si los
datos se repiten en varias localidades, una transacción que
requiere un dato específico puede encontrarlo en más de una
localidad. Así, el fallo de una localidad no implica
necesariamente la desactivación del sistema. El sistema debe
detectar cuando falla una localidad y tomar las medidas
83. 83
necesarias para recuperarse del fallo. El sistema no debe
seguir utilizando la localidad que falló. Por último, cuando
se recupere o repare esta localidad, debe contarse con
mecanismos para reintegrarla al sistema con el mínimo de
complicaciones. La disponibilidad es fundamental para los
sistemas de bases de datos que se utilizan en aplicaciones de
tiempo real. Por ejemplo, si una línea aérea no puede tener
acceso a la información, es posible que pierda clientes a favor
de la competencia.
• Agilización del procesamiento de consulta: si una consulta
comprende datos de varias localidades, puede ser posible
dividir la consulta en varias subconsultas que se ejecuten en
paralelo en distintas localidades. Sin embargo, en un sistema
distribuido no se comparte la memoria principal, así que no
todas las estrategias de intersección se pueden aplicar en
estos sistemas. En los casos en que hay repetición de los
datos, el sistema puede pasar la consulta a las localidades
más ligeras de carga.
84. 84
Desventajas
La desventaja principal de los sistemas distribuidos es la
mayor complejidad que se requiere para garantizar una
coordinación adecuada entre localidades.
El aumento de la complejidad se refleja en:
* Coste del desarrollo de software: es más difícil estructura
un sistema de bases de datos distribuidos y por tanto su coste
es menor.
* Mayor posibilidad de errores: puesto que las localidades
del sistema distribuido operan en paralelo, es más difícil
garantizar que los algoritmos sean correctos.
* Mayor tiempo extra de procesamiento: el intercambio de
mensajes y los cálculos adicionales son una forma
de tiempo extra que no existe en los sistemas centralizados.
85. 85
¿Que son las bases de
datos NoSQL?
Originalmente el término NoSQL, que fue acuñado en 1998, se
refería a una base de datos relacional de código abierto que
no usaba un lenguaje de consultas SQL (Structured Query
Language).
Hasta 2009 estas cinco letras cayeron en el olvido, pero fue
Johan Oskarsson, entonces empleado de Last.fm, quien
organizó un evento para tratar las bases de datos distribuidas
de código abierto no relacionales, llamándolas “NOSQL”,
Not-Only SQL.
Las características comunes entre todas las implementaciones
de bases de datos distribuidas no relacionales, propietarias o
no, suelen ser las siguientes:
• Consistencia Eventual: No se implementan mecanismos
rígidos de consistencia como los presentes en las bases
de datos relacionales, donde la confirmación de un
cambio implica una comunicación del mismo a todos los
nodos que lo repliquen. Esta flexibilidad hace que la
consistencia se dé, eventualmente, cuando no se hayan
modificado los datos durante un periodo de tiempo.
Esto se conoce también como BASE (Basically
Available Soft-state Eventual Consistency, o coherencia
eventual flexible básicamente disponible), en
86. 86
contraposición a ACID, su analogía en las bases de
datos relacionales.
• Estructura distribuida: Generalmente se distribuyen los
datos mediante mecanismos de tablas de hash
distribuidas (DHT) ya que realmente se trata, según las
distintas implementaciones, de redes p2p.
• Escalabilidad horizontal: La implementación típica se
realiza en muchos nodos de capacidad de procesado
limitado, en vez de utilizar grandes Mainframes.
• Tolerancia a fallos y Redundancia.
De entre todas las implementaciones de bases de datos
NoSQL, hay muchas que no utilizan el lenguaje de consultas
SQL (por ejemplo, MongoDB usa JSON), pero hay algunas
que siguen usándolo, como por ejemplo BigTable (GQL), que
lo ha transformado manteniendo su estructura básica.
Definitivamente, con el término NoSQL nos referimos a una
multitud de bases de datos que intentan solventar las
limitaciones que el modelo relacional se encuentra en
entornos de almacenamiento masivo de datos, y
concretamente en las que tiene en el momento de escalar,
donde es necesario disponer de servidores muy potentes y de
balanceo de carga.