SELECT문 일반 형식 SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭]... [, 그룹함수(속성명) [AS 별칭]] [, Window함수 OVER ...] FROM 테이블명1, 테이블2,... [WHERE 조건] [GROUP BY 속성명1, 속성명2,...] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC]]; SELECT절 PREDICATE - All - DISTINCT : 중복된 튜플이 있으면 그 중 첫번째 한개만 검색 - DISTINCTROW SELECT DISTINCT 주소 FROM 사원; 속성명 - 두개 이상의 테이블을 대상으로 검색할 때는 테이블명.속성명으로 표현 그룹함수 - GROUP BY절에 지정된 그룹별로 속성의 값을 집계할 함수를 기술 - 그룹 ..
데이터베이스 뷰(View)란? 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블을 말한다. 뷰 이름을 질의어에서 활용할 경우 질의어가 실행될 때 뷰에 정의된 기본테이블로 대체되어 기본 테이블에 대해 실행되게 된다. - 뷰는 임시적인 작업을 위한 용도로 활용됨 - 뷰는 사용상의 편의성을 최대화함 데이터베이스 뷰의 특징 - 기본 테이블에서 유도된 테이블이기 때문에 기본 테이블과 구조가 같음 - 가상 테이블로 물리적으로 구현되어 있지 않음 - 데이터의 논리적 독립성을 제공함 - 필요한 데이터만 뷰로 정의해 처리 가능하기 때문에 관리가 용이함 - 뷰에 나타나지 않은 데이터를 안전하게 보호 가능 - 기본 테이블의 기본키를 포함한 속성 집합으로 뷰를 ..
데이터베이스 정규화 부분은 예제 없이 글로만은 이해하기가 힘들어서 구글링을 많이 했다. 출처는 본문 중간중간에 적혀있다. 데이터베이스 정규화(Normalization)란? 정규화란 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정이다. 바람직한 스키마로 만들어간다는 것은 데이터베이스 설계를 논리적으로 재구성한다는 것으로 이해하면 된다. 이렇게 정규화를 수행하면 불필요한 데이터를 없애거나 삽입/삭제 등의 쿼리 수행 시 발생할 수 있는 각종 이상현상을 방지할 수 있다. - 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정 - 제1정규형, 제2정규형, 제3정규형, BCNF형, 제4정규형,제5정규형이 있음 - 차수가 높아질수록 만족시켜야 할 제약조건이..
관계형 데이터베이스의 관계대수 - 관계형 데이터베이스에서 원하는 정보를 얻기 위해 어떻게 유도하는가를 기술하는 절차적 언어 - 관계대수에는 순수 관계 연산자와 수학적 집합 이론에서 사용하는 일반 집합 연산자가 존재 순수 관계 연산자 : Select, Project, Join, Division 일반 집합 연산자 : UNION(합집합), INTERSECTION(교집합), DIFFERENCE(차집합), CARTESIAN PRODUCT(교차곱) 순수 관계 연산자 Select - 선택 조건을 만족하는 튜플의 부분집합을 구해 새로운 릴레이션을 만드는 연산 - 행에 해당하는 튜플을 구하는 것으로 수평 연산이라고도 함 표기 형식 : σ(R) Project - 속성 리스트에 제시된 속성 값만을 추출해 새로운 릴레이션을 ..