La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sentencias DDL y DML PostgreSQL. Base de Datos I – Fundamentos Básicos PostgreSQL PostgreSQL es un servidor de base de datos relacional libre bajo la.

Presentaciones similares


Presentación del tema: "Sentencias DDL y DML PostgreSQL. Base de Datos I – Fundamentos Básicos PostgreSQL PostgreSQL es un servidor de base de datos relacional libre bajo la."— Transcripción de la presentación:

1 Sentencias DDL y DML PostgreSQL

2 Base de Datos I – Fundamentos Básicos PostgreSQL PostgreSQL es un servidor de base de datos relacional libre bajo la licencia BSD. Es una alternativa a otros sistemas de bases de datos de código abierto (como MySQL, Firebird y MaxDB), así como sistemas propietarios como Oracle o DB2. Algunas de sus principales características son: – Claves ajenas también denominadas llaves ajenas o llaves Foráneas (foreign keys) – Disparadores (triggers) – Vistas – Integridad transaccional – Acceso concurrente multiversión (no se bloquean las tablas, ni siquiera las filas, cuando un proceso escribe) – Capacidad de albergar programas en el servidor en varios lenguajes. – Herencia de tablas – Tipos de datos y operaciones geométricas

3 Comandos de Utilidad

4 Base de Datos I – Fundamentos Básicos Tipos más comunes de datos categoríatipodescripción Cadena de caracteres CHAR(long) VARCHAR(long) Long. fija de almacenam. Long. variable de almacenamiento NúmeroINTEGER FLOAT NUMERIC(precisión, decimal) Entero, +/- 2 billones Punto decimal, 15 dígitos Número usando una definición de precisión y de número de decimales. Fecha/horaDATE TIME TIMESTAMP Fecha Hora Fecha y hora

5 Base de Datos I – Fundamentos Básicos SENTENCIAS DDL Las sentencias DDL (Lenguaje de Definición de Datos) son CREATE, ALTER y DROP. Siempre se usan estas sentencias junto con el tipo de objeto y el nombre del objeto. CREATE. Crea una base de datos o un objeto. ALTER. Modifica la estructura de una base de datos o de un objeto. DROP. Elimina una base de datos o un objeto. http://dis.um.es/~lopezquesada/documentos/IES_0910/DFSI/curso/UT8/jspjdbc/Capitulo6/index.html

6 Base de Datos I – Fundamentos Básicos Create table CREATE TABLE empleados ( id serial, --Indice de la tabla nombre varchar(50), --nombre del empleado rfc varchar(20) UNIQUE, --registro de hacienda del empleado fecnac date, --fecha de nacimiento del empleado sucursal varchar(30), --sucursal donde labora sueldo money NOT NULL --Sueldo ); http://www.wikilearning.com/monografia/aprendiendo_sql_con_postgresql- tablas_y_campos/6219-4

7 Base de Datos I – Fundamentos Básicos Serial La declaración serial es un caso especial, ya que no se trata de un nuevo tipo. Cuando se utiliza como nombre de tipo de una columna, ésta tomará automáticamente valores consecutivos en cada nuevo registro. © FUOC P06/M2109/02152 45 Bases de datos en PostgreSQL

8 Base de Datos I – Fundamentos Básicos Ejemplo

9 Base de Datos I – Fundamentos Básicos Que es el OID Las tablas creadas en PostgreSQL incluyen, por defecto, varias columnas ocultas que almacenan información acerca del identificador de transacción en que pueden estar implicadas, la localización física del registro dentro de la tabla (para localizarla muy rápidamente) y, los más importantes, el OID y el TABLEOID.Estas últimas columnas están definidas con un tipo de datos especial llamadoidentificador de objeto (OID) que se implementa como un entero positivo de 32 bits. Cuando se inserta un nuevo registro en una tabla se le asigna un número consecutivo como OID, y el TABLEOID de la tabla que le corresponde. © FUOC P06/M2109/02152 30 Bases de datos en PostgreSQL

10 Base de Datos I – Fundamentos Básicos

11 Ejemplo

12 Base de Datos I – Fundamentos Básicos Crear una tabla a partir de otra Ejemplo: CREATE TABLE films_recent AS SELECT * FROM films WHERE date_prod >= '2002-01-01';

13 Base de Datos I – Fundamentos Básicos Valores Default Cuando no se da un valor a la columna se le asigna un NULL. Cuando creamos una tabla, con la palabra clave DEFAULT en la columna, podemos dar un valor cuando no se asigne alguno. Por ejemplo, para la columna timestamp el valor de default puede ser una variable interna de PostgrSQL que regresa la fecha y la hora actual.

