ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1. SQL을 활용할 건데요. 그 전에 데이터베이스(DB)랑 DBMS가 뭔데요?
    PROGRAMMING/SQL 2022. 4. 20. 00:49

    하루입니다.

     

    오늘은 SQL을 배우기 전, 데이터베이스에 대해 알아볼 것입니다.

     

     


     

    데이터베이스(DB)란?

     데이터베이스란 관련성 있는 데이터의 모음이자 정보의 집합이다. 여러 사람이 사용할 목적으로 통합관리되는 데이터의 집합이다.  반드시 데이터베이스 관리 시스템(DataBase Management System, DBMS)과 함께 한다. 

     

    DBMS란?

    DataBase Management System의 약자로 데이터베이스 관리 시스템을 뜻한다. 다수의 사용자들이 데이터베이스 내 데이터에 접근할 수 있게 해 준다.

     

     사용자는 데이터베이스에서 특정 데이터가 필요할 때, 데이터베이스에 직접 접근하지 않고 SQL을 실행해 접근한다. 이를 SQL을 이용해 질의한다고 한다. DBMS는 입력된 SQL을 처리하고 필요하다면 DB에 접근하여 작업을 수행한다. , DBMS는 사용자 또는 다른 프로그램의 요구를 처리하고 적절히 응답하여 데이터를 사용할 수 있도록 해 준다.

     

     대표적인 DBMS는 오라클, MySQL, MS SQL Server, DB2, Maria DB, H2, HSQLDB 등이 있다. 우리는 오라 Express Edition을 사용할 것이다. 왜냐면 무료이다. 다른 버전은 비싸다고 들었음.

     

     

     

     

    DBMS의 장점은?

    • 자료의 통합성을 향상시킨다 : 회사 사람들이 사원 정보를 각각의 엑셀 파일에 저장한다고 생각해 보자. 같은 사람의 정보를 적더라도 분류 형식이나 값 표시 방식이 다를 수 있다. SQL은 네트워크로 데이터베이스에 접근할 수 있기에 데이터를 한 곳에 모아서 공동으로 관리할 수 있으며, 이는 중복을 줄이고 통합성을 향상시킬 수 있다.
    • 데이터의 접근성이 쉬워진다 : 실시간으로 데이터베이스에 접근할 수 있다. 만약 위의 사원정보 엑셀 파일을 내 컴퓨터에서 보고 싶다면 그 파일을 내 컴퓨터에 다운로드해야만 볼 수 있다. 하지만 DBMS는 프로토콜이라는 것을 사용해서 다른 컴퓨터들도 하나의 DB에 접근할 수 있게 한다. 당연히 여러 사용자가 동시에 사용할 수도 있다.
    • 데이터의 통제가 강화된다 : 제약조건 등 통해 원하지 않는 / 위배되는 데이터를 저장 안 할 수 있다.
    • 보안이 강화된다 : 아마 권한이 있는 사용자만 접근할 수 있기 때문이 아닐까? -> 맞았다. DBMS로 권한이 있는 사용자만 들어오도록 관리할 수 있다.

     

     

     

    관계형 데이터베이스

     현재 가장 많이 사용되는 DB는 관계형 데이터베이스이다. 관계형 데이터베이스는 엑셀의 표처럼 데이터를 저장하는 것이다. 관계형 데이터베이스를 관리해주는 시스템을 관계형 데이터베이스 관리시스템(RDBMS)라고 한다. (테이블 형태로?) 구조화된 데이터를 사용하고 있다. 

     

     현실 세계의 데이터를 데이터베이스에 저장하기 위해서는 모델링 작업이 필요하다. 관계형 데이터베이스에서는 '객체-관계 모델링(Entity-Relationship Modeling, ERD)방법'으로 데이터를 모델링한다.

     

    그래서 데이터 모델링이 뭔데요?

     

    인터넷에서 하는 말을 간추려 보자면 데이터를 구조화한다 / 다른 데이터나 값과의 관계를 나타낸다 / 데이터를 분석하고 이해할 수 있다 등의 말이 있었다.

     

    약간 알고리즘처럼 생겼네. 데이터를 구조화해서 다른 데이터들과의 관계를 파악할 수 있다, 지금은 이렇게 이해하면 될 듯.

     

    다시 돌아와서. 관계형 데이터베이스는 엑셀의 표처럼 데이터를 저장하는 것이다. 관계형 모델에서는 이론적으로 데이터베이스를 관계(Relation)의 집합으로, 관계를 행(Tuple)의 집합으로, 행을 속성(Attribute)의 집합으로 본다. 관계형 데이터베이스에서는 관계가 테이블(Table), 행이 레코드(Record), 속성이 컬럼(Column)으로 대치된다.

    아래 그림을 보자.

    관계(테이블) 안에 행(레코드)들이 있고, 행(레코드) 안에 속성(컬럼)이 있다.

     

    속성은 고유한 속성명과 데이터타입으로 이루어진다. 위 그림에서 예를 들자면 숫자 데이터타입을 가진 지점번호 속성명이 있다.

     


     

    잘못된 정보에 대한 지적은 언제나 환영입니다.

     

    다음 시간은 SQL에 대해 알아보는 시간입니다. 안녕히 계세요.

     

     

     

Designed by Tistory.