BASE DE DATOS RELACIONAL
Microsoft accsses, una mirada al pasado y al presente
Las 9 ventajas de MySQ Aprende sobre comandos bรกsicos de SQL server
PostgreSQL, ORACLE,
hablemos del titรกn
larga evoluciรณn
Autor: Br. Cairo M. JesĂşs A. C. I: 28 628 841
Contenido Microsoft ACCESS.................................................................................................................................................4 MySQL ...................................................................................................................................................................7 SQL Server ............................................................................................................................................................9 PostgreSQL .........................................................................................................................................................11 Oracle...................................................................................................................................................................15 Referencias bibliogrรกficas .......................................................................................................................................17
Microsoft ACCESS Historia Fue llamado EB ("Embedded Basic") que se utilizaría en la mayoría de software Microsoft hasta la llegada de VBA. También se buscaba que Omega funcionara como front-end para Microsoft SQL Server. Omega requería una enorme cantidad de recursos de los procesadores 386 disponibles en la época para usos comerciales, retrasando su llegada desde el primer cuatrimestre de 1990 hasta enero de 1991. Más tarde partes del proyecto fueron utilizados para otros proyectos de Microsoft. Cirrus (nombre clave para Access) y Thunder (nombre clave para Visual Basic, en el que se utilizó el motor Embedded Basic). Tras el adelanto de Access, Omega fue demostrado ante varios periodistas en 1992 y Access presentaba funciones que no tenía. Después de la cancelación de Omega, algunos de sus desarrolladores fueron reasignados al proyecto Cirrus (la mayoría fue a parar al equipo creador de Visual Basic). Su meta era crear un competidor de productos como dBase y Paradox en el entorno Windows. El proyecto pareció condenado con la compra de FoxPro (una app de base de datos completamente diferente a Access) por parte de Microsoft, pero la compañía decidió continuar con el desarrollo de Cirrus. Al principio se asumió que el producto usaría el motor Extensible Storage Engine (Jet Blue) pero al final fue reemplazado por otro motor llamado Microsoft Jet Database Engine (Jet Red). El proyecto usó partes del código escrito para Omega y una versión pre-publicada de Visual Basic. En julio de 1992, llegó la versión final con el nombre de Access que continúa hasta el momento.
2. Barra de Título: Contiene el nombre del programa y del archivo con el que estamos trabajando en el momento actual 3. Barra de Menú: Contiene las operaciones de Access agrupadas en menús desplegables. 4. Barra de estado: Elemento que se encuentra en las interfaces gráficas, y permite mostrar información acerca del estado actual de la ventana. 5. Barra de Herramientas: Contiene iconos para ejecutar de forma inmediata algunas de las operaciones como abrir, guardar o imprimir. 6. Panel de Tareas: Muestra información según lo que se esté haciendo en el momento de abrirlo. 7. Acceso Rápido: Contiene las operaciones más habituales de Access como guardar, imprimir o deshacer. Comandos Básicos Para realizar esta acción Seleccionar la pestaña activa de la cinta y activar las KeyTips
Abrir la pestaña Inicio Abrir el cuadro Información de la cinta
Características Microsoft Access es un sistema de gestión de bases de datos incluido en el paquete ofimático denominado Microsoft 365, sucesor de Embedded Basic. Access es un gestor de datos que utiliza los conceptos de bases de datos relacionales y pueden manejarse por medio de consultas e informes. Está adaptado para recopilar datos de otras utilidades como Excel, SharePoint, etc. La aplicación permite recopilar información relativa a un asunto o propósito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música, etc. Entornos Las partes del entorno gráfico de Access son: 1. Botón de Office: Botón que sustituye el botón de archivo.
Mostrar el menú contextual del elemento seleccionado Colocar el foco en un panel distinto de la ventana Abrir una base de datos existente Mostrar u ocultar el Panel de navegación Mostrar u ocultar una hoja de propiedades Cambiar entre el modo de edición (con el punto de inserción mostrado) y el modo de navegación en la vista Hoja de información o diseño Cambiar a la vista formulario desde la vista Diseño del formulario
Presione Alt o F10 (para ir a una pestaña diferente, use las KeyTips o las teclas de dirección) ALT+O ALT+Q y, después, escriba el término de búsqueda Mayús+F10 F6 CTRL+O o CTRL+F12 F11 F4 F2
F5
Ir al campo siguiente o anterior de la vista Hoja de información Ir a un registro específico de la vista Hoja de información
Abrir el cuadro de diálogo Imprimir desde Imprimir (para hojas de comentarios, formularios e informes) Abrir el cuadro de diálogo Configurar página (para formularios e informes) Acercar o alejar una parte de la página Abrir la pestaña Buscar en el cuadro de diálogo Buscar y reemplazar de la vista Hoja de datos o la vista Formulario Abrir la pestaña Reemplazar en el cuadro de diálogo Buscar y reemplazar de la vista Hoja de datos o la vista Formulario Agregar un registro en la vista Hoja de datos o en la vista Formulario Abrir la ventana Ayuda Salir de Access
Tecla TAB o Mayús+TAB Alt + F5 (a continuación, en el cuadro de número de registro, escriba el número de registro y presione Entrar) Ctrl+P
S Z Ctrl+B
Ctrl+L
Ctrl+Signo más (+) F1 Alt+F4
Informes Los informes constituyen un modo de ver, formatear y resumir la información contenida en la base de datos de Microsoft Access. Por ejemplo, se puede crear un sencillo informe de números de teléfono de todos los contactos o un informe del total de ventas en distintas regiones y períodos de tiempo. Consultas En Access, una consulta es un objeto de base de datos. No almacena datos. En su lugar, muestra los datos almacenados en tablas y hace que esos datos estén disponibles para que pueda trabajar con ellos. Una consulta puede mostrar datos de una o más tablas, de otras consultas o de una combinación de ambas. Ventajas • Facilidad para integrar: Las bases de datos access funcionan muy bien con muchos de los programas para desarrollo de software basados en Windows. También se pueden utilizar sus tablas en
productos tales como Microsoft SQL Server y en otros no basados en Microsoft tales como Oracle y Sybase. • NET-amigable: Las bases de datos access son también una buena opción para los usuarios que tengan la intención de desarrollar software utilizando .NET ya que MS Access y .NEt se pueden vincular. Además, la interfaz gráfica de usuario de MS Access también puede ofrecer fácil funcionalidad y posibilidades de configuración. • Fácil de instalar y usar: Para crear bases de datos access basta con instalar Microsoft Access y esto es algo que cualquier administrador de bases de datos puede hacer en solo unos pocos minutos, quedando un sistema de gestión de base de datos relacional completamente funcional. Al igual que muchas otras aplicaciones de Microsoft, Access contiene asistentes que te guían a través de cada paso del camino. La interfaz de usuario es intuitiva, acelerando la recuperación de datos. • Puede ser colocada online: Aunque todavía tiene limitaciones de número de usuarios con conexión simultánea, cuando se tiene necesidad de usuarios remotos, se le puede dar control total y funcionalidad a una base de datos access de modo que el teletrabajo pueda convertirse en una opción viable para los administradores de bases de datos. • Muy popular: Microsoft Access es el sistema de base de datos de escritorio más popular en el mundo por lo que las bases de datos access pueden ser entendidas por la mayoría de usuarios de bases de datos. • Capacidad de almacenamiento conveniente: Una base de datos access puede almacenar hasta 2 GB de datos lo cual es más que suficiente para una gran mayoría de desarrollos. • Ahorras dinero: Microsoft Access es cientos de dólares más económicos que otros sistemas más grandes; ofreciendo las funcionalidades y uso similares. • Soporte multi-usuario: La versión 2016 de MS Access permite hasta 255 usuarios concurrentes. • Importación de datos: Microsoft Access hace que sea muy fácil importar datos. Desventajas • Capacidad Finita: Las bases de datos access son útiles para pequeñas y medianas empresas o departamentos individuales. Cualquier sector cuyo uso vaya más allá de las 2 GB tropezará con una pared y descubrirá las limitaciones. • Structured Query Language (SQL): SQL para MS Access no es tan robusto como MS SQL Server u Oracle, por nombrar sólo unos pocos.
• Las transacciones críticas a tiempo son difíciles de gestionar: Si generas datos que necesitan ser utilizados o distribuidos inmediatamente, las bases de datos access puede que no sean las más adecuadas para ti. Piensa en Access como una base de datos a largo plazo para la minería de datos y el análisis de diversas métricas. • Podría haber problemas de seguridad: Si tu base de datos necesita ser protegida por extensos protocolos de seguridad de base de datos, entonce Access puede que no sea la mejor opción. Puedes evitar este problema mediante el uso de Access en el front-end de un servidor SQL, pero no todas las empresas tienen ese nivel de infraestructura y todavía crean datos sensibles que deben protegerse. • Múltiples sistemas operativos Windows podrían corromper la base de datos: Es posible que en tu red existan varios sistemas operativos Windows en diferentes ordenadores que son utilizados para distintos uso en tu empresa. Desde un Windows 98 al actual de Windows 10. Cuando se comparte una base de datos con los usuarios de sistemas operativos mezclados, es posible que se pueda corromper la información que se está recogiendo.
• Un solo archivo: Toda la información de tu base de datos se guarda en un solo archivo. Esto limita las opciones y cómo elegir utilizar los datos. Ralentiza informes, consultas y formularios. Su rendimiento se va volviendo lento conforme el usuario va escalando el tamaño de los datos. Los datos multimedia pueden llenar el límite de espacio MS Access rápidamente. • Límite de usuarios: el límite técnico de las bases de datos access es de 255 usuarios al mismo tiempo, pero el límite real es de entre 10 y 80 (según el tipo de aplicación). • Todavía hay una curva de aprendizaje que se necesitará seguir: Microsoft Access tiene un diseño relacional relativamente pobre, lo que puede hacer que sea difícil para algunos usuarios aprender a utilizar o acceder a los formularios de bases de datos. Los controles y formularios también pueden ser difíciles de personalizar o adaptarse a ciertas necesidades y también, por lo general, debes tener un conocimiento básico de lenguaje de programación SQL para tener mejores posibilidades de éxito.
MySQL Historia Al parecer un joven programador que realizaba aplicaciones con BASIC decidió construir un sistema de almacenamiento de archivos que cumpliera con sus necesidades. Así, en 1995 Michael Widenius desarrolló junto a David Axmark y Allan Larsson MySQL y la empresa MySQL AB. Crearon MySQL con el objetivo de presentar un sistema de gestión de base de datos a los usuarios domésticos y a los profesionales. La popularidad que obtuvo hizo que fuese poco a poco mejorando gracias, en parte, a las propias sugerencias de quienes lo usaban. En 2008, MySQL fue adquirido por Sun Microsystems, quien en 2010 fue comprado por Oracle Coporation. Dicha empresa ya había adquirido cinco años antes Innobase Oy, compañía que desarrollaba el motor InnoDB para MySQL. Características Una de las principales características de MySQL es que puede utilizarse en diferentes sistemas tales como Linux, Windows, AIX, Solaris… También, tiene múltiples motores de almacenamiento para adaptarse a las necesidades concretas de cada entorno. La rapidez es otro de los puntos fuertes a la hora de realizar operaciones en MySQL. Además de ser capaz de soportar una gran cantidad de diversos tipos de datos. En lo relativo a la seguridad, MySQL tiene un sistema de contraseñas que permite verificación basada en el host lo que hace que sea de confianza. Y sin duda una de las ventajas de MySQL es que cuenta con una gran comunidad con la que intercambiar dudas y conocimientos. Es escalable y fácil de aprender lo que la convierte en una de las bases de datos más utilizada. Los programadores web utilizan con gran frecuencia MySQL para poder realizar cambios en los sitios web de manera simple sin tener que modificar el código web. Combinado con PHP se convierte en una poderosa herramienta para realizar aplicaciones que requieran el uso de una base de datos rápida, segura y potente. Entorno MySQL Workbench es el entorno integrado oficial de MySQL. Fue desarrollado por MySQL AB, y permite a los usuarios administrar gráficamente las bases de datos MySQL y diseñar visualmente las estructuras de las bases de datos. MySQL Workbench reemplaza el anterior paquete de software, MySQL
GUI Tools. Similar a otros paquetes de terceros, pero aún considerado como el front end autorizado de MySQL, MySQL Workbench permite a los usuarios administrar el diseño y modelado de bases de datos, el desarrollo de SQL (reemplazando al MySQL Query Browser) y la administración de bases de datos (reemplazando al MySQL Administrator). Comandos básicos Algunos de estos comandos te permitirán listar registros, trabajar con varias tablas, eliminarlas, actualizarlas y otorgar privilegios, entre otras cosas: • Crear una base de datos: create database [databasename]; • Listar todas las base de datos en el servidor: show databases; •
Cambiar a una base de datos: use [db name];
• Ver todas las tablas de una base de datos: show tables; • Ver los formatos de campo de la base de datos: describe [table name]; • Eliminar una base de datos: drop database [database name]; • Eliminar una tabla de la base de datos: drop table [table name]; • Devolver todos los registros de una tabla: SELECT * FROM [table name]; • Devolver las columnas y la información de la columna correspondiente a la tabla designada: show columns from [table name] Consultas Una consulta sirve para extraer información de una base de datos. El estándar para la gestión de bases de datos es el Lenguaje de consulta estructurado (SQL, Structured Query Languaje). Recuerda que SQL no es lo mismo que MySQL: el primero es el lenguaje de consulta, el segundo es el software que usa ese lenguaje. Ventajas 1.
MySQL es de uso libre y gratuito.
2.
Software con Licencia GPL.
3. Bajo costo en requerimientos para la elaboración y ejecución del programa. 4. No se necesita disponer de Hardware o Software de alto rendimiento para la ejecución del programa. 5. Velocidad al realizar las operaciones y buen rendimiento. 6.
Facilidad de instalación y configuración.
7. Soporte en casi el 100% de los sistemas operativos actuales. 8.
Baja probabilidad de corrupción de datos.
9.
Entorno con seguridad y encriptación.
Desventajas 1. Al ser de Software Libre, muchas de las soluciones para las deficiencias del software no están documentados ni presentan documentación oficial. 2. Muchas de sus utilidades tampoco presentan documentación. 3. Se debe controlar/monitorizar el rendimiento de las aplicaciones en busca de fallos. 4. No es el más intuitivo de los programas que existen actualmente para todos los tipos de desarrollos. 5. No es tan eficaz en aplicaciones que requieran de una constante modificación de escritura en BD.
SQL Server Historia El 12 de junio de 1988, Microsoft se unió a AshtonTate y Sybase para crear una variante de Sybase SQL Server para IBM OS / 2 (luego desarrollado conjuntamente con Microsoft), que se lanzó al año siguiente. Esta fue la primera versión de Microsoft SQL Server y sirvió como la entrada de Microsoft al mercado de bases de datos de nivel empresarial, compitiendo con Oracle, IBM, Informix, Ingres y más tarde, Sybase. SQL Server 4.2 se envió en 1992, incluido con OS / 2 versión 1.3, seguido de la versión 4.21 para Windows NT, lanzado junto con Windows NT 3.1. SQL Server 6.0 fue la primera versión diseñada para NT y no incluyó ninguna dirección de Sybase. Aproximadamente en el momento en que se lanzó Windows NT en julio de 1993, Sybase y Microsoft se separaron y cada uno siguió su propio diseño y esquemas de marketing. Microsoft negoció derechos exclusivos para todas las versiones de SQL Server escritas para los sistemas operativos de Microsoft. (En 1996, Sybase cambió el nombre de su producto a Adaptive Server Enterprise para evitar confusiones con Microsoft SQL Server). Hasta 1994, SQL Server de Microsoft tenía tres avisos de copyright de Sybase como indicación de su origen.
• CREATE TABLE se utiliza para crear una nueva tabla, donde la información se almacena realmente. • ALTER TABLE se utiliza para modificar una tabla ya existente. • DROP TABLE se utiliza para eliminar por completo una tabla existente. • 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.
Características
• TRUNCATE se utiliza cuando quieres vaciar (o borrar) todos los datos de la plantilla.
•
Soporte de transacciones.
Informes
•
Soporta procedimientos almacenados.
Generador de informes es una herramienta de creación de informes paginados para usuarios profesionales que prefieren trabajar en un entorno independiente en lugar de usar el Diseñador de informes de Visual Studio o SSDT. Al diseñar un informe paginado, crea una definición de informe que especifica qué datos recuperar, dónde obtenerlos y cómo visualizarlos. Al ejecutar el informe, el procesador de informes usa la definición de informe especificada, recupera los datos y los combina con el diseño del informe para generar el informe. Puede obtener una vista previa del informe en Generador de informes. Después, el informe se publica en un servidor de informes de Reporting Services en modo nativo o en modo integrado de SharePoint (2016 y versiones anteriores).
• 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 solo acceden a la información. • Además permite administrar información de otros servidores de datos. Comandos Básicos • CREATE DATABASE se utiliza para crear una nueva base de datos vacía. • DROP DATABASE se utiliza para eliminar completamente una base de datos existente.
Consulta Para realizar consultas sobre las tablas de las bases de datos disponemos de la instrucción SELECT. Con ella podemos consultar una o varias tablas. Es sin duda el comando más versátil del lenguaje SQL. Existen muchas cláusulas asociadas a la sentencia
SELECT (GROUP BY, ORDER, HAVING, UNION). También es una de las instrucciones en la que con más frecuencia los motores de bases de datos incorporan cláusulas adicionales al estándar, que es el que veremos aquí. Vamos a empezar viendo las consultas simples, basadas en una sola tabla. Veremos cómo obtener filas y columnas de una tabla en el orden en que nos haga falta. El resultado de una consulta SELECT nos devuelve una tabla lógica. Es decir, los resultados son una relación de datos, que tiene filas/registros, con una serie de campos/columnas. Igual que cualquier tabla de la base de datos. Sin embargo esta tabla está en memoria mientras la utilicemos, y luego se descarta. Cada vez que ejecutamos la consulta se vuelve a calcular el resultado. Ventajas •
Es un sistema de gestión de base de datos.
• 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. •
Soporta procedimientos almacenados.
Desventajas • Utiliza mucho la memoria RAM para las instalaciones y utilización de software. • No se puede utilizar como prácticas porque se prohíben muchas cosas, tiene restricciones en lo particular. • Tiene muchos bloqueos a nivel de página, un tamaño de página fijo y demasiado pequeño, una pésima implementación de los tipos de datos variables.
• Es útil para manejar y obtener datos de la red de redes.
• Está atado a la plataforma del sistema operativo sobre la cual se instala.
• Nos permite olvidarnos de los ficheros que forman la base datos.
•
• Si trabajamos en una red social nos permite agregar otros servidores SQL Server. •
Permite administrar permisos a todo.
• Confíe en la base de datos menos vulnerable entre las plataformas importantes durante seis años.
Las opciones de licencia son bastante caros.
• Sólo está diseñado para ejecutarse en servidores basados en Windows. • Las licencias de bases de datos anteriores no pueden ser transferidas a un sistema virtualizado debido a que sus costos están relacionados con el desempeño del sistema y no con lo que se utiliza realmente.
PostgreSQL Historia PostgreSQL ha tenido una larga evolución, la cual se inicia en 1982 con el proyecto Ingres en la Universidad de Berkeley. Este proyecto, liderado por Michael Stonebraker, fue uno de los primeros intentos en implementar un motor de base de datos relacional. Después de haber trabajado un largo tiempo en Ingres y de haber tenido una experiencia comercial con el mismo, Michael decidió volver a la Universidad en 1985 para trabajar en un nuevo proyecto sobre la experiencia de Ingres, dicho proyecto fue llamado post-ingres o simplemente POSTGRES. El proyecto post-ingres pretendía resolver los problemas con el modelo de base de datos relacional que habían sido aclarados a comienzos de los años 1980. El principal de estos problemas era la incapacidad del modelo relacional de comprender "tipos", es decir, combinaciones de datos simples que conforman una única unidad. Actualmente estos son llamados objetos. Se esforzaron en introducir la menor cantidad posible de funcionalidades para completar el soporte de tipos. Estas funcionalidades incluían la habilidad de definir tipos, pero también la habilidad de describir relaciones - las cuales hasta ese momento eran ampliamente utilizadas pero mantenidas completamente por el usuario. En Postgres la base de datos «comprendía» las relaciones y podía obtener información de tablas relacionadas utilizando reglas. Postgres usó muchas ideas de Ingres pero no su código. La siguiente lista muestra los hitos más importantes en la vida del proyecto Postgres. • 1986: se publicaron varios papers que describían las bases del sistema. • 1988: ya se contaba con una versión utilizable. • 1989: el grupo publicaba la versión 1 para una pequeña comunidad de usuarios. • 1990: se publicaba la versión 2 la cual tenía prácticamente reescrito el sistema de reglas. • 1991: publicación de la versión 3, esta añadía la capacidad de múltiples motores de almacenamiento.
• 1993: crecimiento importante de la comunidad de usuarios, la cual demandaba más características. • 1994: después de la publicación de la versión 4, el proyecto terminó y el grupo se disolvió. Característica • Alta concurrencia: Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente. • Amplia variedad de tipos nativos: PostgreSQL provee nativamente soporte para: o o o o o o o
Números de precisión arbitraria. Texto de largo ilimitado. Figuras geométricas (con una variedad de funciones asociadas). Direcciones IP (IPv4 e IPv6). Bloques de direcciones estilo CIDR. Direcciones MAC. Arrays.
Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por el proyecto PostGIS. • Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys). • Disparadores (triggers): Un disparador o trigger se define como una acción específica que se realiza de acuerdo a un evento, cuando este ocurra dentro de la base de datos. En PostgreSQL esto significa la ejecución de un procedimiento almacenado basado en una determinada acción sobre una tabla específica. Ahora todos los disparadores se definen por seis características: o o o
El nombre del disparador o trigger El momento en que el disparador debe arrancar El evento del disparador deberá activarse sobre...
o o o o
La tabla donde el disparador se activará La frecuencia de la ejecución La función que podría ser llamada La función no es correcta
o o o o
Entonces combinando estas seis características, PostgreSQL le permitirá crear una amplia funcionalidad a través de su sistema de activación de disparadores (triggers). • Funciones: Bloques de código que se ejecutan en el servidor. Pueden ser escritos en varios lenguajes, con la potencia que cada uno de ellos da, desde las operaciones básicas de programación, tales como bifurcaciones y bucles, hasta las complejidades de la programación orientada a objetos o la programación funcional. Los disparadores (triggers en inglés) son funciones enlazadas a operaciones sobre los datos. Algunos de los lenguajes que se pueden usar son los siguientes:
o o o •
o o o o o o o o o o
C. C++. Java PL/Java web. PL/Perl. plPHP. PL/Python. PL/Ruby. PL/sh. PL/Tcl. PL/Scheme.
Lenguaje para aplicaciones estadísticas R por medio de PL/R.
ROLES o o
o
Un lenguaje propio llamado PL/PgSQL (similar al PL/SQL de oracle).
o o o o
•
•
BASES DE DATOS o o o o o o o o o
•
Crear nueva base de datos → createdb Eliminar base de datos → dropdb Listar BBDD existentes → psql -l Conectarse a una base de datos usando psql: psql -h servidor -U usuario -d base-datos \l → Lista de las BBDD \d → Describe la base de datos en uso \c base-datos → Cambia a otra base de datos \q ó Ctrl+D → Salir de la sesión USUARIOS
o
Crear usuario → CREATE USER nombreusuario
Crear un rol → CREATE role nombre-rol Crear rol que puede crear roles y usuarios, logarse al inicio y con contraseña encriptada: CREATE ROLE nombre_rol WITH LOGIN CREATEDB CREATEROLE ENCRYPTED PASSWORD; Ver los roles existentes → SELECT rolname FROM pg_roles; Cambiar a otro rol → SET ROLE nombre-rol; Crear superusuario → CREATE ROLE nombre-usuario SUPERUSER; Agregar un usuario a un rol → GRANT nombre-rol TO usuario Añadir propiedades a un rol → GRANT propiedad1, propiedad2 ON tabla TO nombre-rol TABLAS
o o o o
Entornos Comandos Básicos
Eliminar usuario → DROP USER nombreusuario Modificar usuario → ALTER USER nombreusuario Mostrar el usuario actual → SELECT USER Revocar un permiso a un usuario → REVOKE UPDATE on Tabla (atributo) FROM usuario Cambiar la contraseña de un usuario: En terminal → psql -c "ALTER USER usuario WITH PASSWORD 'nueva-contraseña'" Dentro de psql → ALTER USER usuario WITH PASSWORD 'nueva-contraseña';
o o o o
o
o
\dp \z → Lista privilegios sobre las tablas \dt → Mostrar las tablas existentes \d nombre-tabla → Mostrar de que tipo son las columnas de una tabla Cambiar el propietario de una tabla: ALTER TABLE nombre-tabla OWNER TO propietario-nuevo; Renombrar columna de una tabla: ALTER TABLE nombre-tabla RENAME COLUMB nombre-antiguo TO nombre-nuevo; Borrar un registro de un tabla: DELETE FROM nombre-tabla WHERE nombrecampo='nombre'; Modificar el tipo de dato de un atributo de la tabla: ALTER TABLE nombre-tabla ALTER COLUMN nombre_columna TYPE tipo_dato; Insertar un registro que contiene un campo array (multivalor) se hace con llaves: INSERT INTO nombre-array VALUES ( 'campo' , '{val0,val1,val2' ); Entrar registro con un sólo valor en una posición del array de un campo: INSERT INTO nombre-array( campo, valores[2]) VALUES ( 'valorA' , 'valorB'); Mostrar las dimensiones del array: SELECT campo1, array_dims(campo_array) FROM nombre-tabla;
o o
o
• o o o • o o o •
Actualizar un registro de una tabla: UPDATE tabla SET campo='Nuevo-valor'; Conocer las propiedades de los campos de una tabla: SELECT * FROM information_schema.columns WHERE table_name= 'nombre-de-tabla'; Modificar las propiedades de una columna de tipo varchar a tipo booleano: ALTER TABLE nombre-tabla ALTER COLUMN nombrecolumna SET DATA TYPE boolean USING nombre-columna::boolean;
Informes
ESQUEMAS Mostrar el esquema actual → SHOW search_path; Cambiar el esquema por defecto → SET search_path TO nombre-esquema; Listar esquemas → \dn
En una base de datos relacional, los resultados de la consulta van a ser datos individuales, tuplas o tablas generados a partir de consultas en las que se establecen una serie de condiciones basadas en valores numéricos. Por ejemplo una típica consulta sobre una tabla en una base de datos relacional, utilizando SQL podría ser:
SECUENCIAS
bd=# SELECT id, nombre, pob1991
Crear una secuencia que empiece a contar desde mil: CREATE SEQUENCE SEQ START 1000; Borrar una secuenca → DROP SEQUENCE nombre-esquema.nombre-secuencia; \ds → Lista las secuencias
FROM municipios
FUNCIONES o o o o o
•
Ejecutar una función → SELECT nombrefuncion(parametros-si-hay) Ejemplo eliminar una función → DROP FUNCTION public.prueba(i integer) \df → Lista las funciones \da → Lista las funciones de agregado Saber a qué esquema pertenece una función (ejemplo UPPER que ya viene integrada): \df UPPER
o
\i nombre-del-fichero-a-importar.sql Importa y ejecuta el fichero desde psql \g archivo → Ejecuta un archivo
→
• VISTAS: Una vista, es una tabla lógica que permite consultar los datos de una o diversas tablas de una forma única y más práctica. o •
\dv → Lista las vistas VARIOS
o o o o o o
Consultas
WHERE pob1991>20000; El resultado será una tabla en la que tendremos tres columnas (id, nombre, población) procedentes de la tabla municipios, las filas corresponderán sólo a aquellos casos en los que la población en 1991 (columna pob1991) sea mayor que 20000. En el caso de que sólo uno de los municipios cumpliera la condición obtendríamos una sola fila y en caso de que la consulta fuera: bd=# SELECT pob1991 FROM municipios WHERE pob1991>20000; Obtendríamos un sólo número, la población del municipio más poblado.
FICHEROS o
Resulta fundamental disponer de una herramienta de reportes que permitan un fácil y rápido acceso hacia los datos contenidos en bases de datos Postgres como parte de una estrategia Open Source aplicable a cualquier organización, considerando el ahorro en licencias así como la tendencia cada vez más fuerte hacia el uso de este tipo de tecnologías.
\di → Lista de los índices \g ó ";" → Terminar sentencia \p → Visualizar contenido memoria intermedia \r → Vaciar contenido memoria intermedia \p → Lee los datos en la memoria intermedia \! → Ejecuta una orden de sistema operativo
Ventajas •
Seguridad en términos generales.
•
Integridad en BD: restricciones en el dominio.
•
Integridad referencial.
•
Afirmaciones (Assertions).
•
Disparadores (Triggers).
•
Autorizaciones.
• Conexión a sistema de gestión de bases de datos. •
Transacciones y respaldos.
Desventajas • Es relativamente lento en inserciones y actualizaciones en bases de datos pequeñas, PostgreSQL está diseñado para ambientes de alto volumen. Ésto hace que la velocidad de respuesta pueda parecer lenta en comparación con bases de datos de pequeño tamaño. • Soporte oficial: No cuenta con un soporte en línea o telefónico. PostgreSQL cuenta con foros
oficiales donde los usuarios pueden exponer sus dudas que responden otros usuarios de la comunidad. También, disponemos soporte empresarial como EnterpriseDB o TodoPostgreSQL. Cabe resaltar que la comunidad de usuarios PostgreSQL es una de las más activas en el mercado. • La sintaxis de algunos de sus comandos o sentencias puede llegar a no ser intuitiva si no tienes un nivel medio de conocimientos en lenguaje SQL.
Oracle Historia Oracle surge en 1977 bajo el nombre de SDL (Software Development Laboratories). En 1979, SDL cambia su nombre por Relational Software, Inc. (RSI). La fundación de SDL fue motivada principalmente a partir de un estudio sobre los SGBD (Sistemas Gestores de Base de Datos) de George Koch. Computer World definió este estudio como uno de los Este artículo incluía una comparativa de productos que dirigía a Relational Software como el más completo desde el punto de vista técnico. Esto se debía a que usaba la filosofía de las bases de datos relacionales, algo que por aquella época era todavía desconocido. Oracle, a partir de la versión 10g Release 2, cuenta con 7 ediciones: •
Enterprise Edition (EE).
•
Standard Edition (SE).
•
Standard Edition One (SE1)
•
Standard Edition 2 (SE2)
•
Express Edition (XE).
•
Personal Edition (PE).
•
Lite Edition (LE).
La única edición gratuita es la Express Edition, que es compatible con las demás ediciones de Oracle Database 10gR2 y Oracle Database 11g. La última versión de Oracle es la versión 19c. La primera base de datos diseñada para Cloud Computing, que fue lanzada en 2013, fue Oracle 12c, con ella Oracle intentaba facilitar los esfuerzos de las empresas para estandarizar, consolidar y automatizar los servicios de las bases de datos en la nube. Características La base de datos de Oracle es compatible con medianas industrias. Esto incluye Real Aplication
Clúster, para crear protección en contra de fallos de hardware. Es muy sencillo de instalar y configurar, y viene con su propio software de clustering. La base de datos Oracle, proporciona una rápida instalación sin contratiempos tanto en un único servidor como en un ambiente de clúster. La base de datos está pre configurada lista para ser usada en producción, completa con espacio automatizado, administración de almacenamiento y de memoria, Back-up y recuperación automatizada y administrador de estadísticas automatizado. La consola de Enterprise Manager 10g data base control provee una interface web que te enseña el estado actual de la base de datos y del ambiente del clúster y permite la administración de la base de datos desde cualquier browser conectado a su sistema. La base de datos Oracle toma ventaja también de la solución de clusterware, apartando la complejidad de tener que instalar y configurar clusterware de terceras personas. Oracle es la base de datos número uno del mercado ya que posee la capacidad de soportar todos los datos relacionales estándares, así como también datos oriundos como XLM, XQuery y WebDAV, JDBC, SQLJ, ODBC.Net, OLE.Net, ODP.Net. Los procedimientos almacenados pueden ser escritos en java PL SQL o utilizando .Net CLR Support en Oracle Database 10g Release Dos. La base de datos Oracle Standar Edition, usa las mismas gestiones de concurrencia que son usadas por la base de datos de Oracle Enterprise Edition, asegurando así el máximo rendimiento para todas las cargas de trabajo. Comandos Básicos • Cambiar password alter user USER identified by 'pwd' • Nombre de /var/opt/oracle/oratab
la
instancia
more
desapp11:/oracle/u01/app/oracle/oracle/product/10. 2.0/db_2:N N –> no arranca al reiniciar la maquina •
Instancia levantada ps -ef | grep desapp1
• Cambiar de Instancia de BBDD echo $ORACLE_SID export ORACLE_SID=Nombre_instancia_1
export ORACLE_SID=Nombre_instancia_2
Ventajas
•
• Oracle es el motor de base de datos objetorelacional más usado a nivel mundial.
Parar la BBDD
login as: oracle Using keyboard-interactive authentication. Password: Sun Microsystems Inc. SunOS 5.10 Generic January 2005 You have new mail. # sqlplus " / as sysdba" •
Arrancar la BBDD
•
SQL> startup
•
Arrancar el Listener
# lsnrctl status # lsnrctl start •
Arrancar Consola Enterprise manager
# emctl status dbconsole # emctl start dbconsole •
Arrancar el Enterprise manager
# isqlplusctl start Ejecutar script de creacion de usuarios y tablespaces. Nos conectamos a ISQL con usuario user_admin http://XXXX:5560/isqlplus/ y ejecutamos el script Informes El manejo sencillo del Oracle Cloud, combinado con el Oracle Analytics Cloud, está diseñado para agilizar las tareas de los empleados que generan y consumen contenido. Cuando revisas el panel de control, la herramienta de análisis te muestra los datos más recientes de forma automática, para que puedas capturar la información relevante en el informe que quieres elaborar
• Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador. • Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente. • Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas. • El software del servidor puede ejecutarse en multitud de sistemas operativos. • Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa. • Oracle es la base de datos con más orientación hacía INTERNET. Desventajas • Las versiones más recientes de Oracle son la 11g, 10g, 9g, 8g, desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la remodelación del sistema de almacenamiento por causa de la introducción de extensiones orientadas a objetos. • El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. Un Oracle mal configurado puede ser desesperantemente lento. • También es elevado el coste de la información, y sólo últimamente han comenzado a aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y administración.
Referencias bibliográficas o B., G. (2020, 24 noviembre). ¿Qué es una consulta en base de datos? Tutoriales Hostinger. https://www.hostinger.mx/tutoriales/que-es-consulta-base-de-datos/ o Baehost.com. (2020, 8 abril). Comandos básicos para MySQL. BAEHOST Blog. https://blog.baehost.com/comandos-basicos-para-mysql/ o Base de Datos ~ Access. (s. f.). Base de Datos. Recuperado 22 de enero de 2021, de http://ricardocr.simplesite.com/434743711 o C. (2014, 23 junio). Fundamentos de SQL: Cómo realizar consultas simples con SELECT. campusMVP.es. https://www.campusmvp.es/recursos/post/Fundamentos-de-SQL-Como-realizarconsultas-simples-con-SELECT.aspx o colaboradores de Wikipedia. (2020a, junio 17). Oracle Database. Wikipedia, la enciclopedia libre. https://es.wikipedia.org/wiki/Oracle_Database o colaboradores de Wikipedia. (2020b, noviembre 21). PostgreSQL. Wikipedia, la enciclopedia libre. https://es.wikipedia.org/wiki/PostgreSQL o colaboradores de Wikipedia. (2020c, diciembre 26). Microsoft SQL Server. Wikipedia, la enciclopedia libre. https://es.wikipedia.org/wiki/Microsoft_SQL_Server o colaboradores de Wikipedia. (2021, 21 enero). MySQL. Wikipedia, la enciclopedia libre. https://es.wikipedia.org/wiki/MySQL#MySQL_Workbench o Comandos SQL Básicos. (s. f.). MariaDB KnowledgeBase. Recuperado 22 de enero de 2021, de https://mariadb.com/kb/es/basic-sql-statements/ o InformaticCity.com. (2019, 13 octubre). Comandos básicos psql en PostgreSQL. Informatic City. https://www.informaticcity.com/2019/10/comandos-basicos-psql-en-postgresql.html o M. (2019a, mayo 10). Generador de informes en SQL Server - SQL Server Reporting Services (SSRS). Microsoft Docs. https://docs.microsoft.com/es-es/sql/reporting-services/reportbuilder/report-builder-in-sql-server-2016?view=sql-server-ver15 o Medina, P. (2019, 23 agosto). Oracle Cloud: Cómo visualizar tus datos y crear reportes. Fusionworks. https://fwpr.com/es/oracle-cloud-como-visualizar-tus-datos-y-crear-reportes/ o Microsoft. (s. f.-a). Introducción a los informes en Access. Recuperado 22 de enero de 2021, de https://support.microsoft.com/es-es/office/introducci%C3%B3n-a-los-informes-en-access-e0869f597536-4d19-8e05-7158dcd3681c o Microsoft. (s. f.-b). Métodos abreviados de teclado de Access. Recuperado 22 de enero de 2021, de https://support.microsoft.com/es-es/office/m%C3%A9todos-abreviados-de-teclado-de-access70a673e4-4f7b-4300-b8e5-3320fa6606e2 o Microsoft. (s. f.-c). Vídeo: Introducción a las consultas. Recuperado 22 de enero de 2021, de https://support.microsoft.com/es-es/office/v%C3%ADdeo-introducci%C3%B3n-a-las-consultas07e75b65-5eda-414f-b822-ea4e7aaf1ccb o Microsoft Access. (2020, 29 noviembre). Wikipedia, la enciclopedia libre. https://es.wikipedia.org/wiki/Microsoft_Access o MySQL: ¿Qué es? Características, Ventajas y Desventajas. (s. f.). Hostingpedia. Recuperado 22 de enero de 2021, de https://hostingpedia.net/mysql.html o Negocio, I. P. T. (2018, 21 junio). Ventajas y desventajas de las bases de datos access. Informática para tu negocio. https://www.informaticaparatunegocio.com/blog/ventajas-desventajas-las-basesdatos-access/ o Ramos, C. D. C. (2009, 11 septiembre). Repositorio Digital - EPN: Generador de reporte para postgres. Bid Digital. https://bibdigital.epn.edu.ec/handle/15000/805 o Segovia, J. (2020, 18 abril). Ventajas y Desventajas de PostgreSQL. TodoPostgreSQL. https://todopostgresql.com/ventajas-y-desventajas-de-postgresql/
o T. (2019b, abril 16). Formación en Oracle: Historia y Características. Cursos y Master en Madrid Formatalent. https://formatalent.com/formacion-en-oracle-historia-y-caracteristicas/ o T. (2020, 23 enero). ¿Qué es MySQL? Historia, características y más. Tokio. https://www.tokioschool.com/noticias/que-es-mysql/ o Ventajas y Desventajas. (s. f.). Oracle BDMS. Recuperado 22 de enero de 2021, de http://oraclebddepn.blogspot.com/2013/05/ventajas-y-desventajas.html o Zamora, D. (s. f.). Comandos básicos Oracle BD. Azsoft. Recuperado 22 de enero de 2021, de http://azsoft.cl/comandos-basicos-para-oracle-db/ o Zaredruiz, V. A. P. B. (2017, 10 noviembre). Ventajas y desventajas de usar SQL-Server. Site Title. https://tareaofi10.wordpress.com/2017/11/10/ventajas-y-desventajas-de-usar-sql-server/