티스토리 뷰

Database

[SQL] DB와 SQL, SQLPLUS

쩨리쩨리 2018. 4. 18. 19:46
반응형

* Data 란?

현실 세계에서 관찰이나 측정을 통해 수집한 단순한 사실이나 값

 

 

 

* 정보(Information)란?

- 의사 결정에 도움을 줄 수 있는 유용한 형태

- 자료를 가공(처리)해서 얻을 수 있는 결과를 의미

 

 

 

* 데이터베이스

- 어느 한 조직체의 여러 응용 시스템들이 공동으로 사용할 수 있도록 통합하여 저장한 운영데이터의 집합

- 공동의 목적을 지원하기 위한 서로 관련된 자료들의 모임

- 주제와 관련된 의미 있는 데이터들의 모음

 

 

 

* 통합된 데이터(integrated data)

- 산재되어 있지 않고 한곳에 있어야 함

- 모든 데이터가 중복을 최소화하면서 통합

 

 

 

* 저장 데이터(stored data)

- 컴퓨터에서 처리가 가능하도록 전자적 형태로 저장

- 디스크, 테이프 등 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터

 

 

 

* 운영 데이터(operational data)

- 고유 기능을 수행하기 위해 반드시 유지되어야 할 데이터

 

 

 

* 공용 데이터(shared data)

- 한 조직의 여러 응용 시스템들이 공동으로 소유, 유지, 이용하는 데이터

 

 

 

 * 데이터베이스 특징

- 어느 한 조직의 응요 시스템들이 공유해서 사용하는 통합 저장된 운영 데이터

 

1. 실시간 접근이 가능 : 수시적이고 비정형적인 질의(query)에 대하여 실시간 처리로 응답

2. 계속적인 변화 가능 : 새로운 데이터의 삽입이나, 삭제, 갱신으로 항상 변하고, 그 속에서 현재의 정확한 데이터를 유지할 수 있음

3. 동시 공유 가능 : 여러 사용자가 동시에 자기가 원하는 데이터에 접근가능

4. 내용에 의한 참조 가능 : 데이터의 레코드 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터가 가지고 있는 값에 따라 참조가능하며 모든 레코드들은 물리적 위치와 상관없이 하나의 논리적 단위로 취급되고 접근된다.

 

 

 

 

* 데이터베이스 구성요소

- 개체(Entity) : 데이터베이스에 표현 하는 유형 무형의 정보이다. 개체 타입(유형)은 속성의 이름들로 구성되고, 개체 집합은 개체 어커런스(인스턴스)의 모임으로 구성된다.

- 속성(Attribute) : 데이터의 가장 작은 논리적 단위(컬럼)로 항목, 필드에 해당

 

 

 

 

 

* DBMS(DtaaBase Management System)

- 사용자에게 데이터베이스를 생성하고 유지할 수 있게 하는 프로그램 집합

- DBMS는 데이터베이스 언어를 가지고 있으며 이를 통해 데이터의 삽입/삭제/수정을 할 수 있다.

- DB의 데이터는 실세계를 적용하는 규칙을 항상 만족해야 한다.

- 서로 다른 부분에 있는 두개의 데이터가 서로 모순되지 않아야 한다. (데이터 일관성 유지)

 

 

 

* DBMS의 3가지 특성

1. 데이터의 논리적 독립성

- 한 속성에 가해진 변경이 동일한 테이블에서 다른 속성에 영향을 주지 않는 것을 의미한다.

- 응용 프로그램에 영향을 주지 않고 데이터 구조를 변경할 수 있게 하는 것이다.

 

2. 참조 무결성과 데이터 무결성

- 응용프로그램 개발 시 무결성 제약 조건을 신경쓰지 않아도 된다.

 

3. 비정규 질의

- 사용자는 작업을 실행하는 방법을 명시하지 않고도, 데이터베이스에게 어떤 데이터를 조회할 것인지를 명령할 수 있다.

 

 

 

* 데이터베이스 모델의 종류

1. 계층데이터 모델(Hierarchical Data Model)

- 데이터를 저장한느 단위(Entity)의 구조가 상하 종속적인 관계로 구성된다.

- 개체를 노드로 표현하고 개체 집합들 사이의 관계를 링크로 연결한 트리(Tree)형태의 자료구조이다.

 

