집합 연산 합집합 UNION 차집합 MINUS : 오라클은 MINUS지만 SQL 표준에서는 EXCEPT를 사용한다. 교집합 INTERSECT -- 차집합 예시 -- 도서를 주문하지 않은 고객의 이름을 보이시오. SELECT NAME FROM CUSTOMER MINUS SELECT NAME FROM CUSTOMER WHERE CUSTID IN (SELECT CUSTID FROM ORDERS);EXISTS 원래 단어에서 의미하는 것과 같이 조건에 맞는 튜플이 존재하면 결과에 포함시킴. 즉 부속질의문의 어떤 행이 조건에 만족하면 참임. 반면 NOT EXIST는 부속질의문의 모든 행이 조건에 만족하지 않을 때만 참임 무조건 상관 질의로 사용함 그냥 두 테이블을 독립적으로 두고, 있는지 없는지 비교하면서 차이두기..
부속질의(SUBQUERY)란? 하나의 SQL 문 안에 다른 SQL 문이 중첩된 쿼리를 말함. 다른 테이블에서 가져온 데이터로 현재 테이블에 있는 정보를 찾거나 가공할 때 사용함. 보통 데이터가 대량일 때 데이터를 모두 합쳐서 연산하는 조인보다 필요한 데이터만 찾아서 공급해주는 부속질의가 성능이 더 좋음. 주질의(main query, 외부질의)와 부속질의(sub query, 내부질의)로 구성됨. 부속질의의 위치 SELECT 절 : SELECT 절에서 사용되며 단일 값을 반환하기 때문에 스칼라 부속질의라고함 스칼라나 벡터를 나오게 끔 해서 쓰면 됨(값 하나, 1차원 배열) FROM 절 : FROM 절에서 결과를 뷰(VIEW) 형태로 반환하기 때문에 인라인 뷰라고 함 2차원 값, 즉 요약된 테이블 형태로 나오..
카티전 프로덕트(CATESIAN PRODUCT) 두 릴레이션을 연결시켜 하나로 합칠 때 사용함. 결과 릴레이션은 첫번째 릴레이션의 오른쪽에 두번째 릴레이션의 모든 투플을 순서대로 배열하여 반환한다. 결과 릴레이션 차수는 두 릴레이션의 차수의 합이며, 두 릴레이션의 카디날리티 곱임 두 테이블을 단순히 합치는 것을 카티전 프로덕트라고 한다. 이것을 JOIN이라고 한다. 이 때 WHERE로 조건을 명시하는데, 이를 JOIN 조건이라고 한다. SELECT * FROM CUSTOMER, ORDERS WHERE CUSTOMER.CUSTID = ORDERS.CUSTID; ORDER BY CUSTOMER.CUSTID 조인 방법
WHERE 조건 와일드 문자 LIKE와 활용한다. 예시 SELECT BOOKNAME, PUBLISHER FROM BOOK WHERE BOOKNAME LIKE '%축구%';집계함수 SELECT 문에서만 사용 가능하다. 출력 변수명을 설정하고 싶으면 AS를 쓰는데 이 때 따옴표를 쓰지 않는다.(변수처럼 사용한다) SELECT SUM(SALEPRICE) AS 총매출 FROM ORDERS; GROUPBY GROUPBY는 집계함수와 사용한다. GROUPBY시 반드시 SELECT 문의 첫번째에 GROUPBY한 속성을 넣는다. 고객별로 주문한 도서의 총 수량과 총 판매액을 구하시오 SELECT CUSTID, COUNT(*) AS 도서수량, SUM(SALEPRICE) AS 총액 FROM ORDERS GR..
DB 계정 관리 일반적으로 DB 계정 생성 시, 읽기만 가능한 계정으로 팀원들에게 뿌린다. SELECT만 가능하게 해서, 데이터의 무결성(안정성)을 확보할 수 있다. 보통 사내 1명 정도 있는데, 주기적으로 DB 계정 비밀번호를 바꾸는 등 데이터베이스를 관리한다. DB 용어 정리 릴레이션의 특징 속성은 단일 값을 가진다 속성은 서로 다른 이름을 가진다 한 속성의 값은 모두 같은 도메인 값을 가진다(값을 갖는 범위가 같아야한다) 속성의 순서는 상관없다 릴레이션 내의 중복된 투플은 허용하지 않는다 투플의 순서는 상관없다 키 특정 투플을 식별할 때 사용하는 속성 혹은 속성의 집합임 릴레이션은 중복된 투플을 허용하지 않기 때문에 각각의 투플에 포함된 속성들 중 어느 하나(혹은 하나 이상)는 값이 달라야함. 기본..
데이터베이스 기본적으로 공유된 데이터베이스 시스템이다. 1대N의 관계를 가진, 웹 기반 서버-클라이언트 모델이다. 오라클 서버는 항상 서버에 접속 되어있어야하므로, 오라클 서버(DB)가 잘 작동하고 있는지 확인하는 방법 윈도우 기준 -> 시작메뉴 -> 서비스 접속 -> OracleServiceXE 상태 확인 DB 계정 생성 sys 계정으로 접근 및 생성 create user madang identified by madang; -- madang user 생성, 비밀번호 madang grant connect, resource to madang; -- 권한 주기 연결 접속,resource madang 계정 접속 madang 테이블 작성 DROP table orders; -- 만약에 테이블이 없을 경우, 에러발..
데이터 분석과정 데이터 수집 -> 데이터 전처리 -> 모델링 -> 평가 및 배포 데이터 수집 외부 데이터(정형/반정형/비정형) 내부 데이터(대부분이 정형데이터) DBMS RDBMS(관계형 데이터베이스) : 정형화된 구조로 데이터 저장 / EX : ORACLE, MYSSQL, MSSQL RDBMS 네트워크 : 두 대상 간의 데이터 교환 네트워크를 통해 데이터가 교환되려면 쌍방 간의 규약(프로토콜)을 지켜야한다. ORACLE은 규악(프로토콜)을 TCP/IP로 사용하도록 지정하였다. DB CLIENT 역시 오라클 서버에 원하는 데이터처리를 하려면 TCP/IP 규악에 맞춰 데이터 전송을 해야한다. TCP/IP 규악은 정확한 전송을 위해 데이터 전송이 있기 전에 CONNECTION을 통해 통신 가능여부를 확인후 ..