교육 4일차 DB관련 SQL문법을 복습하는 느낌으로 수강을 하고 있지만 생각보다 쉽게 다양한 조건을 함수로 사용하여 실습을 진행하고 있습니다.

아래는 CASE문을 사용하는 예제로 기억을 못하는 건지 배운적이 없는지 아쉽게도 CASE문을 사용해 보았던 기억이 없어서 신기하게 사용을 해 보았습니다.

 

SELECT COUNTRY_ID ID,
       CASE COUNTRY_ID
         WHEN 'AU' THEN 'Australia'
         WHEN 'BR' THEN 'Brazil'
         WHEN 'CA' THEN 'Canada'
         WHEN 'CH' THEN 'Switzerland'
         WHEN 'CN' THEN 'China'
         WHEN 'DE' THEN 'Germany'
         WHEN 'IN' THEN 'India'
         WHEN 'IT' THEN 'Italy'
         WHEN 'JP' THEN 'Japan'
         WHEN 'MX' THEN 'Mexico'
         WHEN 'NL' THEN 'Netherlands'
         WHEN 'SG' THEN 'Singapore'
         WHEN 'UK' THEN 'United Kingdom'
         WHEN 'US' THEN 'United States'
       ELSE 'Unknown'
       END COUNTRY, count(*)
FROM LOCATIONS
group by country_id
ORDER BY COUNTRY_ID;

 

 

Oracle에서 제공하는 정말정말 좋은 메뉴얼의 주소 : http://docs.oracle.com/cd/E11882_01/appdev.112/e10766/tdddg_connecting.htm#TDDDG146

해당 메뉴얼은 Oracle 홈페이지에 들어가면 문서 검색에서 볼 수 있습니다.

 

Database Transaction에 관한 내용

 

commit하기 전과 후의 결과를 우선 서로다른 두 세션에서 확인을 해 보았습니다.

 

commit 전에는 왼편의 세션에서 작업(Update)을 한 내용이 오른편 세션에서는 반영이 되지 않는 것을 확인 할 수 있습니다.

그 이유는 Database에서 transaction이 수행되는 동안 모든 데이터의 일관성을 유지하기 위하여 DB에는 적용되지 않고 Preview의 형식으로 보여주기만 한다고 강의 자료에 적혀있습니다!!

 

commit을 한 후에는 위의 화면에서 보는 것 같이 오른편의 세션에서도 왼편에서 update한 결과를 조회할 수 있습니다.

21:00~21:50 마지막 시간 강의

Oracle :http://docs.oracle.com/cd/E11882_01/appdev.112/e10766/tdddg_dml.htm#TDDDG99941

About DML Statements and Transactions

Setting Savepoints in Transactions

save points를 알기 위해 rollback부터 한번 해 보았습니다.

 

4번째 항목이 변경되었다가 다시 돌아간 것을 실습해 본 화면입니다.

Oracle 10.g버전 이후에는 Drop Table시 바로 삭제되지 않고 휴지통으로 table이 이동되는 기능이 있다고 합니다.

 

빨간 두 상자 사이에는 삽질을 좀 했습니다. Table 정보를 보고 싶었는데 명령어가 기억이 나지를 않네요... 위의 화면은 job_history라는 Table을 Drop하고 Recyclebin에 들어간 것을 확인한 실습화면입니다.

(Table확인 SQL -> select  * from tab;)

휴지통에 잘 있는것을 확인을 했으니 DB Table을 복구 해 보도록 하겠습니다.

 

Table을 삭제하면 이름까지 이상한 값으로 대체되는 것을 확인할 수 있는데 휴지통이나 테이블 조회시 확인할 수 있으며 복구하면 정상적으로 Drop이전의 이름이 잘 보이는 것을 위의 실습화면에서 확인할 수 있습니다.

 

내일 강의는 DB backup, tunning 등 다양한 것들을 강의 해 주신다고 생각을 하니 내일 강의가 기대가 됩니다.

다다음주에 튜닝 관련된 강의가 있었는데 수강인원이 가득 찬건지 신청을 못한건지 몹시 아쉬웠는데 내일 얕게라도 들을 수 있기를 바랍니다~~!!!!

'강의노트' 카테고리의 다른 글

[DB] SQL 튜닝 강의 4일차  (0) 2016.01.28
[DB] SQL 튜닝 강의 3일차  (0) 2016.01.27
[DB] SQL 튜닝 강의 2일차  (0) 2016.01.26
[DB] SQL 튜닝 강의 1일차  (0) 2016.01.25
[DB] 관계형 DB 강의 5일차 내용  (0) 2016.01.15

+ Recent posts