Mostrando las entradas con la etiqueta Base de datos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Base de datos. Mostrar todas las entradas

domingo, 26 de agosto de 2018

Los mejores gestores de base de datos





Oracle
Precio:
80 y 400 dólares dependiendo del tipo de licencia de usuario.
Seguridad:
Oracle pone al alcance del DBA varios niveles de seguridad:
-Seguridad de cuentas para la validación de usuario.
- Seguridad en el acceso a los objetos de la base de datos.
- Seguridad a nivel de sistema para la gestión de privilegios globales.
Flexibilidad:
La tecnología Oracle para organizaciones en crecimiento es abierta, fácil de  integrar, simple de administrar y altamente escalable, lo cual ayuda adaptarse mas rápido a los cambios del mercado o a los requerimientos del cliente. Las soluciones Oracle permiten alinear sus procesos con las cambiantes necesidades durante un largo periodo, brindando así valor continuo para su empresa.
Estabilidad:
Es muy resistente.
Capacidad:
La capacidad de BDD es alta ya que soporta hasta 4 peta bytes de información.

MySql
Precio:
Sin costo.
Seguridad:
Para encontrar información específica sobre el sistema de control de accesos que MySQL. Utiliza para crear cuentas de usuarios y comprobar el acceso a las bases de datos.
Flexibilidad:
Es sumamente fácil de administrar, operar y es famoso por su instalación de 15 minutos, la cual en 15 minutos es posible instalar, configurar y montar una BD relacional ya sea sistemas OLTP o bien OLAP, aunque por excelencia MySQL Server es comúnmente usado para desarrollos Web 2.0 y Enterprise2.0.
Estabilidad:
Intentaremos clarificar estas cuestiones y responder algunas preguntas importantes que preocupan a muchos usuarios potenciales. La información en esta sección se basan en datos recopilados de las listas de correo, que son muy activas para identificar problemas así como para reportar tipos de usos.
Capacidad de almacenamiento:
Win32 w/ FAT/FAT32 2GB/4GB
Win32 w/ NTFS 2TB
Linux 2.2-Intel 32-bit 2GB (LFS: 4GB)
Linux 2.4+ (usando ext3 file system) 4TB
Solaris 9/10 16TB
MacOS X w/ HFS+ 2TB
NetWare w/NSS file system 8TB

DBase
Precio:
Sin costo.
Seguridad:
La seguridad en DBase Plus sigue siendo muy similar a la que ya existían antiguamente en la base de datos MS/DOS DBase 2.0, Básicamente tiene dos niveles, el primero es similar a la de cualquier otra base de datos, si se establece, es necesario dar usuario, grupo y contraseña.
Aunque es un poco mejor que la simple protección de acceso a la base de datos, puesto que se puede catalogar a cada usuario en 9 niveles, desde el nivel 0 que sería como un administrador, hasta el nivel 9 que será la menor autorización. El programador puede controlar atreves de la función ACCESS() el nivel que tiene el usuario, y adaptar la visualización de menos en función de dicho nivel, entre otros.

Flexibilidad:
La ventana de Escritorio descrita en este artículo es una combinación de estilos que se tomó de diferentes programas. Es un tributo al poder fácil y entendible flexibilidad que hace de DBase una plataforma superior de desarrollo. Como es a menudo el caso, una simple vista de diseño puede enmascarar mucho de la complejidad del software. Es difícil hacer que el software se vea fácil.
Estabilidad:
Es excelente para el uso de base de datos.
Capacidad de almacenamiento:
Dbase soporta más de 40 tablas abiertas ósea DBF files. Cada una con capacidad para 2 billones de transacciones en almacenamiento.






FileMaker Pro
Precio:
US$900,00 al anual
Seguridad:
La Gestione el acceso de los usuarios mediante la autenticidad externa a través de Active Directory/Open Directory. Proteja la transferencia de sus datos con el cifrado SSL.
Flexibilidad:
File Maker Pro es el programa de bases de datos que tiene la potencia y flexibilidad para manejar todas tus funciones de cada día en casa y en la oficina sin tener que aprender instrucciones de programación complejas.
Estabilidad:
Su estabilidad es buena ya que es muy sencilla y también uno no se pierde en las pantallas como se hace en Access.

Con una licencia de la Plataforma FileMaker obtiene acceso a:

