CS/DB 4

[DB] WITH, CASE, RECURSIVE, JOIN vs NESTED

#with 절- liveoralce에서는with bigdepts(bdno)    (select dno    from employee    group by dno    having count(*) > 3)select dno, count(*)from employeewhere salary > 40000 and dno in (select bdno from bigdepts) #case 문- live oracle에서는 마지막에 END; 로 끝나야 함 #Recursive- live oracle에서는 지원 안함 #JOIN vs NESTED- 사람이 이해하기는 nested가 쉽지만 연산 효율은 join이 더 좋음- nested는 for 루프처럼 돌아감.ex) r은 100개 튜플, s는 1000개 튜플이라면> nested..

CS/DB 2023.09.26

[DB] 기본 Query

#SELECT-FROM-WHERE-기본 구조:SELECT FROM WHERE  -예제:*이름이 John B.Smith인 직원의 생일과 주소를 검색SELECT Bdate, AddressFROM EMPLOYEEWHERE Fname='John' AND Minit='B' AND Lname='Smith' -예제2:*Research 부서에서 일하는 직원들의 이름과 주소SELECT Fname, Lname, AddressFROM EMPLOYEE, DEPARTMENTWHERE Dname='Research' AND DEPARTMENT.Dnumber=EMPLOYEE.Dno-> Dnumber와 Dno는 사실상 같은 값-> 만약 두 값이 각각 테이블에서 같은 이름으로 저장되었다면 앞에 테이블명을 명시하는 것이 필수-> 해당 경..

CS/DB 2023.09.12

[DB] 무결성 제약 조건

논리적 독립성 = conceptual schema가 바뀌어도 external schema에 영향을 주지 않음-> internal schema는 바뀌어도 되고 안바뀌어도 됨 -> 독립성과 관계 없음 즉, 논리적 데이터 독립성 = ES - CS간 독립성물리적 데이터 독립성 = CS - IS간 독립성 -> IS가 아무리 바뀌어도 CS, ES에 영향 없음(CS, ES의 변화는 IS변화와 상관 없음.) 위에서 아래로의 영향은 받아도되고 안받아도되고(ES - CS - IS 순서로 내려감) IS(DB 물리적 구조) -물리적 구조 사상-> CS(DB 논리적 구조) -논리적 구조 사상-> ES(프로그램 데이터 구조) #진도 시작* {a, b, c}와 {b, a, c} -> 집합이라면 둘은 같은것, * 행 = tuple ..

CS/DB 2023.09.05

[DB] DB의 특징

- DBMS: 데이터베이스를 관리하는 프로그램(Database Management System)- Database Systme: DBMS와 데이터를 포함하는 시스템, 응용프로그램도 포함- Mini-World: 데이터화된 현실 세계- DB의 암묵적 특성    - DB는 현실세계의 어떤 측면을 나타내며, mini-world, universe of discourse(UoD) 라고 불림        - 미니월드의 변경 사항은 DB에 반영    - DB는 어떤 내재적 의미를 가진 데이터의 논리적 모음    - DB는 특정 목적을 위해 설계되고 구축됨        - 의도된 사용자 그룹 또는 미리 구상된 응용 프로그램이 있음    - DB의 크기와 복잡성은 다양        몇 백개의 레코드에서부터 복잡한 레코드 ..

CS/DB 2023.08.29