viernes, 28 de octubre de 2016

Instalación de 2 Servidores MySQL en un mismo equipo

Instalamos la 1ª Instancia la versión 5.7.15
(Elegimos Server Only)

(Siguiente)

(Elegimos Server Machine y puerto 3306)

(Añadimos contraseña para root de MySQL)

(Le damos un nombre al servicio: MySQL1)

(Siguiente)

(Finalizar)

Para instalar la 2ª Instancia volvemos a ejecutar el instalador y en vez de update elegimos add y nos sale una nueva ventana de instalación.
(Seleccionamos una versión diferente a la ya instalada y la añadimos al lado derecho con la flecha verde. Esta vez la versión 5.6.34)

(Siguiente)

(Siguiente)

(Siguiente)

(Elegimos Server Machine y puerto 3306)

(Añadimos contraseña para el root de MySQL. En este caso ponemos Abcd1234.. para diferenciar de la primera instancia)

(Le damos un nombre al servicio: MySQL2)

(Esperamos a que acabe de instalar)

(Comprobamos en servicios que están iniciadas las 2 instancias)



Desinstalacion del servidor MySQL

 En el panel de control vamos a desinstalar programas y tenemos que desinstalar MySQL Installer y MySQL Server


 Esperamos a que finalice la desinstalación


Lo mismo con el Server, lo desinstalamos

Además tenemos que borrar manualmente algunos archivos en la ruta donde teníamos instalado MySQL 

jueves, 27 de octubre de 2016

Ejercicios Propuestos Tema 2

1. Vuelca en un fichero la ayuda del comando mysqld

mysql.exe -u root --password=Abc123.. -e "help" > ayuda.txt

2. Dentro del fichero my.ini, ¿para qué sirven las secciones mysqld y mysql?

En el archivo se establecen las configuraciones de conexión al servidor MySQL.

3. ¿De qué manera piensas que podemos hacer que el servidor funcione sin que nadie pueda acceder a él de manera remota? ¿Y sin usar resolución de nombres de dominio?

En el archivo de configuración my.ini cambiamos en la parte de acceso donde poner REQUIRE ALL GRANTED cambiamos a REQUIRE LOCAL o DENY FROM ALL para que nadie pueda acceder.

Introducción a MySQL. Modificar algunos datos de la tabla mediante UPDATE y ALTER


Introducción a MySQL. Mostrar algunos datos de la tabla haciendo consultas con SELECT


jueves, 20 de octubre de 2016

6.1.5 Comandos MySQL

(Memtemos los comandos marcados en amarillo para ver las bases de datos,usuarios,fecha...)
(Otra forma de verlo pero desde el CMD de Windows)

jueves, 13 de octubre de 2016

EJERCICIOS PROPUESTOS

1. Comenta qué se entiende por software libre considerando aspectos como: gratuidad, código fuente y uso comercial.

Es el conjunto de software que por elección manifiesta de su autor puede ser copiado, estudiado, modificado, utilizado libremente con cualquier fin y redistribuido con o sin cambios o mejoras. Esto es gracias a que también se distribuye con el código fuente del programa.
Suele ser considerado como software gratuito y no como software que puede ser modificado. Es necesario resaltar que la libertad tiene que ver con el uso y no con la gratuidad.

2. Lista al menos 3 ventajas e inconvenientes de los productos de pago respecto a los libres

Ventajas
  • Los productos de pago ofrecen interfaces gráficas mejor diseñadas.
  • Mayor compatibilidad con el hardware.
  • Facilidad de adquisición, puede venir preinstalado con el pc o encontrarse facilmente en la tienda.
Desventajas
  • Imposibilidad de copia o modificación.
  • Restricciones en su uso e imposibilidad de redistribución.
  • No existen aplicaciones para todas las plataformas(Windows, Mac, Linux)
3. ¿Qué tiene que ver la administracion SGBD con el diseño de bases de datos?

El Administrador de la base de datos se encarga del diseño físico de la base de datos y de su implementación, realiza el control de la seguridad y de la concurrencia, mantiene el sistema para que siempre se encuentre operativo y se encarga de que los usuarios y las aplicaciones obtengan buenas prestaciones.

Los Diseñadores de la base de datos realizan el diseño lógico de la base de datos, debiendo identificar los datos, las relaciones entre datos y las restricciones sobre los datos y sus relaciones. El diseñador de la base de datos debe tener un profundo conocimiento de los datos de la empresa y también debe conocer sus reglas de negocio.

4. Cita al menos 3 ventajas de usar bases de datos frente a los tradicionales sistemas de ficheros
  • Poder compartir los datos con otros usuarios.
  • Mayor seguridad en los datos.
  • Reducción del espacio de almacenamiento debido a una mejor estructuración de datos.

5. Enumera al menos 3 objetos típicos de una base de datos indicando su función

  • Tablas: Donde se guardan los datos recogidos por un programa.  Las tablas se componen de filas y columnas de celdas.
  • Columnas: Cada fila proporciona un valor de datos para cada columna. La columna es el tipo de dato que varía dependiendo de cada fila que es una entidad.
  • Registros: Representa un objeto único de datos implícitamente estructurados en una tabla.
6. ¿Qué es una base de datos distribuida?

Es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos y geográficos (pej. un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones.

7. Indica resumidamente las fases involucradas en el desarrollo de una base de datos desde su concepción hasta su puesta en marcha.

  1. Análisis: Conocer el sistema. Análisis de requerimientos.
  2. Esquema: Entidad, atributos y relaciones: Modelo ER.
  3. Tablas: Creación de tablas, campos y claves primarias y ajenas.
  4. Datos: Introducción de registros en la base de datos.
  5. Consultas: Diseño de informes y formularios para la consulta de datos.

8.  ¿Para qué sirve un disparador en un SGBD?

Son objetos que se asocian con tablas y se almacenan en la base de datos. Se ejecutan cuando sucede algún evento sobre las tablas a las que se encuentra asociado. Los eventos que hacen que se ejecute un trigger son las operaciones INSERT, UPDATE y DELETE.

9. Explica con tus palabras qué es el diccionario de datos en un SGBD.

Es un conjunto de metadatos que contiene las características lógicas y puntuales de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripción, alias, contenido y organización.

10. Eres el administrador de la base de datos. Indica un problema y su posible solución que te pueda surgir considerando dos casos: una base de datos con miles de usuarios y centrada en consultas como un buscador, y otra de venta online con miles de usuarios y operaciones por segundo.

Uno de los posibles problemas puede ser la concurrencia, es decir, que varios usuarios intentan hacer consultas a la base de datos y bloquee esos datos consultados.
Otro problema la sobrecarga, se soluciona con la replicación en varios servidores.

1.4.2 Lista 3 SGBD de OpenSource y otros 3 comerciales indicando sus características principales. Razona por qué algunas empresas ofrecen productos de software gratuítos


Open Source
  • PostgreSQL: Es un sistema relacional orientado a objetos. Tiene una gran variedad de tipos nativos.
  • MySQL: Es un sistema Relacional, multihilo, multiplataforma y multiusuario.
  • Firebird: Es un sistema relacional y multiplataforma(Windows, Linux, Mac). Proporciona bastante seguridad en cuanto a usuarios y roles.

Comerciales
  • Oracle: Es un sistema relacional orientado a objetos y multiplataforma.
  • MS SQL Server: Es un sistema relacional, soporta transacciones y tiene un potente entorno gráfico. Su función principal es almacenar y recuperar datos según lo solicitado por otras aplicaciones de software.
  • Visual FoxPro: Es un lenguaje de programación procedural que esta orientado a objetos. Si en un mismo PC había otras aplicaciones que no fueran de Microsoft producía errores. Tiene la capacidad para manejar datos nativos y remotos.

Las empresas que distribuyen productos de software gratuitos lo hacen con la intención de poder ganar dinero mediante otros métodos como puede ser con la asistencia técnica, publicidad y banners, ampliando y mejorando las utilidades y características del software...etc

1.4.1 Averigua el significado de los siguientes acrónimos en el contexto de los SGBD (SAP, ERP y DSS).


  • SAP: Sistemas, Aplicaciones y Productos.(Sistems, Applications and Products)
  • ERP: Planificación de recursos empresariales.(Enterprise Resource Planning)
  • DSS: Sistemas de soporte a decisiones.(Decision Support System)

1.3 Averigua el significado de DNS y LDAP. ¿Con qué tipos de bases de datos está relacionado(relacional, jerárquica o en red)?


  • DNS (Sistema de nombre de dominio): Distribuida y jerárquica. Es un sistema que se encarga de traducir nombres de dominio en direcciones ip. Por ejemplo transforma www.google.com en 8.8.8.8
  • LDAP: Jerárquica, Protocolo Ligero de Acceso a Directorios. Es un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red.

viernes, 7 de octubre de 2016

1.2 ¿Que lenguaje específico usa SQL Server para implementar el lenguaje SQL?

Lenguaje DML

1.2 ¿Qué limitaciones tiene la versión Oracle Express Edition respecto a la extendida?

  • Sólo puede utilizar 1 procesador del servidor donde esté instalada
  • 1 Gb de RAM
  • Limitado el almacenamiento a 4 Gb de datos de usuario. Cuando se superen, Oracle ofrece una actualización a otra version más completa en la que hay que pagar licencias

3. Haz un resumen donde indiques las características de los principales SGBD explicándolas brevemente.

MySQL

Es un sistema de gestión de base de datos relacional, multihilo y multiusuario seguramente el más usado en aplicaciones creadas como software libre.
Por un lado se ofrece bajo la GNU GPL, pero, empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso.
Ventajas:
  • Velocidad al realizar las operaciones.
  • Bajo costo en requerimientos para la elaboración de bases de datos.
  • Facilidad de configuración e instalación.
Microsoft SQL Server

Es un sistema de gestión de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea.
Es un sistema propietario de Microsoft. Sus principales características son:
  • Soporte de transacciones.
  • Escalabilidad, estabilidad y seguridad.
  • Soporta procedimientos almacenados.
  • Incluye también un potente 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 las terminales o clientes de la red sólo acceden a la información.
  • Además permite administrar información de otros servidores de datos
Su principal desventaja es el precio, aunque cuenta con una versión EXPRESS que permite usarlo en entornos pequeños. (Aprox. unos 4GB de información y varios millones de registros por tabla)

Oracle
Es un sistema de gestión de base de datos relacional fabricado por Oracle Corporation.
Tradicionamente Oracle ha sido el SGBD por excelencia, considerado siempre como el más completo y robusto, destacando por:
  • Soporte de transacciones.
  • Estabilidad.
  • Escalabilidad.
  • Es multiplataforma.
Tambien siempre ha sido considerado de los más caros, por lo que no se ha estadarizado su uso como otras aplicaciones.
Al igual que SQL Server, Oracle cuenta con una versión EXPRESS gratis para pequeñas instalaciones o usuarios personales.

Microsoft Acces
Es un sistema de gestión de bases de datos Relacional creado por Microsoft (DBMS) para uso personal de pequeñas organizaciones.
Se ha ofrecido siempre como un componente de la suite Microsoft Office aunque no se incluye en el paquete “básico”.
Una posibilidad adicional es la de crear ficheros con bases de datos que pueden ser consultados por otros programas.
Entre las principales funcionalidades reseñables podemos indicar que:
  • Permite crear tablas de datos indexadas, modificar tablas de datos.
  • Relaciones entre tablas (creación de bases de datos relacionales).
  • Creación de consultas y vistas.
  • Consultas referencias cruzadas, consultas de acción (INSERT, DELETE, UPDATE).
  • Formularios, informes.
  • Entorno de programación a través de VBA
  • Llamadas a la API de windows.
Postgre SQL
Es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD.
Proyecto de código abierto, el desarrollo de PostgreSQL es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyada por organizaciones comerciales.
Sus principales características son:
  • Alta concurrencia: Mediante un sistema denominado MVCC. (Acceso concurrente multiversión, por sus siglas en inglés)
  • Amplia variedad de tipos nativos: Provee nativamente varios soportes.
  • Ahorros considerables de costos de operación.
  • Estabilidad y confiabilidad.






2. Haz un resumen donde se indique cuales son los componentes de un SXBD y la utilidad de cada uno de ellos

Lenguajes SGBD
  • Lenguaje de definición de datos(DDL): Permite llevar a cabo las tareas de definición de las estructuras que almacenarán los datos, así como los métodos o funciones que permitan consultarlos.
  • Lenguaje de manipulación de datos(DML): Permite consultar o manipular los datos, organizados por el modelo adecuado. El más popular es el SQL. Se clasifican en:
    • Procedurales: Le da instrucciones al sistema para que elabore unos procedimientos en la base de datos para calcular un resultado final.
    • No Procedurales: Se detalla la información sin un método específico para obtener información.
  • Lenguajes de cuarta generación: Son lenguajes de programación diseñados con el objetivo de desarrollar aplicaciones orientadas a las bases de datos
  • Lenguaje de control de datos: Este tipo de lenguaje incluye una serie de comandos SQL que permiten al administrador controlar al acceso a los datos que tengan una base de datos.
Diccionario de datos
El diccionario de datos es el lugar donde se guarda toda la información de todos los datos que forman la base de datos. Dentro de él se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema.
En su contenido está las descripciones de todos los demás objetos (archivos, programas,etc) que existen en el sistema, almacena el conjunto numeroso de esquemas y especifica cada archivo y su ubicación, también incluye información acerca de qué programas utilizan qué datos, y a que usuarios les interesa un informe u otro.
Está integrado dentro de la misma base de datos, puede tolerar descripciones de los modelos conceptual, lógico, interno y externo. Está guardado en un medio con acceso directo por si llegásemos a perder información poder recuperarla con facilidad.

Seguridad e Integridad
Los datos están protegidos para que personas que no tienen acceso e intentasen acceder no lo puedan hacer, por caídas durante el procesamiento de transacciones, anomalías por acceder varias personas al mismo tiempo, anomalías producidas por distribuir los datos entre varios ordenadores.

El administrador de la base de datos
Dentro de los sistemas de gestión de bases de datos hay varias categorías de usuarios según el derecho o autorización que tengan sobre los objetos que componen la base de datos:

  • Usuarios de la categoría DBA: Su función es administrar la base por lo tanto tienen acceso total.
  • Usuarios de la categoría RESOURCE: Pueden crear sus propios objetos y pueden hacer consultas.
  • Usuario de la categoría CONNECT: Solo pueden realizar consultas.

1. Haz un resumen donde se indique cuales son las funciones de un SGBD y la utilidad de cada una de ellas.

  • La definición de los datos: Mediante el Lenguaje de Definición de Datos el SGBD permite describir y definir los esquemas de la base de datos: esquema conceptual,físico y externo.
    Además debe permitir modificar y borrar descripciones de objetos conceptuales,caminos de acceso y las vistas.
  • La manipulación de los datos: Esta función se encarga de todas las operaciones de intercambio de datos entre los usuarios y la base de datos con la ayuda del Lenguaje de Manipulación de Datos. Este se compone de comandos que nos permiten consultar,insertar,modificar y borrar datos.
  • Garantizar la seguridad e integridad de los datos: Trata de garantizar la coherencia y validez de los datos, comprobando que sólo los usuarios autorizados puedan efectuar las operaciones correctas sobre la base de datos. Se consigue mediante:
    -La gestión de autorizaciones que controla los usuarios que acceden a la base de datos.
    -Restricciones de integridad,hacen un control de la validación de operaciones que se realizan con los datos.
    -Protección de datos contra accesos malintencionados y fallos.
  • La gestión de las transacciones y el acceso concurrente: Una transacción es una unidad lógica de tratamiento (conjunto de ordenes) que aplicada a un estado coherente de la base de datos la deja, de nuevo, en un estado coherente, después de hacer las modificaciones.
    Para controlar la ejecución simultánea de transacciones es necesario una buena gestión de acceso concurrente.
    Otro parámetro importante que afectar al rendimiento es el nivel de bloqueo de datos. La consecuencia de usar técnicas de bloqueos es el riesgo de interbloqueos, que suceden cuando dos o más transacciones se encuentran a la esperar de que queden liberados datos que tiene bloqueados otra transacción.

1.1 Averígua en qué consiste y para qué sirve la minería de datos

La mineria de datos es un campo de la estadística y las ciencias de la computación referido al proceso que intenta descubrir patrones en grandes volúmenes de conjuntos de datos. Utiliza los métodos de la inteligencia artificial, aprendizaje automático, estadística y sistemas de bases de datos. El objetivo general del proceso de minería de datos consiste en extraer información de un conjunto de datos y transformarla en una estructura comprensible para su uso posterior.  

1.1 ¿Qué diferencias piensas que hay entre administrar bases de datos y administrar un SGBD?

Administrar una base de datos se refiere a realizar consultas, modificar tablas, datos, etc mientras que un SGBD es más amplio y completo, se administra todo lo referente al programa usado y la base de datos.

1.1 Busca 3 diferencias importantes entre Access y MySQL

  • Access esta orientado a pequeñas empresas u organizaciones mientras que MySQL es más extenso su uso.
  • Access es ofrecido como componente en Microsoft Office suite pero no esta incluído, es de pago y MySQL es de software libre.
  • MySQL es servidor y Access no lo es.

1.1 Averigua y explica el significado del término ACID en el contexto de los sistemas gestores de bases de datos

En bases de datos se denomina ACID a las características de los parámetros que permiten clasificar las transacciones de los SGBD. Cuando se dice que es ACID compliant se indica -en diversos grados- que éste permite realizar transacciones.
En concreto ACID es un acrónimo de Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español.