총괄했어너무 많이 정리했나봐요.귀일화

4299 단어 귀일화DB 설계
안녕하세요,Atrae advent 달력 21일째는 졸업생 첫해인 사쿠라이가 맡습니다!!!
저는 회사에 들어간 지 반년 동안 플랫폼'wevox'의 백엔드(rails)와 백엔드(react/typescript)의 개발을 조직 개선하는 일을 맡아 왔습니다.
반년 후 전직해 현재 전직 사이트 그린에서 백엔드와 SRE(초년생)를 맡고 있다.
졸업생 엔지니어 양성
올해 졸업생 엔지니어 네 명이 아틀라에 들어갔다.모든 구성원들은 개발 경험이 없고, 기본적으로 모두 경험이 없어서 회사에 들어온다.
그래서 올해는 졸업생 엔지니어 양성으로 불리며 선배 엔지니어들이 개발의 입문을 가르쳐 주었다.
유일한 정보학과 출신인 저는 지식으로 배웠지만 실제 개발에서 이런 말을 들으면 실감치가 있을까, 피와 살처럼 느껴지며 다시 즐겁게 공부하고 있습니다.
반년 정도, 처음부터 이 신인 연수였어요.선배들이 준비하지 못하게 해서라도 무엇을 배워야 하는지, 스스로 공부해야 하는지 물어봐야 하는데, 가르치는 방법은 회사 내 자원과 자신의 이해도를 높이는 것을 고려할 수 있다고 생각해요. 이제 우리가 직접 가르쳐요.
그 중에서도 DB 디자인 주변 일을 맡아 DB에 관한 책과 인터넷 기사를 조사했다.
그곳에는 가장 문제가 되는 유형이 있다.그건 정규화야.
데이터베이스 디자인과 표를 고려하는 데 매우 기초적인 것이지만 처음 배우는 사람에게는 이해하기 어려운 영역이다.
그럼에도 책과 기사에 따라 미묘한 어감이 다르다.
익숙해지면 이해할 수 있겠지만 (학창시절에도 왜 시험을 보냈는지 모르겠다.)
이런 우리를 아프게 하는 정규화가 무엇인지, 다시 정리하면 정규화에 고생하는 앞으로의 사람들이 이 기사를 읽으면 이해할 수 있을 것 같아서 쓰고 싶다.
다시 한 번, 정규화는 무엇 때문인가
오프닝이 너무 길어서 오래 기다리셨습니다.오래 기다리셨습니다.
원래 정규화는 무엇 때문인가.다시 복습해 봅시다.
데이터베이스에 필요한 요구 사항
데이터베이스에 필요한 조건은 다음과 같은 네 가지가 있다.
  • 공유 사용
  • 여러 사용자에 의한 공유 활용
  • 1원 관리
  • One Fact in One Place
  • 신뢰성
  • 고장 방지 및 높은 안전성
  • 성능
  • 처리 속도 및 SQL 검색 성능
  • 이 가운데 공유 이용 및 신뢰성은 DBMS(발췌된 기반 관리 시스템)의 의존도가 크기 때문으로 여겨진다.(MySQL 또는 PostgreSQL을 나타냅니다.)
    따라서 데이터베이스를 디자인할 때 디자이너가 특히 중시하는 것은 일원 관리와 성능이다.
    이 일원 관리를 위해서 중요한 일이 있습니다.그건 정규화야.
    정규화
    다시 정규화가 뭔지 언어화하면...
    하나의 데이터가 여러 테이블에 존재하는 것을 제외하고 (불필요한) 업데이트할 때의 불편/어댑터를 방지합니다.
    네.
    시계 안의 속성을 꿰뚫고 제3정규형으로 정규화하다.
    이 배경 아래에서 우리는 표를 귀일화할 것이다.
    이번에는 과일 상품 입고에 관한 테이블을 준비했는데 그걸 원래대로 하고 싶어요.
    원래의 비정규 시계는 여기에 있다.

    비정규형. - 제1정규형.
    첫 번째 정규화는 두 가지가 있다.
    중복 속성 제외
    셀의 값
    위의 표에는 중복 속성이 없지만, 한 칸에 여러 개의 수치가 있습니다.내가 그걸 없애줄게.
    첫 번째 정규화가 끝난 후의 그림은 다음 그림입니다.

    제1정규형. - 제2정규형.
    제2정규화
    부분 함수 종속을 없애고 표를 분리하여 완전 종속 함수를 실현하다
    네.
    부분 함수 종속은 기록의 유일한 요소의 일부분이다.
    레코드의 고유 요소를 식별하는 것이 테이블의 주 키워드입니다.
    아까 책상 위에 놓고 공급업체의 주소 속성을 알면 꼭 알 거예요.
    이 책상의 기록이 유일하다고 판단하려면 공급업체, 상품, 입하일 등 세 가지가 필요하다.
    따라서 이 표는 공급업체만 알 수 있는 주소 속성이 있고 일부 종속 함수가 있는 표이다.
    완전 종속 함수란 기록이 유일한 요소가 모두 맞지 않는지 판단할 수 없는 요소를 말한다.
    이번에 입하 수량의 특성은 상품, 공급자, 입하 일자 등 세 가지가 통일돼야 알 수 있다.이러한 속성으로 구성된 테이블만 완전 종속 함수를 충족하는 테이블입니다.
    어려운 단어를 나열해 놓았지만 총결해 보면
    두 번째 정규화에서는 주 키워드를 통해 나머지 속성 값을 지정하는 속성만 테이블을 구성합니다.
    다음은 제2정규화된 표입니다.
    입하 테이블

    원래 책상은 ↑.주요 열쇠는 상품명, 공급업체, 입하일자입니다.
    공급업체 테이블

    주요 열쇠는 공급업체다.
    카탈로그

    주요 열쇠는 상품입니다.
    두 번째 정규형. - 세 번째 정규형.
    제3정규화
    변환 함수 종속 해제
    네.
    과도 함수 종속은 기록을 유일하게 판단할 수 있는 요소가 아닌 요소에 종속되는 요소를 말한다.
    아까는 메인 키만 알면 알 수 있는 속성이었는데, 이번에는 메인 키의 속성이 아니라 다른 속성을 내보낸 속성을 분해했습니다.
    이번에는 대표자 이름과 대표자 연락처의 관계성을 높일 수 있다.


    따라서 그 부분을 분리하고 새로운 표를 만들어서 과도 함수 종속을 제거한다.
    이것은 귀일화를 완성할 것이다.

    어때요?
    상당히 기초적인 내용이라고 생각했는데 의외로 내용을 파악하기 전까지는 힘들었을 거예요.
    지금까지 아틀라 에드윈 달력의 21일째!
    내일은 발기인 삼상군이 advent 달력을 한다고 보도합니다!기대해주세요!

    좋은 웹페이지 즐겨찾기