학교 과제 - 전공

DB

당혜성 2024. 12. 21. 01:14

데이터베이스 시스템 구성

- 데이터베이스 시스템은 기본 구성은 데이터베이스, 데이터베이스 관리 시스템, 데이터 모델이다.

 

- 데이터 베이스는 하드디스크에 저장된 데이터이고, DBMS는 주기억 장치에 저장된 소프트 웨어이다.

 

- 데이터 모델은 눈에 보이지 않는 논리적인 개념으로 데이터가 저장되는 기법에 관한 내용이다.

 

1-1.데이터 베이스 언어

 

DDL(Data Definition Language): 데이터베이스를 정의하는 언어이며, 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 하는 언어이다.

 

create : 데이터베이스, 테이블등을 생성

alter : 테이블을 수정

drop : 데이터베이스, 테이블을 삭제

truncate : 테이블을 초기화

 

DML(Data Manipulation Language):정의된 데이터베이스에 입력된 레코드를 조회하거나 수정하거나 삭제하는 등의 역할을 하는 언어이다.

 

select : 데이터 조회

insert : 데이터 삽입

update : 데이터 수정

delete : 데이터 삭제

 

DCL(Data Control Language):데이터베이스에 접근하거나 객체에 권한을 주는등의 역할을 하는 언어이다,

 

grant : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여

revoke : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈, 회수

commit : 트랜잭션의 작업을 저장

rollback : 트랜잭션의 작업을  취소, 원래대로 복구

 

1-2.데이터베이스 사용자

 

데이터베이스 관리자(DBA, DataBase Administrator)

 

- DDL, DCL을 이용하여 데이터베이스를 정의, 제어 하는 사람 또는 그룹

 

- 데이터베이스 관리 시스템과 컴퓨터 시스템, 조직 내의 전산 업무에 전문적인 지식 필요

 

- 데이터베이스를 설계, 관리, 운용 및 통제하며 효율성과 경제적인 효용성을 높이기 위해 시스템 감시 및 성능 분석

 

데이터 관리자(Data Administrator)

 

- 하나의 기업 또는 조직 내에서 데이터에 대한 정의, 체계화, 감독 및 보안 업무를 담당하는 관리자

 

- 기업 또는 조직 전반에 걸쳐 존재하는 데이터에 대한 관리를 총괄, 정보 활용에 대한 중앙 집중적인 계획 수립 및 통제

 

데이터 설계자(Data Architect)

 

- 기업의 업무 수행에 필요한 데이터의 구조를 체계적으로 정의하는 사람

 

- 데이터 구조뿐만 아니라 데이터 표준, 데이터 관리 체계 등을 포함하는 데이터 영역을 분류, 이를 기분으로 데이터 모델을 생성

 

응용 프로그래머(Application Programmer)

 

- C, Visual Basic 같은 호스트 프로그래밍 언어에 DML을 삽입하여, 데이터베이스에 접근하는 사람

 

- 호스트 프로그래밍 언어를 사용할 수 있고, 데이터베이스 관리 시스템에 대해서도 일정 이상의 지식을 보유하고 있는 전산 전문가

 

일반 사용자(End User)

 

- 질의어(Query Language)를 통해 데이터베이스 관리 시스템에 접근하는 사람

 

- 데이터 삽입, 삭제, 갱신, 검색 등의 목적으로 데이터베이스 관리 시스템 이용

 

1-3.DBMS

 

Database Management System(DBMS): 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다. DBMS은 사용자 또는 다른 프로그램의 요구를 처리하고 적절히 응답하여 데이터를 사용할 수 있도록 해준다.

 

1-3.1.기능

 

정의 : 데이터에 대한 형식, 구조, 제약조건들을 명세하는 기능이다. 이때 데이터베이스에 대한 정의 및 설명은 카탈로그나 사전의 형태로 저장된다.

 

구축 : DBMS가 관리하는 기억 장치에 데이터를 저장하는 기능이다.

 

조작 : 특정한 데이터를 검색하기 위한 질의, 데이터베이스의 갱신, 보고서 생성 기능 등을 포함한다.

 

공유 : 여러 사용자와 프로그램이 데이터베이스에 동시에 접근하도록 하는 기능이다.

 

보호 : 하드웨어나 소프트웨어의 오동작 또는 권한이 없는 악의적인 접근으로부터 시스템을 보호한다.

 

유지보수 : 시간이 지남에 따라 변화하는 요구사항을 반영할 수 있도록 하는 기능이다.

 

1-3.2.장점

 

DBMS는 자료의 통합성을 증진시킨다.

 

DBMS는 데이터의 접근성이 용이하다.

 

데이터 통제가 강화된다.

 

애플리케이션 프로그램들을 쉽게 개발하고 관리할 수 있다.

 

보안이 강화된다.

 

1-4.데이터 모델

 

1. 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화 하여 체계적으로 표현한 개념적 모형이다.

 

2. 데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임이다.

 

3. 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터의 구조를 논리적으로 표현하기 위해 사용되는 도구이다.

 

4. 데이터의 구조(Schema)를 논리적으로 묘사하기 위해 사용되는 지능적 도구이다.

 

1-4.1.데이터모델의 종류

 

개념적 데이터 모델

 

개념적 데이터 모델은 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다.

 

개념적 데이터 모델은 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현한다,

 

개념적 데이터 모델은 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하기 때문에 정보 모델이라고도 한다.

 

대표적인 개념적 데이터 모델로는 E-R 모델이 있다.

 

논리적 데이터 모델

 

논리적 데이터 모델은 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정이다.

 

논리적 데이터 모델은 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여 현실 세계를 표현한다.

 

단순히 데이터 모델이라고 하면 논리적 데이터 모델을 의미한다.

 

특정 DBMS는 특정 논리적 데이터 모델 하나만 선정하여 사용한다.

 

논리적 데이터 모델은 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분한다.

 

1-4.2.데이터모델의 구성요소

 

개체(Entity)

 

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

 

개체는 실세계에 독립적으로 존재하는 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성된다.

 

파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 수행한다.

 

독립적으로 존재하거나 그 자체로서도 구별 가능하다.

 

속성(Attribute)

 

속성은 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다.

 

속성은 개체를 구성하는 항목이다.

 

관계(Relation)

 

개체 간의 관계 또는 속성 간의 관계이다.

 

관계의 형태

 

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

 

일대다 : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고 있지만, 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응하는 관계이다.

 

다대다 : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러개와 대응하고 개체 집합 B의 각 원소도 개체 집합 A의 원소 여러개와 대응하는 관계이다.

 

데이터 모델에 표시할 요소

 

구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현한다.

 

연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본도구이다.

 

제약조건(Constraint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건이다.

 

1-5.데이터베이스 용어

 

스키마(Schema): 데이터 베이스의 구조를 전반적으로 기술한 것. 구체적으로 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 등을 정의 한 것을 말한다.

 

외부 스키마(사용자 뷰): 사용자의 입장에서 정의한 데이터 베이스의 논리적 구조. 데이터들을 어떤 형식, 구조, 화면을 통해 사용자에게 보여줄 것인가에 대한 명세를 말하며 하나의 데이터베이스에는 여러개의 외부 스키마가 있을 수 있다.

 

개념 스키마(전체적인 뷰): 데이터베이스의 전체적인 논리적 구조. 모든 이용자가 필요로 하는 데이터를 총합한 조직 전체의 데이터 베이스로 하나만 존재한다.

 

내부 스키마: 물리적 저장장치의 입장에서 본 데이터베이스 구조. 실제로 데이터베이스에 저장될 레코드의 물리적인 구조, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.

 

Relation(Table): 관계형 데이터 베이스에서 정보를 구분하여 저장하는 기본 단위.

 

Tuple(Record): 테이블에서 행을 의미. 튜플은 릴레이션에서 같은 값을 가질 수 없다. 튜플의 수는 카디날리티(Cardinality)라고 한다

 

Attribute(Fiel): 테이블에서 열을 의미. 같은 말로는 칼럼이라고도 하며 어트리뷰트의 수는 디그리(Degree)라고도 한다

 

식별자(Identifier): 여러개의 집합체를 담고있는 관계형 데이터 베이스에서 각각의 구분할 수 있는 논리적인 개념

특성

유일성: 하나의 릴레이션에서 모든 행은 서로 다른 키 값을 가져야 한다

최소성: 꼭 필요한 최소한의 속성들로만 키를 구성해야 한다

 

Key

데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구문할 수 있는 기준이 되는 에트리뷰트.

후보키(Cardidate Key)

 

릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합.

 

기본 키로 사용할 수 있는 속성들을 의미.

 

모든 릴레이션에는 반드시 하나 이상의 후보키가 존재한다.

 

유일성과 최소성을 만족시켜야 한다

 

기본키(Primary Key)

 

후보키 중에서 선택한 Main Key이다.

 

한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성.

 

null 값을 가질 수 없다

 

동일한 값이 중복되어 저장될 수 없다.

 

슈퍼키(Super Key)

 

한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값을 나타나지 않는다.

 

릴레이션을 구성하는 모든 튜플에 대해 유일성을 만족시키지만, 최소성을 만족시키지 못한다.

 

(ex) 학번 + 주민번호를 사용하여 슈퍼키를 만들면 유일성은 만족하지만, 학번이나 주민번호 하나만 가지고도 다른 튜플들을 구분할 수 있으므로 최소성은 만족시키지 못한다

 

외래키(Foregin Key)

 

어떤 릴레이션간의 기본키를 참조하는 속성. 테이블들 간의 관계를 나타내기 위해서 사용된다.

 

다른 릴레이션의 기본 키를 그대로 참조하는 속성의 집합을 의미

 

외래키가 되는 속성과 기본키가 되는 속성의 이름은 달라도 되지만, 외래키의 속성의 도메인과 참조되는 기본키 속성의 도메인은 반드시 같아야 한다. 도메인이 같아여 연관성 있는 투플을 찾기 위한 비교 연산이 가능하기 때문이다.

 

외래키는 기본키를 참조하지만 기본키가 아니기 때문에 null값을 가질 수 있고, 서로다른 투플이 같은 값을 가질 수 있다.

 

 

 

'학교 과제 - 전공' 카테고리의 다른 글

컴퓨터 네트워크 필기  (0) 2025.04.14
플래그를 찾는 과정  (0) 2025.03.27
폭포수 모델 보고서 - 실 사용 예시 및 분석 평가  (0) 2025.03.23
OPEN RAN - CU  (0) 2024.12.12