관계형 데이터베이스 란 무엇입니까? [닫은]


9

나는 주로 시스템 관리자이며 데이터베이스 설치, 계정 설정, 권한 부여 등을 제외하고는 데이터베이스를 직접 사용하지 않습니다. 보스가 저에게 걸어 가서 "관계형 데이터베이스 란 무엇입니까?" 아마 만족스러운 대답을 할 수 없었을 것입니다 ... 나는 특별한 프로그래밍 언어 (예 : SQL)로 쿼리 할 수있는 카테고리별로 데이터가 저장되고 구성되는 것에 대해 뭔가 혼란 스러울 것입니다.

그렇다면 누군가 관계형 데이터베이스가 무엇인지에 대한 좋은 "보스 응답"을 줄 수 있습니까? 파일 서버에 데이터를 저장하는 것과 다른 점은 무엇입니까? 영리하지만 접근하기 쉬운 유추와 설명 테이블, 열, 레코드 및 필드에 대한 보너스 포인트. 나는 "보스 답변"을 비 기술적 인 사람들을위한 간단한 하나 (두 개 정도) 단락 설명으로 정의 할 것입니다. 대부분의 상사입니다.


2
serverfault 가이 질문에 적합한 장소인지 확실하지는 않지만 유용합니다. 아마도 DBA.SE 또는 Programmers.SE 일 것 입니다.
Orbling

1
상사가 왜 그런 질문을하고, 더 중요한 것은 시스템 관리와 ​​어떤 관련이 있습니까?
John Gardeniers 2016 년

1
@John Gardeniers, 많은 '시스템 관리자'가 '데이터베이스 관리'모자를 쓰고 있기 때문에 여기에 속할 수 있습니다. 즉, RDBMS 작동 방식을 잘 이해하고 있습니다. 상사가 왜 질문을하는지 아는 사람은 알고 있지만 개념을 명확하게 전달하는 방법을 아는 것은 좋은 일입니다.
Zoredache

1
@ Zoredache, 내 직장에서 나는 많은 모자를 착용합니다. 그렇다고 SF에 대한 주제가 모두다는 것은 아닙니다.
John Gardeniers

아래 답변은 매우 훌륭하지만 관계형 데이터베이스 (예 : btrieve)를 보유하고 적절한 응용 프로그램 논리를 통해 표준화 된 데이터 간의 관계를 유지할 수 있습니다.
Mark Henderson

답변:


16

관계형 데이터베이스는 데이터를 저장 하는 것이 아니라 데이터 간의 관계 를 저장 하고 이러한 관계를 사용하기 쉽게 (잘, 더 쉽게) 만듭니다. 관계형 데이터베이스 용어의 초기에, 테이블은 관계와 다른 관계 간의 관계와 함께 관련 데이터 비트 (필드, 이제 열)를 저장했기 때문에 "관계"라고 불렀습니다.

정규화는 복잡하지 않은 관계의 행위입니다. "모든 것을 가능한 한 단순하게 만드십시오." (Alan Perlis) 가끔 "... 단순하지 않다"는 것은 "단순한"것이 더 복잡해지기 때문에 완전히 정규화 된 것을 저장하지 않는 것을 의미합니다. (우편 번호에서 상태를 도출 할 수 있지만 왜 귀찮습니까?)


10

관계형 데이터베이스는 단일 구조가 단일 위치에 저장되도록 데이터를 구조화하는 방법입니다. 따라서 John과 Jane Doe가 모두 같은 회사에서 일하는 경우 회사 고유의 세부 정보 만 한 곳에 저장합니다 (테이블). John과 Jane에 고유 한 데이터를 다른 곳에 저장하고 John과 Jane의 회사와의 관계를 세 번째에 저장합니다. 이상적인 세계에서는 회사 팩스 번호가 변경된 경우 단일 필드 / 행만 수정하면됩니다.

RDBMS에서 호스팅되는 모든 데이터베이스가 올바르게 정규화되지는 않았습니다. 성능 및 기타 이유로 인해 침해가 발생합니다.

데이터베이스 정규화에 대한 기사를 참조하십시오. http://en.wikipedia.org/wiki/Database_normalization


4

관계형 데이터베이스 시스템을 구별하기위한 두 가지 주요 개념이 있습니다. 첫 번째는 항목 간의 관계가 저장된다는 것입니다. 이것이 스프레드 시트 비유를 통해 설명 된 데이터의 테이블 모델입니다. RDBMS는 스프레드 시트보다 복잡합니다. 사용하는 유추의 측면에 따라 테이블이나 워크 시트간에 많은 참조를하는 것이 더 쉽고 일반적인 관행이기 때문입니다.

두 번째는 RDBMS에 트랜잭션의 아이디어를 구현 즉, ACID의 특성

  • 원 자성,
  • 일관성,
  • 격리
  • 내구성

관계형 모델을 사용하면 많은 복잡한 관계를 포함, 쿼리, 정렬, 그룹화 등을 수행 할 수 있습니다. 트랜잭션 모델은 트랜잭션이 완전히 또는 전혀 발생하지 않도록하여 관계 모델을 일관되고 정확하게 유지합니다. 글쎄, 적어도 올바른 프로그래밍으로 유지할 수있게하십시오.


3

