1절. 관계형 DB개요
DB
데이터를 일정한 형태로 저장해 놓은 것
- 계층형 DB : 트리 구조. 1:N
- 네트워크형 DB : 오너와 멤버 형태 M:N
- 관계형 DB : 집합 연산, 관계 연산
관계형 데이터베이스 RDB
파일 시스템 단점
: 동시 삽입/수정/삭제 불가 -> 데이터 관리 어렵 & 복사본 만들어 사용하면 데이터 불일치성
RDB 장점
: 정규화로 이상 제거, 데이터 무결성 보장, 데이터 회복/복구, 병행 제어, 동시성 관리
-> 데이터 공유, 데이터 표현 방법 체계화
SQL 문장
데이터 정의어 DDL : 데이터 정의, 구조 생성/변경/삭제
- CREATE, ALTER, DROP, RENAME
데이터 조작어 DML : 조회, 데이터 변형
- SELECT, INSERT, UPDATE, DELETE
데이터 제어어 DCL : db 접근 주고, 회수
- GRANT, REVOKE
트랜잭션 제어어 TCL : DML 결과를 트랜잭션 별로 제어
- COMMIT, ROLLBACK
ERD Entity Relationship Diagram
관계 의미를 직관적으로 표현하는 수단
구성 요소 : 엔터티, 관계, 속성
표기법 : IE 표기법, Barker표기법
< 틀린 내용 필기 >
비절차적 데이터 조작어(DML)은 사용자가 무슨 데이터 원하는지 명세하는 언어
호스트 프로그램 속에 삽입되어 사용되는 DML 명령어들을 데이터 부속어( Data Sub Language)라고 함
PK 제약조건 생성하는 명령어
create table 테이블이름
(
constraint 제약이름 primary key (속성) );
alter table 테이블이름 add constraint 제약이름 primary key (속성);
SQL server는 컬럼 여러 개 수정 x
NULL
모르는 값. null과 비교하면 알 수 없음 (Unknown)을 반환
고유키, 외래키 : null 입력 가능
테이블의 불필요한 칼럼 삭제
alter table 테이블이름 drop column 칼럼명;
테이블 이름 바꾸기
Rename 원래이름 to 바꿀이름 ;
Delete(/Modify) Action
1. Cascade : 부모 삭제 시 자식도 삭제
2. Set null : 삭제 시 null로
3. Set defauly : 삭제 시 디폴트 값으로
4. Restrict : 연결된 값은 삭제 불가
5. No action : 참조 무결성 위반 행위 x
Insert Action
1. Automatic : 부모에 PK생성 후 자식 o
2. Set null : 부모에 없으면 외래키 Null로
3. Set default : 부모에 없으면 외래키 기본값으로
4. Dependent : 부모에 있을 때만 입력 (없는 건 입력 x)
5. No action : 위반하는 액션 x
삭제 차이
DROP
DDL, 롤백x, Auto커밋, Storage Release, 정의 자체를 삭제
스키마도 삭제
Truncate
DDL(일부 DML), 롤백x, Auto 커밋, Storage초기화
디스크 용량도 삭제
Delete
DML, 롤백o, 사용자 커밋, Storage Release X
데이터만 삭제 o, 용량 삭제X
'Certificate > SQLD' 카테고리의 다른 글
[SQLD] 2장. 데이터 모델과 성능 (2) | 2023.11.09 |
---|