기본적인 단어의 복습과 암기를 하도록 하겠다.
DB : 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미한다.
DBMS: 효율적인 데이터 관리뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고, 필요한 데이터를 복 구하기 위 한 강력한 기능의 SW
SQL : 관계형 DB에서 데이터 정의 , 조작, 제어를 위해 사용하는 언어
- DML(Data Manipulation Language) : SELECT, INSERT, DELETE, UPDATE
- DDL(Data Definition Language) : CREATE, DROP, ALTER, RENAME
- DCL(Data Control Language) : REVOKE, GRANT
- TCL(Transaction Control Language) : COMMIT, ROLLBACK
테이블 : DB의 기본단위, 데이터를 저장하는 객체
- 가로 = 행 = 로우 = 튜플 = 인스턴스
- 세로 = 열 = 컬럼
정규화 : 데이터의 정합성 확보와 데이터 입력/ 수정/ 삭제 시 발생할 수 있는 이상현상을 방지하기 위해 중복 제거
(*데이터 정합성은 데이터가 서로 모순 없이 일관되게 일치해야 함을 의미한다. )
기본 키(PK, Primary Key) : 테이블에 존재하는 각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 칼럼
외래 키(FK, Foreign Key) : 다른 테이블의 기본키로 사용되고 있는 관계를 연결하는 칼럼
데이터 유형:
- CHAR : 고정길이 문자열정보, 최대 길이만큼 공간을 채움
- VARCHAR2 : 가변길이 문자열정보, 할당된 변숫값의 바이트만 적용
- NUMBER : 정수, 실수등의 숫자 정보
- DATE: 날짜와 시각정보
★DB생성 시 주의할 점
- 테이블 명은 다른 테이블의 이름과 중복되면 안 된다.
- 테이블 내의 칼럼명은 중복될 수 없다.
- 각 칼럼들은 , 으로 구분되고 ; 끝난다.
- 칼럼뒤에 데이터 유형은 꼭 지정되어야 한다.
- 테이블 명과 칼럼 명은 반드시 문자로 시작해야 한다.
- A-Z, a-z, 0-9,_,$,#만 사용가능
제약조건 : 데이터의 무결정 유지
1.PK(기본 키) : UNIQUE & NOT NULL;
2. UNIQUE KEY(고유 키) : 테이블 내의 고유키 정의 (*Null이어도 OK)
3. NOT NULL : NULL 값 입력 x
4. CHECK : 입력값 범위 제한
5. FK(외래 키): NULL 가능, 여러 개 생성가능, 여러 속성가능 ( 보통 기본 키를 다른 테이블의 외래 키로 지정해 둠)
테이블 생성하는 입력문과 조건등을 알아보겠다.
테이블 생성문
Create Table Exam(
Exam_ID CHAER(7) NOT NULL,
Exam_NAME VARCHAR2(20) NOT NULL
);
테이블 구조 변경
- 추가 : ALTER TABLE EXAM ADD(ADDRESS VARCHAR2(80));
- 삭제 : ALTER TABLE EXAM DROP COLUMN ADDRESS;
- 수정 : ALTER TABLE EXAM TEAM_TEMP MODIFY(칼럼명 바꾸고자 하는 칼럼데이터유형) DEFAULT '기본값으로 할 데이터' NOT NULL);
- 제약 조건 삭제 : DROP CONSTRAINT 조건 명;
- 제약 조건 추가 : ADD CONSTRAINT 조건명;
- 테이블 명 변경: RENAME EXAM TO EXAM_PRACTICE;
- 테이블 삭제: DROP TABLE EXAM_PRACTICE;
- 테이블 데이터 삭제 : TRUNCATE TABLE EXAM_PRACTICE;
(* TRUNCATE 는개별적으로 행을 삭제할 수 없으며, 테이블 내부의 모든 행을 삭제한다. 롤백도 안됨)
- 칼럼명 변경 : RENAME COLUMN EXAM_ID TO E_ID;
- 컬럼 삭제: ALTER TABLE 테이블명 DROP COLUMN 칼럼명;
(*DDL은 오토커밋이 되고 DML은 작업 이후 COMMIT을 해줘야 반영이 된다.)
- 데이터 조회 : SELECT 칼럼명 FROM 테이블명;
- 데이터 조회 시 중복제거 : SELECT 칼럼명 FROM 테이블명 DISTINCT ; 중복 시 1회만 출력
- 데이터 수정 : UPDATE 테이블명 INTO 수정될 칼럼명 = 수정할 값 ex_NUMBER = 99;
- 데이터 삭제 : DELETE FROM 테이블명;
트랜잭션 : 밀접히 관련되어 분리할 수 없는 1개 이상의 DB조작(전부 적용하거나 , 전부 취소하거나), 논리적 연산단위 (EX_ 은행 이체 (인출, 입금))
COMMIT : 반영된 데이터를 DB에 반영
ROLLBACK : 트랜잭션 시작 이전의 상태로 되돌림 (COMMIT 되지 않은 모든 트랜잭션을 롤백한다.)
SAVEPOINT: 저장시점을 지정 ex_ Save Transaction S1;
★트랜잭션의 특성 4가지 (원일격영)
1. 원자성 : 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않아야 한다.
2. 일관성 : 트랜잭션 실행 전 DB내용이 잘못되지 않으면 실행 후에도 잘못되지 않아야 한다.
3. 격리성 : 트랜잭션 실행 도중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어내면 안 된다.
4. 영속성 : 트랜잭션이 성공적으로 수행되면 DB에 내용이 영구적으로 저장된다.
'SQL' 카테고리의 다른 글
SQLD 시험 대비 - SQL 기본 (3) (0) | 2023.03.06 |
---|---|
SQLD 시험 대비 - SQL 기본 (2) (0) | 2023.03.05 |
SQLD 시험 대비 - 데이터 모델과 성능 (3) (1) | 2023.03.05 |
SQLD 시험 대비 - 데이터 모델과 성능 (2) (0) | 2023.03.03 |
SQLD 시험 대비 - 데이터 모델과 성능 (1) (0) | 2023.03.01 |