SQLD(SQL 관리 구문)

2025. 8. 18. 16:40·이론공부/자격증

참고자료 : https://blog.naver.com/ekf1121_?Redirect=Log&logNo=223481107906&from=postView&trackingCode=blog_bloghome_searchlist

 

□ 제약조건의 종류

  • PRIMARY KEY(기본키)
  • UNIQUE KEY(고유키)
  • NOT NULL
  • CHECK
  • FOREGIN KEY(외래키)

□ 기본키 할당

ALTER TABLE 테이블명 
ADD CONSTRAINT constraint_name PRIMARY KEY(칼럼명1, 칼럼명2)

□ 트랜잭션의 특성(ACID)

  1. Atomicity (원자성)
    • 트랜잭션의 작업은 모두 수행되거나(All) 전혀 수행되지 않아야 함(None).
    • 중간에 일부만 실행되고 실패하면 이전 상태로 롤백(Rollback) 되어야 함.
  2. Consistency (일관성)
    • 트랜잭션 전후로 데이터베이스가 무결성 제약조건을 항상 만족해야 함.
    • 예: 은행 계좌 이체 시, A 계좌에서 10,000원이 빠지면 B 계좌에 10,000원이 들어가야 총합은 동일.
  3. Isolation (고립성, 격리성)
    • 동시에 여러 트랜잭션이 실행되더라도 서로의 작업에 간섭하지 않아야 함.
    • 트랜잭션이 완료되기 전까지 다른 트랜잭션에서 그 중간 데이터를 볼 수 없음.
  4. Durability (지속성)
    • 트랜잭션이 성공적으로 커밋되면 그 결과는 시스템 장애가 발생해도 보존되어야 함.
    • 디스크나 로그에 기록하여 보장.

□ DELETE(MODIFY) ACTION

  1. CASECADE : Master 삭제 시 Child 같이 삭제
  2. SET NULL / SET Default : "" NULL값 처리 / 기본값
  3. RESTRICT : Child 테이블에 PK값이 없는 경우에만 Master 삭제 가능
  4. No Action : 참조 무결성을 위반하는 삭제나 수정 액션 X
DROP TRUNCATE DELETE
ROLLBACK 불가(Auto Commit) ROLLBACK 불가(Auto Commit) 사용자 Commit 이전 ROLLBACK 가능
테이블이 사용했던
Storage를 모두 Release
최초 테이블 생성 시 할당 된
Storage 남기고 Release
데이터 모두 Delete해도
Storage Release 되지 않음
테이블 정의 자체를 완전히 삭제 테이블을 최초 생성된 초기 상태로 만듦 데이터만 삭제

□ INSERT ACTION

  1. Automatic : Master PK 자동으로 생성 후 Child 입력
  2. SET NULL / Default : PK가 없으면 NULL 값 처리 / 기본 값
  3. Dependent : Master 테이블에 PK가 존재할 때만 Child 입력 허용
  4. No Action : 참조 무결성을 위반하는 액션 X

□ DB 키의 종류

  • 기본키 : 엔터티를 대표하는 키(NULL 값 불가)
  • 후보키 : 유일성과 최소성 만족
  • 슈퍼키 : 유일성만 만족
  • 대체키 : 기본키 제외 나머지
  • 외래키 : 여러 테이블의 기본 키 필드, 참조 무결성을 확인하기 위해 사용(NULL 값 가능)
  • 고유키 : 고유한 값 보장(NULL 값 단 1개만 가능)

'이론공부 > 자격증' 카테고리의 다른 글

SQLD(SQL 활용)  (1) 2025.08.18
SQLD(SQL 기본)  (2) 2025.08.18
SQLD(데이터 모델과 SQL)  (2) 2025.08.18
SQLD(데이터 모델링)  (3) 2025.08.15
네트워크관리사 2급  (3) 2025.08.06
'이론공부/자격증' 카테고리의 다른 글
  • SQLD(SQL 활용)
  • SQLD(SQL 기본)
  • SQLD(데이터 모델과 SQL)
  • SQLD(데이터 모델링)
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
        • 자격증
        • 개념
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • DB
      • AWS
      • CI-CD
      • 웹
      • git & github
      • 구인공고분석
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Java 생성자
    java 제어자
    java enhance switch
    java 세수의합
    프로그래머스 java 기초트레이닝
    java super
    프로그래머스 java 기초 트레이닝
    데이터 타입
    java two-pointer
    java 에라토스테네스의 체
    java 메서드
    Java this
    java
    java arrays.copyofrnage()
    java기초
    개발로드맵
    데이터 크기
    java 유클리드 호제법
    자료구조
    java 멤버
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
SQLD(SQL 관리 구문)
상단으로

티스토리툴바