데이터베이스의 구조가 중요할까?

데이터베이스의 주요 기능은

“기능이 아닙니다.

이것은

데이터베이스는 수학처럼 참과 거짓을 반환하지 않습니다.

데이터베이스는 통계처럼 확률과 오류 확률을 반환하지 않습니다.

데이터베이스는 일대다 관계를 위해 설계되었습니다.

DB 사용자가 “영화 보여줘”라는 쿼리를 입력하면 DB는 셀 수 없이 많은 경우의 답변을 반환할 수 있습니다.


무한한 가능성을 가진 도구를 적절하게 사용하려면 적절한 제약이 필요합니다.

이 제약 조건 구현의 합성 표현 데이터베이스의 구조말하다.

중요해 보이지 않습니까?

내가 직접 데이터베이스 구조를 설계하는 예를 들어 자세히 설명하겠습니다.



내 데이터베이스의 목표는 코코아택시~였다

택시 회사를 운영하려면 어떤 데이터베이스 구조가 필요합니까?

(앞으로 제시된 각 구조의 문제점을 설명할 수 있다면 아마 DB 전문가일 것이다.

)

팁: 어떤 속성을 어떤 테이블에 넣을지 알고 싶다면

회사에서 발행한 영수증을 참고하시면 됩니다.


또한 카카오택시의 경우 어플이 있으니 참고하시면 됩니다.


다음과 같은 초안을 상상했습니다.

(프로그램 사용: ERwin Data Modeler)


1차 드래프트

이 디자인은 완전히 잘못되었습니다.

  • 실제 비즈니스에서 사용되지 않는 엔터티(저항, 수수료, 수수료 시스템)가 있습니다.

  • 불필요한 엔터티로 인해 불필요한 관계가 정의되었습니다.

  • 각 상세 엔터티에 포함된 속성은 상세 테이블로 관리하기에 부적합한 속성입니다.

개선합시다.


2차 설계

이 구조는 다음과 같은 문제점이 있습니다.

  • 택시 업계에서 ‘위치’는 하나의 테이블로 관리해야 하는 강력한 엔터티입니다.

  • 모바일 장치는 도구일 뿐 고객과 동등합니다.


3. 초안

여전히 문제를 찾을 수 있습니다.

  • ‘전화를 받는 주체’와 ‘서비스를 제공하는 주체’를 구분할 필요는 없다.

  • where 테이블에는 도착과 출발이라는 두 가지 관계가 있어야 합니다.


4. 초안

거의 끝났다.

  • 마지막으로 ‘장소’를 하나의 실체로 생각하고 통합하여 두 개의 관계로 표현하는 것이 보다 정교하다.

    (간단한 것이 더 좋습니다)
  • 비즈니스 상황에서 기본 키가 반드시 상속되지 않는 경우는 비식별 관계로 간주되므로 점선으로 표시됩니다.

  • 세부 속성을 추가합니다.

이것이 최종 디자인입니다.


최종 디자인


신탁

그런 다음 Oracle에서 구현했습니다.


오라클 SQL 개발자

Oracle 구현 시 팁:

1분기 작업 중이던 쿼리가 사라지면 어떻게 해야 합니까?

A1. “개발자 워크시트”의 “SQL 기록”에서 이전 쿼리를 복원할 수 있습니다.

Q2. PK와 FK는 어떻게 지정됩니까?

A2. 일반적으로 “테이블명 변경, 제약조건 추가”라는 코드가 주어진다.

이 경우 참조할 상위 테이블이 미리 존재해야 합니다.

테이블 생성 순서 우리는 당신이 당신의 마음을 결정하는 것이 좋습니다

3분기 ID 및 비ID 관계를 구현하는 방법은 무엇입니까?

A3. 자식 테이블에서 상속받은 키가 기본 키(PK)로 설정되지 않으면 자동으로 비식별 관계가 됩니다.

참고로 “기본 키는 하나여야 합니다!
그러나 기본 키는 속성을 가질 필요가 없습니다.

” 속성 집합은 고유하게 취급될 때 기본 키 역할을 합니다.

4분기 DB 제약 조건 간에 삭제 캐스케이드를 구현하는 방법은 무엇입니까?

A4. 삭제 계단식은 상위 테이블의 특정 행이 삭제될 때 하위 테이블의 데이터가 자동으로 삭제됨을 의미합니다.

처음에는 DB의 기본 기능인 줄 알았는데 오라클의 기본 설정에서는 동작하지 않는다.

Delete Cascade 코드에서 Add Constraint(~)로 구현할 수 있습니다.

또한 Oracle은 다음과 같은 모델 그래프 기능도 제공합니다.



마지막으로 경제적인 관점에서 “왜 데이터베이스를 사용하는가?”에 대해 생각해 봅시다.

모든 데이터가 DB에 저장되는 것은 아닙니다.

그 이유는 관리할 데이터가 충분하지 않으면 데이터베이스를 만들고 유지하는 데 아무런 이점이 없기 때문입니다.

데이터 볼륨 대 비용 차트.




수동 회계 엑셀 파일을 사용하는 경우 DB를 사용하는 경우

회사에서 사용하는 데이터의 양에 따라 적절한 데이터 관리 방법을 적용해야 합니다.


이 글이 미래에 데이터 엔지니어가 되고자 하는 분들에게 작은 힌트가 되었으면 합니다.

감사해요