SlideShare una empresa de Scribd logo
1 de 86
Descargar para leer sin conexión
1
DASE DE DATOS
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
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
¿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
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
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
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
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
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
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
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
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
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
¿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
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
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
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
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
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
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
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
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
• 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
• 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
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
• 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
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
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
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
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
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
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
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
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
: 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
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
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
• 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
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
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
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
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
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
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
• 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
• 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
• 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
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
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
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
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
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
¿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
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
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
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
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
¿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
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
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
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
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
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
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
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
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
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
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
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
¿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
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.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Ensayo de access
Ensayo de accessEnsayo de access
Ensayo de access
 
microsoft access
microsoft accessmicrosoft access
microsoft access
 
Microsoft office JOSE OLIVA
Microsoft office JOSE OLIVAMicrosoft office JOSE OLIVA
Microsoft office JOSE OLIVA
 
E02. bases de datos con access
E02. bases de datos con accessE02. bases de datos con access
E02. bases de datos con access
 
SUITES OFIMÁTICAS
SUITES OFIMÁTICAS SUITES OFIMÁTICAS
SUITES OFIMÁTICAS
 
E01. procesador de texto
E01. procesador de textoE01. procesador de texto
E01. procesador de texto
 
Bases de datos con Access
Bases de datos con AccessBases de datos con Access
Bases de datos con Access
 
Microsoft SQL SERVER
Microsoft SQL SERVERMicrosoft SQL SERVER
Microsoft SQL SERVER
 
Procesador de texto Word
Procesador de texto WordProcesador de texto Word
Procesador de texto Word
 
historia de office
historia de officehistoria de office
historia de office
 
Resumen
ResumenResumen
Resumen
 
Microsoft Access
 Microsoft Access Microsoft Access
Microsoft Access
 
Lo nuevo de sql server 2008. madrigal
Lo nuevo de sql server 2008. madrigalLo nuevo de sql server 2008. madrigal
Lo nuevo de sql server 2008. madrigal
 
Ofimatica
OfimaticaOfimatica
Ofimatica
 
Lorena informatica
Lorena informaticaLorena informatica
Lorena informatica
 
Microsoft-Office
Microsoft-OfficeMicrosoft-Office
Microsoft-Office
 
Microsoft office
Microsoft officeMicrosoft office
Microsoft office
 
Shirley
ShirleyShirley
Shirley
 
Unidad 2. actividad 4
Unidad 2. actividad 4Unidad 2. actividad 4
Unidad 2. actividad 4
 
Historia de paquete office
Historia de paquete office Historia de paquete office
Historia de paquete office
 

Similar a Dase de datos

Similar a Dase de datos (20)

presentacioninformatica-090629151447-phpapp02.pdf
presentacioninformatica-090629151447-phpapp02.pdfpresentacioninformatica-090629151447-phpapp02.pdf
presentacioninformatica-090629151447-phpapp02.pdf
 
Microsoft Access
Microsoft AccessMicrosoft Access
Microsoft Access
 
access
accessaccess
access
 
acces
accesacces
acces
 
Base de datos
Base de datosBase de datos
Base de datos
 
presentacion de Access
presentacion de Accesspresentacion de Access
presentacion de Access
 
MICROSOFT ACCESS
MICROSOFT ACCESSMICROSOFT ACCESS
MICROSOFT ACCESS
 
Microsoft access 2007
Microsoft access 2007Microsoft access 2007
Microsoft access 2007
 
MICROSOFT ACCESS
MICROSOFT ACCESSMICROSOFT ACCESS
MICROSOFT ACCESS
 
presentacion de access
presentacion de accesspresentacion de access
presentacion de access
 
microsoft access
microsoft access microsoft access
microsoft access
 
microsoft acces
microsoft accesmicrosoft acces
microsoft acces
 
Microsoft access
Microsoft accessMicrosoft access
Microsoft access
 
microsoft access
microsoft accessmicrosoft access
microsoft access
 
Mayra Guaman Ca3 8
Mayra Guaman Ca3 8Mayra Guaman Ca3 8
Mayra Guaman Ca3 8
 
Microsoft Access
Microsoft AccessMicrosoft Access
Microsoft Access
 
