SQL(Structured Query Langauage)
1. Entity 엔티티
- 여러 개의 속성을 지닌 명사
- ex) 회원이라는 entity - 이름/아이디/주소/전화번호 등의 속성을 가진다.
- 서비스의 요구사항에 따라 속성은 달라질 수 있다.
2. Relation 릴레이션
- DB에서 정보를 구분하여 저장하는 기본 단위
- Entitly 하나를 Relation 하나에!
3. Attribute 속성
- 릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보
- 서비스의 요구사항을 기반으로 관리해야 할 필요가 있는 속성들만 엔터티의 속성이 된다.
4. Domain 도메인
- 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합
- ex) 회원의 나이 속성이 가질 수 있는 값 = {1,2,3,40,100}
5. 필드와 레코드
id | account_name | email | address | gender | created_at |
1 | 장윤서 | younseojj@gmail.com | 서울 | 여성 | 2022-12-23-23:12:38 |
2 | 정성우 | anfrosus@naver.com | 서울 | 남성 | 2023-01-12-01:43:49 |
- 회원이라는 entity는 테이블로 이름,이메일,주소,성별 등의
속성
- account_name,email,address,gender 등의
필드
- 테이블에 쌓이는 한 줄 한 줄의 데이터 = 레코드 = 튜블
- 레코드의 단위 = 행(row)
6. 필드 타입
- 날짜 타입
- DATE : 날짜만
- DATETIME : 날짜 및 시간 모두
- TIMESTAMP : 날짜 및 시간 모두
- 문자 타입
- CHAR : 0~255 사이의 값을 가질 수 있다. 길이가 고정
- VARCHAR : 0~65,535 사이의 값, 가변 길이 문자열
- TEXT : 큰 문자열 저장용 (게시판의 본문 등)
- BLOB : 이미지, 동영상 등 큰 데이터 저장용
- ENUM, SET : 문자열을 열거한 타입
키
- 테이블 간의 관계를 좀 더 명확하게 하고, 테이블 자체의 인덱스를 설정하기 위해 필요
- 기본키, 외래키, 슈퍼키, 대체키
- 기본키(Primary Key,
PK
) : 유일성과 최소성을 만족하는 키 - 기본키는 중복이 안됨
- 외래키(Foreign Key,
FK
) : 다른 테이블의 PK를 참조하는 값 - 외래키는 중복이 됨
- 후보키 : 기본키가 될 수 있는 후보들
- 대체키 : 후보키가 두 개 이상일 경우 어느 하나를 PK로 지정하고 남은 후보키
- 슈퍼키 : 레코드를 유일하게 식별할 수 있는 유일성을 갖춘 키