brunch

You can make anything
by writing

C.S.Lewis

by 고코더 Dec 27. 2021

친구의 친구 관계형 데이터베이스

RDB , 관계형 데이터베이스란?

* 책으로 출간되었습니다.

해당 브런치에 남김 글은 초고입니다. 완성된 작품은 해당 "오늘부터 IT를 시작합니다."로 출간하였습니다!!

구매하여서 완성된 글을 종이책의 정감과 편안함으로 읽어보시길 바랍니다^^ 

감사합니다.!!

http://www.yes24.com/Product/Goods/111417594


N.Q


사람과 사람은 보이지 않는 이어져 있는 이 있습니다. 서로의 이름을 알고 얼굴을 알며, 가끔씩 만나 밥 한 끼 먹을 수 있는 사람을 우린 '친구'라고 합니다. 하지만 '인맥'은 조금은 다른 의미를 말합니다. 도움을 주고받을 수 있는 인간관계를 말합니다. 어르신들은 말합니다. "인맥도 능력이다." 인생을 살아가는 데 있어서 유대관계의 힘은 강력합니다. 혈연, 지연, 학연, 종교까지 인맥의 범위는 넓고 무한합니다. 그리고 이러한 능력이 중요한 시대에 살아가고 있습니다.


NQ (Network Quotient), 공존지수는 인터넷 발달과 함께 탄생한 신조어입니다. 디지털은 사람과 사람 사이를 좀 더 넓고 포괄적으로 이어줬습니다. 버튼 한 번이면 지구 반대편에 있는 사람과 친구가 될 수도 있고, 유명 인사들에게 개인 메시지를 받을 수 있게 되었습니다. 그렇게 형성된 친구는 가끔 큰 도움을 주기도 합니다. 직장을 소개해줄 수도, 귀한 정보를 줄 수도 있습니다. 그렇게 현대 사회는 'I.Q', 'E.Q'처럼 얼마나 많은 사람과 관계를 잘 운영하는 능력을 'N.Q' 지수를 통해 표현하기도 합니다. 이 수치는 정보화 사회로 세상이 바뀌면서 지식을 공유하고 사람과 소통하는 능력을 나타냅니다. 공존지수가 높을수록 사회에서 다른 사람과 소통하기 쉽고, 그 바탕을 자원삼아 더 성공적인 사람을 살 알 수 있게 도와줍니다.


그런데 이러한 원리가 인문사회에만 존재하는 게 아닙니다. 디지털 세상에서도 NQ 지수는 중요합니다. 데이터도 친구의 친구가 많을수록 인맥이 넓을수록 더 강력한 데이터 그룹이 됩니다. 팔로워 수가 많을수록 인플루언서가 되는 것처럼 데이터도 팔로워 수가 많은 데이터베이스는 가치가 큰 빅데이터가 됩니다. 그렇게 친구의 친구를 만들어 내는 데이터베이스를 '관계형 데이터베이스'라고 합니다.



관계형 데이터 베이스

관계형 데이터베이스(RDBMS, Relational DataBase Management System)는 데이터베이스의 한 종류이며, 실무에서 가장 많이 사용되는 방식입니다. 가장 대표적인 제품으로는 'MS-SQL', 'MySQL', 'MariaDB', '

'Oracle'등 이 있습니다. 이들은 모두 인맥으로 데이터를 관리하는 대표적인 인플루언서들입니다. 테이블은 모임으로 표현할 수 있고, 데이터들은 그 모임 안에 있는 사람입니다. 공존지수가 높은 한 명의 사람은 모임과 모임을 연결하여 사람들 간에 새로운 관계를 만들어주고 교류할 수 있게 만들어 줍니다. 이것이 바로 RDB가 데이터를 활용하는 방법입니다. 관계형 데이터베이스는 최대한 많은 데이터들을 관리합니다. 그 관리하는 기법은 인맥관리입니다. 친구의 친구를 연결하여 필요할 때마다 도움을 요청하는 방식입니다. 그렇게 연결된 데이터들은 커다란 공존을 이루게 되고 이를 통하여 우리가 필요한 서비스를 실행할 수 있게 됩니다. 그렇다면 RDB를 이루는 기본적인 것이 무엇인지 알아보겠습니다.



테이블, 키, 값