FileMaker Server: aloje sus apps personalizadas en hasta 3 servidores.
FileMaker Pro Advanced: cree y acceda a las apps personalizadas en equipos Windows y Mac.
FileMaker Go: acceda a las apps personalizadas en dispositivos iPad y iPhone.
FileMaker WebDirect: acceda a las apps personalizadas desde un navegador web.
FileMaker API de datos: 2 GB de transferencia de datos de salida por usuario al mes supervisados anualmente.


Microsoft Access
Precio:
MXN$241.00
Seguridad:
Existen diferentes estrategias para controlar el nivel de acceso a la base de datos de Microsoft Access y sus objetos. Estas estrategias se describen brevemente a continuación ordenadas por nivel de seguridad:
-Codificación y decodificación
-Mostrar u ocultar objetos en la ventana Base de datos
-Utilizar opciones de inicio
-Mediante una contraseña
-Seguridad por usuarios
-Evitar que los usuarios copien una base de datos, y establezcan contraseña las opciones de inicio
-Proteger el código de Microsoft Visual Basic para Aplicaciones (VBA)
-Proteger páginas de acceso a datos
Flexibilidad:
Para lograr la máxima flexibilidad para una base de datos, la información tiene que estar organizada en tablas, paraqué no haya redundancias.
Estabilidad:
Su estabilidad es buena porque es adaptable y se puede utilizar en algunos sistemas operativos.
Capacidad de almacenamiento:
El límite está en dos mil millones de registros o un tamaño de 2GB.

lunes, 23 de octubre de 2017

Sistemas de bases de datos frente a sistemas de archivos

Considérese parte de una empresa de cajas de ahorros que mantiene información acerca de todos los clientes y cuentas de ahorros. Una manera de mantener la información en un computador es almacenarla en archivos del sistema operativo. Para permitir a los usuarios manipular la información, el sistema tiene un número de programas de aplicación que manipula los archivos, incluyendo:

• Un programa para efectuar cargos o abonos en una cuenta.

• Un programa para añadir una cuenta nueva.

• Un programa para calcular el saldo de una cuenta.

• Un programa para generar las operaciones mensuales.

Estos programas de aplicación se han escrito por programadores de sistemas en respuesta a las necesidades de la organización bancaria. Si las necesidades se incrementan, se añaden nuevos programas de aplicación al sistema. Por ejemplo, supóngase que las regulaciones de un nuevo gobierno permiten a las cajas de ahorros ofrecer cuentas corrientes. Como resultado se crean nuevos archivos permanentes que contengan información acerca de todas las cuentas corrientes mantenidas por el banco, y puede ser necesario escribir nuevos programas de aplicación para tratar situaciones que no existían en las cuentas de ahorro, tales como manejar descubiertos. Así, sobre la marcha, se añaden más archivos y programas de aplicación al sistema. Este sistema de procesamiento de archivos típico que se acaba de describir se mantiene mediante un sistema operativo convencional. Los registros permanentes son almacenados en varios archivos y se escriben diferentes programas de aplicación para extraer registros y para añadir registros a los archivos adecuados. Antes de la llegada de los sistemas de gestión de bases de datos (SGBDs), las organizaciones normalmente han almacenado la información usando tales sistemas.



Mantener información de la organización en un sistema de procesamiento de archivos tiene una serie de inconvenientes importantes:

Redundancia e inconsistencia de datos. Debido a que los archivos y programas de aplicación son creados por diferentes programadores en un largo período de tiempo, los diversos archivos tienen probablemente diferentes formatos y los programas pueden estar escritos en diferentes lenguajes. Más aún, la misma información puede estar duplicada en diferentes lugares (archivos). Por ejemplo, la dirección y número de teléfono de un cliente particular puede aparecer en un archivo que contenga registros de cuentas de ahorros y en un archivo que contenga registros de una cuenta corriente. Esta redundancia conduce a un almacenamiento y coste de acceso más altos. Además, puede conducir a inconsistencia de datos; es decir, las diversas copias de los mismos datos pueden no coincidir. Por ejemplo, un cambio en la dirección del cliente puede estar reflejado en los registros de las cuentas de ahorro pero no estarlo en el resto del sistema.

