상황 조건 1. 방대한 양의 데이터(500 PB)를 가지고 있음. 2. 여러 사람에 의해 동시에 접근 요구 사항 - 데이터에 관한 질문은 신속하게 대답되어야 함. - 여러 사용자들에 의한 데이터의 변경은 일관성 있게 적용되어야 함. - 데이터의 어떤 부분은 접근이 제한되어야 함. 운영체제 시스템의 파일 시스템 - 데이터를 저장장치(하드 디스크)에 저장하고 필요한 대로 관련되는 부분을 주기억장치(메모리)로 가져온다. - 데이터를 직접 참조할 수 없기 때문에 모든 데이터 항목을 식별하는 방법을 프로그래밍하여야 한다. - 사용자의 질문에 대답하기 위해 특별한 프로그램들을 작성해야 함. - 응용프로그램들이 데이터에 동시접근시 세부적인 문제까지 처리해야 한다면, 응용프로그램들의 복잡성을 크게 추가하게 됨. - 데이터 변경이 이루어지고 있는 동안 시스템이 붕괴되면 데이터를 일관성이 있는 상태로 확실히 복구될 수 있어야 한다. - 운영체제는 보안을 위해 암호 식별 기능만을 제공. 사용자들마다 데이터 중 각기 다른 부분에 접근할 수 있도록 하는 보안정책을 집행하기에는 융통성이 부족 DBMS의 장점 - 데이터 독립성: 응용 프로그램들은 데이터의 표현과 저장에 대한 세부 사항에 영향을 받지 않는다. - 효율적인 데이터 접근: 데이터를 효율적으로 저장하고 검색하기 위해 여러 종류의 정교한 기술들을 이용함. (데이터가 보조 기억장치에 저장된는 경우 특히 중요) - 데이터 무결성과 보안성: 데이터가 항상 DBMS를 통하여 접근되면, DBMS는 무결성 제약조건을 집행할 수 있음. - 데이터 관리: 여러 사용자들이 데이터를 공유할 때, 데이터에 대한 관리를 중앙 집중화하는 것이 상당한 개선을 가져옴. 경험이 풍부한 전문가들이 데이터의 중복을 최소화하도록 데이터 표현을 조직하고 효율적인 검색을 수행하기 위해 데이터의 저장을 세부적으로 조정하는 업무에 책임을 가짐. - 동시접근 및 손상복구: 오직 한 사용자에 의해 데이터가 접근된다고 생각할 수 있도록 데이터의 동시접근을...
2.1 데이터베이스 설계와 ER 다이어그램 데이터베이스 설계과정 여섯 단계 1. 요구분석 - 첫 단계는 데이터베이스에 무슨 정보를 저장할 것인가, 그 위에 어떤 응용을 구축할 것인가, 어떤 연산들이 가장 자주 수행되며 성능 요건은 무엇인가를 파악하는 일이다. 2. 개념적 데이터베이스 설계 - 요구분석 단계에서 모은 정보들은 데이터베이스에 저장될 데이터와 이 데이터가 준수해야하는 제약조건들을 고수준으로 기술하기 위해 사용된다. 이 단계는 주로 ER 모델을 이용하여 수행된다. 3. 논리적 데이터베이스 설계 - 데이터베이스 설계를 구현하기 위해 DBMS를 선정하고, 개념적 데이터베이스 설계를 선정한 DBMS의 데이터 모델에 따른 데이터베이스 스키마로 변환해야 한다. 4. 스키마 정제 - 관계 데이터베이스 스키마에 있는 릴레이션들을 분석하여 잠재적인 문제점들을 파악하고 정제하는 것이다. 5. 물리적 데이터베이스 설계 - 데이터베이스가 지원해야 할 일반적인 예상 작업량을 고려하여 데이터베이스 설계르 ㄹ원하는 성능기준에 맞도록 더 정제한다. 6. 응용 및 보안설계 - 응용 업무를 반영하는 모든 프로세스에서 각 개체의 역할을 그 업무를 위한 전체 작업 흐름의 일부로써 기술해야 한다. - 각 역할별로, 접근될 수 있어야만 하는 데이터베이스 영역과 접근되어서는 안 되는 영역을 파악해야 한다. 2.2 개체, 애트리뷰트, 개체집합 개체(entity)는 실세계에서 다른 객체들로부터 구분될 수 있는 객체이다. 객체들의 모임을 객체집합(entity set)이라고 한다. 하나의 개체는 애트리뷰트들(attributes)의 집합을 사용하여 기술된다. 주어진 개체집합에 속한 모든 개체들은 동일한 애트리뷰트들을 갖는다. 개체집합과 관련한 각 애트리뷰트에 대해서, 가능한 값들의 도메인(domain)을 지정하여야 한다. 각 개체집합에 대해서 키를 선택한다. 키는 주어진 집합에 속하는 한 개체를 유일하게 식별하는 값을 갖는 최소개의 애트...
댓글
댓글 쓰기