목차
- 데이터베이스(database)
1-1. 데이터베이스 정의
1-2. 데이터베이스 특징 - DBMS(DataBase Management System)
2-1. DBMS 정의
2-2. DBMS 기능
2-3. DBMS 사용 이점
2-4. DBMS 유형
학습점검
✅ 데이터베이스에 대해 이해할 수 있다.
✅ 데이터베이스의 정의에 대해 이해할 수 있다.
✅ 데이터베이스의 특징에 대해 이해할 수 있다.
✅ DBMS에 대해 이해할 수 있다.
✅ DBMS의 기능에 대해 이해할 수 있다.
✅ DBMS의 사용 이점에 대해 이해할 수 있다.
✅ DBMS의 종류와 특징에 대해 이해할 수 있다.
✅ DBMS의 발전 과정에 대해 이해할 수 있다.
✅ 관계형 DBMS에 대해 이해할 수 있다.
✅ 관계형 DBMS에서 사용하는 테이블에 관련된 용어를 이해할 수 있다.
✅ 관계형 DBMS에서 사용하는 SQL문의 분류별 용도와 명령어들을 이해할 수 있다.
1. 데이터베이스(database)
- 데이터와 정보의 개념은 다음과 같다.
에베레스트의 높이 : 8848m
- 데이터(Data)란, 관찰 결과에 따라 정량적 또는 정상적으로 매긴 실제 값을 말한다.
에베레스트는 세계에서 가장 높은 산이다.
- 정보는 데이터(Data)를 기반으로 의미가 부여된 것을 일컫는다.
1-1. 데이터베이스 정의
- 데이터베이스(database)는 논리적으로 연관된 데이터를 모아, 중복된 데이터를 최소화하고, 구조적으로 통합·저장해놓은 것이다. 데이터베이스는 한 조직에 필요한 정보가 여러 응용 시스템에서 공용될 수 있도록 한다.
- 1. 운영 데이터(Operational Data) : 조직 목적을 위해 사용되는 데이터
- 2. 공용 데이터(Shared Data) : 공동으로 사용되는 데이터
- 3. 통합 데이터(Integrated Data) : 중복을 최소화하는 데이터(중복으로 인한 데이터 불일치 현상 제거)
- 4. 저장 데이터(Stored Data) : 컴퓨터 저장 장치에 저장된 데이터
1-2. 데이터베이스 특징
로그인 시도할 때 비밀번호가 틀렸다 등 실시간으로 확인해주는 것.
- 1. 실시간 접근성(Real Time Accessibility) : 사용자가 데이터를 요청하면 실시간으로 결과를 서비스한다.
탈퇴한 회원에 대해 정보 변화를 반영하는 것.
- 2. 계속적인 변화(Continuous Change) : 데이터 값은 시간에 따라 항상 바뀐다.
누구든 언제든 로그인 할 수 있는 것.
- 3. 동시 공유(Concurrent Sharing) : 데이터베이스는 서로 다른 업무 또는 여러 사용자에게 동시 공유된다.
데이터의 주소 등 물리적 위치가 아니라 데이터 값에 따라 참조된다.
- 4. 내용에 따른 참조(Reference By Content) : 데이터베이스에 저장된 데이터는 물리적 위치가 아닌 값에 따라 참조된다.
2. DBMS(DataBase Management System)
2-1. DBMS 정의
- 데이터베이스에서 데이터를 추출, 조작, 정의, 제어 등 할 수 있게 만드는 데이터베이스 전용 관리 프로그램이다.
- CRUD 처리할수 있게끔 해주는 데이터베이스 관리 프로그램을 말한다.
Create새롭게 회원가입 한 회원 정보를 삽입하는 것. 새로운 데이터 생성.
Read추출. 로그인 시도할 때 계정 정보를 불러오는 것.
Update회원 정보를 수정하는 등
Delete게시글을 지우는 등
2-2. DBMS 기능
- 데이터 추출과 데이터 조작은 주어진 데이터를 조회하거나 삽입, 삭제, 수정하는 등의 작업을 일컫는다.
- 추출의 예시 키워드로는 SELECT가 있고, 조작은 INSERT, UPDATE, DELETE를 말한다.
- 데이터정의는 이름이 있어야 하니 이름은 얼마만큼의 공간으로 받을 것인지 등등 직접 정의해 공간을 만드는 작업이다.
- 즉 데이터 정의와 데이터 제어는 필요한 데이터를 CREATE하는 과정이다.
데이터 추출 (Retrieval) |
사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출한다. |
데이터 조작 (Manipulation) |
데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 삽입, 수정, 삭제 작업을 지원한다. |
데이터 정의 (Definition) |
데이터의 구조를 정의하고, 데이터 구조에 대한 삭제 및 변경 기능을 수행한다. |
데이터 제어 (Control) |
데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어한다. 백업과 회복, 동시성 제어 등 기능을 지원한다. |
2-3. DBMS 사용 이점
주요 이점 | 내용 |
데이터 독립화 | 데이터와 응용 프로그램을 분리시킴으로써 상호 영향 정도를 줄일 수 있다. |
데이터 중복 최소화 및 데이터 무결성 보장 |
중복되는 데이터를 최소화시켜 데이터 무결성이 손상될 가능성이 줄어든다. 또한 필요한 저장공간의 낭비를 줄일 수 있다. |
데이터 보안 향상 | 응용 프로그램은 DBMS를 통해 DBMS가 허용하는 데이터에만 접근할 수 있다. 따라서 권한에 맞게 데이터 접근을 제한하거나 데이터를 암호화시켜 저장할 수 있다. |
관리 편의성 향상 | 다양한 방법으로 데이터를 백업할 수 있다. 장애 발생 시 데이터를 복구할 수 있다. |
무결성이라 함은 '결함이 없다'는 뜻이다.
2-4. DBMS 유형
데이터 모델 | 1960년대 이전 |
1970년대 | 1980년대 | 1990년대 | 2000년대 | 2010년대 |
제품 종류 | ||||||
파일 시스템 | ||||||
계층 데이터 모델 | ||||||
네트워크 데이터 모델 | ||||||
관계 데이터 모델 | ||||||
객체 데이터 모델 | ||||||
객체-관계 데이터 모델 |
관계형 데이터 모델(RDBMS)
- 관계형 데이터베이스는 80년대에 출현해 현재까지 계속 사용되고 있는 유형이다.
- 모든 데이터를 2차원 테이블 형태로 표현하는 특징이 있고, 테이블간 비즈니스적 관계를 도출하는 구조를 가진다.
- 이를 통해 데이터 중복을 최소화할 수 있다. 업무 변화에 대한 적응력이 우수하다고 해석된다.
객체-관계 데이터 모델(ORDBMS)
- 기존 관계형 데이터베이스(RDBMS)에 객체(Object) 개념이 더해진 유형이다.
- 사용자 정의 타입을 지원한다. 자바의 클래스처럼 사용자가 임의로 정한 데이터 유형을 사용할 수 있다.
- 참조 타입을 지원한다.
- 중첩 테이블을 지원한다.
- 대단위 객체(LOB)를 지원한다.
- 상속 관계를 지원한다.
다양한 DBMS 중에서 우리는 오라클(Oracle)을 사용해 학습할 것이다.
수업 중 ORDMBS를 직접 다루지는 않을 것이다. 수업은 RDBMS에 맞춰 진행된다.
-- 계정 생성(CREATE USER)
CREATE USER C##EMPLOYEE IDENTIFIED BY EMPLOYEE;
❗ 계정 생성은 SYSTEM 계정만 할 수 있다.
❗ C##까지가 전체 계정명이며, BY 뒷부분이 비밀번호이다.
-- 권한 부여(GRANT)
GRANT CONNECT, RESOURCE TO C##EMPLOYEE;
❗ 계정을 실사용하기 위해서는 생성에 그칠 것이 아니라 접속 권한 CONNECT 및 리소스 권한 RESOURCE도 부여되어야 한다.
-- 테이블 스페이스 부여
ALTER USER C##EMPLOYEE QUOTA 100M ON USERS;
❗ ALTER는 구조적인 부분을 수정할 때 사용하는 키워드이다.
※ 명령문 실행 단축키는 ctrl + Enter키이다.
※ Drag한 뒤에 Alt + ' 누르면 대소문자 바꿔가며 보여준다. 보통 대문자를 쓴다.
'Database' 카테고리의 다른 글
[Oracle/SQL] 4. JOIN | OUTER JOIN | SELF JOIN | 다중 JOIN (0) | 2022.01.19 |
---|---|
[Oracle/SQL] 3. GROUP BY | HAVING | ROLLUP | CUBE | SET OPERATION (0) | 2022.01.19 |
[Oracle/수업 과제 practice] 함수 (0) | 2022.01.18 |
[Oracle/SQL] 2. 함수 | 그룹함수 | 단일행함수 | 형변환함수 | 선택함수 (0) | 2022.01.18 |
[Oracle/SQL] 1. DML | SELECT | 연산자 (0) | 2022.01.17 |