Dificultad en el acceso a los datos. Supóngase que uno de los empleados del banco necesita averiguar los nombres de todos los clientes que viven en el distrito postal 28733 de la ciudad. El empleado pide al departamento de procesamiento de datos que genere dicha lista. Debido a que esta petición no fue prevista cuando el sistema original fue diseñado, no hay un programa de aplicación a mano para satisfacerla. Hay, sin embargo, un programa de aplicación que genera la lista de todos los clientes. El empleado del banco tiene ahora dos opciones: bien obtener la lista de todos los clientes y obtener la información que necesita manualmente, o bien pedir al departamento de procesamiento de datos que haga que un programador de sistemas escriba el programa de aplicación necesario. Ambas alternativas son obviamente insatisfactorias. Supóngase que se escribe tal programa y que, varios días más tarde, el mismo empleado necesita arreglar esa lista para incluir sólo aquellos clientes que tienen una cuenta con saldo de 10.000 € o más. Como se puede esperar, un programa para generar tal lista no existe. De nuevo, el empleado tiene que elegir entre dos opciones, ninguna de las cuales es satisfactoria. La cuestión aquí es que el entorno de procesamiento de archivos convencional no permite que los datos necesarios sean obtenidos de una forma práctica y eficiente. Se deben desarrollar sistemas de recuperación de datos más interesantes para un uso general.

Aislamiento de datos. Debido a que los datos están dispersos en varios archivos, y los archivos pueden estar en diferentes formatos, es difícil escribir nuevos programas de aplicación para recuperar los datos apropiados.
Problemas de integridad. Los valores de los datos almacenados en la base de datos deben satisfacer ciertos tipos de restricciones de consistencia .Por ejemplo, el saldo de una cuenta bancaria no puede nunca ser más bajo de una cantidad predeterminada (por ejemplo 25 €). Los desarrolladores hacen cumplir esas restricciones en el sistema añadiendo el código apropiado en los diversos programas de aplicación. Sin embargo, cuando se añaden nuevas restricciones, es difícil cambiar los programas para hacer que se cumplan. El problema es complicado cuando las restricciones implican diferentes elementos de datos de diferentes archivos.
Problemas de atomicidad. Un sistema de un computador, como cualquier otro dispositivo mecánico o eléctrico, está sujeto a fallo. En muchas aplicaciones es crucial asegurar que, una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran al estado de consistencia que existía antes del fallo. Consideremos un programa para transferir 50 € desde la cuenta Aa la B. Si ocurre un fallo del sistema durante la ejecución del programa, es posible que los 50 € fueron eliminados de la cuenta Apero no abonados a la cuenta B, resultando un estado de la base de datos inconsistente. Claramente, es esencial para la consistencia de la base de datos que ambos, el abono y el cargo tengan lugar, o que ninguno tenga lugar. Es decir, la transferencia de fondos debe ser atómica: ésta debe ocurrir en ellos por completo o no ocurrir en absoluto. Es difícil asegurar esta propiedad en un sistema de procesamiento de archivos convencional.

Anomalías en el acceso concurrente. Conforme se ha ido mejorando el conjunto de ejecución de los sistemas y ha sido posible una respuesta en tiempo más rápida, muchos sistemas han ido permitiendo a múltiples usuarios actualizar los datos simultáneamente. En tales sistemas un entorno de interacción de actualizaciones concurrentes puede dar lugar a datos inconsistentes. Considérese una cuenta bancaria A, que contiene 500 €. Si dos clientes retiran fondos (por ejemplo 50 € y 100 € respectivamente) de la cuenta A en aproximadamente el mismo tiempo, el resultado de las ejecuciones concurrentes puede dejar la cuenta en un estado incorrecto (o inconsistente). Supongamos que los programas se ejecutan para cada retirada y escriben el resultado después. Si los dos programas funcionan concurrentemente, pueden leer ambos el valor 500 €, y escribir después 450 € y 400 €, respectivamente. Dependiendo de cuál escriba el último valor, la cuenta puede contener bien 450 €o bien 400 €, en lugar del valor correcto, 350 €. Para protegerse contra esta posibilidad, el sistema debe mantener alguna forma de supervisión. Sin embargo, ya que se puede acceder a los datos desde muchos programas de aplicación diferentes que no han sido previamente coordinados, la supervisión es difícil de proporcionar.

Problemas de seguridad. No todos los usuarios de un sistema de bases de datos deberían poder acceder a todos los datos. Por ejemplo, en un sistema bancario, el personal de nóminas necesita ver sólo esa parte de la base de datos que tiene información acerca de varios empleados del banco. No necesitan acceder a la información acerca de las cuentas de clientes. Como los programas de aplicación se añaden al sistema de una forma ad hoc, es difícil garantizar tales restricciones de seguridad.

