Page 11 -
P. 11

테이블에 넣기로 결정한 것이죠. 따라서 이 테이블을 정의할 때는 어떤 로우가
                  아닌 어떤 컬럼으로 구성할 것인지를 정하는 것이 당연합니다.

                  여기서 RDBMS의 단점 중 하나로 거론되는 문제가 나옵니다. 이는 컬럼과 관
                  련된 것인데, 테이블 생성 시 컬럼의 유형을 정의하면 나중에 변경할 때 문제
                  발생 소지가 많다는 점입니다. 예를 들어 처음에는 회원정보와 관련된 데이터

                  만 넣으려고 했는데, 주변 여건이 변하여 기존 컬럼을 삭제하거나 새로운 컬럼
                  을 추가해야 하는 상황이 생길 수 있겠죠. 물론 불가능한 일은 아니며 쉽게 해
                  결할 수 있습니다만, 컬럼 변경으로 인해 기존에 이 테이블을 사용했던 프로그
                  램을 모두 수정해야 한다는 번거로움이 생깁니다.

                  또한, 요즘처럼 SNS를 통해 다양하고 변화무쌍한 유형의 데이터가 만들어지는
                  환경에서 하나의 컬럼에 다양한 유형의 데이터를 넣을 수 없다는 비판도 있습

                  니다. 실제로 이는 불가능합니다. 왜일까요? 1970년대 소개된 RDBMS가 21
                  세기도 십여 년이 훌쩍 넘은 현재의 여러 유형의 데이터까지 동적으로 처리하
                  도록 설계되지 않았기 때문입니다(이런 비판은 마치 영화 터미네이터2의 모습
                  을 자유자재로 바꾸는 액체 금속 터미네이터를 만들어내지 못한다고 말하는 것

                  이나 다름 없습니다). 향후 새로운 기능의 RDBMS 제품이 나와 이 문제를 해
                  결할 수 있을지는 모르겠지만, 아직까지는 처리할 수 없습니다. 현재 SNS로 만
                  들어지는 데이터는 NoSQL 개념의 DBMS가 처리하고 있습니다. DBMS를 사
                  용하는 기업 입장에서는 추가 비용이 들겠지만, 이런 문제는 데이터의 유형, 쓰

                  임새, 목적에 맞는 DBMS를 사용해 해결하는 것이 현재로서는 바람직하다고
                  생각합니다.




                  2.1.2 관계 맺기


                  RDBMS의 R은 관계(relation)를 의미합니다. 그만큼 RDBMS에서 관계는 중요

                  한 개념입니다. 그림 2-1은 회원정보를 저장하는 간단한 테이블로 이름, 성별,






                                                               2장  관계형 데이터베이스란?   23




     누구나 쉽게 SQL(본문)최종.indd   23                                            2019-05-28   오후 5:08:44
   6   7   8   9   10   11   12   13   14   15   16