국비 26일차_1

강지수·2024년 1월 19일
0

국비교육

목록 보기
50/97

지난 시간 복습


jumin 필드의 년도별로 묶어서 학생의 평균 키, 평균 몸무게, 합계 키 조사하기


DB / 식별관계와 비식별 관계

식별관계

  • 부모테이블 (상품테이블, 주문테이블) 의 기본키(PK)가 자식테이블 (주문_상품 테이블) 의 외래키이자 기본키로 사용되는 관계
  • 자식테이블의 행 (정보) 를 추가할 때 부모테이블의 참조 행 (상품번호 또는 주문번호) 가 없다면 자식테이블의 행을 추가할 수 없다.
  • 주문_상품 테이블은 상품번호와 주문번호 중 하나라도 없다면 기본키를 만들 수 없게 되고, 기본키가 없어 정보를 식별할 수 없다면 data 를 넣을 수 없다.

식별관계는 실선으로 나타낸다.


비식별관계

  • 부모테이블 (상품테이블, 주문테이블) 의 기본키(PK)가 자식테이블 (주문_상품 테이블) 의 일반칼럼 (column) 이나 외래키 (FK) 에 저장되는 관계
  • 자식테이블의 행 (정보) 를 추가할 때 부모테이블의 참조 행 (상품번호 또는 주문번호) 가 없어도 자식테이블의 행을 추가할 수 있다.

비식별관계는 점선으로 나타낸다.


제약조건 추가 : primary key 추가


제약조건 삭제


제약조건 추가 : foreign key 추가


테이블 생성때부터 제약조건 추가


two table 의 num이 one table 의 no 에 FK 로 제약조건이 달려있기 때문에 만약 one table 의 no 에 없는 필드를 two table 에서 추가하려 하면 오류가 난다.


FK 를 잡을 때엔 부모테이블에 PK 가 있어야 한다.


참조해주는 data 및 table 먼저 삭제 불가


포폴에 들어가는 DB 파트에 관계설정이 들어가 있지 않으면 db 관련 지식 수준이 낮다고 판단하기 때문에 차후 진행할 final project 등에서 db 관계 설정을 넣거나 명시하는 편이 좋다.



시스템 쿼리로 제약조건 조회


Join

join : table 과 table 을 결합



Ansi Join Style


Oracle Join Style


Left Outer Join

left outer join : 왼쪽 table 전체를 오른쪽 table 과 교집합


Ansi Join Style


Oracle Join Style

(+) 가 교집합 할 table 에 들어간다.


Right Outer Join

right outer join : 오른쪽 table 전체를 왼쪽 table 과 교집합


Ansi Join Style


Oracle Join Style


공통 부분 제외


공통 부분만 출력


Full Outer Join

full outer join : 전체 합집합


Ansi Join Style


Oracle Join Style

full outer join 은 따로 쿼리가 없어 union 으로 표현


공통 부분 제외


공통 부분만 출력


Join 활용

emp Table, dept Table 활용
사원 테이블에서 부서 코드에 매칭되는 부서의 이름 출력
출력내용 : empno, ename, deptno, dname


student Table, professor Table 활용
학생과 교수테이블을 join 하여 학생이름, 지도교수번호, 지도교수 이름 을 조회



Update

update : 내용 수정
쿼리 구조 : update 테이블명 set col='value1',cal2='value2' where 조건;


Table Copy


update 는 dml 이기 때문에 commit 해줘야함.






오전 수업 끝

profile
개발자 준비의 준비준비중..

0개의 댓글