1. 데이터베이스(DataBase) : 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음. 데이터베이스를 제어, 관리하는 통합시스템을 DBMS라고한다. 각 DBMS마다 정의된 쿼리 언어로 데이터들에 대한 CRUD등을 수행 할 수 있다.
2. 엔터티(Entity) : 사람, 장소, 물건, 사건, 개념 등 여러개의 속성을 지닌 명사를 의미. A가 B의 존재여부에 종속적이라면 A는 약한 엔터티, B는 강한 엔터티라고 할 수 있다.
3. 릴레이션(Relation) : DB에서 정보를 구분하여 저장하는 기본 단위이다. 엔터티에 관한 데이터를 릴레이션하나에 담아 관리. RDBMS에서는 테이블이라고 불리고, NoSQL DB에선 컬렉션이라 불린다.
4. 관계형, 비관계형데이터 베이스
종류 | 특징 | 예시 |
관계형 데이터베이스(RDBMS) | * 레코드-테이블-데이터베이스 형태의 구조 * 트랜잭션, 데이터 정규화 * 정렬, 탐색, 분류가 빠름 * 무결성 보장 * 빅데이터를 처리하는데 부적합 |
MySQL, Oracle 등 |
비관계형 데이터베이스(NoSQL) | * 도큐먼트-컬렉션-데이터베이스 형태의 구조 * 거대한 Map으로 key-value 형식을 지원 * PK, FK, JOIN등 관계를 정의하지 않음 * 빅데이터 처리하는데 적합 * 확장성이 뛰어나 검색에 유리함 * 복잡한 데이터 구조 표현 가능 |
MongoDB, Redis 등 |
5. 속성(Attribute) : 릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보. 회원이라는 릴레이션을 예로, 이름, 나이, 성별 등이 엔터티의 속성이 된다.
6. 도메인(Domain) : 릴레이션 포함된 각각의 속성들이 가질 수 있는 값의 집합. 성별이라는 속성엔 '남,여' 라는 값의 집합을 가질 수 있다.
7. 필드와 레코드
table
필드1 | 필드2 | 필드3 | 필드4 |
레코드1 | 레코드2 | 레코드3 | 레코드4 |
레코드5 | 레코드6 | 레코드7 | 레코드8 |
- 테이블이라는 엔터티는 table이란 테이블로, 필드론 필드1,2,3,4를 가지고 있다.
- 테이블에 쌓이는 행 단위의 데이터를 레코드라고 부른다.
- 필드타입 : 숫자, 날짜, 문자 // TEXT, BLOB(큰 데이터를 저장할 때 사용, TEXT는 큰 문자열, BLOB은 이미지, 동영상 등) // ENUM, SET (ENUM은 'x-small', 'small', 'medium', 'large', 'x-large' 형태로 쓰이며, 단일 선택만 가능하고 리스트에 없는 잘못된 값을 삽입 시 빈 문자열이 대신 삽입된다. x-small 등이 0,1 등으로 매핑되어 메모리를 적게 사용하는 이점이 있다. SET은 ENUM과 비슷하지만 여러개의 데이터를 선택 가능하고, 비트단위의 연산을 할 수 있으며 최대 64개의 요소를 집어넣을 수 있다는 점이 다르다.
8. 관계
종류 | 설명 | 화살표 |
1:1 관계 | 하나의 A는 하나의 B로 구성됨. ex) 유저<->이메일 | ![]() |
1:N 관계 | 하나의 A는 하나 이상의 B로 구성됨.ex)유저<->상품 | |
N:M관계 | 다른 관계들과는 다르게 중간에 하나의 테이블을 추가로 두어 각각 1:N 관계를 갖는 형태를 가진다. ex)학생<->강의 일때 학생, 학생_강의, 강의 3개의 테이블을 가진다. |
9. 키
- 정의 : 테이블간의 관계를 조금 더 명확하게 하고 테이블 자체의 인덱스를 위해 설정된 장치.
- 관계
- 유일성 : 중복되는 값이 없음
- 최소성 : 필드를 조합하지 않고 최소 필드만 써서 키를 형성
- 종류
기본키 | 유일성과 최소성을 만족하는키. 테이블의 데이터 중 고유하게 존재하는 속성. ex) 순번, 주민번호, 시퀀스 넘버 등 | 자연키 : 언제가는 변하는 속성을 가지며, 중복된 값들을 제외하며 중복되지 않는 것을 자연스레 뽑다가 나오는 키 인조키 : 인위적으로 생성한 키. 변하지 않음. ex) Oracle 시퀀스 |
외래키 | 다른 테이블의 기본키를 그대로 참조하는 값으로 개체와의 관계를 식별하는 데 사용 | |
후보키 | 기본키가 될 수 있는 후보들이며 유일성과 최소성을 동시에 만족 | |
대체키 | 후보키 중 기본키가 되지 못한 나머지 키 | |
슈퍼키 | 각 레코드를 식별 할 수 있는 유일성은 갖췄으나, 최소성을 갖추지 못함 |
'Computer Science > 데이터베이스' 카테고리의 다른 글
트랜잭션과 무결성 (0) | 2022.10.11 |
---|---|
ERD와 정규화 (0) | 2022.10.10 |