목록분류 전체보기 (56)
CS 공부

SQL이란 SQL은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 관계형 데이터 베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터 베이스 객체 접근 조정 관리를 위해 고안되었다. 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다. 데이터 저장 방식으로 인해 SQL 데이터베이스는 일반적으로 수직적 확장만 지원한다. 관계형 데이터베이스 관계형 데이터베이스 정의 - 통합된 데이터(integrated data) : 똑같은 데이터가 원칙적으로 중복되어 있지 않다는 것을 말한다. - 저장된 데이터(stored data) : 컴퓨터가 접근할 수 있는 기억장치에 저장된 데이터를 말한다. - 운영 ..

SQL Injection 이란 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위이다, 대부분 클라이언트가 입력한 데이터를 제대로 필터링하지 못하는 경우에 발생 공격의 쉬운 난이도에 비해 피해가 상당하다. 공격 종류 및 방법 논리적 에러를 이용한 SQL Injection 가장 많이 쓰이고, 대중적인 공격 기법 위의 사진에서 보이는 쿼리문은 일반적으로 로그인 시 많이 사용되는 SQL 구문이다. 해당 구문에서 입력 값에 대한 검증이 없다면 논리적인 에러를 이용한 SQL Injection이 가능하다. 주입된 내용은 ‘ OR 1=1 -- 로 WHERE 절에 있는 싱글쿼터를 닫아주기 위한 싱글쿼터와 OR 1=1 라는 구문을..

JOIN이란 ? 데이터베이스에서 테이블간의 결합을 이야기한다. 즉, 두개 이상의 테이블에 대해서 결합하여 나타낼 때 조인이라는 것을 이용한다. outer table = driving table = 선행테이블 inner table = driven table = 후행테이블 join의 종류 inner join(교집합으로, 기준 테이블과 join 테이블의 중복된 값) left/right/full outer join cross join self join natural join 예시를 위한 테이블 Table A 학번 이름 11 kim 22 jim 33 sue Table B 학번 키 11 180 22 181 44 182 55 185 INNER JOIN: 내부조인 -> 교집합 INNER JOIN은 키 값이 있는 테이블..

자료의 고유성 관계형 데이터베이스의 중요한 요소들 중에 하나가 특정 주제의 정보들을 체계적으로 모아 놓는 것이다. 이때 중요한 것은 자료를 구분할 수 있어야 한다는 점이다. Key 값 이란 자료의 고유성을 유지하기 위한 개념이다. 키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 Attribute(속성)이다. Key의 구별 엔티티 내에서 대표성을 가지는가 yes -> 주 식별자(Primary) no -> 보조 식별자(Alternate) 단일 속성으로 식별되는가 Yes -> 단일 식별자 no -> 복합 식별자 엔티티 내에서 스스로 생성되었는가 yes -> 내부 식별자 no -> 외부 식별자 원래 업무적으로 의미가 있던 식별자 ..

DATABASE DATABASE란 응용시스템들이 데이터를 공유할 수 있도록 운영에 필요한 모든 데이터를 통합하여 컴퓨터에 저장한 데이터 자료의 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장은 데이터베이스 관리의 핵심 DATABASE의 특징 계속적인 변화: DB는 데이터 삽입, 삭제 갱신을 통해 변화한다. 실시간 접근 동시 공유 : 다수의 사용자가 이용할 수 있다. 내용에 의한 참조 데이터의 저장된 위치가 아닌 데이터의 내용을 참조하여 접근한다. 데이터 간의 연계성: 데이터와 데이터 사이의 관련된 정보들로 연결되어 있음 DATABASE의 기능 여러 사용 간의 데이터를 공유할 수 있다. 데이터의 중복성을 통제할 수 있다. 사용자들에게 다양한 인터페이스를 제공할 수 있다. 권한 없는 사용자의 데이터 ..

파일이란 컴퓨터는 정보들을 자기 디스크, 자기 테이프, 광 디스크와 같은 다양한 저장 매체에 저장할 수 있다. 운영체제는 저장장치의 물리적 특성을 추상화하여 논리적 저장을 하는데 이러한 저장 단위가 파일이다. 파일 시스템이란 - 컴퓨터 시스템의 운영체제와 모든 사용자의 데이터와 프로그램의 온라인 저장과 접근을 위한 기법을 제공한다. - 정보 자료를 저장하는 실제적인 파일들의 집합체이다. - 시스템 내의 모든 파일에 관한 정보를 제공하는 디렉토리 구조이다. 특징 - 커널 영역에서 동작 - 파일 CRUD 기능을 원활히 수행하기 위한 목적 - 계층적 디렉터리 구조를 가짐 - 디스크 파티션 별로 하나씩 둘 수 있음 역할 - 파일 관리 - 보조 저장소 관리 - 파일 무결성 메커니즘 - 접근 방법 제공 개발 목적 ..

반입(Fetch) 전략 반입(Fetch) 전략이란 프로그램/데이터를 주기억 장치로 가져오는 시기를 결정하는 전략 반입(Fetch) 전략 종류 요구 반입: 새로 반입된 데이터나 프로그램을 주기억 장치에 언제 위치시킬 것인가 결정하는 방법 예상 반입: 앞으로 요구될 가능성이 큰 데이터 또는 프로그램을 예상하여 주기억 장치로 미리 옮기는 방법 배치(Placement) 전략 배치(Placement) 전략이란 프로그램/ 데이터를 주기억 장치 내의 어디로 위치 시킬 것인가를 결정하는 전략 배치(Placement) 전략 종류 최초적합 - 입력된 작업을 주기억 장치 내에서 그 작업을 수용할 수 있는 첫 번째 공백에 배치한다. 초기 결정력이 가장 빠르다 운영체제 다음부터가 시작점이다. 처음부터 순차적으로 검색하여 적재될..

세그멘테이션 - 프로그램을 동일한 페이지 크기로 분할하지 않고 프로그램 기능에 맞게 분할함 -> 페이징과의 차이점 기능별로 분할한 블록을 세그먼트라하며 주기억 장치를 프로그램별로 구분하지 않고 주기억 장치 전체를 이용하여 적재한다. 주기억 장치 전체에서 분산된 같은 종류의 프로그램을 구분하기 위하여 기억장치 보호키를 이용한다. 세그멘테이션의 특징 - 블록이 가변적이다. - 주기억 장치를 구분하지 않고 주기억 장치 전체를 비연속적으로 할당받아 사용 - 세그멘테이션 기법은 메모리를 효율적으로 관리하기 위해서이다. - 여러개로 분리된 세그먼트가 주 기억장치를 차지할 수 있도록 해주어야 하며, 각 세그먼트는 같은 크기일 필요는 없으나 연결된 기억 장소로 구성되어야한다. - 세그먼테이션 기법에서는 기억 장치 보호..