저자 : 아사이 아츠시
출판 : 한빛미디어
발매 : 2015.11.01
1. 데이터베이스 객체
- 데이터베이스 객체란 테이블이나 뷰, 인덱스 등 데이터베이스 내에 정의하는 모든 것을 일컫는 말.
- 객체는 데이터베이스 내에서 실체를 가짐.
- 객체는 이름을 가진다. 데이터베이스 내에서 객체를 작성할 때는 이름이 겹치지 않도록 함.
cf. 데이터베이스 객체의 명명규칙(제약 사항)
기존 이름이나 예약어와 중복하지 않는다.
숫자로 시작할 수 없다.
언더스코어(_) 이외의 기호는 사용할 수 없다.
한글을 사용할 때는 더블쿼트(MySQL에서는 백쿼트)로 둘러싼다.
시스템이 허용하는 길이를 초과하지 않는다.
- 이름은 객체의 종류와는 관계가 없다. 예를 들어 foo라는 이름의 테이블을 한번 만들면, 같은 종류의 테이블은 물론이고 뷰와 같은 다른 종류의 객체 역시 똑같은 이름으로 작성할 수 없음.
2. 스키마
- 데이터베이스 객체는 스키마라는 그릇 안에 만들어짐. 따라서 객체의 이름이 같아도 스키마가 서로 다르다면 상관없음.
출처 : SQL 첫걸음
- 이 같은 특징 때문에 데이터베이스 객체는 '스키마 객체'라 불리기도 함. 실제로 데이터베이스에 테이블을 작성해서 구축해나가는 작업을 '스키마 설계'라고 부름. 이때 스키마는 SQL명령의 DDL을 이용하여 정의.
- 어떤 것이 스키마가 되는지는 데이터베이스 제품에 따라 다름.
MySQL에서는 CREATE DATABASE 명령으로 작성한 '데이터베이스'가 스키마가 됨.
한편 Oracle 등에서는 데이터베이스와 데이터베이스 사용자가 계층적 스키마가 됨.
- 테이블 안에는 열을 정의할 수 있고, 스키마 안에는 테이블을 정의할 수 있음. 각각의 그릇 안에서는 중복하지 않도록 이름을 지정.
이처럼 이름이 충돌하지 않도록 기능하는 그릇을 '네임스페이스(namespace)'라고 부르기도 함. => 스키나마 테이블은 네임스페이스이기도 함.
'Study > DB' 카테고리의 다른 글
[SQL 첫걸음] 6장.데이터베이스 객체 작성과 삭제 - 27.제약 (0) | 2018.09.16 |
---|---|
[SQL 첫걸음] 6장.데이터베이스 객체 작성과 삭제 - 26.테이블 작성·삭제·변경 (0) | 2018.09.11 |
[SQL 첫걸음] 5장.집계와 서브쿼리 - 24.상관 서브쿼리 (0) | 2018.09.10 |
[SQL 첫걸음] 5장.집계와 서브쿼리 - 23.서브쿼리 (0) | 2018.09.05 |
[SQL 첫걸음] 5장.집계와 서브쿼리 - 22.그룹화(GROUP BY) (0) | 2018.09.04 |