DML "Data Manipulation Language"
Aqui estan definidas las sentencias del lenguaje de manipulación de datos (Data Manipulation Language o DML) de oracle, como SELECT, UPDATE, INSERT, DELETE, etc...
Create Index:
Los indices se usan para mejorar el rendimiento de las operaciones sobre una tabla.
En general mejoran el rendimiento las SELECT y empeoran (minimamente) el rendimiento de los INSERTy los DELETE.
Una vez creados no es necesario nada más, oracle los usa cuando es posible (ver EXPLAIN PLAN).
Traduce una expresión a un valor de retorno. Si expr es igual a value1, la función devuelve Return1. Si expr es igual a value2, la función devuelve Return2. Y asi sucesivamente. Si expr no es igual a ningun valor la funcion devuelve el valor por defecto.
Convierte una fecha a una cadena o un número con el formato especificado.
La selección sobre una tabla consiste en elegir un subconjunto de filas que cumplan (o no) algunas condiciones determinadas. La sintaxis de una sentencia de este tipo es la siguiente:
SELECT */ columna1, columna2,....
FROM nombre-tabla
[WHERE condición]
[GROUP BY columna1, columna2.... ]
[HAVING condición-selección-grupos ]
[ORDER BY columna1 [DESC], columna2 [DESC]... ]
Convierte una cadena en un valor de tipo DATE. Ver en TO_CHAR ejemplos de formato.
Esta sentencia sirve para dar permisos (o privilegios) a un usuario o a un rol.
Un permiso, en oracle, es un derecho a ejecutar un sentencia (system privileges) o a acceder a un objeto de otro usuario (object privileges).
El conjunto de permisos es fijo, esto quiere decir que no se pueden crear nuevos tipos de permisos.
Si un permiso se asigna a rol especial PUBLIC significa que puede ser ejecutado por todos los usuarios.
Añade filas a una tabla.
Para guardar los datos insertados hay que ejecutar COMMIT;
Para cancelar la insercción podemos hacer ROLLBACK;
Actualiza valores de una o más columnas para un subconjunto de filas de una tabla.
Para guardar cambios hay que ejecutar COMMIT;
Para cancelar la modificación podemos hacer ROLLBACK;
Esta sentencia sirve para crear un usuario oracle.
Un usuario es un nombre de acceso a la base de datos oracle. Normalmente va asociado a una clave (password).
Lo que puede hacer un usuario una vez ha accedido a la base de datos depende de los permisos que tenga asignados ya sea directamente (GRANT) como sobre algun rol que tenga asignado (CREATE ROLE).
El perfil que tenga asignado influye en los recursos del sistema de los que dispone un usuario a la hora de ejecutar oracle (CREATE PROFILE).
EJERCICIOS RESUELTOS
drop table member;
drop table title;
drop table title_copy;
drop table rental;
drop table reservation;
--PRACTICA 14
--1
--a. Tabla Member, con sus correspondientes constraints.
create table Member
(member_id number(10) constraint memberr_id_pk primary key,
first_name varchar2(25),
last_name VARCHAR2(25) CONSTRAINT member_last_name_nn NOT NULL,
address varchar2(100),
city varchar2 (30),
phone varchar2(15),
join_date DATE DEFAULT SYSDATE);
--b.
create table title
(title_id number (10) constraint title_id_pk primary key,
title varchar2(60) constraint tittle_title_nn not null,
description varchar2(400) constraint title_description_nn not null,
rating varchar2(4) constraint title_rating_ck check (rating in ('G', 'PG', 'R', 'NC17', 'NR')),
category varchar2(20) constraint title_category_ck check (category in ('DRAMA', 'COMEDY', 'ACTION','CHILD', 'SCIFI', 'DOCUMENTARY')),
release_date date);
--c
create table title_copy
(copy_id number (10),
title_id number (10),
status varchar2(15)constraint title_copy_status_nn not null constraint title_copy_status_ck check (status in ('AVAILABLE', 'DESTROYED','RENTED','RESERVED')));
alter table title_copy
add constraint copy_id_pk_ primary key(copy_id,title_id);
alter table title_copy
add constraint title_copy_title_id_fk foreign key (title_id)
references title (title_id);
--d.
create table rental
(book_date date default sysdate,
member_id number(10),
copy_id number (10) ,
act_ret_date date,
exp_ret_date date default sysdate + 2,
title_id number (10));
alter table rental
add constraint renta_book_date_pk primary key (book_date, member_id, copy_id, title_id);
alter table rental
add constraint ren_member_id_fk foreign key (member_id) references member (member_id);
alter table rental
add constraint rent_copy_id_fk foreign key (copy_id, title_id) references title_copy (copy_id ,title_id);
--e
create table reservation
(res_date date,
member_id number(10),
title_id number(10));
alter table reservation
add constraint reservation_res_date_pk primary key (res_date, member_id, title_id);
alter table reservation
add constraint reservation_member_id_fk foreign key (member_id) references member (member_id);
alter table reservation
add constraint reservation_title_id_fk foreign key (title_id) references title (title_id);
--2.
select table_name from user_tables
where table_name in ( 'MEMBER','RENTAL', 'RESERVATION','TITLE','TITLE_COPY');
SELECT CONSTRAINT_NAME , CONSTRAINT_TYPE, TABLE_NAME FROM USER_CONSTRAINTS
where table_name in ( 'MEMBER','RENTAL', 'RESERVATION','TITLE','TITLE_COPY');
--3
--3.A
CREATE SEQUENCE MEMBER_ID_SEQ
START WITH 101
NOCACHE;
--3.B
CREATE SEQUENCE TITLE_ID_SEQ
START WITH 92
NOCACHE;
--3.C
SELECT SEQUENCE_NAME FROM USER_SEQUENCES WHERE SEQUENCE_NAME IN ('MEMBER_ID_SEQ', 'TITLE_ID_SEQ');
--4
--4.A
INSERT INTO TITLE
VALUES (TITLE_ID_SEQ.NEXTVAL, 'Willie and Christmas Too', 'All of Willie’s friends make a Christmas list for Santa, but Willie has yet to add his own wish list','G','CHILD','05-OCT-1995');
INSERT INTO TITLE
VALUES (TITLE_ID_SEQ.NEXTVAL, 'Alien Again', 'Yet another installation ofscience fiction history. Can the heroine save the planet from the alien life form?','R','SCIFI','19-MAY-1995');
INSERT INTO TITLE
VALUES (TITLE_ID_SEQ.NEXTVAL, 'The Glob', 'A meteor crashes near a small American town and unleashes carnivorous goo in this classiC','NR','SCIFI', '12-08-1995');
INSERT INTO TITLE
VALUES (TITLE_ID_SEQ.NEXTVAL, 'My Day Off', 'AWith a little luck and a lot of ingenuity, a teenager skips school for a day in New York','PG','COMEDY','12-JUL-1995');
INSERT INTO TITLE
VALUES (TITLE_ID_SEQ.NEXTVAL, 'Miracles on Ice', 'AWsix-year-old has doubts about Santa Claus, but she discovers that miracles really do exist.','PG','DRAMA','12-SEP-1995');
INSERT INTO TITLE
VALUES (TITLE_ID_SEQ.NEXTVAL, 'Soda Gang', 'After discovering a cache of drugs, a young couple find themselves pitted against a vicious gang.','NR','ACTION','01-JUN-1995');
--4.B
INSERT INTO MEMBER
VALUES (MEMBER_ID_SEQ.NEXTVAL, 'Carmen' , 'Velasquez', '283 King Street','Seattle','206-899-6666','08-MAR-1990');
INSERT INTO MEMBER
VALUES (MEMBER_ID_SEQ.NEXTVAL, 'LaDoris', 'Ngao', '5 Modrany ','Bratislava ','586-355-8882','08-MAR-1990');
INSERT INTO MEMBER
VALUES (MEMBER_ID_SEQ.NEXTVAL, 'Midori', 'Nagayama','68 ViaCentrale ','Sao Paolo ','254-852-5764','17-JUN-1991');
INSERT INTO MEMBER
VALUES (MEMBER_ID_SEQ.NEXTVAL, 'Mark', 'Quick-to-See','6921 King Way','Lagos','63-559-7777','07-04-1990');
INSERT INTO MEMBER
VALUES (MEMBER_ID_SEQ.NEXTVAL, 'Audr', 'Ropeburn' , '86 Chu Street' , 'Hong Kong' , '41-559-87' , '18-06-1991');
INSERT INTO MEMBER
VALUES (MEMBER_ID_SEQ.NEXTVAL, 'Molly',' Urguhart ','3035 Laurier ','Quebec',' 418-542-9988',' 18-06-1991');
0 comentarios