본 게시물은 www.w3schools.com의 SQL 영문자료를 보고 개인적으로 공부한 내용을 작성한 글입니다.

누락되거나 부족한점이 있을 수 있으니 양해 바랍니다.

 

해킹의 주요한 목적은 관리자의 권한을 얻거나, 정보를 빼내기 위함이라고 생각한다.

그 중에 정보를 빼내기 위해서는 데이터베이스에 접근을 하여야 하므로 데이터베이스 언어인 SQL을 필수적으로 알아야한다.

실제로 OWASP에서도 수년전부터 SQL injection 기법을 가장 위험한 웹어플리케이션 공격이라고 발표하고 있으므로

모의해킹을 실시할때도 기본적인 SQL 쿼리 사용은 알아야한다고 생각하여 처음으로 SQL 공부를 시작하였다.

 

===================================================================================

 

데이터베이스

 

정보를 일원화하여 처리를 효율적으로 수행하기 위해서 서로 관련성을 가지며 중복이 없는

데이터의 집합을 유지하는것을 데이터베이스라고 한다.

그리고 그 데이터베이스를 관리하는 시스템을 데이터베이스 관리시스템(DBMS; Database Management System) 이라고한다.

 

1. 데이터베이스의 구성

 

1) 통합 데이터(integrated data) : 중복을 배제하나, 경우에 따라 불가피하게 중복을 허용하는 데이터다.

2) 저장 데이터(Stored data) : 컴퓨터의 저장매체에 저장하여 관리하는 데이터를 의미한다.

3) 운영 데이터(operation data) : 단순한 데이터의 집합이 아니라 그 조직의 기능을 수행하는 데 없어서는 안 될 필수의 데이터를 의미한다.

4) 공용 데이터(shared data) : 어느 하나의 응용 프로그램이나 응용시스템을 위한 데이터가 아니라, 그 조직의 여러 사용자와 여러 응용시스템                                    들이 서로 다른 목적으로 데이터를 공동으로 이용할 수 있게 한다.

 

2. 데이터베이스의 특징

 

1) 실시간 접근성(Real Time Accessibility) : 사용자의 질의에 대하여 즉시 처리하여 응답하는 특징을 갖는다.

2) 계속적인 진화(Continuous Evolution) : 삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지하는 특징이 있다.

3) 동시 공유(Concurrent sharing) : 여러 사용자가 동시에 원하는 데이터를 공유할 수 있는 특징을 갖는다.

4) 내용에 의한 참조(Content reference) : 데이터베이스에 있는 데이터를 참조할 때 튜플(tuple)의 주소나 위치가 아닌 사용자가 요구하는

  데이터 내용에 따라 참조하는 특징을 갖는다.

5) 데이터 논리적 독립성(Independence) : 응용프로그램과 데이터베이스를 독립시킴으로써 데이터의 논리적 구조를 변경시키더라도

   응용프로그램은 변경되지 않는 특징을 갖는다.

 

SQL

- SQL이란 데이터베이스를 접근하고 조작하는데 필요한 표준 언어이다.

- SQL은 구조적인 쿼리언어로 만들어졌다.

- SQL은 ANSI(American National Standards Institute) 표준 언어이다.

 

SQL로 할 수 있는 것

1) 데이터베이스에 대한 쿼리를 실행할 수 있다.

2) 데이터베이스로부터 데이터를 검색할 수 있다.

3) 데이터베이스에 레코드를 삽입, 갱신, 삭제 할 수 있다.

4) 새로운 데이터베이스, 테이블, 프로시저, 뷰를 만들 수 있다.

5) 테이블, 프로시저, 뷰에 대한 권한을 설정할 수 있다.

 

 

SQL은 ANSI 표준이지만, SQL 언어의 버전별로 조금씩 다르다.

하지만 ANSI 표준을 준수하기 위해 최소한의 주요한 커맨드(SELECT, UPDATE, DELETE, INSERT, WHERE 등)들은 지원한다.

 

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

본 게시물은 공부한 내용을 바탕으로 작성한 글로써, 점차 수정 및 추가를 통해 내용을 발전시킬 계획입니다.

따라서 오타 및 내용상의 오류, 추가할 내용 등이 있을 경우 주저 없이 알려주시면 감사하겠습니다.

궁금한점을 물어보시면 제가 아는 선에서 최대한으로 알려드리겠습니다.

 

참고한 사이트

 

- NAVER 지식백과 : 데이터베이스

- w3schools

 

 

'Database.' 카테고리의 다른 글

SQL Syntax(SQL 문법) - ORDER BY  (0) 2016.09.22
SQL Syntax(SQL 문법) - WHERE, Operator  (0) 2016.09.06
SQL Syntax(SQL 문법) - SELECT(DISTINCT)  (0) 2016.09.06
SQL Syntax(SQL 문법) intro  (4) 2016.09.06

+ Recent posts