Estas dificultades, entre otras, han motivado el desarrollo de los sistemas de bases de datos.



           

Aplicaciones de los sistemas de bases de datos


Las bases de datos son ampliamente usadas. Las siguientes son algunas de sus aplicaciones más representativas:

• Banca. Para información de los clientes, cuentas y préstamos, y transacciones bancarias.

• Líneas aéreas. Para reservas e información de planificación. Las líneas aéreas fueron de los primeros en usar las bases de datos de forma distribuida geográficamente (los terminales situados en todo el mundo accedían al sistema de bases de datos centralizado a través de las líneas telefónicas y otras redes de datos).

• Universidades. Para información de los estudiantes, matrículas de las asignaturas y cursos.
• Transacciones de tarjetas de crédito. Para compras con tarjeta de crédito y generación mensual de extractos.

• Telecomunicaciones. Para guardar un registro de las llamadas realizadas, generación mensual de facturas, manteniendo el saldo de las tarjetas telefónicas de prepago y para almacenar información sobre las redes de comunicaciones.

• Finanzas. Para almacenar información sobre grandes empresas, ventas y compras de documentos formales financieros, como bolsa y bonos.

• Ventas. Para información de clientes, productos y compras.

• Producción. Para la gestión de la cadena de producción y para el seguimiento de la producción de elementos en las factorías, inventarios de elementos en almacenes y pedidos de elementos.

• Recursos humanos. Para información sobre los empleados, salarios, impuestos y beneficios, y para la generación de las nóminas.

Como esta lista ilustra, las bases de datos forman una parte esencial de casi todas las empresas actuales. A lo largo de las últimas cuatro décadas del siglo veinte, el uso de las bases de datos creció en todas las empresas. En los primeros días, muy pocas personas interactuaron directamente con los sistemas de bases de datos, aunque sin darse cuenta interactuaron con bases de datos indirectamente (con los informes impresos como extractos de tarjetas de crédito, o mediante agentes como cajeros de bancos y agentes de reserva de líneas aéreas).

Después vinieron los cajeros automáticos y permitieron a los usuarios interactuar con las bases de datos. Las interfaces telefónicas con los computadores (sistemas de respuesta vocal interactiva) también permitieron a los usuarios manejar directamente las bases de datos. Un llamador podía marcar un número y pulsar teclas del teléfono para introducir información o para seleccionar opciones alternativas, para determinar las horas de llegada o salida, por ejemplo, o para matricularse de asignaturas en una universidad. La revolución de Internet a finales de la década de 1990 aumentó significativamente el acceso directo del usuario a las bases de datos.
Las organizaciones convirtieron muchas de sus interfaces telefónicas a las bases de datos en interfaces Web, y pusieron disponibles en línea muchos servicios. Por ejemplo, cuando se accede a una tienda de libros en línea y se busca un libro o una colección de música se está accediendo a datos almacenados en una base de datos. Cuando se solicita un pedido en línea, el pedido se almacena en una base de datos. Cuando se accede a un banco en un sitio Web y se consulta el estado de la cuenta y los movimientos, la información se recupera del sistema de bases de datos del banco. Cuando se accede a un sitio Web, la información personal puede ser recuperada de una base de datos para seleccionar los anuncios que se deberían mostrar. Más aún, los datos sobre los accesos Web pueden ser almacenados en una base de datos. Así, aunque las interfaces de datos ocultan detalles del acceso a las bases de datos, y la mayoría de la gente ni siquiera es consciente de que están interactuando con una base de datos, el acceso a las bases de datos forma una parte esencial de la vida de casi todas las personas actualmente.
La importancia de los sistemas de bases de datos se puede juzgar de otra forma: actualmente, los vendedores de sistemas de bases de datos como Oracle están entre las mayores compañías software en el mundo, y los sistemas de bases de datos forman una parte importante de la línea de productos de compañías más diversificadas, como Microsoft e IBM.

domingo, 22 de octubre de 2017

Modelos de las bases de datos

Bases de datos jerárquicas 

Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.
Base de datos de red
Este es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.


Bases de datos transaccionales
Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicación de información no es un problema como con las demás bases de datos, por lo general para poderlas aprovechar al máximo permiten algún tipo de conectividad a bases de datos relacionales.

