Creación de tablas en PostgreSQL

2,816 views
2,775 views

Published on

Administración de Tablas: creación, modificación, eliminación de tabklas base de datos en PostgreSQL.

1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
2,816
On SlideShare
0
From Embeds
0
Number of Embeds
1,481
Actions
Shares
0
Downloads
105
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Creación de tablas en PostgreSQL

  1. 1. Creación de Tablas Ing. Eddie Malca Vicente emalca@gmail.com @emalca Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  2. 2. Qué son las Tablas • Una tabla es un objeto de datos que contiene información de forma permanente segmentada en grupos de datos con tipos y tamaños. • Poseen restricciones para asegurar la integridad de la información contenida. • Se relacionan unas tablas con otras para asegurar el modelo de datos. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  3. 3. Algunas consideraciones de nombres de Tablas y Campos • Deben empezar con letras. • Debe tener entre 1 y 63 caracteres. • Solamente se permiten los siguientes caracteres; 0-9, a-z, A-Z, _ y $. • No se permiten nombres duplicados, solo en Case Sensitive. • Para mantener nombres en Case Sensitive debe colocarlos entre comillas dobles. • Debe utilizar prefijos descriptivos de las tablas para mejorar la referencia. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  4. 4. Antes de crear las tablas • Debemos tener en cuenta el nombre de las tablas. • Debemos tener en cuenta los nombres de los campos que tendrán. • Debemos tener en cuenta el tipo de datos de cada campo. • Las restricciones de cada campo. • Si tendrá o no relaciones con otras tablas. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  5. 5. Creación de Tablas • Para crear una tablas en PostgreSQL usamos la siguiente sintaxis: CREATE TABLE mi_tabla( nombre_campo tipo_dato [ DEFAULT expresión ], ... ); Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  6. 6. Ejemplos • Por ejemplo crearemos una tabla tb_area (sin Llave Primaria) CREATE TABLE tb_area( area_id varchar(5), Area_nombre varchar(40) ); Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  7. 7. Ver estructura de la tabla • Para visualizar la estructura de la tabla usamos la siguiente sintaxis: SELECT * FROM information_schema.columns WHERE table_name = ‘nombre_tabla'; Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  8. 8. Listar Tablas de un Schema • Para listar las tablas de un schema en PostgreSQL usamos la siguiente sintaxis: SELECT tablename, tableowner from pg_tables where schemaname = ‘nombre-schema'; Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  9. 9. Tipos de Datos Numéricos Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  10. 10. Tipos de Datos de Carácter Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  11. 11. Tipos de Datos de Fecha Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  12. 12. Creación Tabla con valores por defecto • Agregar valores por defecto cuando son omitidos en su inserción. CREATE TABLE products ( pk_product integer NOT NULL, name text NOT NULL, summary text, price numeric NOT NULL, discounted numeric DEFAULT 0 NOT NULL, company integer NOT NULL ); Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  13. 13. Restricciones • Define reglas dentro de una tabla o en columnas. • Evita eliminar datos dentro de una tabla que tiene dependencias. • Se pueden aplicar mientras crea una tabla o después. • Existen los siguientes tipos de restricciones: – – – – – NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  14. 14. Restricción NOT NULL • Evita que una columna en especifico contenga valores de tipo NULL, en caso de que esta no contenga la restricción, se permite la inserción del valor NULL. CREATE TABLE films ( code char(5) NOT NULL, title varchar(40) NOT NULL, summary text ); Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  15. 15. Restricción UNIQUE • Restringe un grupo de columnas donde se requieren que sus valores siempre sean únicos, evitando que existan valores duplicados en dichas columnas. CREATE TABLE films ( code char(5) NOT NULL, title varchar(40) NOT NULL, summary text, CONSTRAINT un_film UNIQUE (code, title) ); Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  16. 16. Restricción PRIMARY KEY • Define una o mas columnas como clave primaria de la tabla, haciendo ésta única y permitir la relación de un registro con otra tabla para crear la dependencia. CREATE TABLE films ( code char(5) NOT NULL, title varchar(40) NOT NULL, summary text, company integer NOT NULL, CONSTRAINT fk_company FOREIGN KEY (company) REFERENCES product (pk_product) ); Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  17. 17. Restricción FOREIGN KEY • Define una o mas columnas como clave primaria de la tabla, haciendo ésta única y permitir la relación de un registro con otra tabla para crear la dependencia. CREATE TABLE films ( code char(5) NOT NULL, title varchar(40) NOT NULL, summary text, CONSTRAINT pk_film PRIMARY KEY (code) ); Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  18. 18. Restricción CHECK • Define una o varias condiciones que debe satisfacer a cada uno de los registro existentes de forma boleana. – No se permiten consultas. – Solo se utilizan operadores de condición y de conjunto. CREATE TABLE products ( pk_product integer, name text, price numeric, discounted numeric, CONSTRAINT cn_price CHECK (price > 0 AND price > discounted) ); Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  19. 19. Ejemplo CREATE TABLE companies ( pk_company integer NOT NULL, name text NOT NULL, CONSTRAINT un_company UNIQUE (name), CONSTRAINT pk_company PRIMARY KEY (pk_company)); CREATE TABLE products ( pk_product integer NOT NULL, fk_company integer NOT NULL, name text NOT NULL, summary text, price numeric NOT NULL, discounted numeric DEFAULT 0, CONSTRAINT un_product UNIQUE (name), CONSTRAINT ck_product CHECK (discounted > 0 AND price > discounted), CONSTRAINT pk_product PRIMARY KEY (pk_product), CONSTRAINT fk_company FOREIGN KEY (fk_company) REFERENCES companies (pk_company)); Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  20. 20. Modificar Tabla Cambiar el nombre a una columna: ALTER TABLE empleados RENAME COLUMN nombre_actual TO nombre_nuevo Borrar una columna ALTER TABLE empleados DROP COLUMN nombre_columna Agregar columna ALTER TABLE empleados ADD COLUMN nombre_columna BOOLEAN DEFAULT true Eliminarle a una columna la restriccion de no aceptar valores nulos ALTER TABLE empleados ALTER COLUMN nombre_columna DROP NOT NULL Modificar la columna para que apartir de ahora no acepte valores nulos ALTER TABLE empledos ALTER COLUMN nombre_columna SET NOT NULL Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  21. 21. Modificar Tabla Modificar el tipo de dato a una columna ALTER TABLE empleados ALTER COLUMN nombre_columna TYPE smallint Eliminar una Foreign-key constraint ALTER TABLE empleados DROP CONSTRAINT nombre_foreign_key_fkey Agregar una foreign-key ALTER TABLE empleados ADD FOREIGN KEY(nombre_columna) REFERENCES nomina(nombre_columna) Eliminar el valor que tiene por default una columna ALTER TABLE empleados ALTER COLUMN nombre_columna DROP default Agregar un valor por default a una columna ALTER TABLE empleados ALTER COLUMN nombre_columna SET DEFAULT 125 Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  22. 22. Borrar Datos de Tabla • Usamos la sintaxis: TRUNCATE TABLE nombre-tabla Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  23. 23. Eliminar Tabla • Para eliminar una tabla en PostgreSQL usamos la siguiente sintaxis: DROP TABLE tb_trabajador; Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  24. 24. Existen muchos más comandos por aplicar…es tu labor investigar… Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
  25. 25. Creación de Tablas Ing. Eddie Malca Vicente emalca@gmail.com @emalca Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente

×