PDF de programación - Introducción a Base de Datos con PostgreSQL

Imágen de pdf Introducción a Base de Datos con PostgreSQL

Introducción a Base de Datos con PostgreSQLgráfica de visualizaciones

Publicado el 29 de Marzo del 2018
679 visualizaciones desde el 29 de Marzo del 2018
521,4 KB
69 paginas
Creado hace 16a (29/06/2007)
Introduccion a Base de Datos Con
Introduccion a Base de Datos Con

F u n d a c i o n C o d i g o L i b r e D o m i n i c a n o
F u n d a c i o n C o d i g o L i b r e D o m i n i c a n o

Prefacio

Me he visto en la obligacion de recopilar informacion sobre la base de datos mas
importante del mundo del software libre y una de las mas importantes del mundo en
general, ya que no existe un manual preciso y conciso que de la información certera
que mucha gente anda buscando.

Para acabar con la palabreria barata, PostGreSQL es un manejador y gestor de base
de datos objeto-relacional que ha sido desarrollada de varias maneras desde 1977.
Comenzo como un proyecto llamado Ingres en la Universidad de California en
Berkeley. Ingres en si fue desarrollado de manera comercial por Relational
Technologies / Ingres Corporation.

En 1986, otro equipo encabezado por el Dr. Michael Stonebraker de la Universidad de
Berkeley, continuo con el desarrollo del codigo base de Ingres para crear un sistema
gestor de base de datos usando un modelo Objeto-Relacional llamado Postgres. En 1996,
debido al nuevo esfuerzo del software libre y la funcionalidad agregada de dicho
sistema, Postgres fue renombrado a PostGreSQL, luego de tener por un corto tiempo el
nombre de Postgres95. El proyecto PostGreSQL esta todavía bajo un muy activo
desarrollo que cuenta con la participación de un equipo de desarrolladores y
contribuidores a traves del mundo.

FF U N D A C I O N

U N D A C I O N C C O D I G O

O D I G O L L I B R E

I B R E D D O M I N I C A N O
O M I N I C A N O

Introduccion a postgres

En éste capítulo tocaremos algunos puntos sueltos particulares a PostgreSQL. En las instalaciones
basadas en RedHat estándares, PostgreSQL almacena los datos en el directorio
/v ar/ li b/ pgs ql /ba se / y a partir de ahí un directorio para cada base.

Cada tabla es un archivo, así como los indices. Los nombres de las tablas pertenecientes al sistema
llevan el prefijo pg_ . El archivo PG_ VER SI ON (presente en cada base) contiene la versión mayor con la
que fué creada la base. Al cambiar de versión de PostgreSQL es importante verificar que no haya sido
cambiado el formato de alguna de estas tablas, en cuyo caso será necesario respaldarlas antes de instalar
la nueva versión y luego volver a cargarlas.

Caracteristicas de PostGreSQL

Es un Gestor de datos Objeto-Relacional

Postgresql organiza los datos con un modelo obejto-relacional, es capaz de manejar
procedimientos, rutinas complejas, y reglas. Ejemplos de su funcionalidad avanzada son
consultas declarativas SQL, control de versiones multiples concurrentes, soporte multi-
usuario, transacciones de dos fases, optimizacion de consultas, herencia de datos, arreglos y
matrices multidimensionales.

Altamente Extensible

Postgresql soporta operadores, funciones, metodos de acceso y tipos de datos declarados por
el usuario. Soporta también sobrecarga de operadores, sobrecarga de procedimientos, vistas
materializables, y particionamiento de tablas y datos.

Soporte comprensivo de SQL

Postgresql soporta la especificación base SQL99, SQL:2003 y también incluye características
avanzadas como las uniones SQL92.

Integridad Referencial

Postgresql soporta integridad referencial, la cual es usada para asegurar la validez de la
información dentro de la base de datos.

API sumamente flexible

La flexibilidad del API de PostGreSQL ha permitido a entidades que provean soporte de facil
desarrollo para la base de datos de PostGreSQL. Estas interfaces incluyen Object Pascal,
Python, Perl, PHP, ODBC, Java/JDBC, Ruby, TCL, C/C++, Pike y un largo etcetera.

Jesus Rafael Sanchez Medrano
Jesus Rafael Sanchez Medrano

11

PP O S T

O S T GG R ER E S Q L : A

S Q L : A B R I E N D O

B R I E N D O C C A M I N O S
A M I N O S

Lenguajes Procedimentales

PostGreSQL tiene soporte para lenguajes internos procedimentales, incluyendo un lenguaje
nativo llamado PL/pgSQL. Este lenguaje es comparable con el lenguaje procedimental de
Oracle, PL/SQL. Otra ventaja de PostGreSQL es la capacidad de usar PERL, Pitón, TCL, Ruby, R,
PHP, Shell Scripting, etc.; como lenguajes procedimentales internos e integrados.

MVCC

