728x90
반응형

데이터베이스란? 라는 글에서 소개 했던 것처럼 데이터베이스에는 몇 가지 종류가 있습니다.


이번에는 그중 관계형 데이터베이스가 어떤 것인지 알아보겠습니다.


관계형 데이터베이스는 RDB라고 부르는데 간단하게 이야기하면 DB들끼리 관계를 맺고있는 형태라 볼 수 있습니다.

관계형 데이터베이스를 사용하는 DBMS의 종류 중에 점유율 Top3는 오라클 데이터베이스, 마이크로소프트 SQL 서버, MySQL 입니다.


여기서 DBMS는 데이터베이스 관리 시스템으로 데이터베이스와는 조금 다릅니다.

데이터베이스는 추상적인 개념으로 기능이나 구조를 나타내는 것이고 DBMS는 이 데이터베이스를 사용하기 위한 프로그램 입니다.


RDB에는 크게 SQL(Structured Query Language)와 Table이 있습니다.


SQL은 RDB에서 데이터 정의, 데이터 조작, 데이터 제어를 하기 위해 사용하는 언어입니다.

대부분 관계형 데이터베이스에서 ANSI/ISO 표준을 최대한 따르고 있기 때문에 SQL 지식을 알고 있다면 다른 DBMS를 사용하는데 크게 거부감이 없습니다.


Table은 RDB의 기본 단위로 데이터를 저장하는 공간입니다. 우리가 흔히 표현하는 행과 열을 가지고 있고 Table을 여러개를 만들어 서로 관계를 맺을 수 있어서 데이터를 나눠서 관리 할 수 있습니다.




출처:

http://www.dbguide.net/db.db?cmd=view&boardUid=148189&boardConfigUid=9&categoryUid=216&boardIdx=134

728x90
반응형

'Development > Database' 카테고리의 다른 글

(DB) Sql문의 기본 CRUD 및 결합  (0) 2017.10.15
(DB) 테이블 설계의 기초와 정규형  (3) 2017.09.27
(DB) Mac OS에서 MySQL 설치하기  (0) 2017.09.22
(DB) 데이터베이스란?  (0) 2017.09.21
728x90
반응형




저는 지금 근무하는 직장의 면접에서 면접 질문으로 나왔던 것이 "경영지원 팀장님에게 데이터베이스가 무엇인지 설명해보세요" 였습니다.


그때 당시 저는 데이터베이스를 잘 몰랐고 결국 질문에 답을 하지 못했습니다.

하지만 붙었습니다...?!


그래서 그때는 몰랐지만 지금은 알아야 할 데이터베이스에 대해 공부하고 정리해보려고 합니다.


데이터베이스는 어떠한 목적을 가지고 체계화된 데이터를 저장하고 조작하는 것을 말하며 우리가 일상에서 쉽게 접할수 있는 Excel이 대표적인 데이터베이스라고 말 할수 있습니다.


하지만 Excel파일은 공유하기가 힘들고 파일 개수가 많아질 경우 관리하기가 어렵고 여러가지 단점이 있습니다.


이를 DBMS라는 것이 관리를 쉽게 도와주고 다른 애플리케이션과 연동하여 데이터를 쉽게 보여줄 수도 있습니다.


그럼 이제 데이터베이스의 기능들에 대해 알아보겠습니다.


- 검색과 갱신

데이터베이스는 크게 검색과 갱신의 기능을 가지고 그 중에서 검색기능은 가장 중요하다고 알려져있습니다. 그리고 갱신은 등록, 수정, 제거로 나뉩니다.

이 4가지 기능을 통해서 데이터를 검색하고, 등록하고 수정하고 삭제를 할 수 있습니다.


- 데이터의 형식

데이터베이스에서 데이터는 어떠한 형식(포맷)을 가지고 관리됩니다.

간략하게 설명하자면 123와 같은 숫자형태와 "블로그"와 같은 문자열 형식을 가지고 있습니다.

그외에도 많은 형식이 있지만 이것은 다음에 알아보도록 하겠습니다.


- 동시성 제어

데이터베이스는 여러 사람이 동시에 접근을 허용하는데 이 부분에서 문제가 발생합니다.


두명의 사람이 동시에 접근했을 때 검색과 갱신을 어떻게 할지에 따라 3분류로 나뉩니다.

1. A가 데이터베이스에 접근하면 B는 접근할 수 없다.

2. A가 데이터베이스에 먼저 접근하면 B는 검색 기능만 사용할 수 있다.

3. A와 B가 동시에 검색과 갱신 기능을 사용할 수 있고 갱신은 마지막 행위만 처리 된다.


1번은 동시에 접근 할 수가 없어서 데이터의 무결성을 지킬수 있어서 안전한 방법입니다.

2번은 동시에 접근은 할 수 있지만 갱신은 A만 할 수 있고 B는 검색을 사용할 수는 있지만 데이터가 최신이라는 보장은 받을 수 없습니다. 

3번은 동시에 접근하여 검색과 갱신을 할 수 있지만 동시에 갱신 할 경우 어떤 데이터가 옳은 데이터인지 판단하기 어렵습니다.


- 장애 대응

데이터베이스는 중요한 데이터들을 모아 둔 장소인데 이 데이터가 사라진다고 생각하면 정말 끔찍할 것입니다.

그래서 이 문제를 대비하기 위해서 데이터 다중화와 백업의 두가지 방법이 있습니다.

데이터 다중화는 데이터들을 여러곳에 분산시켜 사전에 방지하는 것이고 백업은 데이터가 소실 한 경우에 복구하는 방법입니다.

 

- 데이터베이스의 종류

1. 계층형 데이터베이스

2. 관계형 데이터베이스

3. 객체지향 데이터베이스와 XML 데이터베이스

4. NoSQL 데이터베이스


- 데이터베이스의 특징

1. 실시간 접근성

2. 지속적인 변화

3. 동시 공유

4. 내용에 대한 참조

5. 데이터 논리적 독립성


- 데이터베이스의 장점

1. 데이터 중복 최소화

2. 데이터 공유

3. 일관성, 무결성, 보안성 유지

4. 최신의 데이터 유지

5. 데이터의 표준화 가능

6. 데이터의 논리적, 물리적 독립성

7. 용이한 데이터 접근

8. 데이터 저장 공간 절약


- 데이터베이스의 단점

1. 데이터베이스 전문가 필요

2. 많은 비용 부담

3. 데이터 백업과 복구가 어려움

4. 시스템의 복잡함

5. 대용량 디스크로 엑세스가 집중되면 과부화 발생




출처

https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4

728x90
반응형
728x90
반응형

지난 포스팅에서는 ButterKnife을 더욱 잘 사용하기 위한 ButterKnife Injection을 소개했습니다.


이번에는 Databinding을 더욱 잘 사용하기 위한 Databinding Support에 대해 소개하고자 합니다.


만약 Databinding에 대해 잘 모르시는 분은 박상권님 블로그에 설명이 잘 되어있으니 보시길 바랍니다.


이것은 Databinding을 사용하면서 xml에서 작업해야 하는 것을 도와주는 Plugin입니다.


databinding layout으로 변환하기


data tag 추가하기


import tag 추가하기


variable tag 추가하기


@{} 감싸기


이렇게 조금이나 databinding을 쉽게 사용할 수 있게 도와주는 plugin입니다.


정말 대단하지 않나요?


728x90
반응형

+ Recent posts