2. 망 데이터 모델(Network Data Model)

- CODASYL이 제안(CODASYL DBTG 모델이라고도 함)

- 그래프를 이용해서 데이터 논리구조를 표현한 데이터 모델이다.

- 상위와 하위 렠드 사이에서 다대다(N:M) 대응 관계를 만족하는 구조이다.

 

3. 관계 데이터 모델(Relational Data Model)

- 개체 집합에 대한 속성 관계를 표현하기 위하여 개체를 테이블(table)로 사용하고 개체 집합들 사이의 관계는 공통 속성으로 연결하는 독립된 형태의 데이터 모델이다.

 

 

 

* 관계형 데이터 모델

1. 테이블(Table)

- 관계 데이터베이스에 데이터를 저장할 수 있는 형식 테이블(Table = Relation)

- SQL에서 릴레이션보다는 테이블이란 용어를 사용한다.

 

2. 행(Row)과 열(Column)

- 행과 열의 교차점은 원자 값(atomic value)이라는 오직 하나의 값으로 구성

- 테이블에서 행은 순서가 정해져 있지 않다.

- 테이블의 내용은 실제적인 행의 집합으로 간주된다.

 

 

 

* 파일 시스템에서와 SQL, 릴레이션의 용어가 같은 것이면서 이름이 각각 다른데, 그 용어에 대해 알아보자.

 

 

 

 

 

* SQL

- SQL(Structured Query Language)은 관계형 데이터베이스 언어이다.

- 데이터의 삽입, 삭제, 갱신, 질의, 보호(보안) 명령문으로 구성되어있다.

- SQL은 관계 데이터베이스 언어로 비절차적 데이터베이스 언어로 분류한다.

 

 

 

* SQL 기능에 따른 분류

1. 데이터 정의어(DDL) : 테이블이나 관계의 구조를 생성하는데 사용하며 CReATE, ALTER, DROP 문 등이 있다.

2. 데이터 조작어(DML) : 테이블에 데이터를 검색, 삽입, 수정, 삭제 하는데 사용하며 SELECT, INSERT, DELETE, UPDATE 문 등이 있다. 여기서 SELECT 문은 특별히 질의어(query)라고 한다.

3. 데이터 정의어(DCL) : 데이터의 사용 권한을 관리하는 데 사용하며 GRANT, REVOKE 문 등이 있다.

 

 

 

 

* SEELECT 문의 구성 요소

1. SELECT (선택해서 보여줄 것)

2. FROM (참조할 테이블)

3. WHERE (조건)

 

- 아래 그림에서 위로 향하는 화살표 쪽은 SELECT 문에서 반드시 써야하는 것들이다.

- 아래 그림에서 아래로 향하는 화살표 쪽은 출력할때 넣을 수 있는 것들이다. 필요 없을시 생략이 가능하다.

 

 

 

 

 

* SQL * PLUS

- SQL*PLUS 명령어는 오라클에서 제공하는 SQL*PLUS에서만 사용되는 명령어로 SQL문을 실행시키고, 그 결과를 볼 수 있도록 오라클에서 제공하는 툴이다.

- SQL*PLUS 명령어를 SQL 명령문과 혼동하는 사람들이 많은데, SQL은 데이터베이스에서 자료를 검색하고 수정하고 삭제, 등을 위한 데이터베이스 언어인 반면, SQL*PLUS 명령어는 툴에서 출력 형식을 지정하는 등 환경을 설정한다.

- SQL 문을 입력하면 SQL 버퍼(Buffer)라는 메모리 부분에 SQL문이 저장되며 새 SQL 문을 입력할 때 까지 남아 있다.

- SQL * PLUS는 버퍼에 있는 SQL문을 인식하여 이를 ORACLE SERVER에서 실행할 수 있도록 전달해 주는 ORACLE TOOL이다.

 

 

 

 

* SQL과 SQL*PLUS명령어의 차이점

 

 

 

 

 

* SQL*PLUS 편집 명령어

 

 

 

 

 

* SQL*PLUS 파일 명령어

 

 

 

 

 

* 시스템 변수 조작을 위한 SET 명령어

 

 

 

 

 

반응형
댓글
공지사항