'CS/Database'에 해당되는 글 4건

  1. 2020.01.11 #4 SQL
  2. 2020.01.11 #3 Database Design
  3. 2020.01.11 #2 Database Model
  4. 2020.01.08 #1 Database 기본개념
2020. 1. 11. 17:05

1. SQL
2. DDL
3. DML
4. DCL
5. Join

6. View
7. Transaction

 

1. SQL

: 관계형 데이터 베이스의 표준 질의어로 정의, 조적, 제어기능을 모두 갖춘 언어

 

- sql 구성요소

a) DDL

b) DML

c) DCL

 

2. DDL

: 놀리적 데이터 구조와 물리적 데이터 구조의 사상을 정의

 

- CREATE :  schema, domain, table, view, index 정의

- ALTER : table에 대한 정의를 변경

- DROP : schema, domain, table, view, index 삭제

 

3. DML

: 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는 데 사용되는 언어

 

- SELECT : 테이블에서 조건에 맞는 튜플 검색

- INSERT : 테이블에 새로운 튜플 삽입

- DELETE : 테이블에서 조건에 맞는 튜플 제거

- UPDATE : 테이블에서 조건에 맞는 튜플의 내용 변경

 

4. DCL

: 데이터이 보안, 무결성, 회복, 병행 수행 제어등을 정의하는 데 사용되는 언어

 

- COMMIT : 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료됬었음을 알림

- ROLLBACK : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 지정 시점으로 복구

- GRANT : 데이터베이스 사용자에게 권한 부여

- REVOKE : 데이터베이스 사용자에게 권한 회수

 

- authorization 의종류 

a) select

b) insert

c) update

d) delete

 

 - ROLE

: 권한을 부여받을 개별적인 사용자가 생성됭 때 마다 권한을 부여할 필요없이 권한을 받을 특정 role을 생성하고 이를 사용자에게 부여함으로써 반복작업을 제거

 

5. Join

: 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산

 

- natural join

: 중복되는 속성을 제거하여 같은 속성을 한 번만 표기하는 방법

 

6. View

: 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블

 

- view 장점

a) 논리적 데이터 독립성을 제공한다

b) 사용자의 데이터 관리를 간단하게 해줌

c) 접근 제어를 통한 자동 보안 제공

 

- view 단점

a) 뷰의 정의를 변경할 수 없다

b) 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따름

 

7. Transaction

: 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위

 

- commit : 한개의 논리적 작업 단위가 성공적으로 끝났고, 데이터베이스가 다시 일관된 상태에 있을 때, 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산.

 

- rollback : 하나의 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스의 일관성을 깨뜨렸을 때, 이 트랜잭션의 일부가 정상적으로 처리되었더라도 트랜잭션의 원자성을 구현하기 위해 트랜잭션이 행한 모든 연산을 취소하는 연산

 

- transaction 특징

a) atomicity : 트랜잭션 연산은 데이터베이스에 모두 반영되도록 commit 되거나 전혀 반영되지 않도록 rollback된다

b) consistency : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.

c) isolation : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다

d) durability : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어어 한다.

'CS > Database' 카테고리의 다른 글

#3 Database Design  (0) 2020.01.11
#2 Database Model  (0) 2020.01.11
#1 Database 기본개념  (0) 2020.01.08
Posted by yongminLEE
2020. 1. 11. 17:05

1. Database Design
2.
Normalization

 

 

1. Database Design

- 개념

: 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것

 

- 설계 순서

a) 요구조건분석

: 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악

>> 수집된 정보를 바탕으로 요구 조건 명세를 작성

b) 개념적 설계

: 정보의 구조를 얻기 위하여 현실 세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정

>> 요구 조건 명세를 E-R 다이어그램으로 작성

c) 논리적 설계

: 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료구조로 변환시키는 과정

>> 개체와 관계로 표현되는 논리적 구조의 데이터로 모델화

d) 물리적 설계

: 논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환

>> 1. 반응시간 2. 공간활용도 3. 트랜잭션 처리량 등의 처리 성능을 고려하여 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정

e) 데이터베이스 구현

: 논리적 설계와 물리적 설계에서 도출된 데이터베이스 스키마를 파일로 생성

>> 특정 DBMS의 DDL로 데이터베이스를 생성, 트랜젹션 작성

 

2. Normalization

- 개념 : 정규화란 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정

 

- 정규화 원칙

a) 정보의 무손실 : 하나의 스키마를 다른 스키마로 변환할 때 정보의 손실이 있어서는 안된다.

b) 분리의 원칙 : 하나의 독립된 관계성은 하나의 독립된 릴레이션으로 분리시켜 표현되어야 한다.

c) 데이터의 중복성이 감소되어야 한다.

 

- 정규화 과정

a) 1NF, 제 1 정규형 : 1NF는 릴레이션에 속한 모든 도메인이 원자값만으로 되어 있는 릴레이션이다

 부분적 함수 종속 제거

b) 2NF, 제 2 정규형 : 릴레이션 R이 1NF이고, 키가 아닌 모든 속성이 기본키에 대하여 완적 함수적 종속 관계를 만족

↓ 이행적 함수 종속 제거

c) 3NF, 제 3 정규형 : 릴레이션 R이 2NF이고, 키가 아닌 모든 속성이 기본키에 대해 이행적 종속 관계를 이루지 않음

↓ 결정자이면서 후보키가 아닌 것 제거

d) BCNF : 릴레이샨 R에서 결정자가 모두 후보키인 관계형

'CS > Database' 카테고리의 다른 글

