혹시 동물뉴스 라구 들어 보셨나여?
과속을 하다 5중 추돌 사고를 내고 뺑소니를 친 거북이를 입건했습니다. '아주 무서운 속도로 달렸다'는 유일한 목격자인 굼벵이의 진술과는 달리 '누구 약올리냐?'며 항소할 뜻을 밝혔습니다. 안녕하세요.... 귀염둥이 안규랍니다. 웃고 삽시당,~~~~~~~~~~~~~~~ 헤~~~~(썰렁한 사람이라구여?,,,,,(어케 알아찌?(-.-)) 데이타 무결성이 뭐냐? Data Integrity는 데이타 무결성을 말합니다... 여러분도 많이 들어 보셨쪄? 1. 무결성의 개념. 쉽게 설명을 드린다면 무결성이란 데이터베이스에 잘못된 데이터가 들어오는것을 막는 방법 이라구 생각하시면 됩니다. 이것은 결국 데이터베이스에 저장된 데이터가 항상 저확하게 저장되어 있다는것을 의미하기도 하답니다. 뭐,,, 당연한 소리를 하느냐 하시겠지만, 여러분은 이 무결성에 대해서 얼마나 자신하고 계신지요. 저를 포함은 많은 주위의 분들을 보면은 과연 무결성에 대한 작업을 하는지 하는 의구심을 많이 가지게 되었지여. 이제는 우리두 어느정도 경력이 되었으니, 그리구, 이제 코딩에는 어느정도 자신이 있으니, 데이타베이스 튜닝이라든지, 무결성이라던지, 인덱스라던지, 최적화라던지, 많은 중요한 기능들이 있으니, 이런부분에 신경을 써야 하지 않을까 하는 생각을 하게 되었습니다. 기특하지여? 헤~~~~~ 오늘은 일단 데이타 무결성이 정확히 무얼 말하고, 또 무결성은 어떤 것들이 있는지를 알아 보도록 하겠습니다. 앞으로 새로운걸 한다구 해서 너무 걱정하지는 마세여.... 천하에 무식한 안규도 하는 것이니 여러분은 뭐,,,,, 한번만 읽어보시면 쉽게 이해하고, 실무에 적용을 하시리라 믿습니다. 2. 무결성의 종류(보증되는 범위). 1) Domain Integrity(영역 무결성) 칼럼 무결성이라고도 부르며 컬럼에 저장되는 데이터 내용의 정확성을 말합니다. 예를 들어 알송달송 NULL값 을 허용한다던지, 데이터의 타입를 지정하는 것두 하나의 예라고 볼수 있지여. 또한 특정 컬럼의 특정 범위나 특정 패턴의 데이터만 저장될수 있게 해주는 것들이 여기에 포함이 됩니다. 예를 들어 보면, 주민등록번호를 저장하는 경우에는 년/월/일 여섯자리, 성별에 따라 1/2/3/4 값 그리구, 5자리의 숫자, 마지막으로 전체숫자에 대한 패러티 숫자 한자리가 오게 됩니다. 그러므로 만약 어떠한 주민등록번호가 컬럼에 입력이 될때 이런 조건에 만족하지 않는 데이터가 입력되려구 한다면, 오류를 발생시켜 잘못된 데이터가 들어오는 것을 막아주어야 합니다. 프로그래밍과 연결이 되어서 보통 프로그램적으로 제어는 하지만 MS_SQL SERVER 자체에서 이러한 데이터를 제어 하는지여,,,, 단순하거나 간단한 데이터의 경우 우리는 이제 CHECK,DEFAULT,RULE등을 이용해서 이제 무결성을 위해 이러한 문법을 배우게 될겁니다. 2) Entity integrity(개체 무결성) Entity integrity는 레코드에 저장되는 컬럼값이 같은 테이블내의 다른 컬럼값과 비교했을 때 중복되지 않는다는것을 말하는 무결성입니다. 예를들면 주민등록번호 필드에 중복되는 주민등록번호를 가진 레코드가 없다든지, 또는 회원제 테이블의 회원 아이디라던지 번호라는지 이러한 레코드가 두개이상 있으면 되지 않기 때문에 이러한 문제들을 보증하는 방법이 된답니다. 3) Referential Integrity(참조 무결성) 만약 두개의 테이블이 참조되는 관계가 있을때 포린 키를 설정하여 연결된 두 테이블간에 데이터가 일관성을 가지도록 하는 방법이랍니다. SQL 서버에서는 Foreign key(포린키)나 트리거를 통해서 구현을 하게 됩니다. 3. 무결성의 종류(적용을 하는 방법) 1) 선언적 방법 선언적 방법은 테이블과 컬럼을 정의할때 함께 선언되어 정의되는 방법을 말합니다. 이것은 데이터베이스를 정의할때 함께 정의되며 DBMS 레벨에서 데이터의 정확성을 보증하게 되지여. 사용하기 쉽고 성능이 좋으며, 단순한 데이터 처리에 많이 사용됩니다. SQL 서버에서는 디폴트,체크,프라이머리 키, 유니크,포린 키 같은 방법과 Default,Rule 같은 방법이 있습니다. 2) 서술적 방법 트리거나 스토어 프로시져와 같이 스크립트 형태로 정의하며 선언적 방법으로 구현하기 어려운 복잡한 업무 규칙을 적용할 때 사용합니다. 오늘은 무결성이 뭔가, 그리구, 어떠한 것들이 있는지 대략적으로 살펴 보았구여, 다음시간 부터는 실제 Syntax 부분을 살펴 봐야 할것 같습니다. 기존에 이미 알고 계셨던 부분들이 나올수도 있구, 또한 새로운 방법들도 만나실수 있을것 같구요. 아무쪼록 이부분의 강좌가 끝나면, 아마 MS_SQL 쪽에 한단계 높은 스킬을 구현하실 수 있을 거란 생각을 감히 상상해 봅니다. 그럼, 오늘도 편안한 밤 되세요..
|
|||||||||||