1. 개념적 데이터 모델링

Tasker_Jang·2024년 7월 22일
0

데이터베이스 (DB)

  • 데이터 및 데이터 간의 관계를 체계적이고 효율적으로 관리하기 위해 존재하는 시스템.
  • 예시: 회사의 인사 데이터베이스, 학교의 학생 성적 데이터베이스

데이터베이스 관리 시스템 (DBMS)

  • 사용자가 데이터베이스에 접근하고 관리할 수 있도록 지원하는 프로그램의 집합.
  • 예시: Oracle, MySQL, Microsoft SQL Server

데이터베이스 스키마

  • 데이터베이스의 구조, 데이터 타입, 제약 조건 등을 명세한 것.
  • 예시: 학생 테이블 스키마 - 학번(INT), 이름(VARCHAR), 생년월일(DATE), 학과(VARCHAR)

인스턴스

  • 특정 시점에 데이터베이스에 실제로 저장되어 있는 데이터의 상태.
  • 예시: 특정 시점의 학생 테이블에 저장된 데이터: (2021001, "김철수", "2000-01-01", "컴퓨터공학")

SQL (Structured Query Language)

  • 데이터베이스에 질의하기 위한 언어.
  • 예시: SELECT * FROM students WHERE major = '컴퓨터공학';

DDL (Data Definition Language)

  • 데이터베이스 구조를 정의하는 언어.
  • 예시:
    CREATE TABLE students (
        student_id INT PRIMARY KEY,
        name VARCHAR(50),
        birth_date DATE,
        major VARCHAR(50)
    );

DML (Data Manipulation Language)

  • 데이터의 조회, 삽입, 삭제, 갱신 등을 위한 언어.
  • 예시:
    INSERT INTO students (student_id, name, birth_date, major) VALUES (2021001, '김철수', '2000-01-01', '컴퓨터공학');
    SELECT * FROM students WHERE student_id = 2021001;

DCL (Data Control Language)

  • 데이터베이스 사용자 권한 부여 및 회수, 무결성 검사를 위한 언어.
  • 예시:
    GRANT SELECT ON students TO user1;
    REVOKE SELECT ON students FROM user1;

TCL (Transaction Control Language)

  • 트랜잭션의 수행을 제어하는 언어.
  • 예시:
    COMMIT;
    ROLLBACK;

데이터베이스 설계

  1. 요구사항 분석
  2. 개념적 설계
  3. 논리적 설계
  4. 물리적 설계

개체 (Entity)

  • 실세계에 존재하는 의미 있는 정보 단위.
  • 예시: 학생, 교수, 강의

관계 (Relationship)

  • 개체들 간의 관계.
  • 예시: 학생이 수강하는 강의 관계 (학생-강의)

속성 (Attribute)

  • 개체 또는 관계의 본질적 성질.
  • 예시: 학생의 속성 - 학번, 이름, 생년월일, 학과

Single-Valued vs Multi-Valued

  • Single-Valued: 단일 값 속성.
    • 예시: 학생의 학번
  • Multi-Valued: 다중 값 속성.
    • 예시: 학생의 전화번호들

Simple vs Composite

  • Simple: 단일 값 속성.
    • 예시: 학생의 이름
  • Composite: 여러 하위 속성으로 구성된 속성.
    • 예시: 학생의 주소 (도시, 구, 동)

Stored vs Derived

  • Stored: 저장된 속성.
    • 예시: 학생의 생년월일
  • Derived: 계산된 속성.
    • 예시: 학생의 나이 (현재 날짜 - 생년월일)

키 속성 (Key Attribute)

  • 특정 개체에 대해 유일한 값을 갖는 속성 또는 속성들의 집합.
  • 예시: 학생의 학번 (단일 키), 학생의 학번과 이름의 조합 (복합 키)

관계 설정

  • 한 개체의 속성이 다른 개체를 참조할 때 관계가 형성됨.
  • 예시: 학생 테이블의 학번이 성적 테이블의 학번을 참조

관계의 차수

  • 관계에 참여하는 개체의 수.
  • 예시: 이항 관계 (학생-강의)

관계의 대응수

  • 해당 개체가 해당 관계에서 참여할 수 있는 최대 관계 인스턴스 수.
  • 예시: 1:1, M:N, 1:N (교수-강의: 한 명의 교수가 여러 강의를 담당)

약성 개체 (Weak Entity)

  • 키 속성을 가지고 있지 않은 개체로, 다른 개체와의 관계를 통해 식별됨.
  • 예시: 특정 건물 내의 호실 (건물과 호실의 조합으로 식별)

Ternary Relationship

  • 세 개의 개체가 참여하는 관계.
  • 예시: 학생, 강의, 교수 간의 관계 (학생이 교수의 강의를 수강함)

profile
터널을 지나고 있을 뿐, 길은 여전히 열려 있다.

0개의 댓글