강의 내용 정리(126)
-
데이터 베이스(4), SQL 개요 및 데이터 무결성
SQL 개요 1. SQL 개요 1) SQL 개요 다양한 상용관계 DBMS마다 지원하는 SQL의 기능에는 다소 차이가 있을 수 있다. 관계 데이터 모델은 집합을 기반으로 두고 있어 테이블 내에 동일한 튜플을 허용하지 않지만 SQL은 이를 허용한다. 2) SQL의 발전 역사 SQL 2 버전을 많이 사용한다. SQL 3 버전은 SQL 2 버전보다 더 많은 기능이 추가되었다. 3) SQL 특징 SQL은 비절차적 언어(선언적 언어)이므로 사용자는 자신이 원하는 바만 명시하며, 원하는 것을 처리하는 방법은 명시할 수 없다. 관계 DBMS는 사용자가 입력한 SQL문을 번역하여 사용자가 요구한 데이터를 찾는데 필요한 모든 과정을 담당한다. 자연어에 가까운 구문을 사용하여 질의를 표현할 수 있다. 두 가지 인터페이스가 ..
2022.10.21 -
데이터 베이스(3), 관계 대수와 SQL
관계 대수와 SQL 1. 관계 대수 1) 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어 (1) 관계 해석 원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 선언적인 언어로 이는 집합에서의 조건제시법과 유사한 특징을 가진다. ex) {n | n is even, n in R}, {t[name] | t는 EMP에 포함된다.} (2) 관계 대수 어떻게 질의를 수행할 것인가를 명시하는 절차적인 언어로 연산을 어떤 순서로 작성할 것인지 명시하는 것을 의미한다. sql을 처리할 때는 질의어를 관계 대수로 전환해서 처리하게 된다. cf) SQL DBMS의 사실상 표준 질의어 상용 관계 DBMS들의 사실상의 표준 질의어인 SQL을 이해하고 사용할 수 있는 능력은 매우 중요하다. 2) 관계 대수..
2022.10.19 -
풀스택 서비스 네트워킹(6), HTTP/1.1
HTTP/1.1 1. HTTP/1.1의 이해 1) Web Client and Web Server 서버에서 가장 많이 사용하는 방식은 HTTP이다. 클라이언트가 request를 보내면 서버는 response를 보낸다. (1) Resources 클라이언트가 요청하고 서버가 제공하는 자료 Static content 클라이언트로부터 요청을 받았을 때 이미 자료가 있는 경우 Dynamic content 클라이언트로부터 요청을 받았을 때 자료를 생성하는 경우 문제) Youtube 채널에서 동영상을 보는 경우 이는 Static인가 Dynamic인가? 동영상 파일 또한 이미 만들어진 자료를 전달하는 경우에는 이는 Static이다. 문제) 주주가 본인의 주식 가격을 요청하는 경우 이는 Static인가 Dynamic인가?..
2022.10.18 -
데이터베이스(2), 관계 데이터 모델과 제약조건
관계 데이터 모델과 제약조건 1. 관계 데이터 모형의 개념 1) 관계 데이터 모델이란? 가장 개념이 단순한 데이터 모델 중 하나로 테이블 형태로 DB를 표현하는 모델이다. System R은 판매용이 아닌 시제품으로 등장했고, 이후 여러 데이터 모델들이 등장했지만 현재까지 가장 많이 사용되는 DBMS이다. 동일한 구조(릴레이션)의 관점에서 모든 데이터를 논리적으로 구성하고 있다. 릴레이션을 사용해 논리적으로 구조를 정의한다. 기존 데이터 모델의 단점은 링크나 포인터를 사용한다는 점이었다. 관계 데이터 모델은 대신 외래키를 사용해 서로 다른 릴레이션의 객체를 표현한다. 선언적인 질의어를 통해 데이터 접근을 제공한다. 사용자가 원하는 데이터만 명시하고, 어떻게 이 데이터를 찾을 것인가는 명시할 필요가 없다. ..
2022.10.15 -
풀스택 서비스 네트워킹(5), ZeroMQ
ZeroMQ 1. 프로토콜의 위치 과거에는 운영체제 내부에 인터넷 프로토콜이 들어가있었지만 지금은 어플리케이션에 인터넷 프로토콜이 들어가있다. 이에 따라 성능이나 개발 및 발전 용이성에서 매우 유리해졌다. 쓰레드 간 통신은 메모리를 통해 이뤄진다. 진짜 파일은 보조기억장치 메모리를 사용한다. 이에 따라 굉장히 느리다. memory map 방식을 사용한다. 또한 기존의 통신에서 사용한 기능을 지원한다. TCP/IP, Memory map 등등을 지원한다. 1) 전통적인 인터넷 프로토콜 transport layer나 network layer가 OS 안으로 들어가 있는 것을 확인할 수 있다. 이에 따라 Socket API는 Kernel과 응용 프로그램을 연결하는 고리가 되었다. POSIX 계열의 운영체제는 소켓..
2022.10.13 -
풀스택 서비스 네트워크(4), Socket
Socket 1. Socket & Socket API의 이해 1) Network Socket이란? 내부의 엔드포인트를 통해 데이터를 송수신하는 단위 Socket Programming은 TCP/IP Networks에서 커뮤니케이션하는 기반이 되는 기술을 의미한다. 소켓 연결은 두 개의 다른 컴퓨터들 간에 이뤄질 수 있다. 2) Client and Server Architecture (1) Socket Server 소켓을 전송받는 서버 (2) Client 소켓을 전송하는 클라이언트 3) Berkeley Socket API Socket API는 다른 컴퓨터와의 메세지를 주고받기위해 사용하는 API이다. cf) API는 요구 하는 것에 대해 응답하는 것을 개념이다. (1) Berkeley Socket API F..
2022.10.11