DB 중간고사 대비

2025. 5. 1. 07:38·🏫 한동대학교/Database
728x90
  • <, <=, >, >=, =, <>(!=를 의미)
    • WHERE salary > 70000
  • BETWEEN A AND B
    • WHERE salary BETWEEN 900 AND 1000
  • Tuple comparison
    • WHERE (instruction.ID, dept_name) = (teahces.ID, 'Biology');
  • IS NULL
    • WHERE salary IS NULL
  • IS NOT NULL
    • WHERE salary IS NOT NULL
  • SET
    • UNION
      • (SELECT course_id FROM teahces WHERE semester = 'Fall' AND year 2017)
        UNION
        (SELECT course_id FROM teahces WHERE semester = 'Spring' AND year 2018)
    • INTERSECT -> 교집합
      • SELECT LT.course_id
        FROM (SELECT course_id FROM teaches WHERE semester = 'Fall' AND year = 2017)
        AS LT
        JOIN (SELECT course_id FROM teaches WHERE semester = 'Spring' AND year = 2018)
        AS RT
        ON LT.course_id = RT.course_id;
    • EXCEPT -> 차집합
      • SELECT course_id FROM teahces 
        WHERE semester = 'Fall' AND year 2017 
        AND course_id NOT IN (SELECT course_id FROM teahces WHERE semester = 'Spring' AND year 2018);
  • String Operations
    • percent (%) - substring
    • underscore (_) - 글자수
    • WHERE name LIKE '%ri%'
      • 기호를 쓰고 싶으면 \를 쓴다.
        • LIKE '100\%'
      • ""가 아닌, ''를 써야 한다. 
      • Escape Character
        • LIKE '100 \%' ESCAPE '\'
        • \를 사용해서 Escape를 구분한다.
  • Primary Key vs Unique

  • Integrity Constraints
    • DEFAULT
      • genre VARCHAR(20) DEFAULT 'Comedy'
    • CHECK A IN ()
      • genre VARCHAR(20) DEFAULT 'Comedy' CHECK genre IN ('Comedy', 'Action', 'Drama')
  • FOREGIN KEY
    • FOREGIN KEY (dept_name) REFERENCES department
  • WITH 절
    • WITH D(dept_name, avg_salary) AS
      (SELECT dept_name, AVG(salary)
      FROM instructor
      GROUP BY dept_name)

      SELECT dept_name, avg_salary
      FROM D
      WHERE avg_salary > 42000;
  • Set Membership
    • IN
      • genre IN ()
    • NOT IN
      • genere NOT IN()
  • Set Comparison
    • SOME : 적어도 하나
    • ALL : 모든 값
  • EXISTS : 뭔가 있다!
    • WHERE EXISTS ()
  • NOT EXISTS :  아무것도 없다!
    • WHERE NOT EXISTS ()
  • UNIQUE : 중복이 없다!
    • WHERE UNIQUE ()
  • ALTER
    • 컬럼 추가 : ALTER TABLE table_name ADD column_name column_type;
      • ALTER TABLE instructor add salary NUMERIC(4,1);
    • 컬럼 삭제 : ALTER TABLE table_name DROP column_name;
      • ALTER TABLE instructor DROP salary;
    • 기본키 추가 : ALTER TABLE table_name ADD PRIMARY KEY column_name;
      • ALTER TABLE instructor ADD PRIMARY KEY ID;
    • 기본키 삭제 : ALTER TABLE table_name DROP PRIMARY KEY;
      • ALTER TABLE instructor DROP PRIMARY KEY;
    • 외래키 삭제 : ALTER TABLE table_name DROP FOREIGN KEY fk_name;
      • ALTER TABLE instructor DROP FOREIGN KEY instructor_ibfk_1;
    • 컬럼 수정 + DEFAULT 값 설정 : ALTER TABLE table_name MODIFY column_name column_type DEFAULT set_value;
      • ALTER TABLE test MODIFY age INT DEFAULT 10;

 

  • 디비 설계 시 주의할점
    1. 중복 Redundance : "같은 정보를 여러 번 반복해서 저장하는 문제"
    2. 불완전성 Incompleteness : "중요한 정보를 표현할 수 없는 문제"
  • E-R 다이어그램
    • 사각형 : 엔티티 (Entity set)
    • 마름모 : 관계 (Relationship set)
    • 밑줄 : primary key
    • 점선 연결 + 작은 사각형 : 관계의 속성
속성 종류 설명 예시
단순 속성 쪼갤 수 없는 값 ID, age, salary
복합 속성 여러 하위 속성으로 구성 name → first, last
중첩된 복합 속성 복합 속성 안에 또 복합 address → street → name, number
다중 속성 여러 값을 가질 수 있음 {phone_number}
유도 속성 계산으로 얻어짐 age() from birth



728x90

'🏫 한동대학교 > Database' 카테고리의 다른 글

DB10 - Transcation  (0) 2025.05.26
DB09cdef - Advanced SQL  (0) 2025.05.26
[DB] DB09ab - Advanced SQL  (0) 2025.04.28
DB08 - Normalization  (0) 2025.04.17
DB07 - ER model  (0) 2025.04.07
'🏫 한동대학교/Database' 카테고리의 다른 글
  • DB10 - Transcation
  • DB09cdef - Advanced SQL
  • [DB] DB09ab - Advanced SQL
  • DB08 - Normalization
pangil_kim
pangil_kim
기록을 통해 지속적인 성장을 추구합니다.
멈추지 않는 기록기록을 통해 지속적인 성장을 추구합니다.
    250x250
  • pangil_kim
    멈추지 않는 기록
    pangil_kim
  • 전체
    오늘
    어제
  • 📝 글쓰기
      ⚙️ 관리

    • 분류 전체보기 (480) N
      • 💻 개발 (115) N
        • ※ 참고 지식 (5)
        • 📀 MySQL (24)
        • 🌸 Spring Boot (5)
        • 🟩 Node.js (7)
        • 🦕 React (5)
        • 🎩 Next.js (25) N
        • 📘 TypeScript (4)
        • 🌈 CSS (4)
        • 🌀 Dart (2)
        • 🧑🏻‍💻 코테 (23)
        • 🕸️ 알고리즘 (3)
        • 🩵 Flutter (8)
      • 📽️ 프로젝트 (5)
        • 캡스톤디자인2 (5)
      • ✍🏻 회고 (7)
      • 📰 정보 공유 (12)
      • 🏫 한동대학교 (138)
        • Database (15)
        • Software Engineering (18)
        • EAP (22)
        • 일반화학 (26)
        • 25-1 수업 정리 (19)
        • Computer Networking (36)
        • OPIc (2)
      • 🧎🏻 묵상 (107) N
        • ⛪️ 설교 (33) N
        • 🙏 QT(날솟샘) (74)
      • 🎶 찬양 (91)
        • 어노인팅 (82)
        • GIFTED (1)
        • LEVISTANCE (1)
        • 마커스 (3)
        • 아이자야 씩스티원 (1)
        • FIA 워십 (3)
  • 최근 글

  • 인기 글

  • 태그

    csee
    Database
    SQL
    SQLD
    날솟샘
    CHEMISTRY
    예배
    computer networks and the internet
    프론트엔드
    유태준교수님
    화학
    어노인팅
    CCM
    글로벌리더십학부
    QT
    typeScript
    찬양
    한동대학교
    날마다 솟는 샘물
    웹개발
    네트워킹
    컴네
    전산전자공학부
    FE
    설교
    묵상
    고윤민교수님
    일반화학
    GLS
    데이터베이스
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.4
pangil_kim
DB 중간고사 대비

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.