• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this document? Why not share!

Base de datos_-_material_didactico

on

  • 866 views

 

Statistics

Views

Total Views
866
Views on SlideShare
866
Embed Views
0

Actions

Likes
1
Downloads
41
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Base de datos_-_material_didactico Base de datos_-_material_didactico Document Transcript

    • -211455-374650<br />UNIVERSIDAD CIENTÍFICA DEL SUR<br />FACULTAD DE INGENIERIA DE SISTEMAS <br />BASE DE DATOS RELACIONALMATERIAL DIDÁCTICO<br />Introducción<br />El Sistema Gestor de Bases de Datos Relacionales Orientadas a Objetos conocido como PostgreSQL está derivado del paquete Postgres escrito en Berkeley. Con cerca de una década de desarrollo tras él, PostgreSQL es el gestor de bases de datos de código abierto más avanzado hoy en día, ofreciendo control de concurrencia multi-versión, soportando casi toda la sintaxis SQL (incluyendo subconsultas, transacciones, tipos y funciones definidas por el usuario), contando también con un amplio conjunto de enlaces con lenguajes de programación (incluyendo C, C++, Java, perl, tcl y python). <br />Características de PostgreSQL<br />Como ya comentamos anteriormente, PostgreSQL está considerado como la base de datos de código abierto más avanzada del mundo. PostgreSQL proporciona un gran número de características que normalmente sólo se encontraban en las bases de datos comerciales tales como DB2 u Oracle. La siguiente es una breve lista de algunas de esas características, a partir de PostgreSQL 7.1.x. <br />DBMS Objeto-Relacional <br />PostgreSQL aproxima los datos a un modelo objeto-relacional, y es capaz de manejar complejas rutinas y reglas. Ejemplos de su avanzada funcionalidad son consultas SQL declarativas, control de concurrencia multi-versión, soporte multi-usuario, transactions, optimización de consultas, herencia, y arrays. <br />Altamente_Extensible <br />PostgreSQL soporta operadores, funciones métodos de acceso y tipos de datos definidos por el usuario. <br />Soporte_SQL_Comprensivo <br />PostgreSQL soporta la especificación SQL99 e incluye características avanzadas tales como las uniones (joins) SQL92. <br />Integridad Referencial <br />PostgreSQL soporta integridad referencial, la cual es utilizada para garantizar la validez de los datos de la base de datos. <br />API Flexible <br />La flexibilidad del API de PostgreSQL ha permitido a los vendedores proporcionar soporte al desarrollo fácilmente para el RDBMS PostgreSQL. Estas interfacaes incluyen Object Pascal, Python, Perl, PHP, ODBC, Java/JDBC, Ruby, TCL, C/C++, y Pike. <br />Lenguajes Procedurales <br />PostgreSQL tiene soporte para lenguajes procedurales internos, incluyendo un lenguaje nativo denominado PL/pgSQL. Este lenguaje es comparable al lenguaje procedural de Oracle, PL/SQL. Otra ventaja de PostgreSQL es su habilidad para usar Perl, Python, o TCL como lenguaje procedural embebido. <br />MVCC <br />MVCC, o Control de Concurrencia Multi-Versión (Multi-Version Concurrency Control), es la tecnología que PostgreSQL usa para evitar bloqueos innecesarios. Si alguna vez ha usado algún DBMS con capacidades SQL, tal como MySQL o Access, probablemente habrá notado que hay ocasiones en las una lectura tiene que esperar para acceder a información de la base de datos. La espera está provocada por usuarios que están escribiendo en la base de datos. Resumiendo, el lector está bloqueado por los escritores que están actualizando registros. Mediante el uso de MVCC, PostgreSQL evita este problema por completo. MVCC está considerado mejor que el bloqueo a nivel de fila porque un lector nunca es bloqueado por un escritor. En su lugar, PostgreSQL mantiene una ruta a todas las transacciones realizadas por los usuarios de la base de datos. PostgreSQL es capaz entonces de manejar los registros sin necesidad de que los usuarios tengan que esperar a que los registros estén disponibles. <br />Cliente/Servidor <br />PostgreSQL usa una arquitectura proceso-por-usuario cliente/servidor. Esta es similar al método del Apache 1.3.x para manejar procesos. Hay un proceso maestro que se ramifica para proporcionar conexiones adicionales para cada cliente que intente conectar a PostgreSQL. <br />Psql <br />La herramienta para trabajar en consola o en modo línea de comandos con PostgreSQL es psql. En este modo tenemos una herramienta completa para poder manipular las bases de datos, Desde crear hasta consultas, funciones, etc. Este programa cuenta con ayuda en línea, por medio de la instrucción ?, para los comandos a psql y h para examinar la sintáxis de las instrucciones de SQL. <br />Meta-Comandos<br />Psql acepta un conjunto de meta-comandos, los cuales son iniciados por el caracter " quot; . Este comando se executa por el promp psql,. <br />Algunos meta-comandos útiles:<br />l: lista de todas las bases de dados existentes <br />d tabla: muestra todas as columnas de la realcion <br />h [comando]: ayuda relativa al comando <br />i fichero: Para ejecutar un script desde un archivo <br />o fichero: Los resultados producidos por la consulta son redireccionados hacia un archivo <br />?: ayuda sobre los meta-comandos <br />Ingresando a psql<br />Después de indicar la clave nos muestra la siguiente ventana de consola. <br />Aquí podemos ejecutar todas las instrucciones por ejemplo:<br />Crear una base de datos:<br />Postgres=#CREATE DATABASE miBase;<br />Eliminar una base de datos:<br />Postgres=#DROP DATABASE miBase;<br />Usar la base de datos creada:<br />Postgres=# c miBase;<br />Cargar un Script de instrucciones que estan guardadas en un archivo:<br />Postgres=# i instrucciones.txt;<br />El entorno pgAdmin III <br />pgAdmin III es una aplicación gráfica para gestionar el gestor de bases de datos PostgreSQL, siendo la más completa y popular con licencia Open Source. Está diseñado para responder a las necesidades de todos los usuarios, desde escribir consultas SQL simples hasta desarrollar bases de datos complejas. El interfaz gráfico soporta todas las características de PostgreSQL y facilita enormemente la administración. La aplicación también incluye un editor SQL con resaltado de sintaxis, un editor de código de la parte del servidor, un agente para lanzar scripts programados, soporte para el motor de replicación Slony-I y mucho más. La conexión al servidor puede hacerse mediante conexión TCP/IP o Unix Domain Sockets (en plataformas *nix), y puede encriptarse mediante SSL para mayor seguridad<br />Ingresando a pgAdmin III<br />Nos muestra la siguiente pantalla<br />Doble clic para conectar al servidor<br />Después de colocar la contraseña que se puso al momento de instalar PostgreSQL o al crear usuarios.<br />Seguidamente si todo marcha bien nos presenta el entorno de gestion de la base de datos en POstgreSQL<br />Botón derecho para crear base de datos<br />Una vez creado la base de datos Ingresamos al administrador de Consultas SQL<br />Haciendo clic en el icono <br />Mostrando la siguiente ventana<br />En esta ventana podemos ingresar cualquier tipo de instrucción SQL <br />Instrucciones SQL<br />si usamos el entorno pgAdmin III para crear nuestra base de datos es bastante simple porque el pgAdmin III se encarga de generar el código SQL necesario para crear nuestra base de datos tal como se vio anteriormente<br />Creando base de Datos (CREATE DATABASE)<br />Para crear la base de datos necesitamos utilizar la siguiente instrucción:<br />CREATE DATABASE nombreBD<br />Donde nombreBD es el nombre de la base de datos que vamos a crear<br />Si quisiéramos crear la base de datos personalizado<br />CREATE DATABASE nombreBD<br />WITH OWNER = postgres<br />ENCODING = 'LATIN1'<br />TABLESPACE = pg_default;<br />Importante:<br />Para crear nuestra base de datos debemos considerar que debe almacenar todos los caracteres de nuestro idioma, para esto indicamos al momento de crear la base de datos: ENCODING=’LATIN1’<br />Eliminando base de datos (DROP DATABASE)Para eliminar una base de datos utilizamos la instrucciónDROP DATABASE miBase<br />Donde miBase es la base de datos que queremos eliminar<br />Tipo de datos <br />Los tipos de datos más relevantes en Postgres definidos por el standard SQL3 se muestran en la siguiente tabla<br />Tipos de datos del estándar SQL3 en PostgreSQLTipo en PostgresCorrespondiente en SQL3DescripciónboolBooleanvalor lógico o booleano (true/false)char(n)character(n)cadena de carácteres de tamaño fijodateDatefecha (sin hora)float8real, double precisionnúmero de punto flotante de doble precisiónint2Smallintentero de dos bytes con signoint4int, integerentero de cuatro bytes con signoint4decimal(87#87)número exacto con 88#88int4numeric(87#87)número exacto con 89#89moneydecimal(9,2)cantidad monetariatimeTimehora en horas, minutos, segundos y centésimasvarchar(n)character varying(n)cadena de carácteres de tamaño variable<br />Creando tablas <br />Luego de crear nuestra base de datos nos disponemos ya a crear las tablas relacionadas<br />Por ejemplos <br />Para indicar la clave primariaPara indicar la relación con distrito<br />Se ejecuta utilizando la tecla F5 o hacer clic en <br />Insertando datos a las tablas<br />Los datos de tipo texto sea char o varchar se deben poner entre apostrofes por ejemplo: ‘Lima’, ‘Rivera’, ‘001’, etc<br />Los de tipo fecha tambien entre apostrofes<br />Los de tipo numérico se colocan tal cual, ejemplo: 12435, 2345.56, etc<br />Sintaxis para Insertar datos<br />Por ejemplos insertando datos a la tabla distrito<br />INSERT INTO distrito VALUES(‘01’,’LIMA’);<br />INSERT INTO distrito VALUES(‘02’,’ANCON’);<br />INSERT INTO distrito VALUES(‘03’,’LOS OLIVOS’);<br />Insertando datos a la tabla alumno<br />INSERT INTO alumno VALUES(‘001’,’Rivas’,’Quintana’,’Cesar’,’02’);<br />INSERT INTO alumno VALUES(‘002’,’Castro’,’Buleje’,’Maria’,’01’);<br />Notar que para indicar una instrucción debe terminar en punto y coma (;)<br />Operadores de comparación<br />OperatorDescription< Menor que> Mayor que<= Menor o igual que>= Mayor o igual que= Igual<> o != diferente<br />Operadores Lógicos <br />AND: Para que el resultado sea verdadero, ambos deben ser verdaderos.OR: Cualquiera de los términos debe ser verdadero que el resultado sea verdaderoNOT: Si es verdadero el resultado es falso o viceversaEjemplos3>4 AND 4<10: el resultado es Falso4>3 AND 6<8 el resultado es Verdadero3>4 OR 4<10: el resultado es Verdadero4>3 OR 6<8 el resultado es Verdadero<br />Actualizando datos de las tablas (UPDATE) <br />Para actualizar los datos de las tablas se usa la siguiente instrucción:<br />UPDATE miTabla SET campo1=valor1, campo2=valor2,...<br />Ejemplos <br />UPDATE distrito SET distrito=’LOS OLIVO’<br />En el ejemplos anterior se va a cambiar todos los valores de la tabla distrito por ‘LOS OLIVOS’.<br />OJO: debemos tener cuidado al actualizar de esta forma debido a que se actualizará toda la columna con el mismo valor<br />Si deseamos cambiar un registro solamente tendríamos que utilizar una condición lógica como se va a indicar a continuación<br />Uso de WHERE para la actualización condicional<br />Ejemplo cambiar el nombre del alumno Castro Buleje Maria por Marta<br />UPDATE alumno SET nombre=’Marta’ WHERE idalumno=’002’<br />Eliminar registros a las tablas (DELETE)<br />Para eliminar todos los registros de una tabla<br />Ejemplo eliminar todos los registros de la tabla distrito<br />DELETE FROM miTabla<br />Uso de WHERE para la eliminación condicional<br />Si deseamos eliminar solo los registros que cumplen una condición<br />DELETE FROM miTabla WHERE condición<br />Ejemplo Eliminar toda la fila del alumno Rivas Quintana Cesar<br />DELETE FROM alumno WHERE idalumno=’001’<br />Conclusiones<br />Vemos claramente que PostgreSQL es un motor de base de datos simple de usar cuyas instrucciones de consulta SQL son los mismos que para otros motores.<br />Se puede agregar datos, actualizar, eliminar, etc con las mismas instrucciones que se pudieron utilizar en otro motor de base de datos por ejemplo SQL Server o MySQL<br />Bibliografía<br />R. Elmasri, S. B. Navathe. “Fundamentos de Sistemas de Bases de<br />Datos”. 3aedición, Addison-Wesley Ed. [QA76.9.D3 E4618].<br />T. Connolly, C. Begg, A. Strachan. “Database Systems”.<br />Addison-Wesley Ed. 1997. [QA76.9.D26 C66].<br />J. C. Worsley, J. D. Drake. “Practical PostgreSQL”. O’Reilly. 2002<br />[QA76.9.D3 W67].<br />“PostgreSQL Documentation”, http://www.postgresql.org/docs<br />