설계란 ?
내가 말하고싶은것을 그린것(디자인)
IT기술에만 국한해서 생각하지말것
개념설계 :
ER 다이어그램
논리설계 :
관계형 ,테이블형태 (공통분모형태)
물리설계:
물리적으로 DBMS선택해야함
실질적으로 물리적 공간에 저장하기위해 각각에 대해 정의
키의 종류
1. 주키(primary key) : 식별키,일련번호, 아이디
2. 후보키 : 기본키 처럼 식별용으로 쓸 수 있는 키
3. 대체키 : 후보키에서 기본키 이외의 키
4. 슈퍼키 : 2개 이상의 컬럼이 모여 기본키로 사용
5. 외래키 : 두 테이블을 서로 연결하는 데 사용되는 키
키의 종류
- 실선(Identifying): 식별관계
-> 부모 테이블의 기본키를 자식 테이블이 가지고 있으며 이를 기본키로 사용하는 경우
-> 부모가 있어야 자식이 생기는 경우
ex) Issue 테이블과 IssueComment 테이블이 있을 경우, IssueComment는 Issue가 존재해야지만 있을 수 있음
- 점선(Non-Identifying): 비식별관계
-> 부모 테이블의 기본키를 자식테이블이 가지고 있지만 이를 기본키로 사용하지 않을 때
-> 부모가 없어도 자식이 생기는 경우
ex) User 테이블과 Process가 있을 경우, User가 담당 프로세스가 있다고 하더라도, Process는 User없이도 존재할 수 있음
정규화 :
normalization 표준화,정상화
무결성 -> 데이터 중복제거
중복이 발생하는 패턴에서 중복제거
1정규화 : 모든 도메인이 원자값으로만 이루어져야만 한다.
도메인 : (유효한) 값의 범위
ex이메일 : 123 (X)
원자값 : 하나의 값만 이루어져야만 한다.
ex기업고객의 아이디가 하나만
속성을 봤을때 1개가 만들어갈지 n개가 들어갈지 또는 n개까지인지 찾아보기.
1개만 받는다면 원자값 , 여러개면 원자값이 아니다.
(전화번호 여러개인지 ?, 설립일이 여러개인지 ? )
1정규화 위반되는것 찾기 (테이블로뽑을지, 구분자로 구분할지선택 )
*노하우 - 이미지
*일기- 키워드
*공지 - 파일
3정규화
아까들어갔던 내용이 계속 들어가는것(ex 여고괴담처럼 자꾸 졸업앨범에나타남)
책임자이름,매니저이름,매니저연락처,매니저이메일 ->중복제거 (자식을만들어야함)
올드데이터 : 미리있어야하는것이므로 별도 테이블 생성 ->외래키가 늘어나게된다.
'2021 Newlecture > Servlet & JSP' 카테고리의 다른 글
Servlet versus Spring (0) | 2021.09.04 |
---|---|
첨부파일이 여러개인경우 / 첨부파일없이 등록할경우/첨부파일다운로드 (0) | 2021.05.26 |
1정규화 위배 / 3정규화 위배 예시 (0) | 2021.05.17 |
데이터베이스 모델링 2 (0) | 2021.05.13 |
데이터베이스 모델링 (0) | 2021.05.12 |
VIEW/ SELF JOIN / 조인대신 서브쿼리사용 (0) | 2021.05.11 |
INNER JOIN / OUTER JOIN / 3개 테이블 조인 (0) | 2021.05.10 |
(JSP) 수정한내용 저장 / 등록페이지 / 삭제 (0) | 2021.05.07 |