관계형 데이터베이스는 많은 워크 시트가있는 Excel 통합 문서와 비슷하며 인덱싱 및 캐싱과 같은 성능 최적화를 수행하고 많은 사용자가 동시에 안전하게 액세스하고 확산 될 수있는 데이터를 효율적으로 볼 수있는 주변 소프트웨어 환경과 같습니다. 다양한 워크 시트를 통해


1

관계형 데이터베이스는 관계형 모델에 저장된 데이터를 저장하고 검색하기위한 도구입니다.

관계형 데이터 모델은 적은 수 (읽은 책에 따라 4 또는 5 규칙에 따라)로 구성되어 데이터가 일관된 방식으로 액세스 될 수 있도록하여 설계의 정확성이 입증되고 데이터베이스 관리 시스템 (DBMS)은 데이터를 빠르게 검색하는 작업을 대부분 수행합니다. 또한 데이터 구조를 공식적으로 문서화하기위한 도구를 제공합니다. 데이터베이스를 구현하면 대부분의 문서를 본질적으로 구현합니다.

대부분의 사람들은 정확성이 왜 중요한지 이해하지 못합니다. 즉, 솔루션 개발에 버그가 도입 될 가능성이 적다는 것을 의미합니다. 예를 들어 유사한 영역에서 일하는 두 명의 다른 프로그래머가 노력을 복제 할 가능성이 적습니다.

응용 프로그램 프런트 엔드와 별도의 엔터티로, 데이터 구조를 일관되게 볼 수 있도록 데이터베이스 관리 시스템을 사용하면 프런트 엔드에서 다양한 도구를 다양한 용도로 사용할 수 있으므로 훨씬 더 많이 사용할 수 있습니다 솔루션 구축시 상용 구성 요소

데이터 저장을위한 관계형 모델 이외의 다른 모델이 있지만, 내 경험상 데이터 개발 및 관리 도구의 단순성, 유연성 및 가용성 측면에서 다른 모델은 없습니다.


1

100 % 비 기술적 답변 :

관계형 데이터베이스는 중복성을 최소화하고 쉽게 검색 할 수있는 방식으로 데이터를 저장하는 장소입니다.

애완 동물 상점의 데이터베이스를 가정하십시오. 상점에는 품목이 있고 고객이 있으며 판매가 있습니다. 이것을 Excel에 넣으면 열에 대해 이것을 가질 수 있습니다.

고객 이름 | 고객 전화 번호 | 고객 주소 | 구매 한 품목 | 가격 | 데이트

첫 번째 고객 인 Smith 부인은 고양이 사료를 구입합니다.

고객 이름 | 고객 전화 번호 | 고객 주소 | 구매 한 품목 | 가격 | 데이트
스미스 부인 | 123-555-1234 | 10 메인 스트리트 | 고양이 먹이 | $ 15 | 2011-03-11

그리고 스미스 부인은 고양이 장난감도 좋아합니다.

고객 이름 | 고객 전화 번호 | 고객 주소 | 구매 한 품목 | 가격 | 데이트
스미스 부인 | 123-555-1234 | 10 메인 스트리트 | 고양이 먹이 | $ 15 | 2011-03-11
스미스 부인 | 123-555-1234 | 10 메인 스트리트 | 고양이 장난감 | $ 1 | 2011-03-11

그리고 그녀는 기본적으로 2 주마다 돌아와서 같은 것을 구입합니다. 이 방법을 사용하면 많은 정보를 복제하므로 오류가 발생할 수 있습니다. 당신은 또한 이것에 재고를 저장할 수 없으며, 그것은 완전히 다른 Excel 시트이어야하고, 매 판매마다 업데이트되어야합니다.

데이터베이스를 사용하면 고객 (정보가있는), 품목 (설명과 가격이있는) 및 판매 (고객과 품목이 날짜와 수량으로 연결된)의 세 가지 개별 엔터티가있을 수 있습니다.


또한 언급하는 것이 매우 중요합니다. pinaldave.com/blogfolder/dilbert5.jpg
MPelletier

1

여기에 좋은 기술 답변이 있습니다. 그러나 내 상사는 그들 중 어느 것도 이해하지 못할 것입니다!

나는 매우 간단한 설명으로 시작할 것입니다- '데이터에 파일을 저장하면 하나의 긴 목록으로 나타납니다. 관계형 데이터베이스는 데이터를지도 나 그래프처럼 저장하므로지도의 다른 부분이 서로 연결됩니다.

예를 들어 '.... 예를 들어 이름은 주소와 연결되어 도시와 연결될 수 있습니다.'

그가 관심을 갖는 사업상의 이점에 따라- '이것의 장점은 복잡한 데이터를 얻기 위해 코드를 작성하는 것이 훨씬 저렴하다는 것입니다. 또한 관계형 데이터베이스는 매우 안정적이며 빠릅니다. '

'관계형 데이터베이스는 오랫동안 사용되어 왔으며 매우 성숙한 기술입니다. 우리의 특정 제품은 [여기에서 제품 이름] '입니다.


0

내 상사는 DBA이지만 평신도 용어입니다.

Excel에서 두 테이블과 LOOKUP 함수를 사용하여 한 테이블의 항목을 다른 테이블로 참조하십시오. 이제 10 배 이상으로 확장하십시오.

그것은 일부 사람들과 컴퓨터의 컴퓨터 수준에 관한 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.