Deu5 Acting Rish 13112019

UNIDAD V. BASE DE DATOS Actividad integradora U5 Desarrollo de Aplicaciones 2019 ROBERTO IVAN SANTIAGO HERNADEZ MATRIC

Views 468 Downloads 1 File size 135KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIDAD V. BASE DE DATOS Actividad integradora U5

Desarrollo de Aplicaciones

2019 ROBERTO IVAN SANTIAGO HERNADEZ MATRICULA: A0123111915

Introducción Las bases de datos facilitan no solo el registro de gran cantidad de datos son también el acceso de los mismos, lo cual permite ahorrar espacio físico como tiempo al consultar información de ellas en el mundo actual. La importancia del almacenamiento de una Base de Datos y no solo en ella, es obtener más rápido información de forma rápida y exacta. A nivel organizacional, las bases de datos resultan una ventaja competitiva, siendo una herramienta primordial al momento de tomar decisiones: Rapidez de información, Gestores de Base de datos y Comunicación constante.

Desarrollo ASPECTO 1: ¿Cuál es la importancia de diseñar y construir aplicaciones que permitan la administración de la información por medio de la base de datos? En esta era digital, la importancia de desarrollar software que se integre con sistemas gestores de bases de datos, para almacenar información, analizarla y realizar decisiones ejecutivas para ir mejorando los procesos directivos que permitan a las empresas tomar decisiones para crear mejoras en la atención a sus clientes, la movilidad de sus productos y mejorar los procesos productivos, ver sus gatos y sus ingresos de una manera más eficiente, todo sistema de información se diseña de acuerdo a las necesidades de las empresas por ello es que la información sea accesible para los niveles directivos y ejecutivos sin esperar que las áreas admirativas o contables, tengan que analizar y concentrar información para presentar informes a los directivos de las empresas, o sus estados financieros. Los gestores de bases de datos que es donde se recaba la información en forma de categorías de datos, permiten que toda la información de la empresa pueda ser concentrada, analizada para que mediante un sistema de información desarrollado en algún lenguaje de programación mediante reglas de acceso a esos datos, se presenten adecuadamente a las personas que las requieran, es por ellos que estos sistemas informáticos se desarrollos siguiente los procesos de desarrollo de software y su arquitectura. ASPECTO 2: Explica las características de tres sistemas de administración de bases de datos relacionales (RDBMS) Para este aspecto se analizarán las características de los siguientes SGBD relacionales. MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual: Licencia pública general/Licencia comercial por Oracle Corporation y está considerada como la base de datos de código abierto más popular del mundo, 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 AB 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 asistencia técnica oficial. En 2009 se creó un fork denominado MariaDB 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. 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. Las siguientes características son implementadas únicamente por MySQL: Permite escoger entre múltiples motores de almacenamiento para cada tabla. En MySQL 5.0 éstos debían añadirse en tiempo de compilación, a partir de MySQL 5.1 se pueden añadir dinámicamente en tiempo de ejecución: Los hay nativos como MyISAM, Falcon, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example. Desarrollados por partners como solidDB, NitroEDB, ScaleDB, TokuDB, Infobright (antes Brighthouse), Kickfire, XtraDB, IBM DB2. InnoDB Estuvo desarrollado así pero ahora pertenece también a Oracle. Desarrollados por la comunidad como memcache, httpd, PBXT y Revision. Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transacciones por segundo. Microsoft SQL Server es un sistema de gestión de base de datos relacional, desarrollado por la empresa Microsoft. El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de Management Studio) es Transact-SQL (TSQL), una implementación del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL). Dentro de los competidores más destacados de SQL Server están: Oracle, MariaDB, MySQL, PostgreSQL. SQL Server ha estado tradicionalmente disponible solo para sistemas operativos Windows de Microsoft, pero desde 2016 está disponible para GNU/Linux, y a partir de 2017 para Docker también.

Puede ser configurado para utilizar varias instancias en el mismo servidor físico, la primera instalación lleva generalmente el nombre del servidor, y las siguientes - nombres específicos (con un guion invertido entre el nombre del servidor y el nombre de la instalación). Características SQL Server 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. Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más pequeños, que en sus versiones 2005 y 2008 pasa a ser el SQL Express Edition, que es una edición Open Source ,es decir, se distribuye en forma gratuita. Es común desarrollar proyectos completos empleando Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access Data Project). De esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows. En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD, osql, o PowerShell. Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos. El tipo NUMERIC fue mejorado para ser usado como identificador de columna a partir de la versión 2008 R2. Informix, es un gestor de base de datos que incluye un RDBMS (sistema Administrador de Base de datos relacionales/ Relational Data Base Manager System) basado en SQL, un lenguaje de cuarta generación y herramientas para la inclusión de SQL en programas de aplicación. IBM Informix ofrece un sistema de base de datos "híbrido" que es capaz de soportar de datos relacionales y no relacionales, que le da la capacidad de almacenar JSON (JavaScript Object Notation) y tablas relacionales en el mismo motor de almacenamiento. Además, puede aprovechar los dos tipos de datos de una sola aplicación que utiliza metodologías familiares y API. IBM Informix también está optimizado para la gestión de datos integrado, incluyendo soporte para procesadores ARM, para apoyar la tendencia creciente de la informática móvil, aplicaciones de máquina a máquina y la "Internet de las cosas".

Es uno de los más importantes y reconocidos sistemas de database relacional, siendo una plataforma de gestión de datos integrada y segura que proporciona el procesamiento de transacciones en línea y la infraestructura de datos crítica necesaria para gestionar tu negocio y ofrece la mayor eficiencia y productividad en el manejo de información corporativa para obtener importantes ventajas competitivas. Las características del database de Informix - de alto rendimiento, confiabilidad y facilidad de uso, lo convierten en una herramienta primordial y un excelente complemento para tu negocio. 

Utiliza plataforma Windows 2000, 2003 Server, XP y UNIX /AIX, HP-UX, Linux, Solaris y TRU64.



Gestiona múltiples bases de datos remotas de una única consola.



Dispone de herramientas gráficas.



Capacidad de relación de datos de múltiples lugares físicos.



Proporciona una plataforma de gestión de probada incrustado datos para ISVs y OEMs para ofrecer soluciones integradas de clase mundial, lo que permite la independencia de plataforma.



Se integra con Linux, Oracle y otras bases de datos.



Utiliza lenguaje de programación Java.



Soporte para Datawarehouse.



Soporte para datamining.



Tiene arquitectura para servidor OLTP (On-Line Transaction Prosessing) y OLAP (On-Line Analytical Processing).

Informix es uno de los servidores de bases de datos más utilizadas del mundo, con los usuarios que van desde las corporaciones más grandes del mundo a empresas de nueva creación. IBM Informix incorpora conceptos de diseño que son significativamente diferentes de plataformas relacionales tradicionales, lo que resulta en niveles extremadamente altos de rendimiento y disponibilidad, capacidades distintivas en la replicación de datos y escalabilidad, y gastos administrativos mínimos. Nombre

Informix   

Microsoft SQL Server   

MySQL   

Descripción

Una base de datos segura

Microsofts

RDBMS de código

e

relacionales

integrable

de

IBM,

DBMS

abierto

posicionada además de

ampliamente

DB2 como un producto de

utilizado

costo relativamente bajo optimizado

para

datos

OLTP e Internet de las cosas Modelo de base de datos primaria

DBMS relacional 

DBMS relacional

DBMS relacional 

Nombre

Informix   

Microsoft SQL Server   

MySQL   

Modelos de bases

Almacén de documentos

Almacén de documentos

Tienda

de

Series temporales DBMS 

Gráfico DBMS

documentos

www.ibm.com/products/inf

www.microsoft.com/en-

www.mysql.com

ormix

us/sql-server

Lanzamiento actual

14.10, marzo de 2019

SQL Server 2019, noviembre de 2019

8.0.18, octubre de 2019

Licencia 

comercial 

comercial 

Fuente abierta 

Solo basado en la nube 

No

No

No

 implementac ión

C, C ++ y Java

C ++

C y C ++

Sistemas operativos del servidor

AIX HP-UX Linux macOS Solaris Windows

Linux Windows

FreeBSD Linux OS X Solaris Windows

Esquema de datos

si

si

si

Mecanografía 

si 

si

si

si

si

datos

de

secundarias Sitio web

Soporte XML  Índices secundarios

si

si

si

SQL 

si

si

si 

Flujo de datos tabular (TDS) JDBC ODBC OLE DB de ADO.NET

API nativa patentada ADO. NET JDBC ODBC

C# C ++ Delphi Go Java JavaScript (Node.js) PHP

Ada C C# C ++ D Delphi Eiffel

API y otros métodos de acceso

Lenguajes de programación soportados

API JDBC JSON MQTT (Transporte de telemetría de cola de mensajes) ODBC RES Tful HTTP API

.Net C C ++ Java JavaScript (Node.js) PHP Python

Nombre

Informix   

Microsoft SQL Server   

MySQL   

Ruby

Python R Ruby Visual Basic

Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl

Scripts del lado del servidor 

si

Transact SQL, lenguajes .NET, R, Python y (con SQL Server 2019) Java

si 

Disparadores

si

si

si

Métodos de particionamie nto

Sharding

las tablas se pueden distribuir en varios archivos (particionamiento horizontal); fragment ación a través de la federación

particionamiento horizontal, fragmentación con MySQL Cluster o MySQL Fabric

Métodos de replicación 

