걸어서 개발속으로

스키마(Schema) 본문

Programming/자잘한 궁금점

스키마(Schema)

티샤 2022. 2. 9. 15:08

MySQL 의 Workbench를 쓰면서 계속 보였던 단어가 스키마(Schemas)였다.

익숙하지않은가.

아니 대체 스키마가 뭐길래? 하고 책을 봤더니 책에서는.. 

Mysql에서는 schemas와 db를 동일한 의미로 사용하지만 다른 곳에서는 다를 수 있다... 라는 식으로 표현된 것을 보곤 스키마에 대한 명확한 정의를 알아야 겠구나, 하고 인터넷에 검색을 해보았다.

데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것.....
?
다시 사전을 찾았다.

뭐라구요?

그래서 개발계에 하소연을 했더니... 트친들이 한마음 한뜻으로 이해를 도와주기 위해서 답변을 주셨다.
그리고 가장 직빵으로 이해하게 도와주신 분의 트윗을 가져왔다.
https://twitter.com/kimBNDT/status/1490614688941772800

 

베네딕트 김 on Twitter

“제가 이해하기로는, 어떤 정보가 있고 그것을 특정한 형태로 가공해서 쓰는데 그 형태를 스키마라고 하는 것 같아요. https://t.co/P19XcM0oHY”

twitter.com


예를 들어 봉준호를 raw data로 표현한다면 엄청난 용량이겠지만, 이름은 봉준호고 출생은 69년 9월 14일, 키는 182cm라는 형태로 가공할 수 있겠죠. 여기서 이름, 출생, 키 등의 형태가 스키마!

봉준호 raw 데이터를 구글과 네이버에서 어떻게 보여줄지 정해주는 일종의 규칙의 느낌.

구글과 네이버는 서로 다른 스키마를 이용하여 봉준호의 데이터를 보여주고 있다.


[현업에서는 앗! 문제가 발생했다! 뭐가문제지? 스키마가 잘못됬네 -> DB 뿌수고 create부터 다시 해야하네 or 복구를 위해선 쉽지 않은 작업을 해야겠네 정도.. 한번 만들어진 스키마를 변경하는건 매우 어려운 일 그래서 개발시점엔 이것땜시 개발이 느려져서, 스키마가 없는 NoSql을 찾아보게되고..]

 

 

이론적인 개념으로는

[외부스키마 : 프로그래머나 사용자 입장에서 , 일부분을 DB로 만든것

개념스키마 : 모든 응용시스템과 사용자들 입장에서 , 필요 데이터를 통합한 구조를 DB로 정의한것

내부스키마 : 저장장치 입장에서 생각해본것

외부스키마 : 사용자 관점

개념스키마 : 전체적인 관점 내부스키마: 저장장치의 관점 , 혹은 설계자의 관점

데이터베이스 내에서 어떠한 구조로 저장되는지 구조를 표현하기 위해 정리한 메뉴얼 ? 느낌.[

 

정리

[스키마인데 스키마를 또 스키마 한다....]

Comments