본문 바로가기

ORACLE11g/SQL

[11gSQL] 1장 데이터베이스 소개

관계형데이터베이스(RDB)

E.F.codd가 1970년에 데이터베이스 시스템의 관계형 모델을 제안하였다.

RDBMS(Relational Database Management System)에 기반하고있다.

▷관계형 모델은 다음으로 구성되어있다.

- Objects(개체) 또는 Relations(관계)의 집합(Tables)

- Relations 상에서 동작하는 Operators의 집합

- 정확성과 일관성을 위한 데이터베이스 무결성


관계형 데이터베이스 개념

▷관계형 데이터베이스는 관계의 집합 또는 2차원 테이블이다.


데이터베이스 개발 Cycle





ERD 기법을 사용하여 업무에 필요한 정보를 형상화, 정규화를 통해 검증 → ERD



정규화된 ER model을 Table, Index, View와 같은 Relational database object들로 변환-non SQL

(Object들 사이의 논리적 관계규정) → IC


SQL을 사용하여 Physical Object를 생성하며, 초기 Data를 loading하고, User에게 필요한 Previlege를 부여





관계형 데이터베이스의 용어

 Row, Tuple, Record

단일 구조 데이터 항목을 가리키며, 일련의 관련자료를 나타낸다. 모든 Row는 동일한 구조를 가지고 있다.

 Column, Attribute(속성)

 Field, ITEM(항목)

데이터베이스를 구축하는 가장 작은 논리적 단위로 파일 시스템의 필드 개념에 해당한다.

자체만으로는 정보를 표현 할 수 없고 정보를 표현하는 단위인 개체간 관계의 특성을 설명하는 도구로 사용된다.

 Primary Key

Record의 식별자로 이용하기에 가장 적합한 Column에 설정한다. Null값을 허용하지 않으며, 고유한 값을 가진다.

 Foreign Key

참조하는 테이블에서 Primary Key가 되는 속성과 관계를 맺어주기 위해서 선언한다. Foreign Key를 설정하면 반드시 참조하는 Relation에 있는 값이나 Null값만을 입력할 수 있다. 하나의 테이블에 여러개의 Foreign Key를 설정할 수 있다.

 Null 값

아직 설정되지 않은 값으로, 저장공간에 아무런 데이터도 없는 상태를 의미한다0과는 다른 값이다. 연산에서는 ? 로 이해하면 편하다.

ex) 5+Null = 5+? = ? = Null


논리 Record

물리 Record(크기, 저장, 성능) = block (Random Access Memory 입출력의 기본 단위)


SQL(Structured Query Language)란?

관계형 데이터베이스를 동작하기 위한 ANSI(American National Standards Institute) 표준 언어.

효율적이며, 배우고 사용하기가 쉽다.

기능적으로 완벽하다 (SQL을 이용하면 테이블 내에서 데이터를 정의(define), 검색(retrieve), 조작(manipulate)할 수 있다.)


SQL Statements

 SELECT 

 Data Manipulation Language (DML)

 INSERT

 UPDATE

 DELETE

 MERGE

 COMMIT 

 Transaction Control Language (TCL)

 ROLLBACK

 SAVEPOINT

 CREATE

 Data Definition Language (DDL)

 ALTER

 DROP

 RENAME

 TRUNCATE

 COMMENT

 GRANT 

 Data Control Language (DCL)

 REVOKE