2009-08-19 5 views

답변

12

엔터티 관계 세계에서 엔터티는 이 독립적으로 존재할 수 있으며이므로 엔터티와 데이터베이스 테이블간에 일대일 관계가있는 경우가 많습니다. 그러나이 매핑은 구현 결정입니다. 예를 들어 ER 다이어그램에는 Triangle, Square 및 Circle과 같은 세 개의 엔터티가 포함될 수 있으며 이러한 테이블은 단일 테이블로 모델링 될 수 있습니다. Shape.

또한 일부 데이터베이스 테이블은 엔티티 간의 관계를 나타낼 수 있습니다.

1

일종의 문제는 어떻게 생각하고 문제 도메인을 모델링하는지에 따라 다릅니다. 엔티티에 대해 듣는 대부분의 시간은 객체 클래스에 매핑 된 데이터베이스 테이블 (하나 또는 여러 개)입니다. 그래서 그것은 질의를 받고 클래스 인스턴스로 바뀌기 전까지는 엔티티가 아닙니다.

그러나 다시, 그것은 당신의 모델링 방법론에 따라, 여러 :-) 아주 일반적인 질문

13

이있다!

기본적으로 NUMERIC, VARCHAR 등의 데이터베이스 시스템 자체가 제공하는 모든 유형 또는 선택 제안 (int, string 등)의 프로그래밍 언어는 "원자"데이터 (기본) 유형으로 간주됩니다.

프로그램이나 비즈니스 요구 사항을 기반으로하는 모든 것, 즉 비즈니스 객체 등은 모두 엔터티입니다.

테이블, 제약 조건 등은 데이터를 저장하고 검색하는 데 필요한 데이터베이스 내부 개체이지만 일반적으로 "엔터티"로 간주되지 않습니다. 테이블에 저장된 데이터는 검색되어 오브젝트로 변환 될 때 인 엔티티입니다.

마크

+1

나는 당신과 동의 할 것입니다. "개체"는 일반적으로 실제 개체의 표현입니다. PERSON 테이블은 실제 사람을 나타내는 엔티티입니다. 이름, 성 등과 같은 것은 엔티티의 속성입니다. –

1

업데이트 :


:

좀 더 상세하게 주제를 다루려고하는 내 블로그에이 문서를 참조하십시오

엔티티는 entity-relationship model의 용어입니다.

relational model (데이터베이스 스키마)은 ER 모델을 구현하는 방법 중 하나입니다.

관계형 테이블은 정수와 문자열과 같은 간단한 유형 간 관계를 나타내며 차례로 엔티티, 속성, 관계 등 모든 것을 나타낼 수 있습니다.

관계형 구조에서만 무엇인지 알 수 없으므로 ER 모델을 참조해야합니다.

테이블 persons를 들어

,

id name surname 
1 John Smith 

id, namesurname은 현실 세계에서 엔티티 및 또는 기본 ER 모델의 엔티티를 표시하지 않을 수 있습니다.기록의 사실 테이블에 존재

이 단체는 다음과 같은 관계에 있다는 것을 의미한다 "person 1 이름 John을 가지고 있으며, Smith있다".

위 예제에서 엔티티는 id (모델의 관점에서)으로 정의됩니다.

사람이 John에서 Jack으로 자신의 이름을 변경하면 그 사람은 (모델의 관점에서) 동일하게 유지되지만 또 다른 name과 관련이 있습니다. namesurname 위의 예에서

은 (entity 반대) attribute로 취급, 그러나 다시, 당신은이 스키마가 무엇을 말할 구현 ER 모델을 볼 필요가 될 수있다.

일부 ER- 관계형 모델 매핑에서 엔티티는 FOREIGN KEY으로 참조 할 수있는 테이블에 정의되어 entity (도메인을 제한해야 함)으로 간주되어야합니다.

그러나이 제약 조건은 존재할 수 있지만 기술적 한계 또는 다른 이유로 인해 데이터베이스에 표시 될 수 없습니다.

마찬가지로 가능한 모든 이름의 목록을 유지할 수는 없지만 @#$^#의 이름은 이름이 아닌 이름 일 가능성이 높습니다. 따라서 이름 도메인에 속하지 않습니다.