#4 SQL  (0) 2020.01.11
#2 Database Model  (0) 2020.01.11
#1 Database 기본개념  (0) 2020.01.08
Posted by yongminLEE
2020. 1. 11. 16:53

1. Data Model
2. E-R Model
3. Relational Model

 

1. Data model

- 정의 : 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 표현들의 집합

 

- 종류

a) E-R model

b) relational model

c) object based data model

d) hierarchical data model

e) network data model

 

2. E-R Model

- 정의 : 개체와 개체 간의 관게를 기본 요소로 이용하여 현실 세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하는 개념적 데이터 모델

 

- Entity, 개체

: 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체

 

- Attribute, 속성

: 데이터의 가장 작은 논리적 단위로 데이터 항목 또는 데이터 필드에 해당

 

- Relationship, 관계

: 개체 간의 관계 또는 속성 간의 관계

- 관계의 형태

a) 일대일 관계

: 개체집합 A의 각 원소가 개체집합 B의 원소 한 개와 대응하는 관계

b) 일대다 관계

: 개체집합 A의 각 원소는 개체집합 B의 여러 원소와 대응하고, 개체집합 B의 각 원소는 개체집합 A의 한 원소와 대응

c) 다대다 관계

: 개체집합 A의 여러 원소는 개체집합 B의 여러 원소와 대응, 개체집합 B의 여러 원소도 개체집합 A의 여러 원소와 대응

 

- E-R 다이어그램

: E-R 모델을 시각적으로 표현하기 위해 사용하는 그림

 

3. Relational Model

- 정의 : 2차원적인 표를 이용하여 데이터의 상호 관계를 정의하는 DB구조

 

- 관계형 데이터 모델 구성

a) relation : 테이블

b) tuple : 테이블 행

c) attribute : 테이블 열

d) domain : 허가된 값의 집합

e) relationship : 테이블 간의 관계

f) super key : 한 릴레이션에서 그 tuple을 유일하게 식별 할 수 있도록 해주는 속성 하나 또는 여러 속성들의 집합

g) candidate key : 최소한의 수퍼키 (최소성)

h) primary key : 릴레이션 안에서 tuple을 구별하기 위해 DB설계자가 선택한 candidate key

i) foreign key : relationship을 맺고 있는 두 릴레이션 R1, R2에서 R1이 참조하고 있는 R2의 기본키와 같은 R1의 속성

 

- 무결성 

a) 개체무결성

: 릴레이션에서 기본키를 구성하는 속성은 NULL 값이나 중복값을 가질 수 없다

b) 참조 무결성

: 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다

 

'CS > Database' 카테고리의 다른 글

#4 SQL  (0) 2020.01.11
#3 Database Design  (0) 2020.01.11
#1 Database 기본개념  (0) 2020.01.08
Posted by yongminLEE
2020. 1. 8. 21:51

1. data and information
2. database, DBMS
3. schema
4. database language

 

1. Data and information

- data

: 관찰, 측정을 통해 수집한 단순한 사실이나 결과값, 아직 가공되지 않은 상태

 

- information

: 유용한 정보를 가지고 있거나 의미있는 data 가공물

 

2. Database, DBMS

- database

: 여러 응용 시스템에서 '공용'되도록 컴퓨터시스템 내 전자방식으로 '통합/저장'된 데이터의 조직적 집합.

데이터베이스는 보통 데이터베이스 관리 시스템(DBMS)에 의해 제어된다. 

 

- database 구성요소

a) entity : 개체

b) attribute : 개체의 속성

c) relationship : 개체-개체 또는 개체-속성 간의 관계

 

- DBMS 

: 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성하고, 데이터베이스를 관리해 주는 소프트웨어

 

- DBMS 기능

a) definition : 데이터베이스에 저장될 데이터 타입과 구조에 대한 정의, 이용 방식, 제약조건등을 명시하는 기능

b) manipulation : 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공

c) control : manipulation 기능이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어

 

- DBMS의 장점

a) 데이터 독립화: 데이터와 응용 프로그램을 분리

b) 데이터 무결성 보장: 제약조건 검사를 통한 무결성 보장

c) 데이터 중복 최소화

d) 데이터 보안 향상

e) 관리 편의성 향상

 

3. Schema

- 정의 : 스키마는 데이터베이스의 구조와 데이터베이스를 구성하는 enitity, attribute, relationship, 데이터 값의 제약조건등에 관해 정의를 기술하는 메타데이터들의 집합

 

- 스키마 3계층

a) physical schema = internal schema = 내부 스키마

: 물리적 저장장치의 입장에서 본 데이터베이스 구조

b) logical schema = conceptual schema = 개념 스키마

: 데이터베이스의 전체적인 논리적 구조로 개체간의 관계, 제약조건, 접근 권한, 보안 및 무결성 규칙 명세를 정의

c) external schema = sub schema = 서부 스키마 

: 사용자 또는 응용 프로그래머가 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것

 

4. Database language

 

- DDL, Data Definition Language, 데이터 정의 언어

: DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어

 

- DML, Data Manipulation Language, 데이터 조작 언어 = 서브 언어

: 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로 사용자와 DBMS간의 인터페이스 제공.

 

- DCL, Data Control Language, 데이터 제어 언어

: 무결성, 보안, 권한 제어 및 회복 등을 위한 언어. 데이터를 보호, 관리 하는 목적으로 사용

'CS > Database' 카테고리의 다른 글

#4 SQL  (0) 2020.01.11
#3 Database Design  (0) 2020.01.11
#2 Database Model  (0) 2020.01.11
Posted by yongminLEE