목록DB (7)
FireDrago
계좌이체 작업을 데이터베이스에 저장한다고 생각해보자 우선 이체하는 사람에게서 이체금액을 뺀다. -- 1번 작업 이체 받는 사람에게 이체금액을 더한다. -- 2번 작업 최소 두번 이상의 작업이 필요하다. 만약 1번 작업 이후에 에러가 발생하여 2번작업이 실행되지 않으면 어떻게 될까? 이체하는 사람은 이체금액이 빠졌는데, 이체받는 사람은 돈이 입금되지 않는 엄청난 사고가 발생할 것이다. 이런 오류를 막기위해, 데이터베이스는 여러작업을 하나의 단위로 묶는 트랜잭션 기능을 제공한다. 트랜잭션 기능을 수행하기 위해, 데이터베이스는 Commit 과 Rollback 명령어를 지원한다. 1번, 2번 작업이 모두 수행되어 작업이 안전하게 끝났다면, Commit 명령어로 변경사항을 DB에 반영한다. Commit 이후부터 ..
제약조건 데이터 결함을 방지하기 위해 미리 제한하는 조건 기본키 (PRIMARY KEY) - 데이터를 구분하기 위한 '식별자' - 중복값 , NULL 값 입력 불가 외래키 (FOREIGN KEY) - 두 테이블 사이의 관계를 연결 - 다른 테이블의 '기본키'와 연결 고유키 (UNIQUE) - 중복되지 않는 유일한 값 (기본키와 동일) - NULL 값 허용 (기본키와 차이) 체크 (CHECK) - 입력되는 데이터를 점검 기본값 (DEFAULT) - 입력값을 입력하지 않았을때 자동 입력되는 값 (NULL)(NOT NULL) - null 허용 , null 불허용( 반드시 값 입력) 1. 기본키 CREATE TABLE EXAMPLE ( mem_id CHAR(3) PRIMARY KEY, -- NULL, 중복값 금..
join - 여러 테이블의 내용을 합쳐서 하나의 결과를 만들어 내는 것 내부조인 SELECT FROM INNER JOIN ON (WHERE 검색조건) SELECT DISTINCT M.id, M.name, M.address - M 은 별칭 FROM buy B - buy 테이블에 조인 (기준) INNER JOIN member M - member 테이블을 조인 M 별칭 ON B.id = M.id ORDER BY M.id; - id 기준으로 정렬
SELECT 문은 테이블에서 데이터를 가져올때 사용한다. SELECT 문을 총 정리해보았다. 상황에 맞게 골라써 써보자 SELECT DISTINCT - 중복된 값을 하나의 값으로 나타내기 위해서 써준다. SELECT DISTINCT name FROM table; 열_이름 - select 는 칼럼부터 탐색한다. 집계함수 - group by 와 자주 같이 사용된다. 데이터를 '그룹화 한다.' SELECT name , SUM(price * amount) "총가격" FROM table GROUP BY name; FROM 테이블 WHERE = - 일반적인 조건식 SELECT * FROM table WHERE id = 'kim'; 관계연산자 - 작거나 같다 등 관계를 나타냄 - SELECT * FROM table ..
SQL의 DML (데이터 제어문)은 가장 중요하고 많이 쓰인다. DDL을 통해 정의된 데이터를 바탕으로 데이터를 추가, 조회, 수정, 삭제하는 역할을 한다. INSERT (데이터 삽입) INSERT 명령 규칙 INSERT INTO VALUES 모든 필드 값을 입력하기 INSERT INTO MEMBER VALUES ('name', '111', '홍길동', '1995-02-02'); 모든 값 순서대로 다 입력해줘야 함 원하는 필드만, 원하는 순서로 입력하기 INSERT INTO MEBER(ID, PWD) VALUES ('DDD', '111'); INSERT INTO MEMBER(PWD,ID) VALUES ('111', 'DDD'); COLUMN 순서 변경가능 SELECT (데이터 조회) SELECT * FR..
문자열 데이터 타입 데이터타입 설명 CHAR (byte) (size , CHAR) CHAR(10) 이면 빈공간 공백으로 채움 고정길이 / 최대 2000byte /기본 1byte VARCHAR2 (byte) (size, CHAR) VARCHAR2(10) 빈 공간은 반환 가변길이 / 최대 4000byte /기본 1byte NCHAR(size) 유니코드 문자 (영어 이외의 문자) 입력가능 /최대 2000byte NVARCHAR2 (size) 가변길이 유니코드문자 / 최대 2000byte CLOB 대용량 텍스트 데이터 타입 (최대 4GB) NCLOB 대용량 유니코드 텍스트 데이터 타입 (최대 4GB) 숫자형 데이터 타입 데이터 타입 설명 NUMBER (P) NUMBER (P, S) 가변숫자 / P(1~38, 디..
1. 데이터베이스 (DB) 데이터베이스(DB)는 데이터의 중복을 제거하고, 통합하여 관리하는 데이터의 집합을 말한다. 데이터를 한 장소에 모음으로써 데이터의 중복을 줄이고, 데이터를 효율적으로 관리할 수 있다. 데이터베이스의 종류중에서 가장 많이 사용되는 것은 관계형 데이터베이스(RDBMS)이다. 관계형 데이터베이스는 2차원의 행과 열로 데이터를 표시한다. 비교적 간단하게 데이터를 저장하기때문에 SQL 역시 복잡하지 않다. 데이터베이스는 테이블스페이스 라는 공간에 데이터를 저장한다. 테이블스페이스는 각각의 데이터를 담고있는 테이블과, 데이터를 검색하기위한 색인과 같은 역할을 하는 인덱스 등으로 구성되어있다. 테이블과 인덱스등의 테이블스페이스의 논리적구성을 스키마(SCHEMA) 라고 한다. 2. SQL 데..
