본문 바로가기
개발/DB

[DB] 스키마와 테이블은 다른가요?

by seopport 2023. 9. 6.
728x90
반응형

들어가기 전에

개발을 하다 보면, 스키마 설계하고 진행해야 하는 상황이 발생한다. 실제로 쿼리를 사용하여 데이터베이스를 접근할 때, 테이블 기준으로 쿼리를 작성한다. 또한 테이블 내의 칼럼 기준으로 객체를 구성하게 되는데, 갑자기 '스키마와 테이블을 동일한 것인가'라는 생각이 들었다. 해당 내용으로 검색을 하면 어떤 블로그는 동일하다고 설명하고, 다른 블로그는 다르다고 설명합니다. 해당 내용에 대하여 검색해 보고 내용을 공유하고자 작성합니다.

 

먼저 스키마와 테이블은 다르지만, DB에 따라 같을 수도 있습니다.

 

ChatGpt 한테 물어보자.

테이블 (Table) 이란?

  • 테이블은 데이터베이스에서 실제 데이터를 저장하는 구조입니다.
  • 테이블은 행과 열로 이루어져 있으며, 각 행은 레코드 또는 튜플을 나타내며, 각 열은 해당 레코드의 속성을 나타냅니다. 
  • 예를 들어, 고객 정보를 저장하는 데이터베이스에서 "고객" 테이블은 각 고객의 이름, 주소, 전화번호 등과 같은 데이터를 포함할 수 있습니다.

 

스키마 (Schema) 이란?

  • 스키마는 데이터베이스의 구조와 데이터의 구조를 정의하는 것으로, 데이터베이스의 설계와 구조를 나타냅니다.
  • 스키마는 데이터베이스에 포함된 테이블, 열, 관계, 제약 조건 등의 정보를 포함합니다. 스키마는 데이터베이스의 설계 단계에서 정의되며, 데이터베이스의 구조를 나타내는 메타데이터로 사용됩니다.
  • 예를 들어, "고객" 테이블이 어떤 열을 가지고 있고, 각 열의 데이터 유형과 제약 조건을 스키마를 통해 정의할 수 있습니다.

 

간단히 말해, 테이블은 실제 데이터가 저장되는 곳이며, 스키마는 데이터베이스의 구조와 규칙을 정의하는 메타데이터입니다. 

스키마를 사용하여 데이터를 어떻게 저장하고 관리할지를 정의하고, 테이블은 이러한 스키마를 따르는 데이터를 실제로 저장하는 역할을 합니다.

 

stackoverflow 사이트 내용 - 참고 (MySQL)

스키마와 테이블 차이점 답변
스키마와 테이블 차이점 답변

MySQL에서 스키마는 물리적으로 데이터베이스와 동의어입니다. MySQL 구문에서 데이터베이스 대신 SCHEMA라는 키워드로 대체할 수 있습니다. 예를 들어 CREATE DATABASE 대신 CREATE SCHEMA를 사용할 수 있습니다. 다른 일부 데이터베이스 제품에서는 스키마가 데이터베이스의 일부(단일 사용자가 소유한 테이블 및 기타 개체)만을 나타냅니다.

 

참고 사이트

[서버][DB] Table과 Schema의 차이점

 

[서버][DB] Table과 Schema의 차이점

저는 MySQL을 사용하고 있습니다. table과 schema는 동일한 것으로 알고 있었는데 Spring을 공부하다보니 @Table 어노테이션에 schema 어트리뷰트가 있어서 차이점이 무엇인가 찾아봤습니다. DB의 종류에

darkstart.tistory.com

 

stackoverflow - Difference Between Schema / Database in MySQL

 

Difference Between Schema / Database in MySQL

Is there a difference between a schema and a database in MySQL? In SQL Server, a database is a higher level container in relation to a schema. I read that Create Schema and Create Database do

stackoverflow.com

728x90
반응형