CS 19

[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

[정보보호] 모듈러 연산, 갈로아 필드

※복습- 대칭키 : 치환, 전치 두가지만 있으면 됨    > 치환: 교체(ex. S-Box)    > 전치: 순서 교체  #유클리드 호제법    > 최대공약수 찾기 -> gcd(a, b) #모듈러 연산1. 법- a % n 수행시 n = 법- a % n == b % n 이라면, a≡b(mod n) -> a, b는 법 n에 대해 합동- a ≡ 0 (mod n) 이면, n | a임 - 유클리드 호제법에 대한 재고> 재귀함수로 구현 가능 - 확장 유클리드 호제법    > 최대공약수 d 뿐만 아니라 ax+by=d=gcd(a, b)를 만족하는 x와 y를 구할 수 있음    > x, y의 부호가 다른 것은 자명    > a=42, b=30일때 x, y는? (gcd(42, 30)=6 임에 주목) #군(groups), ..

CS/정보보호 2023.09.20

[정보보호] 암호 기법 종류

※2장: 치환 기법(cont.) - 다른 글자로 바꾸는 것#Playfair 암호- 다중 문자 치환 암호 기법(Multiple-Letter Encryption)    > 단일 문자가 아닌 다중 문자를 암호화 하여 안전도 높임    > 특정 키워드를 기반으로 하여 5x5 matrix 만듦    > 해당 키워드를 사용하여 matrix를 채우고 해당 키워드를 구성하는 문자가 아닌 다른 문자로 나머지 공간을 채움- Ex) 키워드가 Monarchy인 경우:#Playfair 암호화 방법1. 한 쌍이 반복된 글자라면, 'x'같은 filler를 삽입. ex) "ballooon" -> "ba lx lo on"2. 두 글자가 같은 행이라면, 오른쪽으로 민다. ex) "ar" -> "RM"3. 같은 열이라면, 밑으로 민다. ..

CS/정보보호 2023.09.13

[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

[정보보호] 정보보호 개요

* 보안 기법, 암호, 네트워크 보안, 관리방법, 서비스 구조, 매커니즘 등은 표준 대상이며, 표준화된 사례가 많음* NIST, ISOC, ITU-T, ISO 등 기관* 표준화는 매우 중요, 국제적 호환성  ※1장 : 개요#컴퓨터 보안 개요- 정의(NIST - 가장 영향력있는 표준화기관): 정보 시스템 자원에 대한 무결성(Integrity)과 가용성(Availability), 기밀성(Secrecy, Confidentiality) 유지와 같은 목적 달성을 위해 자동화된 정보 시스템에 적용되는 보호    ▶ 1. 무결성: 정보와 프로그램이 오직 특정인가된 방법에 의해서만 변경되는것(데이터 무결성), 시스템이 원하는 기능을 손상되지 않은 형태로 수행되거나, 비인가 조작이 수행되거나 하지 않도록 보장(시스템 무..

CS/정보보호 2023.09.06

[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

OS-0613 : Demand Paging

*Page fault 처리 #Address Translation, Revisited 가정: 32bit 시스템 - 페이지 사이즈가 1KB라면(2^10), 페이지 테이블에는 2^22(400만)개의 엔트리 존재, 각각 최소 몇바이트씩 차지 - 문제: 메인 메모리가 16MB라면, 문제가 됨 - 해결: 페이지 테이블을 가상 메모리에 저장하고, 필요한 부분을 필요할 때마다 가져옴 - 새로운 문제: 메모리 액세스 시간이 두배로 증가, 페이지 테이블이 페이징의 영향을 받음 > 페이지 테이블에서 정보 가져오는 액세스, 메모리에서 데이터 가져오는 액세스 - 해결: TLB 사용하여 페이지 테이블 엔트리를 캐시 *TLB는 하드웨어 캐시에 저장됨 #Translation Lookaside Buffer(TLB) - TLB는 pag..

OS-0606: Page Replacement(L28)

#Page replacement policy - 프레임이 필요한데 꽉 찼을 때 무엇을 쫓아내나(1프레임당 1페이지만 가짐) 1. Random - 아무거나 2. FIFO - 가장 오래된거 3. Optimal(minimal) > 가장 오랫동안 참조되지 않을(미래형) 페이지를 쫓아냄 > 미래를 예측해야 함 > 실제로 구현되지 않음 > 다른거 평가하는 용으로 사용(SJF처럼) 4.★ LRU(Least Recently Used) > 과거로 미래 예측 > 가장 오랫동안 참조되지 않은 것 쫓아냄 1. FIFO frame1 = a a d frame2 = b b a frame3 = c b * Page references = 페이지 참조되는 순번 *page fault는 가장 최초에 아무것도 없는 상태에서 1번은 무조건 일..

OS-0606: File system imporved, Disk Management(L32, 33)

#(L32)Disk Hardware - Seek time - 헤드 포지션을 잡는 시간 - Rotational delay - 헤드 밑에 원하는 섹터가 오는 시간 #Disk Access time - 일반적 수치: > 트랙 당 32~64섹터 > 1KB당 섹터 - 데이터 전송 속도는 초당 헤드 아래로 회전하는 바이트 수 > 1KB/섹터 * 32섹터/회전 * 120회전/초 = 4MB/s - 디스크 I/O 시간 = seek+rotation delay+transfer > seek = avg 5ms > rotation = avg 4ms > 1KB = 0.25ms > I/O = 9.25ms/KB, 100KB/s정도 - 반면 메모리 접근은 20MB/s(200배 빠름) #Selecting the Sector size - r..