본문 바로가기

데이터베이스26

9. view view는 가상의 테이블이다. view의 사용 목적은 보안성과 동기화이다. 단순히 테이블의 일정 데이터를 보여주고 싶지 않아서 일부 데이터를 제외하고 복제해서 준다면, 이후 테이블의 변동이 있을 때 변동이 상대에게 적용되지 않을 것이다. 따라서 가상 테이블-원본 테이블 사이에는 동기화가 걸려있다. 예시를 보자. STUDENT 테이블에는 주민과 생일이라는 민감한 데이터가 있다. 따라서, 다음 두 데이터를 뺀 VIEW를 만들어보자. CREATE OR REPLACE VIEW STUDENT_VIEW AS SELECT STUDNO,NAME, ID, GRADE, HEIGHT, WEIGHT, DEPTNO1, DEPTNO2, PROFNO FROM STUDENT; 정말 빠져있는 테이블이 뷰 폴더 내에 만들어진다. 이제 .. 2020. 4. 2.
DDL, DML과 시퀀스 체험하기 아우터 조인을 조금 더 실습해보기 위해 표를 개인적으로 제작하였다. 표를 제작하는 방법은 크게 두 가지가 있는데, 하나는 툴을 이용한 방법, 다른 하나는 DDL을 이용하는 방법이다. 1. 표를 이용하는 방법. 표 메뉴를 띄우고 새 테이블을 연다. 테이블의 이름, 들어갈 데이터의 이름과 유형을 결정한다. 이 때 반드시 들어가야 하는 데이터이면 널이 아님, 에 체크한다. 다음 고급을 들어간다. 데이터베이스에는 데이터의 무결성을 위해 개개의 데이터가 가지고 있는 고유한 이름을 설정할 수 있다. PK가 그 고유한 데이터인데, 이는 PK의 빈 칸을 클릭하면 된다. 이후 PK내부의 데이터는 동일한 값이 들어갈 수 없다. 조인을 이용하기 위해서는 테이블 간 참조가 필요한데, 이 참조를 하는 것이 foriegn key.. 2020. 4. 1.
8. JOIN 데이터베이스를 하다보면 원하는 자료가 다른 테이블에 있는 경우가 있다. 이 테이블에서 다른 테이블로, 일일히 비교하면서 분석하는덴 불편함이 많기 때문에 이를 해결하기 위해 JOIN을 이용한다. JOIN은 오라클과 기타 프로그램의 문법이 다르다. -오라클 문법 SELECT a.col1, b.col1 from table1 a, table2 b where a.col2=b.col2; JOIN함수는 여러가지가 있다. 1. 카티션 곱 카티션 곱은 해당 테이블에 대한 모든 정보를 다 가져오는 것을 말한다. 이 때는, 조건절이 맞지 않거나 아예 기술되지 않았을 때이다. SELECT * FROM DEPT D, EMP E; 다음과 같이 모든 데이터가 곱셈이 된 상태로 출력된다. 다만 문제점은 다음과 같다. 이 데이터를 o.. 2020. 4. 1.
오라클 실습 3. 서브쿼리와 ROWNUM을 이용한 그룹화 되지 않는 함수에 그룹함수 적용하기. 그룹함수를 이용하기 위해서는 GROUP BY를 이용해 그룹화를 해야한다. 만약 이런 데이터가 있다고 가정하자. 이 데이터에서 만약 1~8까지의 사람 중 가장 높은 값을 기록한 사람과 나머지 사람중에서 가장 높은 값을 기록한 사람을 테이블로 나타내자고 한다. 이들은 서로 공통점이 없다. 어떻게 그룹화를 할 수 있을까? 이를 할 수 있게 하는 방법이 바로 ROWNUM이다. ROWNUM은 하드디스크나 메모리에서 데이터를 끌어올린 순서가 표시된다. 먼저 생각해낼 수 있는 방법은 WHERE절로 0~8까지, 그리고 9~20까지를 떨군 다음 따로따로 구해서 UNION ALL 로 합치는 것이다. 이 때, ROWNUM은 문제점이 생긴다. ROWNUM은 1부터 세지 않으면 중간부터 값을 찾을 수 없다. 그렇기 때문에 서브.. 2020. 3. 26.
반응형