데이터베이스 객체

유석현(SeokHyun Yu)·2022년 8월 15일
0

SQL

목록 보기
25/45
post-thumbnail

서론

처음 RDBMS 소프트웨어를 설치하면 데이터베이스는 비어있는 상태이다.

여기에 테이블이나 , 인덱스, 프로시저 등의 데이터베이스 객체를 작성해 데이터베이스를 구축한다.


1. 데이터베이스 객체

데이터베이스 객체란 테이블이나 뷰, 인덱스 등 데이터베이스 내에 정의하는 모든 것을 일컫는 말이다.

객체의 종류에 따라 데이터베이스에 저장되는 내용도 달라진다.

또한 객체는 이름을 가진다.

데이터베이스 내에서 객체를 작성할 때는 이름이 겹치지 않도록 한다.

객체 이외에도 테이블이나 또한 이름을 가진다.

SELECT 명령에서 열에 별명을 붙일 수도 있다.

다만 열이나 별명은 객체가 아니다.

한 가지 동일한 점은 이름을 붙일 때 임의의 규칙에 맞게 지정해야 한다.

이름을 붙일 때는 다음과 같은 제약 사항(명명규칙)을 따른다.

- 기존 이름이나 예약어와 중복하지 않는다.

- 숫자로 시작할 수 없다.

- 언더스코어(_) 이외의 기호는 사용할 수 없다.

- 한글을 사용할 때는 더블쿼트(MySQL에서는 백쿼트)로 둘러싼다.

- 시스템이 허용하는 길이를 초과하지 않는다.

한편 이름은 객체의 종류와는 관계없다는 것에 주의한다.

예를 들어 foo라는 이름의 테이블을 한번 만들면, 같은 종류의 테이블은 물론이고 뷰와 같은 다른 종류의 객체 역시 똑같은 이름으로 작성할 수 없다.


2. 스키마

데이터베이스 객체는 스키마라는 그릇 안에 만들어진다.

따라서 객체의 이름이 같아도 스키마가 서로 다르면 상관없다.

이와 같은 특징 때문에 데이터베이스 객체는 '스키마 객체'라 불리기도 한다.

실제로 데이터베이스에 테이블을 작성해서 구축해나가는 작업을 '스키마 설계'라고 부른다.

이때 스키마는 SQL 명령의 DDL을 이용하여 정의한다.

테이블과 스키마는 무엇인가를 담는 그릇 역할을 한다는 점에서 비슷하다.

테이블 안에는 열을 정의할 수 있고 스키마 안에는 테이블을 정의할 수 있다.

각각의 그릇 안에서는 중복하지 않도록 이름을 지정한다.

이처럼 이름이 충돌하지 않도록 기능하는 그릇을 '네임스페이스(namespace)'라고 부르기도 한다.

profile
Backend Engineer

0개의 댓글