본문 바로가기

ComputerScience

(72)
[Database] 1. SELECT를 활용한 데이터 조회하기 SQL SELECT 쿼리문을 사용하여 데이터 조회하는 방법 SQL에서 데이터 조회를 위해 SELECT 키워드를 사용한다. 관심 있는 컬럼들을 SELECT에서 명시하고, 조회할 테이블을 FROM에서 명시한다. 조건이 있는 경우 WHERE 키워드를 사용하여 조건을 명시한다. 조건에 맞는 튜플이 선택되어 결과로 반환된다.위 쿼리는 customers 테이블에서 name, email, phone_number를 조회한다.이 쿼리는 city가 'New York'에 해당하는 모든 tuple들을 가져온다. SELECT * FROM customers WHERE city = 'New York'; SELECT name, email, phone_number FROM customers; 별칭을 사용하여 SQL 문을 간결하게 작성..
[Network] 프로토콜 표준과는 다르게 실제로는 소켓(Socket)이 어떻게 식별되는가? 네트워크 프로그래밍에서 Socket의 의미와 TCP/IP Stack에 대하여 TCP/IP 스택은 프로토콜 스택으로, 컴퓨터 시스템의 관점에서 어플리케이션이 사용할 수 있는 네트워크 기능을 지원하는 역할을 한다. TCP/IP 스택은 전체를 4개의 레이어로 이루어진 시스템(Transport + Internet + Network Interface)에 제공되는 네트워크 기능의 구현과 Application 레벨에서 구현된 네트워크 기능으로 구분된다. 네트워크 통신을 위해서는 Application 레이어에서 통신이 가능하도록 System 레벨에서 지원되어야 한다는 것이 중요하다. Socket Programming 어플리케이션이 운영체제의 기능, 즉 커널 코드나 시스템 코드에 바로 접근하여 사용하는 것이 불가능하다..
[Network] 프로토콜 표준 스펙에서 정의한 Socket(소켓), Port(포트), TCP connection(연결) 개념 OSI 7 Layer, TCP/IP Stack네트워크 모델은 OSI 7 레이어와 TCP/IP 스택 두 가지로 구성되는데, TCP/IP 스택은 인터넷에서 실제 사용되는 프로토콜로 OSI 7 레이어는 네트워크 시스템의 개념적 모델이다.TCP/IP 스택은 IETF에서 관리하며, TCP, UDP, IP 프로토콜의 표준 스펙은 RFC문서에 정의되어 있다.TCP, UDP는 Transport 레이어에, IP 프로토콜은 Network 레이어에 속하는 프로토콜로 호환이 가능하다.Socket, Port, TCP 커넥션은 TCP/IP 스택이 발전하면서 나온 개념으로, 시스템 레벨에서 관리되는 네트워크 기능을 지원한다.TCP/IP 프로토콜 스택에서 Application layer와 Transport layer..
[Database] SQL로 DB에 데이터를 추가(insert)하고 수정(update)하고 삭제(delete)하는 방법 SQL을 사용해서 데이터 추가하기 데이터를 추가할 때는 INSERT INTO 키워드를 사용하고, 그 뒤에 테이블 이름과 VALUES 값을 적어준다. INSERT INTO employees (name, department, salary) VALUES ('김철수', '영업', 3000000); 값들을 써줄 때 Attribute 순서에 맞게 값을 채워 넣어야 하는데, 이때 NULL값을 넣어야 하는 Attribute가 있다면 일단 NULL값을 넣어 넘겨야 한다. Query가 성공적으로 동작하면 해당 테이블에 데이터가 추가된다. ️️Primary키가 중복되는 경우 Primary key는 유일한 값이며 중복되면 안 된다. 이미 존재하는 Primary Key에 중복해서 데이터를 Insert하려 할 때 발생하는 에러..
[Database] SQL의 개념과 SQL로 데이터베이스를 정의하는 법(table 생성하기, 각종 데이터 타입, constraints, 키(key)들을 활용) SQL의 기본 개념과 구조, RDBMS의 SQL 스펙 SQL은 Relational Database Management System에서 사용되는 표준 언어로, 데이터베이스를 정리하고 데이터를 조작하고 조회하는 등 종합적인 데이터베이스 작업이 가능하다. SQL에서 Table은 데이터 모델에서 Relation을 나타내며, attribute는 column, tuple은 row, domain은 domain으로 표현한다. SQL에서 Relation은 multiset of tuples로, 중복된 tuple을 허용한다. MySQL은 InnoDB를 기준으로 가장 많이 사용되는 RDBMS이다. 데이터베이스를 생성하고 사용할 때는 'create database' 명령어를 사용하여 새로운 데이터베이스를 만들고,..
[Network] World Wide Web와 인터넷, HTTP의 역사 1989년 CERN 연구소에서 팀 버너스리가 발명한 인터넷상 정보시스템: WWW World Wide Web은 인터넷상에서 정보를 링크를 통해 효율적으로 접근할 수 있는 인터넷 상의 정보시스템이며, 팀 버너스리가 CERN 연구소에서 1989년 발명했고, WWW, W3라고 줄여 부른다. CERN은 유럽 입자물리 연구소로, 유럽을 기반으로 한 입자물리학 연구소이며, 가장 큰 실험 장치인 입자가속기 길이는 27km이다. 웹 발명자인 팀 버너스리는 1955년 6월 8일에 태어나 1976년에 옥스포드 학위를 받은 후, 2차례로 CERN에서 근무한 인물이다. 웹에 필요한 프로토콜중 하나인 HTTP와 웹 발명의 연결은 차후에 발명된 것이라 직접적인 관련은 없으나, 웹 발명과 함께 발전했다는 공통점이 있다. CERN에서..
[Network] 네트워크와 인터넷부터 ISP까지 IP, 공유기 IP주소는 인터넷에 연결되기 위해 인터넷 상의 주소. IP주소 할당이 필요하며, 모뎀과 홈 라우터로 이루어짐. 인터넷에 연결하기 위해서는 IP 주소 할당이 필요하다. 인터넷 케이블에 모뎀 연결 후, 공유기를 통해 여러 기기들이 인터넷에 연결된다. 공유기 (home router)는 다수의 기기들이 인터넷을 사용할 수 있도록 해주는 장치로, 한 IP주소에서 다수의 기기들이 인터넷을 사용이 가능해진다. 각 기기는 공유기를 통해서 서로 네트워크 통신이 가능해지며, 일부 기기는 유선망으로 연결, 일부 기기는 와이파이를 통해 무선 연결이 가능하다. 우리는 스마트 TV, 스마트폰, 프린터, 컴퓨터 등을 공유기를 통해 연결하여 '네트워크'를 형성함 네트워크 통신을 통해 스마트 TV로 저장된 영화를 불러올..
[Database] functional dependency(함수 종속) 이란? 데이터베이스 설계를 위한 functional dependency (함수 종속) 개관 functional dependency란, 테이블에 있는 어트리뷰트 집합 사이의 제약을 의미하며, 이를 통해 데이터베이스 설계의 기본이 된다. 집합 X와 Y를 나눈 후, X의 값이 같으면 Y의 값도 같다는 걸 알 수 있으며, 이 경우 X가 Y를 함수적으로 결정한다. 이 경우 functional dependency(FD)라 부르며 Symbol로는 X -> Y와 같이 표현할 수 있다. 테이블의 스키마를 보고 FD를 파악할 수 있지만, 테이블의 State를 보고 FD를 파악하면 안 된다. 위 테이블에서, 집합 X를 {Student_ID}, 집합 Y를 {Student_Name, Stream}라 했을때 집합 X인 Student_I..