Miau Miau
Miau Miau
Miau Miau
PRACTICE
ex1:
1. user
2. transaction
3. explicit
4. insert
ex2:
1. ???
2. create table copy_d_cds
as (select * from d_cds);
describe copy_d_cds;
select *from copy_d_cds;
insert into copy_d_cds
(cd_number,title,producer,year)
values
(97,'Celebrate the Day','R&B Inc.','2003');
insert into copy_d_cds
(cd_number,title,producer,year)
values
(98,'Holiday Tunes for All Ages','Tunes are Us','2004');
insert into copy_d_cds
(cd_number,title,producer,year)
values
(99,'Party Music','Old Town Records','2004');
insert into copy_d_cds
(cd_number,title,producer,year)
values
(100,'Best of Rock and Roll','Old Town Records','2004');
3. create table copy_d_songs
as( select* from d_songs);
insert into copy_d_songs
values(52,'Surfing Summer',NULL,NULL,12);
insert into copy_d_songs
values(53,'Victory Victory','5 min',NULL,12);
select * from copy_d_songs ;
4. create table copy_d_clients
as(select * from d_clients);
describe copy_d_clients ;
insert into copy_d_clients(client_number,first_name,last_name,phone,email)
values (6655,'Ayako','Dahish',3608859030,'dahisha@harbor.net');
insert INTO copy_d_clients(client_number,first_name,last_name,phone,email)
values(6689,'Nick','Neuville',3608859030,'nnicky@charter.net');
5.create table copy_d_events
as ( select * from d_events);
describe copy_d_events ;
select * from copy_d_events ;
INSERT INTO copy_d_events
(id,name,event_date,description,cost,venue_id,package_code,theme_code,client_number
)
VALUES
(110,'Ayako Anniversary',TO_DATE('07-Jul-2004','dd-Mon-yyyy'),'Party for 50,
sixties dress, decorations',0,245,79,240,6655);
INSERT INTO
copy_d_events(id,name,event_date,description,cost,venue_id,package_code,theme_code,
client_number)
VALUES
(115,'Neuville Sports Banquet',TO_DATE('09-Sep-2004','dd-Mon-yyyy'),'Barbecue
at residence, college alumni, 100 people',0,315,87,340,6689);
6. ??????
insert into rep_email(id, first_name, last_name, email_address)
select employee_id, first_name, last_name, email
from employees
where job_id LIKE '%REP%';
12.2.PRACTICE
ex1:
1. update
2. correlated subquery update
3. integrity constraints
4. correlated subquery delete
5. delete
ex2:
1. create table copy_f_food_items
as(select * FROM f_food_items);
describe f_food_items;
describe copy_f_food_items;
select * FROM f_food_items;
select* FROM copy_f_food_items;
update copy_f_food_items set price = 3.75
where lower(description) = 'strawberry shake';
update copy_f_food_items SET price = 1.20
where lower(description) = 'fries';
select* from copy_f_food_items;
2. create table copy_f_staffs
as( select * fromf_staffs);
describe f_staffs;
describe copy_f_staffs;
select * from f_staffs;
select * from copy_f_staffs;
update copy_f_staffs SET overtime_rate = nvl(overtime_rate, 0) + 0.75
where lower(first_name || ' ' || last_name) = 'bob miller';
update copy_f_staffs SET overtime_rate = NVL(overtime_rate, 0) + 0.85
where lower(first_name || ' ' || last_name) = 'sue doe';
select * from copy_f_staffs;
3. CREATE TABLE copy_f_orders
AS ( SELECT * FROM f_orders);
DESCRIBE f_orders;
DESCRIBE copy_f_orders;
SELECT * FROM f_orders;
SELECT * FROM copy_f_orders;
INSERT INTO
copy_f_orders(order_number,order_date,order_total,cust_id,staff_id)
VALUES(5680,TO_DATE('June 12, 2004','fmMonth dd, yyyy'),159.78,145,9);
INSERT INTO
copy_f_orders(order_number,order_date,order_total,cust_id,staff_id)
VALUES(5691,TO_DATE('09-23-2004','mm-dd-yyyy'),145.98,225,12);
INSERT INTO
copy_f_orders(order_number,order_date,order_total,cust_id,staff_id)
VALUES(5701,TO_DATE('July 4, 2004','fmMonth dd, yyyy'),229.31,230,12);
SELECT * FROM copy_f_orders;
4. CREATE TABLE copy_f_customers
AS ( SELECT * FROM f_customers);
DESCRIBE f_customers;
DESCRIBE copy_f_customers;
SELECT * FROM f_customers;
SELECT * FROM copy_f_customers;
INSERT INTO
copy_f_customers(id,first_name,last_name,address,city,state,zip,phone_number)
VALUES(145,'Katie','Hernandez','92 Chico Way','Los
Angeles','CA',98008,'8586667641');
INSERT INTO
copy_f_customers(id,first_name,last_name,address,city,state,zip,phone_number)
VALUES(225,'Daniel','Spode','1923
Silverado','Denver','CO',80219,'7193343523');
INSERT INTO
copy_f_customers(id,first_name,last_name,address,city,state,zip,phone_number)
VALUES(230,'Adam','Zurn','5 Admiral Way','Seattle','WA',NULL,'4258879009');
SELECT * FROM copy_f_customers;
5.UPDATE copy_f_staffs SET salary = (SELECT salary FROM copy_f_staffs WHERE
LOWER(first_name || ' ' || last_name) = 'bob miller')
WHERE LOWER(first_name || ' ' || last_name) = 'sue doe';
SELECT * from copy_f_staffs;
6. INSERT INTO
copy_f_staffs(id,first_name,last_name,birthdate,salary,overtime_rate,training,staff
_type,manager_id,manager_budget,manager_target)
VALUES(25,'Kai','Kim',TO_DATE('03-Nov-1988','fmdd-Mon-
yyyy'),6.75,NULL,NULL,'Order Taker',NULL,NULL,NULL);
7. UPDATE copy_f_staffs SET manager_id = (SELECT manager_id FROM
copy_f_staffs WHERE LOWER(first_name || ' ' || last_name) = 'sue doe')
WHERE LOWER(first_name || ' ' || last_name) = 'kai kim';
SELECT * FROM copy_f_staffs;
8. ORA-02292: integrity constraint (RO_A412_SQL_S48.EMP_DEPT_FK) violated -
child record found
9. SELECT * FROM copy_f_staffs;
DELETE FROM copy_f_staffs
WHERE LOWER(first_name || ' ' || last_name) = 'kai kim';
SELECT * FROM copy_f_staffs;
10. CREATE TABLE lesson7_emp
AS ( SELECT * FROM employees);
DESCRIBE employees;
DESCRIBE lesson7_emp;
SELECT * FROM employees;
SELECT * FROM lesson7_emp;
SELECT DISTINCT employee_id FROM job_history;
7 rows returned in 0.00 seconds
DELETE FROM lesson7_emp
WHERE employee_id IN ( SELECT DISTINCT employee_id FROM job_history) ;
5 row(s) deleted.
12.3. PRACTICE
ex1:
1. Folosim default cand vrem sa setam o valoare implicita unei coloane pentru
a evita generarea unei valori random????
2. INSERT INTO
copy_f_promotional_menus(code,name,start_date,end_date,give_away)
VALUES('120','New Customer',DEFAULT,TO_DATE('01-Jun-2005','dd-Mon-yyyy'),'
10% discount coupon');
4. INSERT ALL
WHEN salary > 20000 THEN
INTO special_sal
VALUES(employee_id, salary)
ELSE
INTO sal_history
VALUES(employee_id, hire_date, salary)
INTO mgr_history
VALUES(employee_id, manager_id, salary)
SELECT employee_id, salary, hire_date, manager_id
FROM employees;
13.1. PRACTICE
ex1:
1.Data dictionary
2.Schema
3.Default
4.Table
5.Create table
ex2:
1.
Column n. student_id last_n first_n
credits graduation_date
FK Column
credits
lenghts 6
20 20 6
2.
CREATE TABLE graduate_candidates
( student_id NUMBER(6,0),
last_name VARCHAR2(75) NOT NULL ,
first_name VARCHAR2(75) NOT NULL,
credits NUMBER(5,2) NOT NULL ,
graduation_date DATE,
CONSTRAINT td_id_pk PRIMARY KEY (student_id),
CONSTRAINT eq_fk FOREIGN KEY(credits)
REFERENCES requirements(credits)
);
3.DESCRIBE graduate_candidates;
4.CREATE TABLE mads_table
AS ( SELECT * FROM graduate_candidates);
5.INSERT INTO mads_table (student_id, last_name, first_name, credits,
graduation_date)
Values(10,'Madalina','Stroe',10,NULL);
6. USER_TABLES: descrie tabelele relationale ale userului
SELECT * FROM user_tables
USER_CATALOG : indexii, tabelele, views, synonyms, secventele ( aceleasi
coloane a in " all_catalog')
SELECT * FROM user_catalog
USER_OBJECTS: descrie toate obiectele
SELECT * FROM user_objects;
13.2. PRACTICE
ex1:
1.INTERVAL YEAR(X) TO MONTH
2.TIMESTAMP WITH LOCAL TIME ZONE
3.BLOB
4.TIMESTAMP WITH TIME ZONE
5.INTERVAL DAY(X) TO SECOND
6.CLOB
7.TIMESTAMP
ex2:
3.????
13.3. PRACTICE
1.Este necesara modificarea tabelelor atunci cand se fac greseli sau
modificari.
2.CREATE TABLE artists(
artist_id NUMBER(5,0) NOT NULL,
first_name VARCHAR2(20) NOT NULL,
last_name VARCHAR2(20) NOT NULL,
band_name VARCHAR2(30) NOT NULL,
email VARCHAR2(20) CONSTRAINT ait_email_nn NOT NULL,
hourly_rate NUMBER(8,2) CONSTRAINT art_hourly_rate_nn NOT NULL,
song_id NUMBER(5,0) CONSTRAINT art_song_id_nn NOT NULL references
d_songs(id),
constraint "ARTISTS_PK" primary key (artist_id)
);
b.
insert into artist(artist_id, first_name, last_name, band_name, email, hourly_rate,
song_id)
select 1 as artist_id,
SUBSTR(artist, 1, INSTR(artist,' ') -1) AS first_name,
SUBSTR(artist, INSTR(artist,' '), LENGTH(artist)) AS last_name,
artist as band_name,
null as email,
null as hourly_rate,
id as song_id
from d_songs
where rownum = 1;
DESC copy_f_staffs;
G.UPDATE copy_f_staffs
SET salary = (SELECT salary
FROM copy_f_staffs
VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE
WHERE first_name = 'Sue' AND last_name = 'Doe' AND versions_operation IS NULL
AND versions_starttime IS NULL)
WHERE first_name = 'Sue' AND last_name = 'Doe';
14.1. PRACTICE
ex1:
1.Unique constraint
2.not null
3. primary key
4.check constraint
5. references
6. unique constraint
7. foreign key
8.table level constraint
9.constraint
10. column level constraint
ex2:
4. id pk number 8 0 - no
name - varchar2 20 - - -
date_opened - date - - - no
address - varchar2 40 - - no
city - varchar2 20 - - no
zip_postal_code - varchar2 10 - - -
7.????
8.DESCRIBE f_global_locations;
14.2. PRACTICE
1. on delete cascade
2. check constraint
3.primary key
4. not null
5.on delete set null
6. foreign key constraint
ex2:
);
6.a.
SELECT delete_rule
FROM user_constraints
WHERE LOWER(table_name) = 'animals' AND constraint_type = 'R';
SELECT delete_rule
FROM user_constraints
WHERE LOWER(table_name) = 'animals' AND constraint_type = 'R'; ( set null)
14.3 PRACTICE
Vocabulary
1.DISABLE CONSTRAINT
2.CASCADE clause
3.ALTER TABLE
4.ENABLE CONSTRAINT
5.DROP CONSTRAINT
6.-DROP COLUMN
` 7. CASCADE CONSTRAINTS
ex2:
a.COPY_D_CLT_CLIENT_NUMBER_PK (constraint_name)
b.COPY_D_EVE_CLIENT_NUMBER_FK
6.INSERT INTO
copy_d_events(client_number,id,name,event_date,description,cost,venue_id,package_co
de,theme_code)
VALUES(7125,140,'Cline Bas Mitzvah',TO_DATE('15-Jul-2004','dd-Mon-
yyyy'),'Church and Private Home formal',4500,105,87,77);
no data found
8.INSERT INTO
copy_d_events(client_number,id,name,event_date,description,cost,venue_id,package_co
de,theme_code)
VALUES(7125,140,'Cline Bas Mitzvah',TO_DATE('15-Jul-2004','dd-Mon-
yyyy'),'Church and Private Home formal',4500,105,87,77);
- 1 row inserted ( am facut disable contraint)
9.
ALTER TABLE copy_d_clients
ENABLE CONSTRAINT COPY_D_CLT_CLIENT_NUMBER_PK ; ( nu e cascade la enable)
11.pt eficienta
12.C-Check constraint
P - primary key
R - Referential integrity (fk)
U - unique key
15.1. PRACTICE
ex1:
1.view
2.view_name
3.force
4.simple view
5.noforce
6.create view statemaent
7.Alias
8.subquery
9.Complex View
10. Replace
ex2:
1.Restrict access and display selective columns
Reduce complexity of queries from other internal systems. So, providing a
way to view same data in a different manner.
Let the app code rely on views and allow the internal implementation of
tables to be modified later.
15.2. PRACTICE
ex1:
1.ROWNUM
2.WITH CHECK OPTION
3.WITH READ ONLY
ex2:
15.3. PRACTICE
ex1:
1.Top-N Analysis
2.Drop
3.Inline View
ex2:
1.CREATE OR REPLACE VIEW view_copy_d_songs AS
SELECT title, artist
FROM copy_d_songs;
Extra