Sistemas de Gestión de Base de DatosdfsfsfsfA d m i n i s t r a c i ó n d e B a s e d e D a t o s2013Universidad Peruana d...
Sistemas de Gestión de Base de DatosAdministración de base de datos Página 1Diferencia increible entre Oracle y SQL Server...
Sistemas de Gestión de Base de DatosAdministración de base de datos Página 2 No hay límites en el tamaño de los registros...
Sistemas de Gestión de Base de DatosAdministración de base de datos Página 3PostgresSQLjosealopez@josealopez-laptop:~ $ su...
Sistemas de Gestión de Base de DatosAdministración de base de datos Página 4Oracle vs Postgre SQL2. SQL Server vs MySQL3. ...
Sistemas de Gestión de Base de DatosAdministración de base de datos Página 5SQL Server MySQL Es un SGBD Relacional. MySQL ...
Sistemas de Gestión de Base de DatosAdministración de base de datos Página 6base de datos. Esto significa que el SGBD ayud...
Sistemas de Gestión de Base de DatosAdministración de base de datos Página 7Objetivos SGBDExisten distintos objetivos que ...
Sistemas de Gestión de Base de DatosAdministración de base de datos Página 8InconvenientesTípicamente, es necesario dispon...
Upcoming SlideShare
Loading in...5
×

Sistemas de gestión de base de datos

