Page 11 -
P. 11

세스에서는 AutoNumber, MySQL에서는 AUTO_INCREMENT, PostgreSQL에서
                  는 serial 컬럼이라고 한다. 오라클 12c 이전 버전에서는 동일한 기능을 구현
                  하려면 컬럼 속성이 아닌 독립적인 시퀀스(Sequence) 객체를 사용해야 했다.

                  DB2, SQL Server, PostgreSQL에서도 시퀀스 객체를 지원한다.

                  관계형 데이터베이스에서 참조 무결성(Reference Integrity, RI) 개념은 매우 중

                  요하다. 참조 무결성을 준수한다는 것은 널이 아닌 외래키(Foreign Key)가 설
                  정된 자식 테이블의 각 레코드와 일치하는 레코드가 부모 테이블에 존재한다

                  는 것을 의미한다.

                  잘 설계된 Orders 테이블이라면 고객 정보 컬럼에 외래키를 설정해 Customers
                  테이블의 기본키와 연결되어 있을 것이다. 따라서 John Smith라는 고객이

                  실제로 여러 명이더라도 Customers 테이블의 각 로우는 유일한 키를 가지므로
                  각 주문에 대응하는 오직 하나의 고객만 쉽게 식별할 수 있다.


                  테이블 간에 참조 무결성을 유지하려면 변경된 기본키 값을 이와 관련 있는
                  테이블과 모든 자식 레코드에 전파해야 한다. 이렇게 갱신이 전파되면 관련

                  테이블에 잠금(Lock)이 설정되어 높은 동시성을 지원하는 다중 사용자 데이
                  터베이스에서 심각한 문제를 일으킬 수 있다. 그림 1-2는 액세스 2003에서

                  샘플로 제공하는 Northwind 데이터베이스의 Customers 테이블에서 추출한
                  예제이다. 한번 살펴보자.


                     그림 1-2 Customers 테이블 샘플 데이터
















              034





         SQL 코딩의 기술(본문)최종.indd   34                                            2017-11-15   오후 11:27:49
   6   7   8   9   10   11   12   13   14   15   16