14 Base de Datos I – Fundamentos Básicos Otro ejemplo test=> CREATE TABLE cuenta ( test(> nombre VARCHAR(20), test(> balance NUMERIC(16,2) DEFAULT 0, test(> activa CHAR(2) DEFAULT 'SI', test(> creada TIMESTAMP DEFAULT CURRENT_TIMESTAMP); test=> \d cuenta test=> INSERT INTO cuenta (nombre) test-> VALUES ('Palacio de Hierro'); test=> SELECT * FROM cuenta;

15 Base de Datos I – Fundamentos Básicos Herencia La clausula opcional INHERITS especifica un tabla que hereda todas las columnas de la tabla padre y establece una relación es - un

16 Base de Datos I – Fundamentos Básicos Restricciones

17 Base de Datos I – Fundamentos Básicos Claves Unicas CREATE TABLE salario ( clave_primaria serial NOT NULL, "clave foranea" integer, dato character varying(50), CONSTRAINT salario_pkey PRIMARY KEY (clave_primaria), CONSTRAINT salario_dato_key UNIQUE (dato) ) ALTER TABLE salario OWNER TO bd20103;

18 Base de Datos I – Fundamentos Básicos

19 Claves primarias CREATE TABLE salario ( clave_primaria serial NOT NULL, "clave foranea" integer, dato character varying(50), CONSTRAINT salario_pkey PRIMARY KEY (clave_primaria), CONSTRAINT salario_dato_key UNIQUE (dato) ) ALTER TABLE salario OWNER TO bd20103;

20 Base de Datos I – Fundamentos Básicos Claves Foráneas create table Mascota( nombre varchar(20), dueño varchar(10) references Persona, ); create table Mascota( nombre varchar(20), dueño varchar(10) references Persona(nss), );

21 Base de Datos I – Fundamentos Básicos Claves Foráneas create table t1 ( a integer PRIMARY KEY, b integer, c integer, FOREIGN KEY (b, c) REFERENCES other_table (c1, c2) );

22 Base de Datos I – Fundamentos Básicos Claves Foráneas

23 Base de Datos I – Fundamentos Básicos Claves Foráneas

24 Base de Datos I – Fundamentos Básicos CHECK CREATE TABLE distributors ( did integer PRIMARY KEY DEFAULT nextval('serial'), name varchar(40) NOT NULL CHECK (name <> '') ); CREATE TABLE products ( product_no integer, name text, price numeric, CHECK (price > 0), discounted_price numeric, CHECK (discounted_price > 0), CONSTRAINT valid_discount CHECK (price > discounted_price) );

25 Base de Datos I – Fundamentos Básicos

26 Modificar Una tabla alter table Persona drop constraint monogamia alter table add constraint monogamia unique (pareja); alter table persona add edad int ; ALTER TABLE products DROP COLUMN description;

27 Base de Datos I – Fundamentos Básicos Modificar Una tabla alter table persona rename direccion to dir; alter table persona rename to personal;

28 Base de Datos I – Fundamentos Básicos

29 Eliminar una tabla Drop

30 Base de Datos I – Fundamentos Básicos

31 ¿Cómo Agregar Datos a la Base de Datos? Entidad Fuerte Entidad Debil ¿Cómo agrego nuevos datos a una tabla? INSERT INTO nombre_tabla (columna1, columna2) VALUES (valor1,valor2)

32 Base de Datos I – Fundamentos Básicos

33 Actualizar Datos Hombre Mujer También puedo modificar datos existentes en una fila de una tabla UPDATE nombre_tabla SET Col1=valor1, Col2=Valor2

34 Base de Datos I – Fundamentos Básicos

35 Eliminar Datos Estudiante Escribe Examen Quiero eliminar alguna fila en una tabla Si la CONDICIÓN no es especificada, todas las filas serán eliminadas. DELETE FROM nombre_tabla

36 Base de Datos I – Fundamentos Básicos

37 Transacciones

38 Base de Datos I – Fundamentos Básicos

39 DEFERRABLE DEFERRABLE NOT DEFERRABLE This controls whether the constraint can be deferred. A constraint that is not deferrable will be checked immediately after every command. Checking of constraints that are deferrable can be postponed until the end of the transaction (using the SET CONSTRAINTS command). NOT DEFERRABLE is the default. Currently, only UNIQUE, PRIMARY KEY, EXCLUDE, and REFERENCES (foreign key) constraints accept this clause. NOT NULL and CHECK constraints are not deferrable.SET CONSTRAINTS INITIALLY IMMEDIATE INITIALLY DEFERRED If a constraint is deferrable, this clause specifies the default time to check the constraint. If the constraint is INITIALLY IMMEDIATE, it is checked after each statement. This is the default. If the constraint is INITIALLY DEFERRED, it is checked only at the end of the transaction. The constraint check time can be altered with the SET CONSTRAINTS command.SET CONSTRAINTS


Descargar ppt "Sentencias DDL y DML PostgreSQL. Base de Datos I – Fundamentos Básicos PostgreSQL PostgreSQL es un servidor de base de datos relacional libre bajo la."

Presentaciones similares


Anuncios Google