Unborn 8.0 Yellow Pointer
본문 바로가기

프로그래밍/데이터베이스4

SQL Injection 이란? SQL이란 ? SQL(Structured Query Language; 구조적 질의 언어)는 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어입니다. SQL의 특징 대소문자를 가리지 않습니다. 세미콜론으로 끝나야 합니다. 고유의 값은 따옴표로 감싸줍니다. 객체를 나타낼 때는 백틱으로 감싸줍니다. 한 줄 주석의 경우 문장 앞에 --를 붙여서 사용합니다. 여러 줄 주석은 /* */로 감싸줍니다. SQL Injection(SQL 인젝션, SQL 삽입)이란 ? 악의적인 사용자가 응용 프로그램 보안 상의 허점을 의도적으로 이용해, 악의적인 SQL문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위입니다. 주로 사용자가 입력한 데이터를 제대로 필터링, .. 2022. 7. 28.
[데이터베이스] 키(수퍼키, 후보키, 기본키, 외래키) ◆ 키(key)가 필요한 이유 테이블의 각 레코드들은 레코드를 구성하는 각 필드의 값으로 구별해야 한다. 특정 레코드의 모든 필드에 대한 값들은 해당 레코드를 유일하게 식별할 수 있는 식별자가 되는데 이러한 식별자를 키라고 한다. 참고로 두 개 이상의 필드로 구성된 키를 복합키(composite key)라고 한다. ▶ 수퍼키(super key) 아무런 제약 조건 없이 레코드들을 식별할 수 있는 필드의 집합으로 모든 테이블은 적어도 하나의 수퍼키를 갖고 있다. 따라서 테이블 내에 존재하는 모든 필드의 집합도 하나의 수퍼키가 된다. ▶ 후보키(candidate key) 레코드들을 식별할 수 있는 최소한의 필드만으로 구성된 키를 후보키라고 한다. 어떠한 필드라도 제외하면 키가 될 수 없는 필드의 집합을 의미한.. 2017. 9. 11.
[데이터베이스] 테이블의 특성 테이블은 반드시 지켜야할 규칙과 제약들이 있다. 그 중 세가지를 알아보도록 하자. 첫번째 중복된 레코드가 존재하지 않는다. 테이블 인스턴스는 레코드들의 집합으로 중복된 값이 없어야 한다. 두번째 레코드 간의 순서는 의미가 없다. 첫번째 규칙과 귀결된다. 집합은 수학적으로 순서가 정의되어 있지 않다. 여기서 순서는 테이블을 표현허거나 저장하는 데 있어서 부수적으로 발생한 순서일 뿐 테이블 그 자체의 정의에서 레코드의 순서는 고려되지 않는다. 세번째 레코드 내에서 필드의 순서는 의미가 없다. 인적사항 테이블 스키마는 마치 첫번째 필드는 이름, 두번째 필드는 생일, 세번째는 지역, 네번째는 성별 이렇게 마치 순서를 갖는 것처럼 여겨질 수 있지만 이것은 테이블 스키마를 구성하는 필드들의 집합을 나열한 것에 불과.. 2017. 9. 9.
[데이터베이스] 용어 정리 ▶ 데이터 베이스(data base) 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 말한다. 자료항목의 중복을 없애고 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높인다. 현대적인 의미의 데이터베이스 개념을 확립한 사람은 당시 제너럴일렉트릭사(社)에 있던 C.바크만으로 그는 1963년 IDS(Integrated Data Store)라는 데이터베이스 관리시스템을 만들었다. ▶ 릴레이션(relation)/테이블(table) 관계형 데이터 모델에서는 테이블을 릴레이션이라고 한다. 수학적으로 릴레이션은 두 개 이상의 집합으로부터 각 집합을 구성하는 원소들의 순서쌍에 대한 집합을 의미한다. ▶ 속성(attribute)/필드(field)/컬럼(column) 릴레이션을 구성.. 2017. 9. 8.
728x90
반응형