Replicación maestromaestro replicación maestro-esclavo

sí, pero dependiendo de la edición SQLServer

Replicación maestromaestro replicación maestro-esclavo

Mapa reducido 

No

No

No

Conceptos de consistencia 

Consistencia Inmediata

Consistencia Inmediata

Consistencia Inmediata

Llaves extranjeras 

si

si

si 

Conceptos de transacciones 

ACID

ACID

ACID

Concurrencia 

si

si

si 

Durabilidad 

si

si

si

Capacidades en memoria 

si

si

si

Nombre

Informix   

Microsoft SQL Server   

MySQL   

Conceptos de usuario 

Usuarios con controles específicos de autenticación, autorización y auditoría.

derechos de acceso específicos según el estándar SQL

Usuarios con un concepto de autorización detallado 

ASPECTO 3: Investiga 10 instrucciones del lenguaje SQL. A continuación, se describen comandos de lenguaje SQL DDL y DML CREATE DATABASE, permite crear una base de datos CREATE TABLE “NOMBRE”: permite crear una tabla, en la cual se deben especificar sus campos y restricciones ALTEL TABLE: esta instrucción permite realizar cambios en la estructura física de una tabla, permitiendo agregar nuevos campos, realizar modificaciones en los campos, índices o restricciones, así como eliminar campos de una tabla ya existente. DROP TABLE, este comando permite eliminar una tabla de la base de datos siempre y cuando esta no sea una tabla de referencia a otra. CREATE PROCEDURE, este comando permite crear procedimientos almacenados para las bases de datos, para facilitar la automatización de la manipulación de la información SELECT se utiliza cuando quieres leer (o seleccionar) tus datos. INSERT se utiliza cuando quieres añadir (o insertar) nuevos datos. UPDATE se utiliza cuando quieres cambiar (o actualizar) datos existentes. DELETE se utiliza cuando quieres eliminar (o borrar) datos existentes. REPLACE se utiliza cuando quieres añadir o cambiar (o reemplazar) datos nuevos o ya existentes. TRUNCATE se utiliza cuando quieres vaciar (o borrar) todos los datos de la plantilla. ASPECTO 4:  Given: String url = "jdbc:mysql://SolDBServer/soldb"; String user = "sysEntry"; String pwd = "fo0B3@r"; // INSERT CODE HERE Connection conn = DriverManager.getConnection(url, user, pwd); Assuming "org.gjt.mm.mysql.Driver" is a legitimate class, which line, when inserted at // INSERT CODE HERE, will correctly load this JDBC 3.0 driver?

A DriverManager.registerDriver("org.gjt.mm.mysql.Driver"); B. Class.forName("org.gjt.mm.mysql.Driver"); C. DatabaseMetaData.loadDriver("org.gjt.mm.mysql.Driver"); D. Driver.connect("org.gjt.mm.mysql.Driver"); E. DriverManager.getDriver("org.gjt.mm.mysql.Driver"); B es correcto. Antes de JDBC 4.0, los controladores JDBC debían registrarse en la clase DriverManager invocando DriverManager.register; después de que el controlador fue instanciado a través de una llamada del cargador de clases. El método Class.forName() llama al cargador de clases, que a su vez crea una instancia de la clase pasada como String al método.

Conclusión Las principales utilidades que ofrece una base de datos a la empresa son las siguientes: 1. Agrupar y almacenar todos los datos de la empresa en un único lugar. 2. Facilitar que se compartan los datos entre los diferentes miembros de la empresa. 3. Evitar la redundancia y mejorar la organización de la agenda. 4. Realizar una interlocución adecuada con los clientes. Si una Base de Datos se gestiona adecuadamente, la organización obtendrá diferentes ventajas. Aumentará su eficacia, habrá trabajos que se realicen con mayor rapidez y agilidad debido a la simplificación de los mismos, podremos mejorar la seguridad de los datos que almacenamos, y con todos estos factores, maximizaremos los tiempos y por tanto, se producirá una mejora en la productividad.

Referencias db-engines. (s.f.). db-engines.com. Recuperado el 13 de Noviembre de 2019, de https://dbengines.com/en/system/Informix%3BMicrosoft+SQL+Server%3BMySQL Micho García, J. A. (15 de Octubre de 2013). GeoTalleres. Recuperado el 13 de Noviembre de 2019, de GeoTalleres: https://geotalleres.readthedocs.io/es/latest/conceptos-sql/conceptos_sql.html Minh, N. H. (04 de Junio de 2019). CodeJava. Recuperado el 13 de Noviembre de 2019, de CodeJava: https://www.codejava.net/java-se/jdbc/connect-to-a-database-with-jdbc Sistel. (s.f.). Sistel.es. Recuperado el 13 de Noviembre de 2019, de https://www.sistel.es/businessplatform/informix