데이터베이스(Database) 설계하기

2024. 11. 21. 10:52·IT Dictionary/Database
반응형

1. 요구 사항 분석

  • 사용자의 요구 사항을 수집하고 분석하고,  DB의 목적 파악
  • 결과물 : 요구 사항 명세서

 

2. 개념적 설계

  • 요구 사항 명세서를 기반으로 개념적 스키마 생성
  • 개체를 추출 (의미가 있는 명사를 찾음)
  • 개체 간의 관계를 정의 (의미가 있는 동사를 찾음)
  • E-R 다이어그램으로 개념적으로 표현
  • 결과물 : E-R 다이어그램 (개체-관계 다이어그램)
기호 기호 이름 의미
□ 사각형 개체 타입
◇ 마름모 관계 타입
ㅇ 타원 속성
◎ 이중 타원 다중값 속성 (복합 속성)
ㅇ 밑줄 타원 기본키 속성
― 이중 실선 필수로 연결해줘야 하는 관계

 

3. 논리적 설계

  • 개념적 스키마를 논리적 모델링하여 논리적 스키마 생성
  • 관계 데이터 모델(릴레이션, 스키마) 를 주로 사용
  • 데이터 타입, 길이, 기본 값, 제약조건 등을 정의
  • 모든 개체는 릴레이션으로 변환한다.
  • 결과물 : 릴레이션, 스키마

3.1 N : M 관계

  • 주문 릴레이션에 각 릴레이션의 외래키 속성을 넣어준다.
  • 기본키를 따로 생성하거나, 두 외래키를 기본키로 지정한다.

고객 테이블과 상품 테이블의 N:M 논리적 설계 단계

3.2 1 : N 관계

  • N 릴레이션에 1 릴레이션을 참조하고 있는 외래키 속성으로 넣어준다.

제조업체 테이블과 상품 테이블의 1:N 논리적 설계 단계

 

  • 약한 개체의 기본키로는 릴레이션 관계가 성립되기 어렵기 때 외래키를 포함해서 기본키로 지정한다.

약한 개체가 포함된 1:N 관계

 

3.4 1 : 1 관계

  • 외래키를 서로 교환하여 표현한다.

1:1 관계
필수적 관계가 하나만 존재할 댸는 필수적으로 참여하는 릴레이션에 외래키를 추가한다.

 

모두가 필수적인 관계일 때는 혼인 릴레이션에 모든 속성을 합치고, 두 외래키를 기본키로 지정한다.

3.5 다중 값 속성

  • 다중 값 속성은 새로운 릴레이션으로 변환된다.

다중 값 속성 릴레이션

3.5 기타 규칙

  • 자기 자신을 참조하는 재귀형 방식일 수도 있다.

사원(사원번호, 이름, 상사)

 

4. 물리적 설계

  • 하드웨어나 운영체제의 특성을 고려하여 물리적인 구조 설계
  • 인덱스 구조, 내부 저장 구조, 접근 경로 등

 

5. 구현

  • SQL로 작성한 명령문을 DBMS에서 실행하여 데이터베이스를 생성
반응형

'IT Dictionary > Database' 카테고리의 다른 글

데이터베이스(Database) 정규화 정리  (0) 2024.12.05
데이터베이스(Database) SQL ALTER TABLE 정리  (0) 2024.12.04
데이터베이스 SQL CREATE TABLE 정리  (0) 2024.11.10
데이터베이스 SQL SELECT문 총정리  (1) 2024.11.08
데이터베이스(Database) 관계 대수 정리  (1) 2024.11.07
'IT Dictionary/Database' 카테고리의 다른 글
  • 데이터베이스(Database) 정규화 정리
  • 데이터베이스(Database) SQL ALTER TABLE 정리
  • 데이터베이스 SQL CREATE TABLE 정리
  • 데이터베이스 SQL SELECT문 총정리
MutJangE
MutJangE
즐거운 인생
  • MutJangE
    MutJangE
    MutJangE
  • 전체
    오늘
    어제
    • 분류 전체보기 (70) N
      • IT Dictionary (43) N
        • !Solution! (0)
        • Database (7)
        • Network (8)
        • Linux (1)
        • Computer Science (7)
        • Service (2)
        • 정보보안산업기사 (18) N
      • 일상 (8)
        • 배포중인 웹 서비스 (1)
        • CERT병 (6)
      • 프로그래밍 (19)
        • Java (1)
        • C# (6)
        • Unity (7)
        • React (4)
        • React native (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.5
    MutJangE
    데이터베이스(Database) 설계하기
    상단으로

    티스토리툴바