본문 바로가기

전체 글

(81)
[모두의 SQL] 9장. 데이터 무결성과 트랜잭션 데이터 무결성(data integrity) 데이터에 접근하거나 데이터를 처리할 때마다 부적절한 데이터가 입력되는지 검사하여 데이터의 결점없음, 즉 무결성을 유지하게 하는 기본 규칙 데이터 무결성의 종류 개체 무결성(entity integrity): 기본키로 선택된 열은 고유해야하며, null 값을 가질 수 없음 참조 무결성(reference integrity) 기본키와 외래키의 관계 외래키가 있는 테니블의 경우 기본키와 외래키 간의 관계가 항상 유지됨을 보장 참조하는 외래키 존재 시 행은 삭제될 수 없고 기본키도 변경될 수 없음 영역 무결성(domain integrity) 데이터 형태, 범위, 기본값, 유일성에 관한 제한 주어진 속성 값은 그 속성이 정의된 도메인에 속한 값이어야함 비즈니스 무결성(bus..
[모두의 SQL] 9장. 데이터 무결성과 트랜잭션 데이터 무결성(data integrity) 데이터에 접근하거나 데이터를 처리할 때마다 부적절한 데이터가 입력되는지 검사하여 데이터의 결점없음, 즉 무결성을 유지하게 하는 기본 규칙 데이터 무결성의 종류 개체 무결성(entity integrity): 기본키로 선택된 열은 고유해야하며, null 값을 가질 수 없음 참조 무결성(reference integrity) 기본키와 외래키의 관계 외래키가 있는 테니블의 경우 기본키와 외래키 간의 관계가 항상 유지됨을 보장 참조하는 외래키 존재 시 행은 삭제될 수 없고 기본키도 변경될 수 없음 영역 무결성(domain integrity) 데이터 형태, 범위, 기본값, 유일성에 관한 제한 주어진 속성 값은 그 속성이 정의된 도메인에 속한 값이어야함 비즈니스 무결성(bus..
[모두의 SQL] 8장. DML: 데이터의 삽입/갱신/삭제 DML(Data Manipulation Language): 데이터를 조작하는 명령어, 트랜잭션을 다루는 명령어 트랜잭션(transaction): 데이터를 조작하여 저장하는 일련의 과정 DML의 종류 INSERT: 테이블에 새로운 행을 삽입 UPDATE: 테이블에 있는 행의 내용 갱신 DELETE: 테이블의 행 삭제 INSERT 테이블에 새로운 행을 삽입할 때 사용 새로운 데이터를 행 단위로 입력 INSERT INTO 테이블이름[(열이름1, 열이름2, ...)] VALUES (데이터값1, 데이터값2, ...); 실행한 DML 명령어를 최종적으로 데이터베이스에 반영하려면 커밋(commit)을 해야함 UPDATE 기존의 데이터 값을 다른 데이터 값으로 변경할 때 사용 WHERE 조건절 사용 가능, 갱신하려는 ..
[모두의 SQL] 7장. 서브쿼리: SELECT 문 안에 있는 SELECT 문 서브쿼리(sub query) SELECT 문 안에 다시 SELECT 문이 기술된 형태의 쿼리 서브쿼리의 결과를 메인 쿼리에서 받아 처리하는 구조로, 중첩된(nested) 쿼리라고도 부름 서브쿼리의 결과는 메인쿼리의 조건으로 사용 SELECT 열이름1, 열이름2, ... FROM 테이블 이름 WHERE 조건식 연산자 (SELECT 열이름1, 열이름2, ... FROM 테이블 이름 WHERE 조건식); 서브쿼리의 규칙 괄호로 묶어서 사용, 메인쿼리는 괄호로 묶을 필요가 없음 메인쿼리와 서브쿼리를 연결하기 위해 단일 행 연산자나 다중 행 연산자 사용 메인쿼리와 서브쿼리의 연결 형태는 연산자에 따라 의미가 다름 메인쿼리는 연산자의 왼쪽에 기술, 서브쿼리는 오른쪽에 기술 서브쿼리, 메인쿼리의 순서로 SELECT ..
[모두의 SQL] 6장. 조인과 집합 조인: 한 개 이상의 테이ㅘ 테이블을 서로 연결하여 사용하는 기법 조인 기법의 종류 곱집합(cartesian product): 가능한 모든 행을 조인 동등 조인(equi join): 조인 조건이 정확히 일치하는 경우 결과 출력 비동등 조인(non equi join): 조인 조건이 정확히 일치하지 않는 경우 결과 출력 외부 조인(outer join): 조인 조건이 정확히 일치하지 않아도 모든 결과를 출력 자체 조인(self join): 자체 테이블에서 조인하고자 할 때 사용 조인 규칙 SELECT 절에는 출력할 열 이름을 기술 FROM 절에는 접근하려는 테이블 이름을 기술 WHERE 절에는 조인 조건을 기술 FROM 절 외의 절에는 조회의 명확성을 위해 열 앞에 테이블 이름을 붙임 이름이 긴 테이블에 별칭..
[모두의 SQL] 5장. ERD: 데이터베이스 개체 설계도 테이블 데이터를 저장 저장/관리를 위한 일련의 규칙인 키(key)와 제약조건(constraint)를 가짐 기본 키(primary key) 데이터를 식별하는 식별자 역할 null 값을 가질 수 없음 변경될 수 없음 고유 키(unique key) 행에서 유일한 값을 갖는 데이터 값으로 구성 중복 값이 없는 유일한 값을 갖지만, 기본 키가 아닌 데이터 값이 존재 외래 키(foreign key) 참조 테이블의 기본 키, 고유 키를 참조 테이블의 구성 열이자, 다른 테이블과 연결을 위한 열 제약 조건 데이터 무결성(data integrity)을 준수하기 위한 방법으로 활용됨 데이터 무결성: 데이터를 인가되지 않은 방법으로 변경할 수 없도록 보호 종류 기본 키: UNIQUE + NOT NULL을 만족해 테이블을 대..
[모두의 SQL] 4장. 함수: 함수로 데이터 가공 함수: 사용자가 입력값 X 삽입 시 정해놓은 출력값 Y 출력 오라클 데이터베이스 시스템의 함수 문자/숫자/날짜 값 조작 가능 각 데이터 타입끼리 변환 가능 (단일 행 함수 기능) 복수의 행을 조합해 그룹당 하나의 결과로도 출력 가능 (그룹 함수 기능) 함수 사용 목적 데이터 값 계산, 조작 (단일 행 함수) 행의 그룹에 대해 계산, 요약 (그룹 함수) 열의 데이터 타입 변환, 데이터 타입 상호 변환 단일 행 함수: 한번에 하나의 데이터를 처리하는 함수 그룹 함수 여러 건의 데이터를 동시에 처리해 해당 그룹에 해당하는 결과를 반환 GROUP BY 절과 함께 쓰이며, 요약된 정보를 출력해야할 때 유용 데이터 타입 문자 CHAR(n) n 크기만큼 고정 길이의 문자 타입 저장 최대 2000바이트까지 저장 가능 ..
[모두의 SQL] 3장. SELECT: 데이터 조회의 기본 **SELECT** [DISTINCT] **열 이름** [or 별칭(alias)] **FROM 테이블이름** [WHERE 조건식] [ORDER BY 열이름[ASC or DESC]]; 예약어 시스템이 미리 정해놓은 것이므로, 테이블을 만들때도 이름으로 사용할 수 없다 SELECT: 예약어이면서, 열을 선택하기 위한 명령어 SQL문 작성 규칙 대소문자 구별X 가독성과 편집의 용이성을 위해 내용이 달라지면 줄을 나눔 명령어는 여러 줄로 나눌 수 없음 코드 수준에 따른 들여쓰기는 SQL 문장을 좀 더 읽기 쉽게 함 명령어를 대문자로 작성, 나머지를 소문자로 작성 → 가독성이 높아짐 SELECT 명령어 데이터를 ‘선택(조회)한다’는 의미 단순히 선택된 데이터를 화면에 출력 실제 데이터의 값이 데이터베이스에 반영(..