Está en la página 1de 11

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Perú, DECANA DE AMÉRICA)


FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE

BASE DE DATOS I

SESIÓN 06 Ing. Hugo Villaverde M.


TEMAS
• EJERCICIOS
PRIMARY KEYS

CREATE TABLE supplier


(
supplier_id numeric(10) not null,
supplier_name varchar2(50) not null,
contact_name varchar2(50),
CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
);

CREATE TABLE supplier


(
supplier_id numeric(10) not null,
supplier_name varchar2(50) not null,
contact_name varchar2(50),
CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name)
);
ALTER TABLE supplier
ADD CONSTRAINT supplier_pk PRIMARY KEY (supplier_id);

ALTER TABLE supplier


DROP CONSTRAINT supplier_pk;

ALTER TABLE supplier


DISABLE CONSTRAINT supplier_pk;

ALTER TABLE table_name


ENABLE CONSTRAINT constraint_name;

ALTER TABLE supplier


ENABLE CONSTRAINT supplier_pk;
FOREIGN KEYS
CREATE TABLE supplier
( supplier_id numeric(10) not null,
CREATE TABLE supplier
supplier_name varchar2(50) not null,
( supplier_id numeric(10) not null,
contact_name varchar2(50),
supplier_name varchar2(50) not null,
CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
contact_name varchar2(50),
);
CONSTRAINT supplier_pk PRIMARY KEY
(supplier_id, supplier_name)
CREATE TABLE products
);
( product_id numeric(10) not null,
supplier_id numeric(10) not null,
CONSTRAINT fk_supplier
FOREIGN KEY (supplier_id)
REFERENCES supplier(supplier_id)
);
CREATE TABLE products
( product_id numeric(10) not null,
supplier_id numeric(10) not null,
supplier_name varchar2(50) not null,
CONSTRAINT fk_supplier_comp
FOREIGN KEY (supplier_id, supplier_name)
REFERENCES supplier(supplier_id, supplier_name)
);

ALTER TABLE products


ADD CONSTRAINT fk_supplier
FOREIGN KEY (supplier_id)
REFERENCES supplier(supplier_id);
DELETE
Borra una serie de filas de la tabla. Podemos usar una claúsula WHERE para limitar las filas a borrar, a las
que cumplan una condición. La sintaxis sería:
DELETE FROM nombre_tabla WHERE condicion
Para nuestro caso:
DELETE FROM entradas WHERE id = 2;

TRUNCATE
A diferencia de DELETE, TRUNCATE elimina todas las filas de la tabla sin borrar la tabla. También resetea los
contadores de auto incremento a 0. No borra la tabla como tal, la llamada estructura, por lo que luego
puede comenzar a hacer inserciones. La sintaxis es:
TRUNCATE TABLE nombre_tabla;
Y para nuestro caso:
TRUNCATE TABLE entradas;
DROP
Finalmente llegamos a DROP. A diferencia de la anterior, DROP no sólo elimina los datos, sino que también
eliminar la estructura de la tabla.
DROP TABLE nombre_tabla;
Y para nuestro caso:
DROP TABLE entradas;
SECUENCIA (SEQUENCE)

Una secuencia es un objeto de base de datos el cual permite la generación de números en un orden que
puede ser o no consecutivo.

Create sequence nombre_secuencia;

Esta sentencia creara una nueva secuencia, esta sentencia es la más básica para crear un secuencia la
cual iniciara en 1 y cada vez que sea utilizado aumentara ordenadamente de 1 en 1.
Para utilizar una secuencia se utilizan las siguientes dos funciones nextval y currval

Nextval: Incrementa el valor de la secuencia, cada vez que se utiliza aumenta el valor de la secuencia.

Currval: Muestra el valor actual que tiene la secuencia.


Las secuencias son utilizadas principalmente para la generación de Id de una llave primaria.
Ejemplo:

Create table amigos (


Id_amigos number primary key,
Nombre varchar2(200),
Barrio varchar2(100)
);

Create sequence seq_pruebas start with 2 increment by 2;

Insert into amigos (id_amigos, nombre, barrio) values (seq_pruebas.nextval,'David','Puertas del


sol');

Select seq_pruebas.nextval from dual; --Aumenta la secuencia

Insert into amigos (id_amigos, nombre, barrio) values( seq_pruebas.currval,'Jose','Alcazarez');


Para investigar:
¿Qué es un INDICE en Oracle y para qué se usa? Ventajas y desventajas, ejemplos, 2 por cada
alumno.
¿Qué es un SINONIMO en Oracle? Ventajas y desventajas, ejemplos, 2 por cada alumno.

También podría gustarte