따라서 attribute은 관계에 참여할 수 있지만 도메인 정의 테이블에 포함될 수없는 entity입니다. 예를 들어

, prices 테이블 :

good_id price 

은 (표 goods에 의해 정의된다) 상품의 세트와 그 이후 테이블에 포함 할 수없는 실수의 집합 (사이의 관계를 정의 심지어 셀 수없는).

여전히 각각의 가격 (예 : $2.00)은 실재 실체입니다.

+0

은 ENTITIES가 아닌 ID, 이름 및 성 속성이 아닙니까? –

+0

제 생각에이 행은 "Smith, John"을 하나의 개체로 표현합니다. –

+0

'@ marc_s' : 인내심! – Quassnoi

1

일부 상황을 알아야합니다. 사람들이 때로는 데이터베이스 디자인을위한 준비 단계에서 데이터를 분석 할 때 Entity Realtionship Diagram을 만드는 것이 있습니다. 여기서 Entity Realtionship Diagram을 작성하면 관리중인 데이터 항목과 관계를 고려해야합니다.

그 의미가 맞는 것인지 궁금합니다.

아마도이 article을 읽으면 시작할 수 있을까요?

2

이 스레드는 "기본 질문에 대한 기본 대답"을 찾기가 어려운 이유 중 하나를 demomnstrating입니다. 특정 단어가 다른 프로그래밍 패러다임에서 다른 것을 의미하기 위해 사용되었습니다 (클래스와 객체의 차이는 언젠가 OO 프로그래머에게 묻습니다).

여기에 관한 내용입니다.

나는 처음 엔 SSADM에서 모델링 용어로 Entity를 보았습니다 (아빠에게 물어보십시오). 이러한 맥락에서 엔티티는 요구 사항 수집/분석 단계에서 논리적 인 데이터 집단을 모델링하는 데 사용됩니다. 엔터티 간의 관계는 엔터티 관계 다이어그램을 사용하여 모델링되었으며 엔터티 프로필은 엔터티 수명 기록을 사용하여 모델링되었습니다. ELH 다이어그램은 COBOL 시스템에서 매우 유용했지만 관계형 데이터베이스에서는 완전히 끔찍했습니다. ERD는 오늘날에도 계속 유용합니다.

설계 및 구현 단계에서 엔티티는 COBOL 입력 파일의 데이터베이스 테이블, 개체 또는 레코드로 해석됩니다. 이 과정에서 논리적 개체가 여러 테이블로 분할되거나 여러 엔터티가 단일 테이블로 squidged되거나 일대일 매핑이있을 수 있습니다. 때로는 엔티티가 완전히 해제되거나 뷰 또는 저장 프로 시저로 남아있게되는 경우가 있습니다.

3

이 도움이 보인다 : 데이터베이스에서 http://en.wikipedia.org/wiki/Entity-relationship_model

엔티티 테이블입니다. 테이블은 실제 세계 개념 (모델, 인물, 트랜잭션, 이벤트)을 모델링하려고합니다.

제한 조건은 엔티티 간의 관계를 나타낼 수 있습니다. 이것들은 외래 키입니다. 또한 first_name은 공백 (null) 일 수 없으므로 규칙을 적용합니다. 거래에는 하나 이상의 품목이 있어야합니다. 이벤트에는 날짜 시간이 있어야합니다.

저장 프로 시저/패키지/트리거는보다 복잡한 관계를 처리 할 수 ​​있고 비즈니스 규칙을 처리 할 수 ​​있습니다.

+0

위대하고 간단한 설명! - "데이터베이스에서 엔티티는 테이블입니다.이 테이블은 당신이 모델링하려는 실제 개념 (사람, 거래, 이벤트)을 나타냅니다." –

1

엔티티는 사용자/business/enterprise/problem 도메인에 "중요 사항"입니다.

2

내 대답은 분명 조금 늦게, 그러나 여기 데이터베이스 인증 교과서에 정의입니다 :

법인 : 데이터가 데이터베이스에 저장되어있는 대한 고유하게 식별 요소를.

엔티티와 테이블 혼란을 정리하기 위해,

엔티티는 테이블이 아닙니다. 테이블은 "테이블"또는 "관계"라고 할 수 있습니다. 단어는 동의어입니다.

+0

먼저 답변을 정리하십시오. – user1972007

관련 문제