MVCC, o control de versiones multiples concurrentes, es la tecnología que PostGreSQL usa
para evitar los seguros (locking) innecesarios. Si usted ha usado cualquier otro gestor de
base de datos SQL, como MySQL, MS SQL Server, Sybase ASE, etc.; se ha podido dar cuenta que
existen veces cuando la lectura de un cliente tiene que esperar para accesar a la
información en la base de datos. La espera es causada por los clientes que están escribiendo
registros e información en la base de datos. En pocas palabras, los clientes que leen son
bloqueados por los otros clientes que escriben o actualizan registros en la base de datos.

Usando MVCC, PostGreSQL evita este problema de manera definitiva. MVCC es considerado
mucho mejor que los seguros a nivel de registros (row level-locking), debido a que el lector
nunca es bloqueado por el escritor. En vez de eso, PostGreSQL mantiene un registro de todas
las transacciones ejecutadas por los usuarios de la base de datos. PostGreSQL es entonces
capaz de manejar registros sin hacer esperar a la gente a que los registros esten disponibles.

Cliente / Servidor

PostGresSQL usa una arquitectura cliente / servidor basada en un proceso por usuario. Esto
es similar al proceso que utiliza el servidor web Apache para el manejo de procesos. Existe
un proceso maestro que se desprende para proveer conexiones adicionales por cada cliente
que se intenta conectar a PostGreSQL.

Write Ahead Logging (WAL)

La caracteristica de PostGreSQL conocida como Write Ahead Logging incrementa la
confiabilidad de la base de datos registrando los cambios antes de ser escritos a la base de
datos. Esto asegura que, en caso de ocurrir un fallo critico en la base de datos, existira un
registro de transacciones del cual se pueda restaurar. Esto puede ser de gran beneficio en
caso de cualquier fallo, como cualquier cambio que no haya sido totalmente escrito a la base
de datos pueden ser recuperados usando los datos que fueron registrados anteriormente.
Una vez el sistema es restaurado, el usuario puede continuar con su trabajo justo a partir del
momento antes ocurrir el fallo.

22

Fundacion Codigo Libre Dominicano
Fundacion Codigo Libre Dominicano

FF U N D A C I O N

U N D A C I O N C C O D I G O

O D I G O L L I B R E

I B R E D D O M I N I C A N O
O M I N I C A N O

Principios de Diseño de Base de Datos

Qué es una Base de Datos

En rigor, una Base de Datos es el conjunto de datos almacenados con una estructura
lógica. Es decir, tan importante como los datos, es la estructura conceptual con la que se
relacionan entre ellos. En la práctica, podemos pensar esto como el conjunto de datos más los
programas (o software) que hacen de ellos un conjunto consistente.

Si no tenemos los dos factores unidos, no podemos hablar de una base de datos, ya que
ambos combinados dan la coherencia necesaria para poder trabajar con los datos de una
manera sistemática.

Definiciones

Las siguientes son las definiciones que necesitamos manejar con claridad para
comprender el resto de los conceptos en las bases de datos relacionales. Algunas son
definiciones dadas a la ligera, que serán extendidas y formalizadas en las secciones
correspondientes.

Tupla:

Es una hilera o fila en una tabla.

Atributo:

Es una columna en una tabla.

Dominio:

Es el conjunto de valores de los cuales los atributos obtienen sus valores.

Llave:

Es un atributo con una característica de relevancia para identificar la tupla.

Llave primaria:

Es una llave con valores únicos, es decir, no ocurren más de una vez en el atributo.

Cardinalidad:

Es el número de tuplas en una tabla.

Grado:

Es el número de atributos en una tabla.

Jesus Rafael Sanchez Medrano
Jesus Rafael Sanchez Medrano

33

PP O S T

O S T GG R ER E S Q L : A

S Q L : A B R I E N D O

B R I E N D O C C A M I N O S
A M I N O S

Relación:

Una definición simple es que se corresponde con una tabla y en ocasiones es preferible
pensarlo de esta manera. La definición canónica es que una relación es el producto
cartesiano de dos o varios dominios.

Podemos también decir que un dominio es un conjunto de valores escalares del mismo tipo,
dónde un valor escalar es la mínima unidad semántica de información en el sentido de que
son valores atómicos.

Tabla base:

Es una relación autónoma a diferencia de las vistas y las tablas intermedias construidas a
partir de una consulta.

Vista:

Es una relación virtual, que se construye a partir de tablas base o incluso otras vistas,
formada por atributos de estas otras tablas de forma directa o como resultado de una
consulta.

Estructura lógica vs. estructura física.

Es claro que la forma física como estén almacenados los datos es independiente del
concepto que tengamos de ellos. Son el conjunto de programas que saben como traer, unir y
mostrar los datos, así como aquellos encargados de almacenarlos, los que le dan coherencia
al concepto Base de Datos.

Digamos que es como la diferencia entre harina, levadura, sal y agua por separado y una
pieza de pan. Quién le dá coherencia a esa pieza de pan es el proceso que se sigue para
elaborarlo.

Es importante conceptualizar esto, porque del diseño de la estructura lógica depende toda
la funcionalidad del sistema. Almacenar datos en una base de datos aprovechando solamente
la estructura física no ofrece, relativamente, ninguna ventaja. En cambio un buen diseño d
  • Links de descarga
http://lwp-l.com/pdf9978

Comentarios de: Introducción a Base de Datos con PostgreSQL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad