[SQL 서적 학습회] 표 디자인
5928 단어 SQL
마지막으로 돌아온 이번'책상 디자인'을 총괄하고 싶습니다.
★이 기사는 내가 커뮤니티 기획서적 학습회를 공부할 때 발표한 자료이다.
기획 개요는 다음과 같다.
· SQL 입문을 빠르게 이해하고 자신의 해석으로 정리
· 멤버 4명이 각각 1장씩 독서를 담당하고 Qita 등에서 총발표
/모두 12장, 3일 1주일.(이번이 마지막 세번째!!)
• 저작권/표절 등을 고려해야 한다.해당되는 부분이 있으면 삭제/수정될 수 있으니 마음대로 지적해 주십시오.
데이터베이스 디자인
일단 결론부터.
데이터베이스 디자인은 다음과 같은 절차에 따라 진행된다.
개념 설계
데이터베이스에 대한 고객의 요구를 들어봅시다.
/데이터베이스의 목적 (무엇을 위해, 무엇을 실현하고자 하는지)
・최초에 요구된 기능(기본기능+보조기능)(어떤 기능인지, 있으면 구할 수 있는 기능은 무엇인가)
• 앞으로 추가하고 싶은 기능(앞으로 이루고 싶은 기능)
→ 이 청력에서 실체(정보 블록)를 추출한다.
솔리드에는 여러 속성이 있습니다.
*실체: 아주 얼토당토않게 데이터베이스다.블록
*속성: 데이터베이스 열을 나타냅니다.
예) 테이블을 솔리드로 간주하는 DB 일치
일자
판매
코스트
2021-05-04
10000
3000
2021-05-05
20000
6000
2021-05-06
15000
4500
이 실체, 속성, 실체 간의 관계를 내려다볼 수 있는 것은 ER도!!이런놈↓↓
데이터의 연관성은 이해하기 쉽다.
개념 설계의 총결
논리적 설계
상술한 개념 설계는 시종 이상적인 구조이다.
반드시 RDB에 직접 적용할 수 있는 것은 아니기 때문에 실체를 데이터베이스에서 처리하기 쉬운 구조로 가공해야 한다.
이것은 논리적 설계다.
하는 짓이 이런 느낌이야.
• 다대다를 없애기 위한 1대 다분할 작업
・메인 키를 정리합니다.주 키가 없으면 새 열을 추가하거나 잘못된 키가 있는지 확인할 수 있습니다.
*기본 키는 NULL이 아닌 고유성, 불변성 3가지 특성이 있어야 합니다.
・귀일화(데이터 어댑터를 배제하기 위해 표를 분할함)
논리 설계의 중심은 정규화이다.
이는 데이터의 모순 등 불일치/불편함을 해소하기 위한 것이다.
순서는 대체로 다음과 같다.(자세히 알고 싶으면 책을 보거나 찾아보세요!)
통합성이 붕괴되기 쉬운 단계.
Excel에서 말하는 1셀에 1값이 있어야 하는 경우
= 유닛 등이 통합되지 않은 상태
제2정규형
복합 키를 가진 표의 경우 함수는 복합 키 전체에 종속되어야 한다
참조 알기 쉬운 SQL 시작 p.396
날짜 표시줄과 판로 표시줄 두 열이 복합 키일 때 일부 함수의 종속을 배제하고 키 한 쪽만 데이터를 호출할 수 있다.
함수는 속성: 한 쪽의 값이 결정하면 함수적으로 다른 쪽의 값이 결정하는 관계입니다.
한 쪽임을 설명하지만 복수의 경우도 있으니 주의하십시오
부분 함수 종속: 메인 키가 직원 ID와 부서 ID일 때 부서 ID만 있으면 부서 이름을 알 수 있습니다.
직원 ID
부서 ID
부서 이름
성함/성명
1001
1
영업부
미스터 A
1002
1
영업부
미스터 B
2001
2
개발부
미스터 C
4. 제3정규형
표의 비키열은 메인 키와 직접 관련이 있어야 한다.
참조 알기 쉬운 SQL 시작 p.339
이것은 과도 함수 종속입니다. 아래 표에 나타난 바와 같이 직원 ID만 알면 부서 ID를 알고 부서 ID만 알면 부서 이름을 알 수 있습니다.
과도적으로 관계성을 아는 것을 가리킨다.
직원 ID
부서 ID
부서 이름
성함/성명
1001
1
영업부
미스터 A
1002
1
영업부
미스터 B
2001
2
개발부
미스터 C
어쨌든 이건 빼야 돼.
또 다른 5번 정규형이 있는 것 같으니 궁금하신 분들은 조사해주세요!
물리적 설계
물리 설계를 최소한의 지식으로 삼는 것은 프로그램뿐이다.
원래 모든 DBMS 제품에는 더 깊은 지식이 필요합니다.
· 논리적 설계 후 DBMS 제품 선정
• 최종 테이블 이름/열 이름 (물리적 이름) (* 기본 알파벳으로 이름) 결정
・제한, 기본값 설정
• 색인 설정 (구성원 글 참조 SQL의 요약 ③(인덱스 정보)
총결산
· 데이터베이스 디자인은 주로 3단계(개념/논리/물리) 존재
· 개념 디자인에서 클라이언트의 듣기, 실체 추출, ER 그림을 진행한다.
논리 설계는 주로 정규화
· 귀일화를 통해 데이터베이스에서 기대하지 않는 데이터를 배제한다(한 칸에 여러 개의 데이터, 부분 함수 종속, 과도 함수 종속)
· 마지막으로 물리적 설계를 통해 논리적 설계를 DBMS 제품에 포함
참고 자료
・간편한 SQL 시작
・데이터베이스 전문가 시험 규범화 해설 제4회
・AT 마크 IT "함수 종속성" 이해
서적 학습회의 회고
이번 서적학습회 설립 계기로 과제인'한 사람이 책을 읽는 효율성이 낮다'와'수출 기회 창출'부분은 모두 제거했다.
또 다른 사람을 휘말리는 적극성/주체성은 나의 무기임을 재확인했고 학습 동반자가 늘었다고 느꼈다.
경험이 없는 학습 기간에 어떻게든 Ruby와 PHP 등 언어 학습에 편향될 수 있지만 저는 이런 학습회에 적극적으로 참가하고 줍지 못하는 WEB 지식을 늘리는 것이 효과적이라고 생각합니다. 그래서 다시 해보고 싶습니다!
참석해주신 분들 감사합니다!!
구성원 기사
Reference
이 문제에 관하여([SQL 서적 학습회] 표 디자인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiroto_husqy/items/9ed675c4feb4ff0d0c28텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)