일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 코드스테이츠 부트캠프
- 보험금 지급거절
- Java
- 백준 알고리즘
- 자바
- 코드스테이츠 백엔드 후기
- Code States 백엔드 합격 후기
- 코드스테이츠 백엔드 교육과정
- CodeState 후기
- Spring
- 해시
- 에이치엘비
- 백내장
- 백내장 다초점렌즈 삽입술
- 금융감독원 민원신청
- 코드스테이츠 합격
- 겜스고
- 코드 스테이츠 백엔드 교육과정
- 메서드
- codestates 국비지원 1기 합격 후기
- 코드스테이츠 합격 후기
- 금감원
- HLB
- Gamsgo
- 백내장 금감원
- 금감원 백내장 민원
- 코테 합격후기
- 코드스테이츠 백엔드 부트캠프 합격
- 코드스테이츠 부트캠프 합격 후기
- 금융감독원
Archives
- Today
- Total
개발하는 동그리
[SQL] ERD (Entity Relationship Diagram)설계 본문
반응형
데이터 모델링 이란!?
- 정보 시스템 구축을 위해 내용을 분석하고 약속된 표기법으로 표현하는 것
- 모델링을 통해 데이터베이스를 생성하고 설계의 기초 단계
데이터 모델링 순서
- 업무 내용 확인
- 업무에 필요한 데이터를 체크하는 단계
- 개념적 데이터 모델링
- 데이터 간의 관계를 구상
- 단순한 도형 형태로 엔티티-관계 다이어그램 (ERD)를 생성
- 논리적 데이터 모델링
- 엔티티-관계 다이어그램을 통해 구체화된 업무중심의 데이터 모델을 생성하는 단계
- Key, 속성, 관계를 나타내고, 정규화 활동을 수행한다.
- 정규화는 데이터의 일관성 확보, 중복을 제거하고 신뢰성 있는 데이터 구조를 얻는 데 있다.
- 단순한 도형 ERD를 테이블 형태로 구성 ( 데이터 타입, 관계, Key값 입력)
- 물리적 데이터 모델링
- 최종적으로 관리할 데이터베이스를 선택하고, 실제 테이블을 생성
- 시각적 구조를 SQL 코딩
ERD 란!?
데이터베이스 구조(Entity 개체와 Relationship)를 한 눈에 알아보기 쉽게 그려놓은 다이어그램
테이블 제약 조건
- 테이블에 부적절한 자료가 입력되지 않도록 만들어진 규칙 ( 테이블 안에서 데이터의 성격을 정의)
1. NOT NULL (column을 필드화 시킬 때 사용)
- 사용시 해당 column에 반드시 데이터를 입력해야 함
- Null을 비 허용하면 N을 표시
- Null을 허용하면 N을 미표시
2. UNIQUE
- 데이터의 유일성을 보장 (중복 불가), 자동으로 인덱스 생성
- null 허용, primary key는 null 허용 안 함
- 하나의 테이블에 여러 개 올 수 있다. / primary key는 하나만 존재할 수 있다.
3. CHECK 조건
- 칼럼의 값을 특정 범위로 제한
4. DEFAULT
- 칼럼의 기본값 지정 ( 데이터를 입력하지 않아도 기본값 입력됨)
- 값이 입력되면 default값은 무시됨.
5. PRIMARY KEY
- UNIQUE + NOT NULL의 결합과 같음.
- 이 키는 행을 대표하는 column의 역할을 수행하고 외래 키를 참조할 수 있는 자격이 있다. (참조 무결성)
- UNIQUE와 마찬가지로 자동 인덱스 생성
6. FOREIGN KEY
- 기본키를 참조하는 column or column의 집합 (외래 키는 기본키나 유니크가 아니면 생성 제약)
- 외래 키를 가지는 칼럼의 데이터형은 참조하는 기본키의 칼럼과 데이터 형이 일치해야 한다. ( 어기면 참조 무결성 제약에 의해 테이블 생성 불가 )
- 외래 키에 의해 참조되고 있는 기본키는 삭제가 불가능하다.
- on update cascade 라 하면 기본키가 수정될 경우 외래 키도 같이 수정된다는 말
- on delete cascade 라 하면 연산자와 함께 정의된 외래 키의 데이터는 기본키가 삭제될 때 같이 삭제된다.
: 데이터 베이스에 존재하는 모든 테이블의 정보 확인
ex) SHOW TABLES
: user 테이블의 구조 확인
ex) DESCRIBE user;
: user 테이블에 존재하는 모든 column을 포함한 데이터 확인
ex) SELECT * FROM user;
:user 테이블에 존재하는 모든 데이터에서 name column만 확인
ex) SELECT user.name FROM user;
반응형
'IT 정보 > 기타 정보' 카테고리의 다른 글
[Cloud] 배포 기본 개념 (3) | 2022.08.02 |
---|---|
[SQL] 데이터 베이스 정규화 (8) | 2022.06.13 |
[SQL] 명령어 모음 (9) | 2022.06.09 |
[SQL] 소개 (8) | 2022.06.09 |
IntelliJ Plugin 추천 - (5가지) (13) | 2022.05.16 |