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
  • 전체
    오늘
    어제
  • 📝 글쓰기
      ⚙️ 관리

    • 분류 전체보기 (313) N
      • 💻 개발 (125) N
        • ※ 참고 지식 (6)
        • 📀 MySQL (24)
        • 🌸 Spring Boot (5)
        • 🟩 Node.js (7)
        • 🦕 React (6)
        • 🎩 Next.js (25)
        • 📘 TypeScript (4)
        • 🌈 CSS (4)
        • 🌀 Dart (2)
        • 🧑🏻‍💻 코테 (25)
        • 🕸️ 알고리즘 (4)
        • 🩵 Flutter (9)
        • 📒 JavaScript (4) N
      • 📽️ 프로젝트 (5)
        • 캡스톤디자인2 (5)
      • ✍🏻 회고 (11) N
        • 우테코 (3) N
      • 📰 정보 공유 (12)
      • 🏫 한동대학교 (153) N
        • Database (15)
        • Software Engineering (18)
        • EAP (22)
        • 일반화학 (26)
        • 25-1 수업 정리 (19)
        • Computer Networking (36)
        • OPIc (2)
        • 클라우드 컴퓨팅 (4)
        • 미술의 이해 (11) N
  • 최근 글

  • 인기 글

  • 태그

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

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

티스토리툴바