검색, 정렬시 Tuple을 구분할 수 있는 기준이 되는 Attribute슈퍼 키(Super Key)복합 키(Composite Key)후보 키(Candidate Key)기본 키(Primary Key)대체 키(Surrogate Key)외래 키(Foregin Key)유일성을
두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것이다.조인은 테이블로서 저장되거나, 그 자체로 이용할 수 있는 결과 셋을 만들어 낸다.테이블을 연결하려면, 적어도 하나의 칼
악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입시켜 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위OWASP Top10 중 첫 번째에 속하며, 비교적 공격이 쉬우며, 성공하면 큰 피해를 입힐 수 있는 공격이다.논리적 에러를 이용한 SQL I
SQL을 사용하면 RDBMS에서 데이터를 저장, 수정, 삭제 및 검색을 할 수 있다.특징데이터는 정해진 데이터 스키마에 따라 테이블에 저장된다.데이터는 관계를 통해 여러 테이블에 분산된다.데이터는 테이블에 레코드로 저장되는데, 각 테이블마다 명확하게 정의된 구조가 있다
테이블 간 중복된 데이터를 허용하지 않는 것중복된 데이터를 만들지 않으면, 무결성을 유지할 수 있고, DB 저장 용량 또한 효율적으로 관리할 수 있다.데이터의 중복을 없애면서 불필요한 데이터를 최소화시킨다.무결성을 지키고, 이상 현상을 방지한다. 테이블 구성을 논리적이
잘못된 테이블 설계로 인해 테이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류갱신 이상(Modification Anomaly)삽입 이상(Insertion Anomaly)삭제 이상(Deletion Anomaly)중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나
추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조책에서 원하는 내용을 찾는다고 하면, 책의 모든 페이지를 찾아 보는 것은 오랜 시간이 걸린다. 그래서 책의 맨 앞 또는 맨뒤에 색인을 추가하는데, 데이터베이스의 Inde
데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다. 여기서 유사한 시슽템이란 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미한다.이론적으로 데이터베이스 시
트랜잭션에 일관성 없는 데이터를 허용하도록 하는 수준동시에 여러 트랜잭션이 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있도록 허용할지 말지를 결정하는 것데이터베이스는 ACID 특징과 같이 트랜잭션이 독립적인 수행을 하도록 한다.따
DB 내부에 저장된 일련의 SQL 명령문들을 하나의 함수처럼 실행하기 위한 쿼리의 집합즉, DB에 대한 작업을 정리한 절차를 RDBMS(관계형 데이터 베이스 관리 시스템)에 저장한 쿼리 집합이다.SQL Server에서 제고오디는 프로그래밍 기능. 쿼리문의 집합어떠한 동
빠른 오픈 소스 인 메모리 키 값 데이터 구조 스토어보통 데이터베이스는 하드 디스크나 SSD에 저장한다. 하지만 Redis는 메모리(RAM)에 저장해서 디스크 스캐닝이 필요없어 매우 빠른 장점이 존재함.Redis는 Memcached와 비슷한 캐시 시스템으로서 동일한 기
네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층간 상호 작동하는 방식을 정해 놓은 것이다.통신이 일어나는 과정을 7단계로 크게 구분하여 한 눈에 들어올 수 있도록 정의했기 때문에 단계별로 파악할 수 있다.네트워크에서 트래픽의 흐름을 꿰뚫어 볼 수
TCP는 장치들 사이에 논리적인 접속을 성립하기 위하여 3 way handshake를 사용4 way handshake는 세션을 종료하기 위해 수행되는 절차즉, 연결을 성립하고 해제하는 과정을 말한다.클라이언트가 서버에게 SYN 패킷을 보냄서버가 SYN(x)을 받고, 클
암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘동일한 키를 주고받기 때문에, 매우 빠르다는 장점이 있다.대칭키 전달과정에서 해킹 위험에 노출장점 : 암호화 방식에 속도가 빠르다. 대용량 Data 암호화에 적합하다.단점 : 키를 교환해야 하는 문데, 탈취 관리
TCP
User Datagram Protocol의 약자로 데이터를 데이터그램 단위로 처리하는 프로토콜이다.비연결형, 신뢰성 없는 전송 프로토콜이다.데이터그램 단위로 쪼개면서 전송을 해야하기 때문에 전송 계층이다.Transport layer에서 사용하는 프로토콜.IP의 역할은
인터넷 상에서 클라이언트와 서버가 자원(데이터)을 주고 받을 때 쓰는 통신 규약(프로토콜)즉, HTTP는 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 포트를 사용한다.인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 사용해 클라이언트와 서버가 자원을
HTTPS에서 클라이언트와 서버간 통신 전 SSL 인증서로 신뢰성 여부를 판단하기 위해 연결하는 방식클라이언트는 서버에게 client hello 메세지를 담아 서버로 보낸다.이때 암호화된 정보를 함께 담는데, 버전, 암호 알고리즘, 압축 방식 등을 담는다.서버는 클라이
애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법이다.웹 사이트에 접속하는 인원이 급격히 늘어남과 동시에 이 사람들에 대해 모든 트래픽을 감당하기엔 1대의 서버로는 부족하다.대응 방안으로 하드웨어(서버)의 성능을 올리거나(Scale-up
한눈에 바로보기블로킹과 논블로킹은 A함수가 B함수를 호출했을 때, 제어권을 어떻게 처리하느냐에 따라 달라진다.만약 A가 B함수를 호출하고 현재 B가 호출되면서 B는 자신의 일을 진행해야 한다.(제어권은 B)Blocking : 함수 B는 자기 할 일을 다 마칠 때까지