2024 05 07 SQL [데이터 모델링]

김필립·2024년 5월 7일

SQL

목록 보기
8/10

몸이 너무아프 고 졸빋다
👶📗📘📙📚📖📃📂🤔🎷✍🍼🔒🔓🔏🔐💾🔑📃📜📄📑📰📂📁🍼🔒


  • SQL 실행 순서 :
    Parsing -> Excution -> Fetch
    구문분석 -> 쿼리실행(옵티마이저) -> 검색
    • Parsing : 분할, 바꾼다

  • 프로그래밍에서는 시간도 비용으로 여긴다.
  • DEPT 테이블을 먼저 읽는 것이 최저비용이다.

  • 규칙기반 옵티마이저 : 정석
    비용기반 옵티마이저 : 최저비용

  • 인덱스는 테이블당 4~5개 정도를 사용하는 것이 적절하다.

  • 실행 계획은 옵티마이저가 짠다.

  • T-SQL = MYSQL

  • 프로시저 = 사용자 정의 함수

  • 인자 = 매개변수 = 파라미터

  • 커서를 사용하는 이유 :
    대용량의 데이터를 사용할 때
    전체 행이 아닌 한 행씩 가져오기 위해
  • 커서를 사용할 때의 장점 :
    속도가 빨라지고, 메모리 사용량도 줄어듦
  • 커서를 사용할 때의 단점 :
    비교, 검색시에는 전체 행을 가져오는 것이 유리함

  • 트리거 = DB의 객체, 감지 후 반응
  • 데이터 변경 = 이벤트

  • DECLARE = 커서를 만듦

☆ 암기

  • 개념적 모델링 :
    개체 추출 -> 관계 정의 -> ER다이어그램 작성
  • 두 릴레이션을 이어주는 역할을 할 때는
    다이아몬드 모양의 릴레이션 사용
  • 관계가 있다면 무조건 선으로 연결해준다

  • 사상 = 매핑 = 연결시켜줌

  • 최적의 성능 = 응답속도

  • 다중값 속성은 쪼갤 수 없음, 여러 개일 수는 있음
  • 복합 속성은 쪼갤 수 있음 (원자성 위배)

  • 일진관계 : 내가 나를 참조하는 관계

  • 순환적 관계 = 일진관계

  • 이상현상이란?
    잘못 설계된 DB모델링 때문에 발생된 것
    데이터조작시 이상현상 발생
  • 데이터조작 : 테이블에 데이터 삽입, 삭제, 수정
    삽입이상) 행 삽입시 특정 속성에 해당하는 값이 없어 NULL값을 입력해야 하는 경우
    삭제이상) 행 삭제시 연쇄적으로 삭제 현상 발생
    수정이상) 하나의 릴레이션에서 값 수정,
    다른 릴레이션의 동일한 속성은 수정X
    수정의 경우 데이터 일관성에 위배

  • 역정규화, 반정규화 : 여러개의 릴레이션을 하나로 결합하는 것
  • 역정규화, 반정규화를 하는 이유 : 검색속도 향상

  • A->B
    • B는 A에 종속된다.
    • A는 B의 결정자이다.

  • 정규화시 주의사항
    기본키가 복합키인 경우 무조건 정규화를 해준다고 생각할 것


24.05.07_DB.txt
12KB

profile
기억에 남는 사람입니다

0개의 댓글