웹 서비스 개발(FB,BE,SERVER,DB)/DataBase

Database

Zoo_10th 2024. 5. 1.

1. DataBase

1-1. 데이터베이스와 DBMS 소개

1) 데이터베이스

정보의 집합으로, 여러 사용자가 공유하고 사용할 목적으로 통합 관리되는 데이터 모음이다. 예를 들어, 대학교에서 학생, 교수, 강의 등의 정보를 저장하고 관리하는 시스템이다.

2) DBMS (DataBase Management System)

데이터를 관리하는 소프트웨어 시스템으로, 데이터 중복을 최소화하고, 데이터의 보안, 동시 접근 제어 등을 관리한다. 예를 들어, MySQL, Oracle, MS SQL Server 등이 있다.

1-2. DBMS와 파일 시스템의 차이점

1) 파일 시스템

 - 장점: 비용이 없음, 백업이 쉬움, 전문지식 불필요.

 - 단점: 중복 데이터 존재, 데이터 공유 어려움, 보안 취약.

 - 예시: 각각의 응용 프로그램이 사용하는 데이터를 별도의 파일로 저장하여 관리하는 방식.

2) DBMS

 - 장점: 중복 데이터 최소화, 데이터 동시 공유 가능, 보안 향상.

 - 단점: 비용이 많이 들고, 데이터 백업이 복잡, 데이터베이스 전문가 필요.

 - 예시: 은행 시스템에서 고객의 계좌 정보를 중앙 집중식 데이터베이스에 저장하고, 다양한 지점과 온라인에서 동시에 접근하여 관리.

2. 데이터베이스 기능

1) 정의(DDL : Data Define Language)

데이터베이스 구조를 정의하거나 수정한다. 예를 들어, 새로운 테이블 생성 또는 기존 구조 변경 등을 포함한다.

2) 조작 (DML : Data Manipulation Language)

데이터 삽입, 조회, 수정, 삭제 등의 작업을 수행한다. 예를 들어, SQL (Structured Query Language)을 사용하여 데이터를 관리한다.

3) 제어 (DCL : Data Control Language)

데이터를 정확하고 안전하게 유지한다. 예를 들어, 트랜잭션 관리, 동시성 제어, 백업 및 복구 기능을 포함한다.

2-1. 데이터 모델링

1) 개념적 데이터 모델

현실 세계의 다양한 정보를 데이터베이스에서 이해할 수 있는 구조로 변환하는 과정이다. 예를 들어, 학교의 '학생'과 '교수' 간의 관계를 개념적으로 표현한다.

2) 논리적 데이터 모델

개념적 모델을 바탕으로 데이터베이스의 구조를 설계하는 단계이다. 이는 주로 테이블, 열, 데이터 타입 등으로 표현된다.

3) 개체-관계 모델 (E-R Model)

데이터 간의 관계를 개체로 표현하는 모델이다. 예를 들어, 학생과 교수 간의 '지도' 관계를 도식화한다.

3. 관계형 데이터베이스

1) 기본용어

 - 릴레이션 (Relation) : 데이터를 저장하는 2차원 테이블이다.각 행은 튜플이고, 각 열은 속성이다.

  * 릴레이션(Relation)의 특성

    ① 튜플의 유일성 : 한 릴레이션 내에 각 행은 유일해야 한다.

    ② 튜플의 무순서 : 한 릴레이션 내에 튜플의 순서는 의미가 없다.

    ③ 속성의 무순서 : 한 릴레이션 내에 컬럼(속성)의 순서는 의미가 없다.

    ④ 속성의 원자성 : 한 릴레이션 내에 속성의 값은 원자값(단일한 값)만 갖어야한다.

 - 도메인 (Domain) : 하나의 속성이 가질 수 있는 값의 범위이다.

2) 예시

'학생' 테이블에서 '학생번호', '이름', '학과' 등의 열이 있고, 각 학생의 정보가 행으로 저장된다.

3-1. 키(Key)의 종류

릴레이션에서 튜플을 유일하게 구별할 수 있게 하는 속성 또는 속성의 집합

1) 슈퍼키(Super Key)

유일성을 만족하는 속성 집합이다. 예를 들어, 학생의 '학번'과 '이름'의 조합이 유일할 수 있다.

 - (고객아이디), (고객아이디 / 고객이름), (고객이름 / 나이 / 직업 / 주소)

2) 후보키(Candidate Key)

최소성을 만족하면서 유일성을 보장하는 키이다. 예를 들어, '학번'만으로 모든 학생을 구별할 수 있다.

 - (고객아이디), (고객이름 / 주소)

3) 대체키(Alternate Key)

후보키 중 기본키가 되지 못한 키

4) 외래키(Foreign Key)

다른 테이블의 기본키를 참조하는 키이다. 예를 들어, '수강신청' 테이블의 '학번'은 '학생' 테이블의 '학번'을 참조한다.

 - (고객이름 / 주소)

3-2. 무결성 제약조건

1) 개체 무결성

기본키를 구성하는 모든 속성은 NULL 값을 가질 수 없다.

2) 참조 무결성

외래키는 참조할 수 없는 값을 가질 수 없으며, 기본키로 존재하지 않는 값은 외래키로 사용할 수 없다.

3) 예시

학생 테이블에서 '학번'은 NULL이 될 수 없으며, '수강신청' 테이블에서 '학번'은 학생 테이블에 존재하는 값만 참조할 수 있다.

 

728x90

'웹 서비스 개발(FB,BE,SERVER,DB) > DataBase' 카테고리의 다른 글

Database_활용  (0) 2024.05.07
DBMS 관리를 위한 SQL  (1) 2024.05.01

댓글