Database
-- ORDERS 테이블에서 반품처리된 건들을 불러온다. -- MARKET 별로 반품 처리된 건들에 대해서 손실된 이익이 총 얼마인가? -- ORDERS, RETURNS, PEOPLE (ORDER_ID) EXPLAIN PLAN FOR SELECT R.MARKET, SUM(O.PROFIT) FROM ORDERS O, RETURNS R WHERE O.ORDER_ID = R.ORDER_ID GROUP BY R.MARKET; -- 실행계획 조회 SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); -- 실행 순서 결과 (3-4-2-1-0) -- 3L : RETURNS TABLE에 대해 해싱 처리 (pga영역에서) -- 4L : 3L의 RETURNS 해시값을 갖고와서 ORDERS TABLE에 ..
Database 정규화 (Normalization) : 불필요하게 중복되는 데이터를 제거하고, table을 논리적이고 직관적으로 구성하여 효율성과 일관성에 초점을 맞춤 - 정규화의 각 단계를 수행할 때마다 더욱 정제된 논리적 구조(정규형(Normal Form, NF))를 도출함. - 어떤 relation이 특정 제약 조건의 집합을 만족하는지에 따라 특정 정규형에 속하게 되고, 상위 단계로 갈수록 (하위단계 + 알파 제약조건) 을 한 형태. - 함수 종속 (functional dependency) : X 는 결정자 (기본키), Y는 종속자 (나머지 후보키) 정규화되지 않은 논리적 구조의 이상 현상 : 여러가지 종류의 정보들을 1개의 relation으로 표현하면서 발생하는 문제들 1. 삭제 (delete) ..
드디어 대망의 마지막 포스트 개요 3탄이다. 여기까지 읽느라 고생이 많았다. 하지만 아직도 읽을게 산더미니까 조금만 더 존버 정신을 보이는게 좋겠다. (특히 중요한 View, 기본키, index에 관한 내용이 나오니까 집중!) Meta-Database = DBMS가 제 기능을 잘 할 수 있도록 DB에 관한 정보를 모아놓은 시스템 DB - "시스템 view", 테이블", "catalogue" 라고도 부름 - Meta DB가 포함하는 객체 : DB, table, view, index, 사용자, 제약조건 등 - Meta DB의 정보들은 사용자 DB의 정보들처럼 table형태로 저장됨 뷰(view) : 실존하지 않는 가상 테이블. 원하는 data만을 조작할 수 있게 해서 table을 단순화 시키고 data의 보..
[ 데이터 언어 ] - 데이터 정의어(Data Definition Language, DDL) : DB에 대한 정의, 수정, 삭제 기능 - 데이터 조작어(Data Manipulation Language, DML) : DB에 저장된 data에 대한 select, insert, update, delete 연산 - 데이터 제어어(Data Control Language, DCL) : DB에 저장된 data의 보안/권한을 제어하거나 쿼리에 대해 동시성 제어를 수행 - ex) 사용자 계정, 세션 관리, 로그인, 서버 관리 등 정보 관리 목적을 위해 사용됨 *데이터 조작어(DML)에 대한 내용은 아래를 클릭하면 된다 DML언어_select/update/insert/delete * 속성은 테이블의 column명을 의미한..
[ Data 독립성 ] Data 독립성 : data 표현 방식, 저장위치가 바뀌어도 논리적 저장 구조나 응용프로그램에게 아무런 영향을 주지 않음. 1. 논리적 data 독립성 : DB의 논리적인 구조가 바껴도 응용프로그램에게 영향을 주지 않음. - 여기서 '논리적인 구조'는 스키마를 의미하는데, - 스키마 : DB에 들어있는 실제 값이 아니라 DB의 구조, 속성의 data type 등 데이터베이스를 서술하는 구조를 뜻함. 2. 물리적 data 독립성 : data의 논리적 구조 또는 프로그램을 수정하지 않고도 시스템 성능을 향상시키기위해 data의 물리적인 저장 형식, 구성 변경이 허용됨. [ Database 시스템의 논리적 구조 ] 1. 외부 단계 : 사용자에게 허가된 일부 논리적 데이터베이스 (사용자 ..