Daladier
DaladierDaladier
Daladier
 
Base de datos
Base de datosBase de datos
Base de datos
 
Microsoft access
Microsoft accessMicrosoft access
Microsoft access
 
Gestor de base de datos Microsoft access)
Gestor de base de datos Microsoft access)Gestor de base de datos Microsoft access)
Gestor de base de datos Microsoft access)
 

Último

Teoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptxTeoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptxlm24028
 
Tortosa et al. 2º Simposio Internacional Composta.pdf
Tortosa et al. 2º Simposio Internacional Composta.pdfTortosa et al. 2º Simposio Internacional Composta.pdf
Tortosa et al. 2º Simposio Internacional Composta.pdfGermán Tortosa
 
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdfHolland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdffrank0071
 
tecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptxtecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptxJESUSDANIELYONGOLIVE
 
Centro de masa, centro de gravedad y equilibrio.pptx
Centro de masa, centro de gravedad y equilibrio.pptxCentro de masa, centro de gravedad y equilibrio.pptx
Centro de masa, centro de gravedad y equilibrio.pptxErichManriqueCastill
 
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdfMata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdffrank0071
 
enfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umssenfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umssCinthyaMercado3
 
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdfvguadarramaespinal
 
valoracion hemodinamica y respuesta a fluidorerapia
valoracion hemodinamica y respuesta a fluidorerapiavaloracion hemodinamica y respuesta a fluidorerapia
valoracion hemodinamica y respuesta a fluidorerapiaresiutihjaf
 
Límites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptxLímites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptxErichManriqueCastill
 
Piccato, P. - Historia mínima de la violencia en México [2022].pdf
Piccato, P. - Historia mínima de la violencia en México [2022].pdfPiccato, P. - Historia mínima de la violencia en México [2022].pdf
Piccato, P. - Historia mínima de la violencia en México [2022].pdffrank0071
 
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdfHarris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdffrank0071
 
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...frank0071
 
Fowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdfFowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdffrank0071
 
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...frank0071
 
Informe Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena ParadasInforme Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena ParadasRevista Saber Mas
 
registro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionregistro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionMarcoAntonioJimenez14
 
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)s.calleja
 
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdf
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdfDESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdf
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdfssuser6a4120
 
Tractos ascendentes y descendentes de la médula
Tractos ascendentes y descendentes de la médulaTractos ascendentes y descendentes de la médula
Tractos ascendentes y descendentes de la méduladianymorales5
 

Último (20)

Teoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptxTeoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptx
 
Tortosa et al. 2º Simposio Internacional Composta.pdf
Tortosa et al. 2º Simposio Internacional Composta.pdfTortosa et al. 2º Simposio Internacional Composta.pdf
Tortosa et al. 2º Simposio Internacional Composta.pdf
 
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdfHolland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
 
tecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptxtecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptx
 
Centro de masa, centro de gravedad y equilibrio.pptx
Centro de masa, centro de gravedad y equilibrio.pptxCentro de masa, centro de gravedad y equilibrio.pptx
Centro de masa, centro de gravedad y equilibrio.pptx
 
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdfMata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
 
enfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umssenfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umss
 
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf
 
valoracion hemodinamica y respuesta a fluidorerapia
valoracion hemodinamica y respuesta a fluidorerapiavaloracion hemodinamica y respuesta a fluidorerapia
valoracion hemodinamica y respuesta a fluidorerapia
 
Límites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptxLímites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptx
 
Piccato, P. - Historia mínima de la violencia en México [2022].pdf
Piccato, P. - Historia mínima de la violencia en México [2022].pdfPiccato, P. - Historia mínima de la violencia en México [2022].pdf
Piccato, P. - Historia mínima de la violencia en México [2022].pdf
 
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdfHarris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
 
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...
 
Fowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdfFowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdf
 
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...
 
Informe Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena ParadasInforme Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena Paradas
 
registro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionregistro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracion
 
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
 
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdf
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdfDESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdf
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdf
 
Tractos ascendentes y descendentes de la médula
Tractos ascendentes y descendentes de la médulaTractos ascendentes y descendentes de la médula
Tractos ascendentes y descendentes de la médula
 

Dase de datos

  • 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.