2023. 3. 29. 01:43ㆍDatabase Management
1. DBMS 기초 용어
1.1. DBMS(Database Management Service):
- 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것
- DBMS가 설치되어 데이터를 가진 쪽을 서버(server), 외부에서 데이터 요청하는 쪽을 클라이언트(client)라고 함
1.2. 관계형 데이터베이스: 여러 개의 테이블이 특정 관계로 이루어져 있는 구조를 가진 데이터 베이스를 의미
1.3. entity: 독립적으로 전재하며 고유한 실세계의 개체
1.4. entity set(엔티티 집합): 동일 속성을 가진 엔티티들의 집합으로, 엔티티는 여러 개의 엔티티 집합에 소속될 수 있음
1.5. schema(스키마): 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것
- 외부 스키마(사용자 관점): 각 사용자 생각에서의 데이터베이스 모습으로, 하나에 데이터베이스에 여러 개가 존재할 수 있음
- 개념 스키마(조직 전체 관점): 저장되는 객체, 객체 간의 관계 및 제약 조건, 접근 권한, 보안 등을 정의힌 것으로, 하나의 데이터베이스에 하나만 존재 가능
- 내부 스키마(저장 장치 관점): 레코드 구조, 필드 크기, 레코드 접근 경로 등 물리적 저장 구조를 정의
1.6. table 용어
- relation: 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위
- attribute: 테이블의 field, column
- tuple: 테이블의 record, row
- domain: atrribute가 가질 수 있는 값의 집합
- degree: attribute의 개수
- cardinality: tuple의 개수
2. SQL 언어 분류
2.1. 데이터 조작어(DML - Data Manipulation Language)
- 정의: 저장된 데이터를 실질적으로 처리하는데 사용되는 언어
- 종류: 데이터 삽입(insert), 데이터 갱신(update), 데이터 삭졔(delete)
2.2. 데이터 정의어(DDL - Data Definition Language)
- 정의: 데이터베이스를 정의하는 언어
- 종류: 테이블 생성(create), 테이블 삭제(drop), 테이블 변경(alter)
2.3. 데이터 제어어(DCL - Data Control Language)
- 정의: 데이터베이스에 접근하거나 객체에 권한을 주는 언어
- 종류: 권한 부여(grant), 권한 회수(revoke)
3. key
3.1. Super Key
- Super Key: 투플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합
- Candidate Key(후보키): 투플을 유일하게 식별할 수 있는 속성의 최소 집합으로, 기본키가 되지 않은 후보키는 대체키가 됨
- Primary Key: 여러 후보키 중 대표가 되는 키로, 릴레이션 스키마 표현 시 밑줄을 그음. 후보키가 여러 개일 경우 기본키 선정 시 다음과 같은 사항을 고려
ㅇ투플 식별이 가능한 고유값을 보유
ㅇNot Null
ㅇ키 값의 불변
ㅇ최대한 적은 수의 속성
- 대리키(Surrogate Key): 복잡하고 보안이 요구되거나, 기본키 미존재 시 가상의 속성을 만들어 기본키로 사용될 때 사용되는 속성을 일컬음
- 외래키(Foreign Key): 다른 릴레이션의 기본키를 참조하는 속성으로, 릴레이션의 관계를 표현
4. 무결성 제약조건
4.1. 개념
- 무결성: 데이터를 정확하고 일관되게 유지하는 것
- 무결성 제약조건: 무결성 보장을 위해 데이터의 저장, 삭제 수정 등을 제약하기 위한 조건
4.2. 종류
- 개체 무결성 제약조건(기본키 제약조건 - Primary Key Constraint):
각 테이블의 기본키를 구성하는 속성은 Null과 중복을 허용하지 않음
- 참조 무결성 제약조건(외래키 제약조건 - Foreign Key Constraint):
외래키 컬럼의 값은 Null이거나 참조하는 부모 테이블 컬럼 값과 일치해야 함
- 도메인 무결성 제약조건(Domain Constraint):
속성 안에 들어가는 값은 정의된 도메인에 속한 값이어야 함
- 고유 무결성 제약조건(Unique Constraint): 속성의 값은 Null이거나 서로 달라야 함
5. index
5.1. 정의: 레코드의 신속한 식별을 위해 별도로 만든 자료로, B-Tree 형태로 만들어짐
5.2. 논클러스터(Non Cluster) 방식: 데이터의 목록과 B-tree를 별도로 만드는 방식으로, 레코드 추가가 빠르나, 검색이 느림
5.3. 클러스터 방식: B-Tree에 데이터를 바로 정렬하는 방식으로, 레코드 추가가 느리나, 검색이 빠르고, key의 개수와 상관없이 테이블 당 하나만 생성
참고자료: 데이터베이스 강의 - 김영진 교수님
'Database Management' 카테고리의 다른 글
데이터베이스기초실습 3주차 정리 (1) | 2022.09.28 |
---|---|
d데이터베이스기초실습 2주차 정리 (0) | 2022.09.14 |