Bases de datos relacionales
Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.




Aplicaciones: CRM y Sitios Web


El popular sistema de gestión de relaciones con los clientes o CRM (Customer Relationship Management) es un ejemplo de aplicaciones de base de datos, en este caso basado en un modelo de gestión orientado al cliente.

En la práctica, el éxito de esta política empresarial de marketing dependerá de la existencia de bases de datos fiables (almacenes tradicionales y grandes datos), así como de la capacidad de automatización y versatilidad de la aplicación para diseñar las mejores estrategias de marketing. Su objetivo final es maximizar las ventas, reducir costos y fomentar la interacción y el diálogo para acercarnos al cliente.

Por otra parte, las aplicaciones basadas en la web son otro ejemplo ilustrativo. De hecho, muchos sitios web han convertido a las aplicaciones de base de datos en los principales componentes de sus sistemas. Entre otros casos de utilización de aplicaciones de bases de datos en el entorno web destacan los sites de venta minorista, como ocurre en el caso de Amazon.

El gigante del comercio online almacena y procesa información sobre sus productos en bases de datos, al tiempo que utiliza aplicaciones de base de datos de CRM para cuidar la relación con el cliente y buscar oportunidades de marketing con cada contacto.

Por último, si bien Facebook tiene una arquitectura realmente innovadora, la aplicación que utiliza es esencialmente una base de datos construida sobre un gestor MySQL, probablemente la mejor plataforma de base de datos para las actuales y futuras aplicaciones web. Además de la famosa red social, entre otros, lo utilizan Yahoo!, Twitter y Amazon Web Services.


Objetivos de una base de datos


1. Independencia lógica y física de los datos:
Se refiere a la capacidad de modificar una definición de esquema en un nivel de la arquitectura sin que esta modificación afecte al nivel inmediatamente superior.
El conjunto de datos contenidos en la base debe ser única y estar integrada por los mismos datos.

2. Redundancia mínima:
Debe ser controlada, de forma que no exista duplicidad innecesarias, y que las redundancias físicas, convenientes muchas veces a fin de responder a objetivos de eficiencia, sean tratadas por el mismo sistema, de modo que no puedan producirse inconsistencias.
Se trata de usar la base de datos como repositorio común de datos para distintas aplicaciones.
Un dato se actualizará lógicamente por el usuario en forma única, y el sistema se preocupará de cambiar físicamente todos aquellos campos   en los que el dato estuviese repetido en caso de existir redundancia física (redundancia controlada).

3. Acceso concurrente por parte de múltiples usuarios:
Las bases de datos pretenden servir al conjunto  de la organización, manejando los datos como otro recurso. Por lo tanto, las bases de datos han de atender a múltiples usuarios y a diferentes aplicaciones. En contraposición a los sistemas de ficheros, en donde cada fichero atiende a determinada aplicación.

4. Distribución espacial de los datos:
Los datos pueden encontrarse en otra habitación, otro edificio e incluso otro país, el usuario no tiene por qué preocuparse de la localización espacial de los datos a los que accede.

5. Integridad de los datos:
Se refiere a las medidas de seguridad que impiden que se introduzcan datos erróneos.
Esto puede suceder tanto por motivos físicos (defectos de hardware, actualización incompleta debido a causas externas), como de operación (introducción de datos incoherentes).

6. Consultas complejas optimizadas:
Permite la rápida y ejecución de las mismas.

7. Seguridad de acceso y auditoría:
Se refiere al derecho de acceso a los datos contenidos en la base por parte de personas y organismos.
El sistema de auditoría mantiene el control de acceso a la base, con el objeto de saber qué o quién realizó una determinada modificación y en qué momento. Por ejemplo un profesor quiere cambiar una calificación por alguna omisión, el sistema de la base le permitirá hacer el cambio pero quedara el registro del día y el motivo del cambio, esto lo checan los jefes de academia y observan si el profesor le ayuda al alumno o realizan su trabajo adecuadamente.

8. Respaldo y recuperación:
Se refiere a la capacidad de un sistema de base de datos de recuperar su estado en un momento previo a la pérdida de datos.

9. Acceso a través de lenguajes de programación estándar:
Se refiere a la posibilidad ya mencionada de acceder a los datos de una base mediante lenguajes de programación ajenos al sistema de base de datos. en pocas palabras son los programas o software con los que se mandaran llamar y diseñar los datos que aparecerán en la pantalla.