본문 바로가기
728x90

👨‍💻Computer Science/데이터베이스16

[Database] 01 - 7 데이터베이스 시스템 아키텍처 DBMS는 여러 모듈이 협력하여 작동하는 소프트웨어입니다. 데이터베이스 관리자가 데이터베이스 정의어를 사용하여 데이터베이스를 생성하면 데이터 정의어 컴파일러가 이를 컴파일하여 시스템 카탈로그에 정보를 저장합니다. 최종 사용자 또는 응용프로그램이 기작성 트랜잭션 또는 콘솔을 통해 데이터 조작어로 작성된 질의를 입력하면 징의 처리기는 이를 파싱하여 질의를 처리합니다. 이때 데이터베이스와 시스템 카탈로그의 접근은 런타임 데이터베이스 관리기를 통해 이루어집니다. 한편, 동시성 제어와 회복을 위해 트랜잭션 관리기는 런타임 데이터베이스 관리기와 긴밀하게 협력합니다. 데이터 정의어 컴파일러(DDL compiler) 모듈 데이터 정의어를 사용하여 테이블 생성을 요청하면 테이블을 파일 형태로 데이터베이스에 만들고, 이 .. 2021. 9. 9.
[Database] 01 - 6 ANSI/SPARC 아키텍처와 데이터 독립성 ANSI(표준화 기구)/SPARC 아키텍처 - 현재의 대부분의 상용 DBMS 구현에서 사용되는 일반적인 아키텍처는 1978년에 제안된 ANSI/SPARC 아키텍처 - ANSI/SPARC 아키텍처의 3단계는 물리적, 개념적, 외부 단계로 이루어짐 외부 단계(external level): 각 사용자의 뷰 개념 단계(conceptual level): 사용자 공동체의 뷰 내부 단계(internal level): 물리적 또는 저장 뷰 *아래에서 위로 갈수록 추상화 정도가 높아짐 외부 단계 데이터베이스의 각 사용자가 갖는 뷰 여러 부류의 사용자를 위해 동일한 개념 단계로부터 다수의 서로 다른 뷰가 제공될 수 있음 일반적으로, 최종 사용자와 응용 프로그래머들은 데이터베이스의 일부분에만 관심을 가짐 개념 단계 조직체의.. 2021. 9. 9.
[Database] 01 - 5 DBMS 사용자 트랜젝션 - 하나의 비절차언어를 실행시키는 것 데이터베이스 관리자(DBA: Database Administrator) - 데이터베이스 관리자는 조직의 여러 부분의 상이한 요구를 만족시키기 위해서 일관성 있는 데이터베이스 스키마를 생성하고 유지하는 사람(팀) - 데이터베이스 관리자의 역할 데이터베이스 스키마의 생성과 변경 무결성 제약조건을 명시 사용자의 권한을 허용하거나 취소하고, 사용자의 역할을 관리 저장 구조와 접근 방법(물리적 스키마) 정의 백업과 회복 표준화 시행 응용 프로그래머 데이터베이스 위에서 특정 응용(예, 고객 관리, 인사 관리, 재고 관리 등)이나 인터페이스를 구현하는 사람 고급 프로그래밍 언어인 C, 코볼, 자바 등으로 응용 프로그램을 개발하면서 데이터베이스를 접근하는 부분은 내포된 데.. 2021. 9. 9.
[Database] 01 - 4 DBMS 언어 언어의 종류에는 절차언어와 비절차언어가 있는데 SQL은 비절차언어이다. 데이터 정의어(DDL: Data Definition Language) 사용자는 데이터 정의어를 사용하여 데이터베이스 스키마를 정의 데이터 정의어로 명시된 문장이 입력되면 DBMS는 사용자가 정의한 스키마에 대한 명세를 시스템 카탈로그 또는 데이터 사전에 저장 데이터 정의어의 기본적인 기능 데이터 모델에서 지원하는 데이터 구조를 생성 예, SQL에서 CREATE TABLE 데이터 구조의 변경 예, SQL에서 ALTER TABLE 데이터 구조의 삭제 예, SQL에서 DROP TABLE 데이터 접근을 위해 특정 애트리뷰트 위에 인덱스를 정의 예, SQL에서 CREATE INDEX 데이터 조작어(DML: Data Manipulation La.. 2021. 9. 7.
[Database] 01 - 3 DBMS 발전 과정 데이터 모델 데이터베이스의 구조를 기술하는데 사용되는 개념들의 집합인 구조(데이터 타입과 관계), 이 구조 위에서 동작하는 연산자들, 무결성 제약조건들 사용자에게 내부 저장 방식의 세세한 사항은 숨기면서 데이터에 대한 직관적인 뷰를 제공하는 동시에 이들 간의 사상(mapping)을 제공 *실세계의 일부를 추상적인 표현 정보로 나타냄 데이터 모델의 분류 고수준 또는 개념적 데이터 모델(conceptual data model) 사람이 인식하는 것과 유사하게 데이터베이스의 전체적인 논리적 구조를 명시 예: 엔티티-관계(ER: Entity-Relationship) 데이터 모델과 객체 지향 데이터 모델 표현(구현) 데이터 모델(representation(implementation) data model) 최종 사용.. 2021. 9. 7.
[Database] 01 - 2 화일 시스템 vs. DBMS *DBMS 등장 이전에는 데이터의 관리를 운영체제가 제공하는 파일시스템을 통해서 데이터를 관리하였습니다. 화일 시스템을 사용한 기존의 데이터 관리 화일 시스템(운영체제에 있음)은 DBMS가 등장하지 않았을 때인 1960년대부터 사용되어 왔음 화일의 기본적인 구성요소는 순차적인 레코드들임 한 레코드는 연관된 필드들의 모임(학생을 나타내면 학번과 같은 필드들이 연관된 필드들임) 화일을 접근하는 방식이 응용 프로그램 내에 상세하게 표현되므로 데이터에 대한 응용 프로그램의 의존도가 높음 *일반적으로 M:N 관계를 가짐(그림은 1:1관계임) *응용프로그램은 각 내부에 데이터의 정의를 포함하고 있음(이 정의에 맞춰 파일 내에 데이터에 접근함) *데이터 화일을 구조가 변경된다면 응용 프로그램에서도 데이터 정의가 변경.. 2021. 9. 7.
[Database] 01 - 1 데이터베이스 시스템 데이터베이스 시스템 데이터베이스(Database)의 정의 데이터베이스는 조직체(데이터베이스 사용기간)의 응용 시스템들이 공유해서 사용하는 운영 데이터(Operational data)들이 구조적으로 통합된 모임입니다. 데이터베이스의 구조는 데이터 모델에 의해 결정됩니다. 자료구조와의 차이 자료구조는 주기억장치에 데이터를 저장하고 사용하는 방법 학습(파일이라는 것에 저장) 데이터베이스는 방대한 양을 다루고 데이터를 사용하고 계속해서 사용되기 때문에 데이터가 디스크에 저장 *디스크 상에 자료를 표현(저장, 관리)하고 효율적으로 처리하는 방법을 배움 *공통점: 데이터자료의 구조화 데이터과 정보 데이터는 프로그램과 질의에 의해 정보로 변환 예시 Name | Address | Course | Grade 허재경 | .. 2021. 9. 3.
728x90