888

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
888
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Sistemas de gestión de base de datos

  1. 1. Sistemas de Gestión de Base de DatosdfsfsfsfA d m i n i s t r a c i ó n d e B a s e d e D a t o s2013Universidad Peruana de Ciencias e Informática
  2. 2. Sistemas de Gestión de Base de DatosAdministración de base de datos Página 1Diferencia increible entre Oracle y SQL ServerHace tiempo encontré un problema con una webtransaction generada con .NET. Era algo muysencillo y que funcionaba bien en SQL Server y mal con Oracle, pues no estaba funcionandocorrectamente cuando habia uno de los elementos de la clave C(2) que tenia 2 blancos.Prueba sencillacreate table tabla (Campo Char(2))insert into tabla values( ) Inserto un registro con dos blancos.Base de datos Oracle SQL Serverselect * from tabla where campo=’ ‘ –dos blancos 1 registro seleccionado 1 registro seleccionadoselect * from tabla where campo=’ ‘ –un blanco 1 registro seleccionado 1 registro seleccionadoselect * from tabla where campo=” –sin blancos 0 registro seleccionado 1 registro seleccionadoDiferencias entre Mysql y PostgreSQLMysqSu principal objetivo de diseño fue la VELOCIDAD. Se sacrificaron algunas característicasesenciales en sistemas más "serios" con este fin. Otra característica importante es queconsume MUY POCOS RECURSOS, tanto de CPU como de memoria.VentajasMayor rendimiento. Mayor velocidad tanto al conectar con el servidorcomo al servir selects y demás. Mejores utilidades de administración (backup, recuperación de errores,etc). Aunque se cuelgue, no suele perder información ni corromper los datos.Mejor integración con PHP.
  3. 3. Sistemas de Gestión de Base de DatosAdministración de base de datos Página 2 No hay límites en el tamaño de los registros. Mejor control de acceso, en el sentido de qué usuarios tienen acceso aqué tablas y con qué permisos. MySQL se comporta mejor que Postgres a la hora de modificar o añadircampos a una tabla "en caliente".Desventajas No soporta transacciones, "roll-backs" ni subselects. No considera las claves ajenas. Ignora la integridad referencial,dejándola en manos del programador de la aplicación.PostgreSQLPostgres intenta ser un sistena de bases de datos de mayor nivel que MySQL, a la alturade Oracle, Sybase o Interbase.Ventajas Por su arquitectura de diseño, escala muy bien al aumentar el número de CPUs yla cantidad de RAM. Soporta transacciones y desde la versión 7.0, claves ajenas (con comprobacionesde integridad referencial). Tiene mejor soporte para triggers y procedimientos en el servidor. Soporta un subconjunto de SQL92 MAYOR que el que soporta MySQL. Además,tiene ciertas características orientadas a objetos.Desventajas Consume BASTANTES más recursos y carga más el sistema. Límite del tamaño de cada fila de las tablas a 8k!!! (se puede ampliar a 32krecompilando, pero con un coste añadido en el rendimiento). Es de 2 a 3 veces más lenta que MySQL.Diferencias entre comandos para PostgreSQL yMySQL
  4. 4. Sistemas de Gestión de Base de DatosAdministración de base de datos Página 3PostgresSQLjosealopez@josealopez-laptop:~ $ sudo su - postgresMySQLjosealopez@josealopez-laptop:~ $ mysql -u root -pUna vez que nos hemos conectado, para poder ver todas las bases de datosPostgreSQLpostgres@josealopez-laptop:~$ psqlpostgres=# lMySQLmysql> show databases;Para usar una u otra base de datosPostgresSQL:postgres@josealopez-laptop:~$ psql database_nameMySQLmysql> use database_namePara crear un campo autoincremental también se hace de forma distinta, de hecho, en MySQLno se usan los elementos del tipo sequence que pueden ser mapeados con JPA. Por lo tanto loque para PosrgreSQL es: create sequence mi_seq que luego es empleado en una tablecomo clave primaria con id int default nextval(mi_seq) primarykey,para MySQL es id int not null primary key auto_increment.Por lo tanto, para crear una tabla que use campo autoincrementalesPostgreSQLCREATE SEQUENCE mi_seq;CREATE TABLE "mi_tabla" (id int default nextval(mi_seq) primary key,"nombre" varchar (50),"login" varchar(10));MySQLCREATE TABLE mi_tabla (id int not null primary key auto_increment,nombre varchar(50),login varchar(10))
  5. 5. Sistemas de Gestión de Base de DatosAdministración de base de datos Página 4Oracle vs Postgre SQL2. SQL Server vs MySQL3. Access vs Base (Open Office)Oracle. surge a finales de los 70 bajo el nombre de Software a partir de un estudio sobreSGBD(Sistemas Gestores de Base de Datos) de George Koch. Computer World definióeste estudiocomo uno de los más completos jamás escritos sobre bases de datos. Este artículo incluía unacomparativa de productos que erigía a Relational Software como elmás completo desde elpunto de vista técnico. Esto se debía a que usaba la filosofía delas bases de datos relacionales,algo que por aquella época era todavía desconocido. Enla actualidad, Oracle (Nasdaq: ORCL)todavía encabeza la lista. La tecnología Oracle seencuentra prácticamente en todas lasindustrias alrededor del mundo y en las oficinas de98 de las 100 empresas Fortune 100. Oraclees la primera compañía de software quedesarrolla e implementa software para empresas 100por ciento activado por Internet através de toda su línea de productos: base de datos,aplicacionescomerciales y herramientas de desarrollo de aplicaciones y soporte de decisiones.Oraclees el proveedor mundial líder de software para administración de información, ylasegunda empresa de software. Oracle a partir de la versión 10g Release 2, cuenta con6ediciones: Oracle Database Enterprise Edition(EE). Oracle Database Standard Edition(SE).Oracle Database Standard Edition One (SE1). Oracle Database Express Edition(XE). OracleDatabase Personal Edition (PE). Oracle Database Lite Edition (LE).PostGreSQL (llamado también Postgres95) fue derivado del proyectoPostgres, como ya seha comentado. A sus espaldas, este proyecto lleva másde una década de desarrollo, siendohoy en día, el sistema libre másavanzado con diferencia, soportando la gran mayoría de lastransaccionesSQL, control concurrente, teniendo a su disposición varios "languagebindings"como por ejemplo C, C++, Java, Python, PHP y muchos más.La implementación de PostgresDBMS comenzó en 1986, y no hubo unaversión operativa hasta 1987. La versión 1.0 fueliberada en Junio de 1989 aunos pocos usuarios, tras la cual se liberó la versión 2.0 en Junio de1990debido a unas críticas sobre el sistema de reglas, que obligó a sureimplementación. Laversión 3.0 apareció en el año 1991, e incluyó una seriede mejoras como una mayor eficienciaen el ejecutor de peticiones. El restode versiones liberadas a partir de entonces, se centraronen la portabilidad delsistema. El proyecto se dio por finalizado en con la versión 4.2, debido algranauge que estaba teniendo, lo cual causó la imposibilidad de mantenimientopor parte delos desarrolladores.En 1996, los desarrolladores decidieron cambiar el nombre a al DBMS, ylollamaron PostGreSQL (versión 6.0) para reflejar la relación entre Postgres ylas versionesrecientes de SQL. Se crearon nuevas mejoras y modificaciones,que repercutieron en un 20-40% más de eficiencia, así como la incorporacióndel estándar SQL92.Oracle Postgre SQL Las entidades complejas.Es SGBD relacional Open del mundo real y lalógica se Source. pueden modelar fácilmente, Tiene un sistema de reglas lo que permitereutilizar consistente en modificar las objetos. consultas. los programadores de Posee manejoy control de aplicaciones pueden transacciones para asegurar acceder directamente a tipos laconsistencia de los datos.Ventajas de objetos. Soporta los tipos de datos, Las aplicaciones quecláusulas, funciones y utilizan objetos de comandos de tipo Oracle son fáciles deestándarSQL92/SQL99 y entender y mantener. extendidos propios de Tiene buen rendimientoy PostgreSQL. hace buen uso de los Para una fácil conectividad recursos. Posee un rico alservidor PostgreSQL, se diccionario de datos. implementa un ODBC.
  6. 6. Sistemas de Gestión de Base de DatosAdministración de base de datos Página 5SQL Server MySQL Es un SGBD Relacional. MySQL software es Open (SGBDR). Source Ofreceuna potente forma Velocidad al realizar las de unir SQL e Internet. operaciones. Utiliza unaextensión al Bajo costo en SQL estándar, que se requerimientos para la denomina TransactSQL. elaboración de bases de Permite olvidarnos un poco datos.Ventajas de los ficheros queforman Puede ser ejecutado en la base de datos. una maquina con escasos Si trabajamos enuna red recursos sin ningún local nos permite agregar problema. otros servidores de SQLFacilidad de configuración Server. e instalación. Soporta gran variedad de Sistemas Operativos.OpenOffice es una suite ofimática avanzada la cual dispone de todas lasherramientasnecesarias para trabajar: editor de texto, editor de imágenesvectoriales, hoja de cálculo, editorde presentaciones, base de datos, editor defórmulas, integración con correo (Thunderbird uOutlook), edita PDFs, soporte3d, maneja el estándar internacional ISO, y posee una licenciaILIMITADA.Está disponible para varias plataformas, tales como Microsoft Windows,GNU/Linux,BSD, Solaris y Mac OS X. Soporta numerosos formatos dearchivo, incluyendo comopredeterminado el formato estándar ISO/IECOpenDocument (ODF), entre otros formatoscomunes, así como tambiénsoporta más de 110 idiomas, desde febrero del año2010.OpenOffice.org Base es un programa de base de datos similar a MicrosoftAccess.OpenOffice.org Base permite la creación y manejo de bases dedatos, elaboración deformularios e informes que proporcionan a los usuariosfinales un acceso fácil a los datos. Aligual que Microsoft Access, es capaz detrabajar como un front-end para diversos sistemas debases de datos talescomo el de Access (JET), fuente de datos ODBC y MySQL/PostgreSQL.Baseestá disponible desde la versión 2.0.Componentes de un SGBDMotor de la base de datos. Es el programa del SGBD que construye las consultas ypeticiones que se realizan en el sistema para que sean procesadas por el sistema de BD.Por ejemplo el SGBD PhpMyAdmin consta de un motor de base de datos basado en MySQLpor lo tanto las peticiones y operaciones que se realicen serán procesadas y convertidas aun formato SQL interpretable por la base de datos gestionada. Con Microsoft Accesssucede lo mismo, el programa en sí mismo es un SGBD que transforma todas las peticionesy operaciones sobre la base de datos, también en formato SQL no percibido por el usuario.De esta forma la base de datos interpreta correctamente que el usuario desea insertar unanueva fila en la tabla o editar una serie de valores.Sistema de definición de datos. Programa especializado en crear los ficheros inversos,ficheros diccionarios, realizar los procesos de indexación de campos de las tablas y aplicarlos ficheros de palabras vacías.Sistema de manipulación y gestión. Es la parte del SGBD dedicada a la manipulación deregistros en las tablas de la base de datos. Hace posible la navegación a través de suscontenidos, la inserción de nuevos registros, su modificación, eliminación, importación oexportación mediante un interfaz sencillo destinado al usuario, evitándole la programaciónde sus consultas, sustituyendo procesos complejos por funciones almacenadas en unbotón o un enlace.Sistema de herramientas y aplicaciones. Lo constituyen todas las herramientas ysubprogramas orientados a facilitar la creación de interfaces de edición y consulta en la
  7. 7. Sistemas de Gestión de Base de DatosAdministración de base de datos Página 6base de datos. Esto significa que el SGBD ayuda a construir aplicaciones para manipular deforma eficiente las tablas de la base de datos, permitiendo al usuario diseñar losformularios de entrada de datos, las pantallas de visualización de registros, las pantallas debúsqueda y recuperación, etc. Por ejemplo Microsoft Access y Filemaker son SGBD queintegran tales herramientas con las que es posible construir una aplicación un sistema deinformación especializado con un interfaz adaptado a las necesidades del usuario. En elcaso de MySQL y PhpMyAdmin esto no es así, ya que el interfaz personalizado por elusuario debe ser desarrollado por él mismo en forma de formularios web basados en unservidor Apache y programados en lenguaje PHP. Este aspecto que a priori podría ser unadesventaja, hace posible que sea el método de diseño de interfaz más avanzado,personalizado y profesional, dado que es posible modificar todos los parámetros defuncionamiento del sistema, aspecto que a diferencia de SGBD no es posible encontrar,debido a la limitación de las herramientas que proporcionan.Administración. Lo constituye aquella parte del programa destinada a gestionar lasfunciones de almacenamiento, los procesos generales del sistema, los privilegios de accesoa la base de datos, gestionar las operaciones de mantenimiento con las bases de datoscreadas, modificar las propiedades del interfaz, editar la configuración de los demáscomponentes del SGBD.FuncionesCapacidad para almacenar datos en la BD, acceder a ellos, insertar otros nuevos,modificarlos y eliminarlos.El SGBD oculta a ojos del usuario la apariencia real de las tablas de la BD, mostrando uninterfaz sencillo. La apariencia real lo constituye un conjunto de códigos fuente sobre losque se almacenan las cadenas de datos que componen la información del registro.Debe automatizar las funciones de consulta, de forma tal que las peticiones del usuariosean transformadas a un lenguaje identificable y entendible por la BD, generalmente estelenguaje es SQL.El SGBD y especialmente la base de datos gestionada deben asegurar el acceso demúltiples usuarios manipulando o editando sus contenidos mediante un control de laconcurrencia. Esto es que el sistema debe proporcionar un orden de prioridad en losprocesos que se llevan a cabo en el sistema. Al conjunto de procesos que llevan a cabomúltiples usuarios se le denomina "transacciones".Un SGBD debe permitir la gestión de los privilegios de acceso al sistema para gestionar elacceso y las restricciones del mismo a diversos tipos de usuarios.Debe proporcionar las herramientas de mantenimiento necesarias para mantener laconsistencia de los datos de la base de datos, esto es el proceso de compactación ydesfragmentación de los datos, la optimización de las tablas, su reparación, la eliminaciónde residuos o información residual en cache como resultado de una transacción finalizadacon algún tipo de error, etc.
  8. 8. Sistemas de Gestión de Base de DatosAdministración de base de datos Página 7Objetivos SGBDExisten distintos objetivos que deben cumplir los SGBD:Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca delalmacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos dearchivos, este hecho se hace transparente al usuario. Así, se definen varios niveles deabstracción.Independencia. La independencia de los datos consiste en la capacidad de modificar elesquema (físico o lógico) de una base de datos sin tener que realizar cambios en lasaplicaciones que se sirven de ella.Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, seránecesario vigilar que aquella información que aparece repetida se actualice de formacoherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otraparte, la base de datos representa una realidad determinada que tiene determinadascondiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. Elsistema no debería aceptar datos de un conductor menor de edad. En los SGBD existenherramientas que facilitan la programación de este tipo de condiciones.Seguridad. La información almacenada en una base de datos puede llegar a tener un granvalor. Los SGBD deben garantizar que esta información se encuentra segura de permisos ausuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.Manejo de transacciones. Una transacción es un programa que se ejecuta como una solaoperación. Esto quiere decir que luego de una ejecución en la que se produce una falla es elmismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveenmecanismos para programar las modificaciones de los datos de una forma mucho más simpleque si no se dispusiera de ellos.Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD demora enproporcionar la información solicitada y en almacenar los cambios realizados.VentajasProveen facilidades para la manipulación de grandes volúmenes de datos (ver objetivos). Entreéstas:Simplifican la programación de equipos de consistencia.Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la base seránsiempre consistentes sin importar si hay errores correctamente, etc.Organizan los datos con un impacto mínimo en el código de los programas.Disminuyen drásticamente los tiempos de desarrollo y aumentan la calidad del sistemadesarrollado si son bien explotados por los desarrolladores.Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de losdatos.
  9. 9. Sistemas de Gestión de Base de DatosAdministración de base de datos Página 8InconvenientesTípicamente, es necesario disponer de una o más personas que administren la base de datos,de la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de unao más personas que administren los sistemas operativos. Esto puede llegar a incrementar loscostos de operación en una empresa. Sin embargo hay que balancear este aspecto con lacalidad y confiabilidad del sistema que se obtiene.Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay querealizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una hojade cálculo.Complejidad: los software muy complejos y las personas que vayan a usarlo deben tenerconocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo.Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un softwarede gran tamaño, que requiere de gran cantidad de memoria para poder correr.Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo generalson relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad dedinero.

×