티스토리 뷰
* 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 명령어
'Database' 카테고리의 다른 글
[SQL] DDL, 테이블 생성, 복사, 변경, 삭제 (0) | 2018.04.19 |
---|---|
[SQL] 제약조건 확인하기 (딕셔너리 활용) (1) | 2018.04.19 |
[SQL] SQL 그룹 함수 (2) | 2018.04.18 |
[SQL] cmd를 이용한 테이블 생성하기 (0) | 2018.04.17 |
[SQL] SQLDeveloper 글꼴 크기 변경 (1) | 2018.04.13 |