일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- java 논리연산자
- java Fish
- java 성별
- java spider
- PLSQL
- java string
- java 구구단
- java 상속
- sqld remame
- Java Cat
- java 로또
- java 함수
- SQLD 특강
- JAVA 제어문
- sqld deny
- SQLD 옵티마이저
- sqld 옵티마이져
- sqld trigger
- sqld grant
- java
- JAVA for문
- sqld 자격증
- java Animal
- SQLD 자격시험 개념정리
- java 단축키
- SQL
- Java 메소드
- JAVA 연산자
- sqld revoke
- SQLD 핵심포인트
- Today
- Total
SQLD, ECLIPS, JAVA,PYTHON, NODE....
[Oracle] PL/SQL Class 8 - CBD 설계, ERwin, 조과제1 본문
2023.11.16
DB 설계 프로그램.
1. 관계: table과 table과의 관계
1) 1:1 ==> pk <-- fk
2) 1:다 ==> pk <--fk
3) 다:1 ==> fk <-- pk
4) 다:다==> 논리관계
##정규화: 설계기법, 설계방법 --> 업무분석 하기 위함
: 데이터베이스에서 중복된 데이터를 제거하고, 논리모델을 정제하는 과정
정규화는 데이터베이스를 여러개의 테이블로 분할하고, 이들 테이블 사이의 관계를 정의하는 과정을 포함한다.
1번째) 제1정규화: 하나의 테이블에는 하나의 행을 식별할 수 있는 기본키(primery key) 존재. 1:1 관계
( 테이블 분할 X )
2번째) 제2정규화: 기본키에 종속적인 기본키 제거(테이블 분할) ==> 반드시, 제3테이블 생성 됨. 다:다 관계
( 제3테이블 생성 )
3번째) 제3정규화: 기본키가 아닌 컬럼에 종속적인 컬럼 제거(테이블 분할) 1:다 관계
4번째) 역정규화: 정규화된 테이블을 다시 합치는 기능
## 정규화 장점(정규화 하는 이유)
- 테이블들이 좀 더 좁혀지기 때문에 정렬(중복 최소화, 데이터 불일치 감소) 및 index(목차별 정렬)를 생성할 수 있다.
- 더 많은 테이블이 있기 떄문에 더 많은 clusterd index를 사용할 수 있다.
- index가 작고 경제적이다.
- 테이블당 좀 더 적은 index는 update 성능을 향상 시킨다.
- 더 적은 null 및 불필요한 데이터의 감소는 데이터베이스의 조밀성을 증가시킨다.
- 더 적은 데이터 영향을 주기 때문에 동시에 테이블 잠김(locK)이 감소한다.
(연습1)
Pro _no |
Pro_name | Emp_no | Emp_name | Job | License | Charged per hour |
worked hour |
Total Charge |
1 | 신공항 설계 |
1001 | 박원X | Comp.eng | OCP | 65000 | 13 | 45000 |
1002 | 김상X | Comp.eng | MCSD | 40000 | 16 | 40000 | ||
1004 | 한형X | Elect.eng | MCSD | 35000 | 19 | 65000 | ||
2 | 위성 설계 |
1002 | 김상X | Comp.eng | MCSD | 40000 | 24 | 60000 |
1003 | 김한X | Elect.eng | CCNA | 42500 | 20 | 50000 | ||
1007 | 황충X | Aero.eng | CPL | 47500 | 40 | 1900000 | ||
3 | 댐 설계 |
1001 | 박원X | Comp.eng | OCP | 65000 | 27 | 1755000 |
1003 | 김한X | Elect.eng | CCNA | 42500 | 20 | 850000 | ||
1005 | 이지X | Aero.eng | CFA | 50000 | 40 | 2000000 |
문제1) 제1 정규화: 기본키 성격의 컬럼을 구분 하시오. (PK 지정)
SQL> project ( pro_no, pro_name)
문제2) 제2정규화: 기본키를 중심으로 테이블 분할 하시오.
SQL> emp ( emp_no(PK), emp_name, job, License, chargedperhour )
project_work pk (pro_no(PK), emp_no, worked hour)
문제3) 제3정규화: 수당관리 테이블 분할 하시오(JOB &License 컬럼을 기준으로 수당 책정
charge ( job, license, chargedperhour )
## CA ERwin Data modeler
(과제1)
산업군 내에서 DB를 활용할 Project를 기획하시오.
'Server Network' 카테고리의 다른 글
[Oracle] PL/SQL Class 7 - SERVER, 통신방식, 처리방법, 분산쿼리, 서버/로컬서버 연결 (0) | 2023.11.15 |
---|