[SQL] DBMS의 자성 무엇입니까
SQLDBMS의 자성 무엇입니까
나는 DBMS의 1NF 형태의 아래에 뭔가를 읽어 보시기 바랍니다.
다음과 같은 문장이 있었다 :
사람이 예를 들어 충분히 나에게 설명해 주시겠습니까?
해결법
-
==============================
1.예를 들어, 값이 기하학적 점, 또는 다각형 수 있습니다;. 크리스 날짜는 매우 신중하게 정수 정당한 값입니다 3 같은 단순한 것들 반대로, 값을 임의로 복잡 할 수가 아님을 유의하시기 바랍니다 "라고 말한다 또는 X 선 또는 XML 문서, 또는 지문 또는 어레이 또는 스택 또는 목록 또는 관계 (등 참조). "[1]
예를 들어, 값이 기하학적 점, 또는 다각형 수 있습니다;. 크리스 날짜는 매우 신중하게 정수 정당한 값입니다 3 같은 단순한 것들 반대로, 값을 임의로 복잡 할 수가 아님을 유의하시기 바랍니다 "라고 말한다 또는 X 선 또는 XML 문서, 또는 지문 또는 어레이 또는 스택 또는 목록 또는 관계 (등 참조). "[1]
그는 또한 "A relvar 그 relvar의 모든 법적 값, 모든 튜플은 각 속성에 대해 정확히 하나 개의 값이 포함 된 경우에만, 경우 1NF입니다."라고 말한다 [2]
이 내포 혼란 때문에 그는 일반적으로 원자 단어의 사용을 권장하지. 단일 값은 아마도 사용하는 더 나은 용어입니다.
예를 들어, '2014년 1월 1일'와 같은 날짜 단일 값입니다. 그것은 불가분 아니다; 반대로, 그것은 아주 명확하게 나눌 수있다. 그러나 DBMS는 부품이 하나의 값을 갖는 두 가지 중 하나를 수행합니다. DBMS의 어느 전체 값들을 반환하거나 DBMS는 부품을 조작하는 기능을 제공한다. (클라이언트 부분을 조작하는 코드를 작성하지 않는다.) [3]
날짜의 경우, SQL 캔
등등. 이 (좁은) 측면에서, SQL은 매우 관계이다.
-
==============================
2.하지 원자 트랜잭션에 대한하지만, 정의와 열 내용에 관한 자성과 1NF ....
하지 원자 트랜잭션에 대한하지만, 정의와 열 내용에 관한 자성과 1NF ....
"원자"수단 "작은 부분으로 분할 또는 분할 할 수 없습니다." 칼럼이 하나 개 이상의 값을 포함하지 않도록,이 수단에인가 1NF. 이 작성하거나 자신의 의미가 값을 결합해서는 안된다.
이것은 일반적으로 데이터베이스 디자이너에 의해 만들어진이 매우 일반적인 실수에 관하여 :
값 목록을 포함하는 열은 일반적으로 공백이나 쉼표는이 블로그 게시물 테이블처럼 분리 :
id title date_posted content tags 1 new idea 2014-05-23 ... tag1,tag2,tag3 2 why this? 2014-05-24 ... tag2,tag5 3 towel day 2014-05-26 ... tag42
또는이 연락처 테이블 :
id room phones 4 432 111-111-111 222-222-222 5 456 999-999-999 6 512 888-888-8888 333-3333-3333
대부분의 데이터베이스 디자이너이 좋은 일이 될 수 없습니다 보는 바와 같이 비정규이 유형은 드물다. 그러나이 같은 테이블을 찾을 수 있습니까. 이 열을 넓히고 대신 정규화 관련 테이블 (자주 휴식 기존 응용 프로그램)을 추가하는 물건의 여러 값을 사용하는 것이 더 간단 보일 수있는 반면 그들은 일반적으로 데이터베이스에 수정에서 왔습니다.
이 경우, 하나 개의 컬럼은 서로 다른 정보 비트를 포함하고, 아마도 별개의 칼럼들의 세트로서 설계 될 수있다.
전체 이름과 주소 열은 전형적인 예이다 :
id fullname address 1 Mark Tomers 56 Tomato Road 2 Fred Askalong 3277 Hadley Drive 3 May Anne Brice 225 Century Avenue - apartment 43/a
이 라인 어떤 원자이며, 무엇을하지를 그릴하는 것은 매우 어렵 기 때문에 불완전한 정규화의이 유형은 매우 일반적이다. 응용 프로그램에 따라 여러 부분으로 열이 잘 경우에 최적의 솔루션이 될 수 있습니다. 그것은 덜 구조화,하지만 간단하다.
많은 원자 열 어드레스를 구조화하여 출력 핸들 결과보다 복잡한 코드를 갖는 것을 의미 할 수있다. 또 다른 복잡성은 주소의 모든 유형에 맞게 adeguate없는 구조에서 비롯됩니다. 하나 개의 VARCHAR 컬럼을 사용하여이 문제를 제기하지 않지만, 일반적으로 검색 및 정렬에 대해 ... 다른 사람을 초래할 수 있습니다.
여러 부분으로 열 극단적 인 경우는 날짜와 시간입니다. 대부분의 RDBMS는 날짜 및 시간 데이터 유형을 제공하고 핸들 날짜와 시간 대수 및 다양한 비트의 추출 (월, 시간 등)에 기능을 제공합니다. 소수의 사람들은 관계형 데이터베이스에 별도의 해, 몽, 하루에 열이 편리 고려할 것입니다. 그러나 나는 그것을 ... 그리고 좋은 이유와 함께 본 적이 : 유스 케이스는 법무부 데이터베이스 생년월일했다. 그들은 거의 또는 전혀 문서와 많은 이민자를 처리했다. 가끔은 그냥 사람이 특정 해에 태어났다 알고 있지만 일 또는 월 또는 출생 모르겠다. 당신은 하나의 날짜 열이있는 정보의 유형을 처리 할 수 없습니다.
-
==============================
3.다시 "원자"
다시 "원자"
커드의 원래 1969 년과 1970 년 논문에서 그는 행의 모든 속성 값을 갖는으로 관계를 정의했다. 값은 관계를 포함하여 아무 것도 될 수 있습니다. 이것은 "원자"의 어떤 개념을 사용하지 않습니다. 그는 설명 그 "원자"의미없는 관계 값 (즉,하지 테이블 반환) :
그는 "원자"및 비 관계형 비공식 해설의 개념으로 "nondecomposable", "간단한"를 사용했다. 그 관계는 각 열에 연관된 이름 및 값을 갖는 행을 갖는 것으로 이해; 속성이 definiton가있다 "단일 값"; 이 값은 임의의 타입이다. 관계형 중요한 유일한 구조적 속성은 관계되고 있습니다. 또한 단지 값입니다,하지만 당신은 그것을 쿼리 할 수 있습니다. 그리고는 "단순하지"등의 의미 관계 값 사용.
버전 2 : 커드의 1990 책 데이터베이스 관리를위한 관계형 모델의 시간으로 :
"관계형 모델에서 복합 데이터의 한 종류가있다 : 관계."
슬프게도, "원자 = 비 관계는"당신은 듣고려고하지 않는 것. (불행하게도 커드는 깨끗한 작가가 아니었고 그의 해설 발언은 자신의 결론과 혼동 얻을.) 사실상 관계형 모델의 모든 프리젠 테이션이 더 커드를 위해 단지 디딤돌이었다 것보다 얻을. 이들은 결정 "원자" "정규화"로서 인정 혼란 퍼지 개념 축약 / 시성을 촉진한다. 때때로 그들은 잘못 realtion을 정의하는 데 사용합니다. 커드가 매일 사용하는 반면 "세분화"와 관련하여 값 도메인을 무료로 관계 값 및 정의 "정상화"와 같은 관계형 "세분화"정의 소개합니다.
(나도 커드는 용어의 속성과 현재 데이터베이스 용어의 반복 그룹은 간단 대략 유사하다 "라고 1970 년으로조차 관계형 개념이 아닌 뭔가. 그리고 과연 그것을 정의,"원자 "로"반복 그룹 없음 "도움이되지 않습니다 도메인과 각각 단순하지 도메인 ".)
예 :이 오해는 주로 자신의 정액 정지 현재 책 데이터베이스 시스템에 대한 소개에서, 크리스 날짜, 명예 초기 관계 explicator 및 proselytizer에 의해 일찍부터 오랫동안 승진했다. 어떤 지금 (2004 년 8 에디션) 다행히도 관계, 행과 "스칼라"(비 관계 비 행) 도메인을 구별의 도움이 관계 적 지향 확장 된 개념이 제시 :
예 : 관계형 데이터베이스의 Maiers '고전 이론 (1983)
예 : 첫 번째 NF의 현재 위키 백과의 문서 (일반 양식) 섹션의 자성 실제로 위의 서론 부분에서 인용. 그리고 정확한 의미를 무시합니다. (그런 다음 세분화 거북이 중지해야하는 경우에 대한 이해할 수없는 것을 말한다.)
다시 "표준화"와 "1NF"
커드는 1970 년에 "정상화"를 사용했을 때, 그는 ( "비 간단한") 관계형 데이터베이스에서 도메인을 관계 값을 제거 의미 :
나중에 (JDS를 (종속성을 가입) 포함) "높은 연맹"의 개념은 일어나 "정상화"는 다른 의미했다. 커드의 원래 정상화 종이 정상화 이론 때문에 항상 모든 관계뿐만 아니라 커드의 1NF에서 그 적용 결과를 제공. 그래서 한 수 "정상화"와 관련하여 값 열없이 "정규화"/ "1NF"형태로 단지 관계에서가는 원래의 의미에서 한 수 1NF "일명 단지 관계에서가 정상화 이론의 의미에서"정상화 " "높은 연맹에 도메인 관계 여부를 무시하면서. 그리고 "정상화"또한 (를 변이) 비 관계형 데이터베이스의 관계형 버전을 설계에 사용 (단지 관계 및 / 또는 "1NF"의 어떤 의미인지).
관계형 정신은 다른 기본 테이블에 찬성 부분을 흥미 여러 동일한 의미를 가진 열 또는 도메인을 피하다하는 것입니다. 하지만 우리는 항상 나타내는 부분을 중지하고 바로 대 (평가 비 관계-) "원자"등의 열을 치료하는 경우에 대한 비공식 인체 공학적 결정에 와야한다 "세분화"(관계 값).
-
==============================
4.그것은 (쉼표 값을 구분 같은) 열은 복수의 값을 포함하지 의미한다.
그것은 (쉼표 값을 구분 같은) 열은 복수의 값을 포함하지 의미한다.
PLZ 아래 링크를 참조하십시오.
http://www.studytonight.com/dbms/database-normalization.php
from https://stackoverflow.com/questions/24029620/what-is-atomicity-in-dbms by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] ANSI 1992 쿼리에서 조인 쉼표 혼합 (0) | 2020.03.26 |
---|---|
[SQL] 오류 만들 테이블 : 당신은 근처의 SQL 구문에 오류가있다 '(순서를 ORDER_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, USER_ID'라인 1에 [중복] (0) | 2020.03.26 |
[SQL] 여러 번 매개 변수 바인딩 사용하십시오 (0) | 2020.03.26 |
[SQL] IS NULL = NULL과의 차이가 있습니까 (0) | 2020.03.26 |
[SQL] GROUP BY / SQL의 집계 함수 혼란 (0) | 2020.03.26 |