테이블(table)은 데이터를 직관적이고 간단하게 표현합니다. 데이터의 구성은 키(key)와 값(value)으로 되어있고, 이를 통해 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스의 특징입니다. 예를 들면 어떤 모임을 가입했습니다. 축구 동호회입니다. 그리고 그 안에는 많은 수의 회원들이 있습니다. 이때 축구를 사랑하는 이 모임은 바로 테이블의 역할을 합니다. 테이블에는 같은 종류의 구조적인 데이터들이 묽인 목록입니다. 동호회 가입한 선수들은 테이블을 이루는 데이터가 됩니다. 그리고 팀 이름은 "고코더FC"입니다. 팀의 이름은 테이블 이름이 됩니다.



고유 값(ID)

관계형 데이터 베이스는 각 행을 가리키는 '고유 값'이 포함되어 있습니다. 이는 데이터를 대표하는 고윳값입니다. 축구 경기를 할 때 두 팀을 나누는 기준은 유니폼입니다. 이는 테이블이라고 할 수 있습니다. 그리고 각 선수들은 고유한 번호가 있습니다. 크리스티아누 호날두는 7번을 달고 그라운드를 누비며, 메시는 10번을 뛰고 골망을 흔듭니다. 등번호 덕분에 골을 기록하고, 거친 태클로 반칙을 범할 때 옐로 카드를 줄 때 심판은 그 번호를 기록하여, 데이터를 관리합니다. 이러한 고유한 값을 PK(Primary Key)라고 하며, 이를 통해 서러 종속되는 관계를 표현합니다.



데이터의 관계

각 테이블의 고유한 값은, 또 다른 고유한 값을 참조하여 서로 다른 두 테이블을 연결합니다. 한 명의 친구는 여러 명의 친구일 수도 있고, 여러 명의 친구가 한 명의 친구일 수도 있습니다. 그리고 여러 명의 친구는 여러 명과 친구가 될 수도 있습니다. 복잡한 인간관계처럼 RDB의 데이터도 다양한 친구 관계 방식이 있습니다. 그 방식을 수업시간을 통해 비유해보겠습니다.


- 일대일 관계(1:1)

학생이 공부를 열심히 하기 위해 일대일 과외를 합니다. 이때의 관계는 일대일 관계입니다. 하나의 데이터와 또 다른 하나의 데이터만 맵핑될 수 있는 관계가 바로 일대일 관계입니다. 그러므로 명확하게 선생님과 제자는 수업을 진핼할 수 있고, 돌발상황이 많이 발생하지 않습니다. RDB에서도 테이블과 테이블이 한 개로 연결되어 있기 됩니다. 간단한 데이터 관계에 쓰입니다.


- 일대다 관계(1:M)

이번에는 교실에서 선생님이 수업을 합니다. 반의 학생수는 10명입니다. 이때의 관계는 일대 다입니다. 하나의 데이터가 여러 데이터와 맵핑되는 일대 다 관계입니다. 하나의 데이터는 여러 데이터들에 영향을 줍니다. 예를 들면 선생님이 1+1을 3이라고 지도한다면 학생들 모두 오답으로 인식하고 있게 됩니다. 하나의 데이터가 다수의 데이터를 가지고 있게 됩니다.


- 다대다 관계(N:M)

이번에는 오픈수업입니다. 한 사범대학교에서 선생님들이 봉사활동을 나왔습니다. 선생님은 10명 학생은 10명입니다. 선생님들은 각각 담당 과목이 다릅니다. 한 교실에서 선생님들은 돌아가면서 필요에 따라 학생 앞에 앉아서 평소에 궁금했던 부분을 지도합니다. 이러한 데이터 방식을 다대다 관계라고 합니다. 일대다의 관계가 양쪽으로 바라보고 있는 방식입니다. 테이블과 데이터가 얽혀 있는 관계입니다.



공존지수


성공의 열쇠는 공존이라고 합니다. 삶을 살아가는 데 있어서 인맥은 필요한 능력입니다. 특히 디지털 세상에서는 더욱더 그렇습니다. 하지만 수십조억 기가바이트에 달하는 인터넷 수많은 정보 중에 우리가 찾는 결과는 단 한 줄입니다. 세상을 살아가면서 정말로 필요한 한 사람이 없다면 무슨 소용이 있을까요?



관계형 데이터베이스가 만드는 정보의 바닷속에 필요한 데이터는 단 한 줄입니다.






* 참조자료

https://aws.amazon.com/ko/relational-database/

https://www.oracle.com/kr/database/what-is-a-relational-database/

매거진의 이전글 붕어빵을 만드는 객체지향 프로그래밍
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari