Documente Academic
Documente Profesional
Documente Cultură
Information rule :-
DB = COLLECTION OF TABLES
TABLE = COLLECTION OF ROWS & COLS
ROW = COLLECTION OF FIELD VALUES
COLUMN = COLLECTION OF VALUES ASSIGNED TO ONE FIELD
foreign key
key of foreign
pk of some other table
RDBMS softwares :-
oracle
mysql open source
sql server
db2
teradata
postgresql open source
ORDBMS :-
=> RDBMS doesn't support resuability and ORDBMS supports reusability. ORDBMS
supports reusability by using UDT.
(user define type).
RDBMS :-
EMP
EMPID ENAME SAL HNO STREET CITY STATE
CUST
CID NAME HNO STREET CITY STATE
ORDBMS :-
UDT :- ADDR(HNO,STREET,CITY,STATE)
EMP
EMPID ENAME ADDR
HNO STREET CITY STATE
CUST
CID CNAME ADDR
HNO STREET CITY STATE
what is oracle ?
Analysis
Design
Development
Testing
Implementaion
Maintenance
Developers DBA
A atomocity
C consistency
I isolation
D durability
Versions of Oracle ?
1,2,3,4,5,6,7,8,8i,9i,10g,11g,12c,18c,19c
i => internet
g => grid
c => cloud
1 on premises
2 on cloud
1 SERVER
2 CLIENT
server :-
1 DB
2 INSTANCE
CLIENT :-
1 connects to server
2 submits requests to server
3 recieve response from server
client tools :-
SQLPLUS (CUI)
SQL DEV (GUI)
TOAD (GUI)
SQL
SQL
SERVER
DATABASE
USERS
TABLES
SERVER
ORCL
SYSTEM/MANAGER (ADMIN)
USERNAME :- UNAME
PASSWORD :- PWD
OR
USERNAME :- UNAME/PWD
1 conn as SYSTEM/MANAGER
2 create user :-
SERVER
ORCL
SYSTEM/MANAGER
BATCH8PM/ORCL
Datatypes in Oracle :-
DATATYPES
CHAR(size) :-
ex :- NAME CHAR(20)
SACHIN-----------------
wasted
RAVI-------------------
wasted
ex :- state_code CHAR(2)
AP
TS
MH
country_code CHAR(3)
IND
AUS
VARCHAR2(SIZE) :-
ex :- NAME VARCHAR2(20)
SACHIN--------------------
released
PANNO CHAR(10)
VEHICLE_NO VARCHAR2(20)
NCHAR / NVARCHAR2 :-
Number(p) :-
ex :- EMPID NUMBER(4)
10
100
1000
10000 => INVALID
NUMBER(P,S) :-
EX :- SALARY NUMBER(7,2)
5000
5000.50
50000.50
500000.50 => INVALID
DATE :-
EX :- DOB DATE
TIMESTAMP :-
30-AUG-19 21:03:10.123
--------- ------- ---
DATE TIME MS
BFILE,BLOB :-
Rules :-
EMP
EMPID ENAME JOB SAL HIREDATE
1 single row
2 multiple rows
EX :-
INSERTING NULLS :-
explicitly :-
implicitly :-
Displaying Data :-
SQL = ENGLISH
queries = sentences
clauses = words
Operators in Oracle :-
WHERE clause :-
SELECT columns
FROM tabname
WHERE condition
condition :-
COLNAME OP VALUE
=> OP must be any relational operator like = > >= < <= <>
compound condition :-
IN operator :-
BETWEEN operator :-
SELECT * FROM EMP WHERE SAL NOT BETWEEN 2000 AND 5000
SELECT *
FROM EMP
WHERE job IN ('CLERK','MANAGER')
AND
SAL BETWEEN 2000 AND 5000
AND
HIREDATE BETWEEN '01-JAN-1981' AND '31-DEC-1981'
AND
DEPTNO NOT IN (10,20)
OCA Question :-
A ERROR
B NO ROWS
C RETURNS ROWS
D NONE
LIKE operator :-
dd-mon-yy
IS operator :-
ALIAS :-
1 column alias
2 table alias
column alias :-
TABLE ALIAS :-
TABNAME <ALIAS>
ORDER BY clause :-
SELECT COLUMNS
FROM TABNAME
[WHERE COND]
ORDER BY <COL> [ASC/DESC]
SELECT *
FROM EMP
ORDER BY ENAME ASC ;
SELECT *
FROM EMP
ORDER BY 6 DESC ;
SELECT EMPNO,ENAME,HIREDATE,SAL,DEPTNO
FROM EMP
ORDER BY 5 ASC ;
arrange emp list dept wise asc and with in dept sal wise desc ?
SELECT EMPNO,ENAME,HIREDATE,SAL,DEPTNO
FROM EMP
ORDER BY 5 ASC ,4 DESC ;
1 A 5000 10 4 D 6000 10
2 B 4000 20 1 A 5000 10
3 C 3000 30 => 5 E 5000 20
4 D 6000 10 2 B 4000 20
5 E 5000 20 3 C 3000 30
STUDENT
SNO SNAME M P C
1 A 80 90 70 80
2 B 60 50 40 50
3 C 90 70 80 80
4 D 90 80 70 80
SELECT *
FROM STUDENT
ORDER BY (M+P+C)/3 DESC,M DESC,P DESC ;
4 D 90 80 70
3 C 90 70 80
1 A 80 90 70
2 B 60 50 40
List of tables ?
List of users ?
SELECT username
from all_users
where username like 'S%'
DML commands :-
INSERT
UPDATE
DELETE
UPDATE command :-
UPDATE <TABNAME>
SET COLNAME = VALUE,------
[WHERE COND]
UPDATE EMP
SET COMM = 500 ;
UPDATE EMP
SET COMM = 500
WHERE COMM IS NULL ;
UPDATE EMP
SET SAL=SAL + (SAL*0.2) ,
COMM=COMM + (COMM*0.1)
WHERE JOB='SALESMAN'
AND
HIREDATE LIKE '%81' ;
DELETE command :-
=> using flsahback we can view the data that exists sometime
back.
=> to recover data , get the data that exists 5 mins back and
insert into current emp table
DDL commands :-
CREATE
ALTER
DROP
TRUNCATE
RENAME
FLASHBACK
PURGE
ALTER command :-
1 add columns
2 drop columns
3 rename column
4 modify column
incr / decr field size
changing datatype
Adding columns :-
=> after adding to insert data into new the column use UPDATE
command.
UPDATE EMP
SET GENDER = 'M'
WHERE EMPNO = 7369 ;
UPDATE EMP
SET GENDER='&GENDER'
WHERE EMPNO = &EMPNO
Droping Column :-
ALIAS RENAME
Modifying column :-
decreasing :-
=> char field size can be decreased upto the max length
DROP COMMAND :-
TRUNCATE :-
=> deletes all the data from table but keeps structure
=> will empty the table
=> releases memory allocated for table
6 slower faster
SQL
commands operations objects
DDL Filtering tables
DML sorting views
DQL functions synonyms
TCL grouping sequences
DCL merging indexes
analyzing materialized views
clusters
types
Types of functions :-
1 string
2 date
3 mathematical
4 conversion
5 special
6 analytical
7 group
string functions :-
UPPER(arg1)
LOWER(arg)
display EMPNO,ENAME,SAL ?
display names in lowercase ?
SQL>COMMIT;
INITCAP(str)
Sachin Tendulkar
LENGTH(arg)
SUBSTR(string,start,[len])
'a'||'b' => ab
SELECT EMPID,ENAME,SUBSTR(ENAME,1,3)||
SUBSTR(EMPNO,1,3)||
'@tcs.com' AS EMAILID
FROM EMP
store emailids in db ?
3 commit;
smith ***
allen ****
scenario :-
ACCOUNTS
ACCNO BAL
12345678987 10000
RPAD('X',4,'X')||SUBSTR(ACCNO,-4,4)
LTRIM,RTRIM :-
RTRIM('helloABCABCABC','ABC') =>
REPLACE(str1,str2,str3)
TRANSLATE(str1,str2,str3)
e=>a
l=>b
o=>c
Conversion :-
1 implicit
2 explicit
implicit conversion :-
Example 1 :-
Example 2 :-
Explicit Conversion :-
1 TO_CHAR
2 TO_DATE
3 TO_NUMBER
TO_CHAR(date,[format])
year formats :-
YYYY 2019
YY 19
CC 21
AD/BC AD YEAR/ BC YEAR
Months formats :-
MM 09
MON/mon SEP/sep
MONTH/month SEPTEMBER/september
Day formats :-
SELECT
TO_CHAR(SYSDATE,'DDD DD D day DY')
FROM DUAL ;
SELECT *
FROM EMP
WHERE TO_CHAR(HIREDATE,'dy')='sun'
time formats :-
HH hour part
HH24 hour part in 24 hrs format
MI minute
SS seconds
AM/PM AM time or PM time
SELECT
TO_CHAR(SYSDATE,'DD month YY HH:MI:SS AM')
FROM DUAL ;
Week formats
Quarter : -
Q Quarter
1 jan-mar
2 apr-jun
3 jul-sep
4 oct-dec