자격증/SQLD

[SQL 첫걸음] 25강. 데이터베이스 객체

동호다찌 2022. 4. 4. 09:28

데이터베이스 객체

  • 데이터베이스 객체란 테이블이나 뷰, 인덱스 등 데이터베이스 내에 정의하는 모든 것을 일컫는 말로 구체적으로 이야기하면 실체를 가지는 어떤 것입니다.
  • 따라서 객체의 종류에 따라 데이터베이스에 저장되는 내용도 달라집니다.
  • 쉽게 테이블은 객체이며 해당 테이블을 조작할 수 있는 명령이었던 SELECT, INSERT 등은 객체가 아닙니다.
  • 객체는 이름을 가집니다. 따라서 데이터베이스 내에서 객체를 작성할 때는 이름이 중복되지 않게 해야 합니다.
  • 테이블의 열이나 SELECT 명령에서의 별명(AS) 또한 이름을 갖지만 이것들은 모두 객체가 아닙니다. 실체가 존재하지 않기 때문입니다.
  • 다만 이름을 붙일 때는 제약 사항, 다시 말해 아래와 같은 명명 규칙(Naming Convention)을 따라야 합니다.

 

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

숫자로 시작할 수 없다.

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

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

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

이름은 어떤 데이터가 저장되어 있는지 파악하는 기준이 되는 경우가 많기 때문에 단순히 a와 같- 이 무의미한 이름이 아닌 연관된 유의미한 이름으로 짓는 게 중요합니다.

 


스키마

  • 객체는 스키마(Schema)라는 그릇 안에서 만들어집니다. 따라서 객체의 이름이 같아도 스키마가 서로 다르면 상관없습니다.
  • 이러한 특징 때문에 데이터베이스 객체는 스키마 객체(Schema Object)라 불리기도 합니다. - - 또한 테이블을 작성해서 구축해나가는 작업을 스키마 설계(Schema Design)라고 부릅니다.
  • 이때 스키마는 SQL 명령의 DDL(Data Definition Language)을 이용하여 정의합니다.

  • 조금 더 구체적인 예시로 MySQL의 경우 CREATE DATABASE 명령으로 작성한 데이터베이스가 곧 스키마가 됩니다.
  • Oracle 등에서는 데이터베이스와 데이터베이스 사용자가 계층적 사용자가 됩니다.