최상의 답변
OQ : 시간 데이터베이스의 예는 무엇입니까?
시간 데이터베이스는 공간 데이터베이스와 유사하지만 공간 데이터베이스는 공간과 관련된 데이터 유형, 관계 및 기능을 지원하는 반면 시간 데이터베이스는 시간과 관련된 동일한 것에 초점을 맞추고 있습니다. temporal db의 데이터 유형은 “time period”일 수 있고 언어 확장 (일반 SQL에서)은 within\_period, periods\_overlap, periods\_exclusive 등과 같은 함수일 수 있습니다. 시간 데이터베이스의 기본 키는 시간에 따라 변경 될 수 있습니다 ( 시간, 항상 그리고 영원히가 아닙니다.
모든 테이블이 “날짜 시작”및 “날짜”열로 확장 된 정규 관계형 데이터베이스에서 시간 데이터베이스를 부분적으로 시뮬레이션 할 수 있습니다. 기록은 유효한 정보입니다. 좋아요 :
마크, 금발, 2000–03–21, 2048–12–11
마크, 대머리, 2048–12–12, 2048–12–23
Mark, wigged, 2048–12–24,…
Temporal db를 사용하면 더 많은 작업을 수행 할 수 있습니다. 예를 들어, UQ (헤어 스타일, 시작일, 종료일) 이상인 과도하지 않은 기간이라는 의미로 일정 기간 동안 고유 한 제약 조건을 쉽게 표현할 수 있어야합니다.
Answer
먼저 용어를 정리해 보겠습니다. 데이터베이스 관리 시스템은 데이터를 장기적으로 쉽게 저장, 검색 (쿼리), 검색 및 수정할 수 있도록 구성 및 관리하도록 설계된 소프트웨어입니다. 데이터베이스는이 스토리지의 인스턴스입니다. 따라서 비유하면 데이터베이스 관리 시스템은 라이브러리 카드 카탈로그 개념과 같고 데이터베이스는 특정 라이브러리에서 카드를 보관하는 특정 캐비닛과 같습니다. 그러나 저는 대부분의 사람들이 대화에서하는 것처럼 전체적인 개념을 “데이터베이스”라고 부를 것입니다.
데이터를 저장하고 검색 할 수 있다는 것은 매우 일반적으로 들리며 사실입니다. 데이터베이스입니다. 소프트웨어 응용 프로그램에서 일반적으로 발생하는 요구 사항에 맞는 일반화 된 솔루션입니다. 데이터베이스의 주요 기능은 응용 프로그램 / 비즈니스에서 사용하기위한 방식으로 데이터를 구성한다는 것입니다. 파일 모음 일뿐만 아니라 일부 응용 프로그램의 컨텍스트 내에서 파일을 구성하는 방법이기도합니다. 이러한 종류의 요구는 소프트웨어, 특히 영구 저장 및 온라인 액세스가 필요한 인터넷 응용 프로그램에서 항상 발생합니다. 예를 들어 이메일 서비스를 생성하는 경우 이메일을 영구적으로 저장하고 사용자가 이메일을 검색 할 수 있도록 허용해야합니다. 이메일을 검색하고 정렬 할 수 있어야합니다. 어떤 이메일이 어떤 사용자에게 속하는지 쉽게 알 수 있어야합니다. 데이터베이스는 여기에 이상적입니다.
대부분의 모든 소프트웨어가 데이터를 저장하고 액세스하는 데 필요하지만 소프트웨어 엔지니어는 항상 데이터베이스를 사용하도록 선택하지 않습니다. 따라서 항상 필요한 것은 아닙니다. 목적은 무엇이며 언제 사용하는지 어떻게 알 수 있습니까?
다시 말하지만 완벽하지는 않지만 비유를 사용하려고합니다. 학교를위한 짧은 2 페이지짜리 연구 논문을 쓰고 있다고 상상해보십시오. 이미 익숙한 주제에 대한 교과서에서 몇 장을 읽으면됩니다.이 경우 장을 읽은 다음 즉시 논문 쓰기를 시작할 수 있습니다. 필요할 때 교과서를 다시 참조 할 수 있습니다. . 아마도 당신은 개요에 몇 가지 메모를 적을 것입니다. 아무튼 큰 문제는 아닙니다.
이제 50 페이지 길이가 될 철저하게 연구 된 논문을 작성해야한다고 가정합니다. 12 개의 교과서를 사용하여 조사하고 참고 문헌을 인용해야합니다. 이제 조직을 정리해야합니다. 메모 작성 방법, 교과서에서 북마크를 사용하는 방법, 논문 개요를 작성하는 방법에 대해 좀 더 체계적이고 부지런히하고 싶을 것입니다.
첫 번째 시나리오에서, 조직화는 약간의 과잉 일 수 있고 속도가 느려질 수 있습니다. 두 번째 시나리오에서 “조직화되지 않은 경우”는 작업을 제대로 수행 할 수 없습니다. 두 시나리오 사이의 어딘가는시기의 차이입니다. 응용 프로그램은 데이터베이스를 사용해야하며 더 가벼운 작업을 수행 할 수있는시기에 사용해야합니다. 시나리오와 제품 / 서비스의 요구 사항에 따라 다릅니다.
이 시점에서 무엇을 묻는 것이 당연합니다. 데이터베이스와 파일 시스템의 차이점은 무엇입니까? “둘 다 데이터를 저장, 구성 및 검색하는 데 모두 사용됩니까?
파일 시스템 (컴퓨터에 파일을 저장하고 표시하는 시스템과 같은)은 데이터베이스가 수행하도록 설계된 것과 동일한 작업이 많이 있습니다. 데이터를 장기간 저장합니다. 데이터를 검색 할 수 있습니다. 데이터와 새 데이터를 검색하고, 기존 데이터를 수정하고, 데이터를 삭제할 수 있습니다.
주요 차이점은 파일 시스템이 특정 애플리케이션이나 비즈니스 목적을 위해 데이터를 구성하기위한 것이 아니라는 것입니다. 파일을 저장하고 검색하기 위해 필요한 것 외에는 데이터 구조에 대해 많이 이해하지 못합니다. 파일이 반드시 서로 관련이있는 것은 아닙니다.그것들은 반드시 서로 의존하거나 서로에 대해 특별한 의미가있는 것은 아닙니다. 컴퓨터의 파일 시스템에는 MP3가 있고 아마도 여러분이 작성한 학교 논문, 비디오 게임 저장 파일, 이메일, 그리고 카메라의 사진. 파일 시스템은 이러한 파일을 구성하고 다른 응용 프로그램에서 사용하는 데 도움이되지만 이러한 파일을 하나로 묶는 데있어 중앙 이해가 부족합니다. 따라서 파일 시스템에 대해 “내가 가장 좋아하는 MP3는 어디에 있습니까?”와 같은 몇 가지 질문을 할 수 있습니다. “어떤 파일이 가장 큰가요?” “어떤 파일이 최신입니까?” “작년에 찍은 사진은 모두 어디에 있습니까?” 그러나 “이 MP3가이 Word .doc보다 더 가치가 있습니까?”와 같이 파일 시스템에 대해 이해가되지 않는 다른 질문이 있습니다.
반면에 데이터베이스는 다음과 같은 데이터를 저장하기위한 것입니다. 적어도 어떤면에서는 모두 공통된 목적과 관련이 있습니다. 따라서 데이터베이스는 “가장 가치있는 고객은 누구입니까?” “가장 인기있는 제품은 무엇입니까?”와 같은 질문에 쉽게 대답 할 수있는 방식으로 정보를 구성하는 데 유용합니다. “”모든 공급 업체는 누구이며 제품 A에 의존하는 모든 고객은 누구입니까? “등
다시 한 번 비유하자면 파일 시스템은 파일 캐비닛과 같을 수 있습니다. 세금 문서, 자동차 정비 기록, 자녀의 성적표, 보관하고 싶은 영수증, 청구서 등을 보관하는 데 사용합니다. 물건을 정리하여 찾는 방법을 알 수 있습니다. 그러나 거기에있는 모든 것이 반드시 거기에있는 다른 모든 것과 관련이있는 것은 아닙니다.
데이터베이스는 마치 acc에있는 서류 캐비넷의 무리와 비슷합니다. 송장 만 보관하는 ounting office. 그것들은 아마도 어떤 식 으로든 구성되어있을 것입니다. 모든 수취 채권이 한쪽 벽에 있고 다른 쪽 벽면에있는 모든 지급 채권처럼. 날짜순으로 정렬되거나 지불 자 또는 수취인에 의해 알파벳순으로 정렬 될 수 있습니다. 몇 가지 색인이있을 수 있습니다. 특정 이름을 가진 지불 인과 관련된 파일을 찾을 수있는 캐비닛을 알려주는 파일과 전화 번호별로 다른 색인, 또는 $ 200,000 이상의 가치가있는 모든 송장을 나열하는 다른 색인이 있습니다. 비즈니스 목적에 더 유용한 방식으로 구성됩니다.