ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Aprendienddo Sql


Enviado por   •  20 de Octubre de 2011  •  3.005 Palabras (13 Páginas)  •  490 Visitas

Página 1 de 13

Aprendiendo SQL con PostgreSQL

Introducción.

Una base de datos es el corazón de toda empresa, en ella se almacena y se gestiona toda la información que se necesita para operar y crecer. Las (buenas) bases de datos se manejan a través de SQL (Standar Query Lenguage) que es un conjunto de comandos a través de los cuales podemos insertar, borrar y editar la información de la base de datos además de hacer consultas (queries) sobre la información contenida. PostgreSQL (PgSQL) es un excelente y veloz gestor de base de datos de código abierto que posee características avanzadas como manejo de concurrencia, procedimientos almacenados e integridad referencial. Como en muchos otros casos en el mundo del software libre, uno se sorprende de que algo tan bueno como PostgreSQL pueda ser descargado y usado sin pagar nada.

Creando una nueva base de datos.

Para crear una nueva base de datos solo en necesario teclear el siguiente comando desde el intérprete de comandos (nota: no se debe escribir el signo de pesos, este representa el prompt del intérprete de comandos):

$createdb empresa

Una vez que hemos creado la base de datos podemos acceder a ella con el cliente de PgSQL, escribiendo el comando :

$psql empresa

Al acceder a la base de datos verá el mensaje de bienvenida de PgSQL, un prompt con el nombre de la base de datos en la que se encuentra, seguido de un signo de igual y un sostenido (o gato):

Bienvenido a psql 8.3.1, la terminal interactiva de PostgreSQL.

Digite: \copyright para ver los términos de distribución

\h para ayuda de órdenes SQL

\? para ayuda de órdenes psql

\g o punto y coma («;») para ejecutar la consulta

\q para salir

empresa=#

Tablas y campos

Como cualquier otra base de datos, PGSQL guarda los datos en tablas. Si usted ha usado una hoja de cálculo como Excel u OpenCalc usted ya posee el concepto de tabla: una serie de columnas y renglones en donde las intersecciones son llamadas “celdas”. De hecho, una hoja de cálculo puede considerarse un tipo de base de datos. La diferencia principal con una verdadera base de datos radica en que cada columna guarda un tipo de valor específico (números, decimales, fechas, alfanuméricos, ) y que en lugar de “celdas”, el lugar donde se guardan los datos son llamados “campos”. Por otra parte, a los renglones se les llama “registros”.

De este modo, para crear una tabla es necesario definir el tipo de información que se almacenara en cada columna. PgSQL posee varios tipos de datos, los más usados son:

● VARCHAR(n) Almacena cadena de caracteres de longitud variable, de longitud máxima n.

● CHAR(n). Almacena cadena de caracteres de longitud fija, de longitud n.

● INTEGER. Almacena números enteros como 2,33,107,15228, etc.

● NUMERIC. Almacena números enteros y decimales.

● DATE, almacena fechas.

● FLOAT: numérico con signo de doble palabra y coma flotante.

● TEXT. Guarda textos largos.

● SERIAL. Crea una secuencia y la asigna a una columna como llave de la tabla.

Para crear una tabla se usa el comando “CREATE TABLE nombre_de_tabla”. Por ejemplo, vamos a crear la tabla empleados. Copie las siguientes lineas en psql, tomando en cuenta que los espacios no son necesarios, solo se escriben para dar mayor claridad (Nota: Obviamente no se escribe empresa=#, ya que este es el prompt de psql):

empresa=# CREATE TABLE empleados (

empresa(# id serial, --Indice de la tabla

empresa(# nombre varchar(50), --nombre del empleado

empresa(# rfc varchar(20) UNIQUE, --registro de hacienda del empleado

empresa(# fecnac date, --fecha de nacimiento del empleado

empresa(# sucursal varchar(30), --sucursal donde labora

empresa(# sueldo money NOT NULL --Sueldo

empresa(# );

Al ejecutar la consulta anterior verá un mensaje indicando que se ha creado una tabla, una secuencia para el campo id y un índice para el campo rfc.

Al hacer uso de psql debemos finalizar los comandos con un punto y coma (;) de otro modo, si sólo damos enter, el comando no se ejecutará y el prompt cambiará a empresa(#, indicando que psql está en espera del punto y la coma para ejecutar el comando SQL.

Por convención (no sólo en PostgreSQL sino en todas las bases de datos) se usan las MAYÚSCULAS para escribir las palabras SQL en las sentencias, mientras que el nombre de los campos y las tablas se escriben en minúsculas, por ejemplo:

empresa=# SELECT * FROM empleados;

id | nombre | rfc | fecnac | sucursal | sueldo

----+--------+-----+--------+----------+--------

(0 filas)

Algunos diseñadores recomiendan nombrar a los campos de una tabla con el formato nbd_ntb_campo. Donde nbd es el nombre de la base de datos y ntb es el nombre de la tabla. Yo encuentro particularmente fastidioso usar este sistema de nombrado sobre todo en los queries de varias tablas. Sin embargo, es una buena practica hacerlo si usted esta trabajando con varias personas en un proyecto y desea evitar confusiones.

Dado que usamos el tipo “serial” al crear la columna id, se creará una secuencia para esta columna. El nombre de las secuencias se crea conjuntando el nombre de la tabla, mas el nombre de la columna, mas el postfijo “seq”. De modo que en este caso la secuencia se llamará empleados_id_seq.

Ya que hemos creado la tabla, teclearemos el comando “\dt” para visualizarla:

empresa=# \dt;

Listado de relaciones

Schema | Nombre | Tipo | Dueño

--------+-----------+-------+----------

public | empleados | tabla | postgres

(1 fila)

Este comando dt (describe tables) muestra las tablas (también llamadas “relaciones”) de la base de datos así como el dueño de la tabla (el usuario postgres). En este caso sólo vemos una tabla, la recién creada “empleados”. Para ver la descripción de una tabla específica utilice “\d nombre_de_tabla”. Por ejemplo:

empresa=# \d empleados;

Tabla «public.empleados»

Columna | Tipo | Modificadores

----------+-----------------------+---------------------------

id | integer | not null default nextval

nombre | character varying(50) |

rfc | character varying(20) |

fecnac | date |

sucursal | character varying(30) |

sueldo | money | not null

Índices:

«empleados_rfc_key» UNIQUE,

...

Descargar como (para miembros actualizados) txt (16 Kb)
Leer 12 páginas más »
Disponible sólo en Clubensayos.com