본문 바로가기

DataBase(SQL)/DAY 28 _ 23.09.26

DB 이론

1. 정의 :

특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합

**공유 데이터: 
특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터

**통합 데이터:
최소의 중복과 통제 가능한 중복만 허용하는 데이터
**저장 데이터:
컴퓨터가 접근할 수 있는 매체에 저장된 데이터
**운영 데이터:
조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터


2. 특징

**실시간 접근:
사용자의 데이터 요구에 실시간으로 응답
**계속 변화:
데이터의 계속적인 삽입, 삭제, 수정을 통해 현재의 정확한 데이터를 유지
**동시 공유:
서로 다른 데이터의 동시 사용뿐만 아니라 같은 데이터의 동시사용도지원
**내용 기반 참조:
데이터가 저장된 주소나 위치가 아닌 내용으로 참조 가능
예) 재고량이 1,000개 이상인 제품의 이름을 검색하시오.


3. 언어


4. 구조


5. 용어

 

  • 데이터베이스 : 작동하는데 필요한 모든 파일을 의미합니다.
  • 인스턴스 : DBMS가 동작할 때의 단위, OS 입장에서는 ‘프로세스’, DBMS에 따라서는 ‘서버 프로세스’ 또는 ‘서버’로 부르기도 합니다. 앞서 말한 데이터베이스가 실행 가능하게 메모리에 올라가 있는 걸 생각하시면 됩니다.
  • 스키마 : 데이터베이스의 구조와 제약 조건을 정의한 것, 쉽게는 폴더에 해당하며 스키마도 폴더처럼 사용자가 자유롭게 만들 수 있고, 사용자에 따라 접근을 제한하는 등의 권한 관리가 가능합니다. 폴더이기 떄문에 폴더에 여러 파일을 넣을 수 있는것 처럼 여러 테이블을 담을 수 있습니다.

6. 릴레이션

** 스키마

릴레이션 스키마는 릴레이션에 어떤 정보가 담길지를 정의한다.

도서 릴레이션은 도서번호, 도서이름, 출판사, 가격이라는 정보를 정의하고 있는데, 각 열을 속성(attribute)이라고 한다.

속성에는 각각의 이름이 있으며 우리는 그 이름을 보고 어떤 정보가 담기는 알 수 있다.

하지만 컴퓨터는 속성만으로 어떤 타입의 데이터인지 알 수 없다.

따라서 각 속성들이 어떤 값을 가질 수 있는지를 도메인(domain)이라는 용어를 사용하여 정의한다.

또한 릴레이션이 몇 개의 속성을 가지는가를 나타내기 위해 차수(degree)라는 용어를 사용한다.

  • 속성(attribute) : 릴레이션 스키마의 열
  • 도메인(domain) : 속성이 가질 수 있는 값의 집합 --> bookid의 도메인은 number
  • 차수(degree) : 속성의 개수

6-1. 릴레이션의 특징

  • 속성은 단일 값을 가진다 : 각 속성의 값은 도메인에 정의된 값만을 가지며 그 값은 모두 단일 값이어야 한다.
  • 속성은 서로 다른 이름을 가진다.
  • 한 속성의 값은 모두 같은 도메인 값을 가진다. ( --> bookid의 도메인은 number)
  • 속성의 순서는 상관없다. (ex. 이름-주소 / 주소-이름 순서가 상관이 없다.)
  • 릴레이션 내의 중복된 투플은 허용하지 않는다. (ex. 박지성2명은되지만, 1번박지성이 2명인건 안돼.)
  • 투플의 (insert되는) 순서는 상관없다.  (ex. 어차피 내가 넣은 순서대로 안나와..ㅎ orderby~)


7. KEY ★ ★ ★ : 데이터를 고유하게 식별하고 관리하기 위한 중요한 개념

**기본 키 (Primary Key):

테이블 내의 각 레코드(행)를 고유하게 식별하는 데 사용됩니다.
값은 중복되지 않아야 하며, NULL 값을 가질 수 없습니다.
주로 한 테이블 내에서 사용되며, 해당 테이블의 기본 키로 설정된 컬럼을 기반으로 레코드를 빠르게 찾을 수 있습니다.
예를 들어, 사용자 테이블에서의 사용자 ID가 기본 키일 수 있습니다.


**   대리 키 (Surrogate Key):

비즈니스 의미와 관계없이 테이블 내의 각 레코드를 고유하게 식별하기 위한 용도로 생성된 키입니다.
종종 정수 또는 숫자로 구성되며, 자동으로 증가하는 값을 가집니다.
복잡한 비즈니스 로직을 처리하지 않고도 레코드를 고유하게 식별하는 데 유용합니다.
예를 들어, 데이터베이스에서 자동으로 생성되는 고유한 ID 번호가 대리 키일 수 있습니다.

 

** 외래 키 (Foreign Key):

한 테이블의 기본 키가 다른 테이블의 필드에 저장된 경우 사용됩니다.
다른 테이블과의 관계를 설정하는 데 사용되며, 두 테이블 간의 관계를 유지하고 데이터 무결성을 보장합니다.

NULL값과 중복 값 등이 허용됩니다.
예를 들어, 주문 테이블에서 사용자 ID를 포함하는 경우, 이 사용자 ID는 사용자 테이블의 기본 키를 참조하는 외래 키가 될 수 있습니다.

 


8. 무결성 제약조건 ★ ★ ★


9. 데이터 모델링 

 

9-1. 데이터 생명주기 --> 요구사항 수집 및 분석이 중요하다!!! ★

 

9-2. 데이터 모델링 과정

[ 3가지 모델링 ]

  • 개념적 모델링: 개체와 개체들 간의 관계에서 ER다이어그램을 만드는 과정

  • 논리적 모델링: ER다이어그램을 사용하여 관계 스키마 모델을 만드는 과정

  • 물리적 모델링: 관계 스키마 모델의 물리적 구조를 정의하고 구현하는 과정

 

'DataBase(SQL) > DAY 28 _ 23.09.26' 카테고리의 다른 글

DB 이론2 _ 정규화  (0) 2023.09.26