-
SQL 데이터베이스 객체Database 2021. 4. 25. 18:05728x90
데이터베이스 객체
테이블, 뷰, 인덱스 등 데이터베이스 내에 정의하는 모든 것을 일컫는 말이다.
프로그래밍에서의 객체와 혼동하는 경우가 있는데, 보통 데이터베이스 관점으로 바라볼때의 객체는 데이터베이스 객체를 가르킨다.
앞서 알아보았던 SQL 명령은 데이터베이스 객체를 조작하는 SQL 명령일뿐, 데이터베이스 객체라는 개념에 포함되지 않는다.
객체의 이름은 굉장히 중요한 의미를 가진다.
어떤 데이터가 저장되어 있는지 파악하는 기준이 되므로 의미, 관련성이 없는 이름은 붙히지 않는다.
데이터베이스 객체는 이름을 가지며 이름은 아래의 명명규칙을 따른다.
1. 기존 이름이나 예약어와 중복하지 않는다.
(foo라는 이름의 테이블을 만들었다면 뷰 또는 모든 객체 역시 같은 이름을 사용할 수 없다.)
2. 숫자로 시작할 수 없다.
3. 언더스코어(_) 이외의 기호는 사용 할 수 없다.
4. 한글을 사용할때는 더블쿼트, MySQL에서는 백쿼트로 감싼다.
5. 시스템의 허용 길이를 초과하지 않는다.
스키마
데이터베이스 객체는 스키마라는 그릇 안에 만들어진다. 따라서 스키마가 서로 다를 경우 객체의 이름이 같아도 문제가 없다!
이 같은 특성으로 인해 데이터베이스 객체 = 스키마 객체라고 부른다.
데이터베이스 설계 = 스키마 설계이다 라는 말이 가능한 이유이다. 이때 스키마는 SQL 명령으로 정의한다.(DDL)
어떤 것이 스키마가 되는 지는 데이터베이스 제품에 따라 또 다르다고 한다.
MySQL에서는 CREATE DATABASE 명령으로 작성한 "데이터베이스"가 스키마가 된다.
Oracle 에서는 데이터베이스와 데이터베이스 사용자가 계층적 스키마가 된다고 한다.
테이블과 스키마는 어떤 것을 담는 그릇이다.
테이블은 안에 열을 정의하고
스키마는 안에 테이블을 정의할 수 있다.
각각의 그릇 안에서는 중복되지 않도록 이름을 지정하며 이처럼 이름 충돌이 나지 않도록 기능하는 그릇을 "네임스페이스"라고 부른다.
스키마, 테이블은 곧 네임스페이스이다.
출처 :
SQL 첫걸음/ 아사이 아츠시 지음/ 한빛미디어
728x90'Database' 카테고리의 다른 글
SQL 제약 (0) 2021.05.04 SQL 테이블 작성, 삭제, 변경 (0) 2021.04.27 SQL 상관 서브쿼리 (0) 2021.04.19 SQL 서브쿼리_2 (0) 2021.04.14 SQL 서브쿼리_1 (0) 2021.04.09