본문 바로가기
728x90

Quality control (Univ. Study)196

Internet Protocol(2) NAT NAT는 Network Address Translation의 약자로 IP주소가 충분히 할당 받지 못했을때 local network 상에서 자체적으로 host에게 주소를 나눠주고 network를 연결하기 위해 필요한 기술이다. 위 그림의 router가 NAT server의 역할을 하게 된다. 어떤식으로 translation이 진행되는지 아래 그림을 통해 살펴보자. host에서 본인의 port number를 router에게 보내주면(위 그림에서 3345) router는 남는 번호중 random하게 설정하여(위 그림에서 5001) 외부에 전송을 한다. 32비트의 IP주소는 router의 주소이기에 데이터가 router에 도착하면 router는 본인이 지정했던 번호인 5001이 포함된 데이터를 받고 해당.. 2023. 11. 2.
Internet Protocol(1) Internet network layer Network layer는 transport layer 밑에, link layer 위에 존재하는 layer이다. IP datagram은 아래의 format을 따른다. Fragmentation and Reassembly Fragmentation와 Reassembly는 IP에서 핵심 기술중 하나이다. 우선 MTU는 Maximum Transfer Unit의 줄임말로 최대 전송 크기를 의미한다. Fragmentation 과정에서 큰 IP 데이터그램이 네트워크 내에서 여러 개의 작은 데이터그램으로 나눈다. Reassembly과정에서 단편화된 데이터그램은 최종 목적지에서만 다시 조립하는 것이다. Datagram의 분리와 재조립 과정을 보면 아래와 같다. offset이 결정되.. 2023. 11. 1.
Relation schema design protocol and Functional Dependencies Relation schema design protocol 관계형 데이터베이스 설계란 좋은 릴레이션 스키마를 생성하기 위하여 애트리뷰트들을 그룹핑하는 과정이다. 이때 좋은 릴레이션 스키마의 기준은 단순성과 무결성으로 크게 볼 수 있으나 복합적인 기준이 반영이 되어야할 것이다. 아래를 보면 같은 데이에 대해 좋은 relation schema와 나쁜 relation schema가 예시로 나와있다. 먼저 좋은 릴레이션 설계에 관한 개괄적인 지침을 논의한 후, 함수적 종속성과 정규형 개념에 관해 논의한다. 릴레이션 스키마를 형성하기 위해 애트리뷰트들을 집단화 하는 경우, 한 릴레이션에 속하는 애트리뷰트는 실세계에서 어떤 의미를 가져야 한다. 여러 엔티티(EMPLOYEE, DEPARTMENT, PROJECT)의 애.. 2023. 10. 31.
Login page Simple DB 로그인 페이지를 테스트하기 위한 간단한 DB를 만들어주었다. CREATE DATABASE week10; USE week10; CREATE TABLE user ( Id VARCHAR(255) PRIMARY KEY, Password VARCHAR(255), Role VARCHAR(255) ); CREATE TABLE department ( Id int PRIMARY KEY, Dname VARCHAR(255), Dnumber int ); INSERT INTO user (Id, Password, Role) VALUES ('admin', 'admin1234', 'super'), ('student1', 'st1234', 'student'); INSERT INTO department (Id, Dna.. 2023. 10. 31.
Network Layer Network Layer 네트워크 계층은 세번째 계층으로 전송중인 호스트로부터 수신 호스트까지의 transport 세그먼트를 다룬다. 송신 측에서는 transport 세그먼트를 데이터그램으로 캡슐화한다. 수신 측에서는 transport 세그먼트를 전송 계층으로 전달한다. 모든 호스트와 라우터에는 네트워크 계층 프로토콜이 있다. 라우터는 그것을 통과하는 모든 IP 데이터그램의 헤더 필드를 검사한다. Forwarding/Routing 네트워크 계층의 핵심적인 두 function은 forwarding과 routing이다. 라우팅(routing)은 컴퓨터 네트워크에서 데이터 패킷이 소스에서 목적지까지 통과해야 하는 경로를 결정하는 과정이다. 효과적이고 효율적으로 패킷을 목적지까지 전달하기 위해 routing 알.. 2023. 10. 27.
SQL 실습 (2) 널 값을 포함한 비교 널 값의 세 가지 의미 • 첫째: Unknown value, 알려지지 않은 값 (존재하지만 알지 못하는) • 둘째: Unavailable or withheld value, 이용할 수 없거나 보류해둔 값 (존재하지만 의도적으로 보류한) • 셋째: Not applicable attribute, 적용할 수 없는 애트리뷰트 (이 투플에는 정의되지 않는) ㅇ애트리뷰트의 값이 NULL인지 검사하는 연산자 • IS NULL / IS NOT NULL 상사가 없는 모든 종업원들의 이름을 검색하시오. SELECT FNAME, LNAME FROM EMPLOYEE WHERE SUPER_SSN IS NULL; SUPER_SSN = NULL과 같이 비교 연산자를 이용하여 NULL과 비교하는 것은 불가능하다... 2023. 10. 20.
SQL 실습(1) DB schema 중요한 SQL문에 대해서 공부해보자. 우선 SQL문을 테스트 해보기 위한 COMPANY DB schema를 만들어두자. CREATE TABLE EMPLOYEE ( Fname VARCHAR(10) NOT NULL, Minit CHAR, Lname VARCHAR(20) NOT NULL, Ssn CHAR(9) NOT NULL, Bdate DATE, Address VARCHAR(30), Sex CHAR(1), Salary DECIMAL(5), Super_ssn CHAR(9), Dno INT NOT NULL, PRIMARY KEY (Ssn)); CREATE TABLE DEPARTMENT ( Dname VARCHAR(15) NOT NULL, Dnumber INT NOT NULL, Mgr_ssn C.. 2023. 10. 20.
SQL기초 SQL SQL은 Structured Query Language의 줄임말로 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리할때 이용하는 언어이다. 데이터베이스 언어 SQL 문법의 종류를 살펴보면 크게 3종류이다. 데이터 정의 언어 (DDL : Data Definition Language) ex) CREATE, DROP, ALTER 데이터 조작 언어 (DML : Data Manipulation Language) ex) SELECT, INSERT, DELETE, UPDATE 데이터 제어 언어 (DCL : Data Control Language) ex) GRANT, REVOKE, SET TRANSACTION, BEGIN, COMMIT,.. 2023. 10. 20.
Relational Data Model 관계 모델 Table ≒ Relation 관계 모델의 용어를 보면 행은 튜플, 열은 애트리뷰트, 테이블은 릴레이션이라고 불린다. 따라서 관계모델에서 데이터베이스는 릴레이션(테이블)들의 모임으로 표현되고 릴레이션은 투플(행, 레코드)들의 집합으로 표현되고 투플은 애트리뷰트(컬럼, 필드, 혹은 속성)들로 구성된다. 일반적으로 ER 모델링 이후에 관계 모델로 변환을 하는 방식으로 DB구성이 이루어진다. Relation의 특성 우선 릴레이션은 튜플들의 집합으로 정의되는데 집합에서 원소의 순서가 무의미한 것과 마찬가지로 투플의 순서 역시 의미가 없다. 애트리뷰트 값들의 순서도 중요하지 않다. 이를 보다 일반적인 튜플의 정의라고 볼 수 있다. 애트리뷰트의 원자성이라는 특징도 있다. 투플 내의 각 값은 더 이상 나눌.. 2023. 10. 20.
728x90