티스토리 뷰
RDB 용어
RDB 구조

1. 엔티티(entity)
- 현실 세계에 존재하는 유/무형의 대상
2. 테이블(table)
- 엔티티과 그 속성을 저장하는 RDB의 기본 요소
3. 레코드(record)
- 테이블에 저장된 엔티티 정보
- 도표적인 관점에선 행(row), 모델링적 관점에선 튜플(tuple)이라고 부름
4. 필드(field)
- 엔티티가 가지는 각 세부 속성
- 도표적인 관점에선 열(column), 모델링적 관점에선 어트리뷰트(attribute)라고 부름
- 각 레코드는 추상화된 엔티티이며, 필드가 모여 레코드를 구성
- 테이블은 레코드의 집합이며, 다양한 테이블끼리 관계를 형성하여 정보를 제공
※ 쇼핑몰은 최소한 회원, 상품, 구매정보라는 테이블 3개가 필요
DB 오브젝트
- DB에는 테이블 뿐 아니라 아래와 같은 것들이 필요
- 성능향상을 위한 인덱스
- 보안을 지키기 위한 뷰
- 동작을 처리하는 프로시저
- 무결성을 위한 제약사항
- 위와 같이 데이터베이스에 저장되는 모든 것을 통칭하여 DB 오브젝트 라고 하며 간단하게 개체(Object)라고도 함
네이밍 규칙
기본규칙
- DB오브젝트는 서로 구분하기 위한 고유의 이름이 있어야 함
- 같은 범위 내에서 이름이 중복되면 안됨
- 같은 DB내에서 테이블 이름이 중복될 수 없음
- 같은 테이블 내에서 필드 이름이 중복될 수 없음
- 대소문자는 구분하지 않음
- 유니코드에 포함된 모든 문자를 사용할 수 있으나, SQL에서 미리 정의된 언어(예약어)는 사용해서는 안됨
※ 굳이 쓰고싶다면 오라클은 "예약어", SQL SERVER는 [예약어] 등 DBMS 별로 방법이 있기는 함
권장규칙
- 일반적으로 짧은 영문으로 이름을 정함
- #,@로 시작하는 명칭은 DBMS가 정의한 특별한 의미를 가지지만, 보통 언더바만 씀
- 오브젝트의 종류나 타입을 구분하는 접두어(ex) 테이블 - t,뷰 - v, 인덱스 - idx)를 쓰면 편리
데이터 타입
테이블엔 다양한 정보를 저장할 수 있으며, 그 크기나 형태를 규정하는 것을 타입(type)이라고 함
- 타입에 따라 사용하는 메모리 양이나 관리 방식이 달라 최적화에 유용
- 실수나 에러로 인한 입력 사고를 방지가능
- DBMS가 타입을 미리 알고있으면 최적화된 방법을 사용하여 성능이 향상
INT(정수), DECIMAL(실수), CHAR(고정길이문자열), VARCHAR(가변길이 문자열), DATE(날짜) 를 보통 많이 사용
- CHAR은 배정된 길이보다 짧은 문자열의 경우 뒤를 공백으로 채움
- VARCHAR은 문자열의 길이에 따라서 용량을 다르게 배정
- 즉 처리 속도는 CHAR, 용량 최적화는 VARCHAR가 유리
※ 최종 수정일 : 2025-01-24
'SQL > SQL' 카테고리의 다른 글
| [SQL/초보] SQL이란 (6) | 2025.01.23 |
|---|---|
| [SQL/초보] DB와 DBMS란 (5) | 2025.01.23 |
- Total
- Today
- Yesterday
- 알고리즘
- BufferedWriter
- DBMS
- SQL
- 입출력
- Scanner
- oracle
- BufferedReader
- 레코드
- SQL이란
- Java
- 데이터베이스
- 자료구조
- StringBuilder
- APS
- 필드
- db의 역사
- 배열
- DB
- 테이블
- db오브젝트
- dialect
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |