데이터베이스의 역사: 데이터베이스와 DBMS
오래 전 미국의 한 대형 IT 회사에서 한 번은 매우 많은 양의 데이터를 저장하는 작업이 발생했습니다. 그게 뭐가 그렇게 어려운지 물어봐? 결국 대기업에는 돈이 있으므로 더 많은 하드 드라이브를 구입할 수 있습니다.
좋은 생각이지만, 그들이 말했듯이 악마는 세부 사항에 있습니다. 많은 양의 데이터를 저장해야 할 뿐만 아니라 변경해야 했으며, 이를 통해 다양한 샘플을 만들었습니다. 또한, 다양한 장소에서 다양한 데이터를 선택해야 하며 빠르고 아름답게 수행해야 합니다.
일반적으로 모든 것이 평소와 같습니다. 고객은 존재하지 않는 것을 원했고 이번에는 하드 드라이브 구매 결정이 작동하지 않았습니다.

그래서 이 IT 회사의 프로그래머들은 스스로 더 큰 예산을 빼서 연구를 했고, 예산이 다 되었을 때 데이터베이스 형태로 데이터를 저장하자고 제안하는 프레젠테이션을 했습니다. 데이터베이스에서 모든 데이터는 테이블에 저장되고 각 테이블은 별도의 파일에 저장됩니다. 독창적인 모든 것은 간단하고 모든 것이 작동합니다.
그러나 그러한 프레젠테이션은 고객에게 적합하지 않았고 nit-picking이 계속되었습니다.

- 돈 어딨어, 레보스키?
- 데이터베이스가 파일 세트 형태의 오래된 데이터 저장소보다 나은 이유는 무엇입니까?
- 정말 좋은 솔루션이 필요합니다. 그게 전부가 아닙니다!
- 전체 예산이 소요되었나요?
발표장에는 죽은 침묵이 흘렀다. 그러나 예기치 않게 모든 사람에게 상황은 DBMS (데이터베이스 관리 시스템)라는 특수 프로그램이 데이터베이스에 첨부되어 있다고 말한 주니어 개발자가 상황을 저장했습니다.
- 데이터베이스 생성, 수정 및 삭제
- 데이터베이스 변경, 즉 새 레코드 추가, 이전 레코드 삭제 및 변경
- 또한 모든 데이터의 다양한 선택을 매우 빠르게 수행합니다.
그리고 프로그래머들은 데이터 필터링을 위한 특별한 슈퍼 언어인 SQL 의 설계를 마무리 짓고 있습니다 . 그리고 그들은 이 마법 같은 SQL 언어의 도움으로 모든 관리자가 데이터베이스에서 데이터를 쉽게 필터링하고 가져올 수 있다고 말합니다.

프로그래머가 아직 언어 설계를 완료하지 않았기 때문에 프리젠테이션에 SQL 및 DBMS에 대한 단어가 없습니다.
고객들은 그들이 들은 설명에 깊은 인상을 받았고, 이 새로운 언어가 어떤 모습이어야 하는지에 대해 몇 가지 상충되는 생각을 표현했으며, 개선을 위한 예산까지 할당했습니다.
관리자와 기술 이사는 프로젝트의 성공적인 완료를 축하하기 시작했고 즉시이 이벤트를 축하하기 위해이 모든 이야기에서 주니어 프로그래머가 가장 중요한 사람이라는 것을 완전히 깨닫지 못했습니다 ...
대중적인 DBMS 및 MySQL
현재(2022년 여름) 수백 개의 인기 있는 DBMS가 있으므로 그 중 일부에 대해 알아보는 것이 유용할 것입니다. 무엇부터 시작해야 할까요...
한편으로 엔터프라이즈 DBMS 시장은 수십 년 동안 존재해 왔습니다. 따라서 인정받는 리더와 유망한 신규 이민자가 모두 있습니다. 한편, 비즈니스 요구 사항은 지속적으로 증가하므로 기업의 IT 인프라 구축 접근 방식은 지속적으로 변화하고 있습니다.
이제 수평 및 수직 샤딩, 분산 트랜잭션이 있는 수천 대의 서버 클러스터의 데이터베이스를 가진 사람은 물론 서버 하드 드라이브를 변경하는 수십 명의 시스템 관리자로 구성된 IT 부서를 놀라게 하지 않을 것입니다. 미리 정해진 일정.
일반적으로 대기업에서 근무하는 경우 대부분 데이터베이스에 많은 비용을 지불하고 다음과 같이 사용합니다.
오라클 데이터베이스

Oracle은 43년 전인 1979년에 최초의 데이터베이스를 출시했습니다. 그녀는 즉시 Oracle 2.0이라는 이름을 지어 고객에게 이 제품이 새 제품이 아니라 오랫동안 검증된 제품임을 확신시켰습니다.
데이터베이스의 현재 버전은 Oracle 21 c 입니다 . 여기서 문자 c 는 클라우드라는 단어에서 유래 한 것으로 오라클이 시대에 발맞추고 있으며 솔루션이 모든 클라우드 기술과 완벽하게 호환됨을 암시합니다.
마이크로소프트 SQL 서버

Microsoft는 Windows가 아닌 중소기업용 서버 솔루션을 판매하여 많은 돈을 벌고 있습니다. 마이크로소프트 오피스, 마이크로소프트 셰어포인트, 마이크로소프트 서버 등 그리고 물론 이 모든 것에는 좋은 데이터베이스가 필요합니다. 따라서 Microsoft 제품 및 솔루션을 사용하는 많은 회사는 Microsoft 데이터베이스를 사용할 수밖에 없습니다.
Microsoft의 DBMS는 단순히 SQL Server 라고 부르므로 인터뷰에서 "SQL Server로 작업한 적이 있습니까?"라는 질문을 듣는다면 이것이 추상적인 DBMS가 아니라 Microsoft SQL Server라는 것을 알 수 있습니다.
PostgreSQL

중소기업은 물론 대기업에서도 자주 사용하는 좋은 무료 DBMS입니다. 이것은 Amazon AWS가 DB-as-service로 제공하는 데이터베이스 중 하나입니다.
MySQL

MySQL은 매우 인기 있는 무료 오픈 소스 데이터베이스입니다. 잘 문서화되어 있고 빠르게 작동하며 다양한 기능을 지원합니다. 현재까지 이 DBMS의 8번째 버전을 사용할 수 있습니다.
2008년에는 Sun에 인수되었고 2009년에는 Oracle에 인수되었습니다. 그리고 그것은 그녀에게만 도움이되었습니다. 제품은 지속적으로 개발되고 개선되고 있습니다.
MySQL Community Server 8.0을 예로 들어 데이터베이스 작업 방법을 배웁니다 .
데이터베이스의 테이블: 열 및 열
다른 DBMS는 다른 형식으로 데이터를 저장할 수 있으므로 가장 단순하고 가장 고전적인 옵션인 MySQL DBMS를 선택하겠습니다.
그리고 즉시 질문은 예를 들어 회계 문서를 저장하는 방법입니다. 가장 쉬운 옵션은 각 문서를 Excel 파일로 저장하는 것입니다. 그런 다음 모든 관련 문서를 하나의 폴더에 저장할 수 있습니다. 이것이 MySQL이 작동하는 방식입니다.
또 다른 비유: 자바 언어에서는 프로젝트에 클래스와 패키지가 있지만 동시에 클래스와 패키지는 디스크에 파일과 폴더 로 표시됩니다 . 비슷한 것이 MySQL에 존재합니다.
MySQL 데이터는 데이터베이스 로 결합된 테이블 형태로 저장되지만 동시에 테이블과 데이터베이스는 파일 및 폴더 로 디스크에 표시됩니다 . 데이터베이스는 폴더이고 그 안의 파일은 테이블입니다.
각 테이블은 열과 행 으로 구성됩니다 . 예:

중요한! 각 열에는 이름 과 데이터 유형이 있으므로 동일한 열의 모든 셀은 동일한 유형의 값을 저장해야 합니다 .
MySQL의 테이블과 Java의 클래스 사이에 비유를 그릴 수 있습니다. 테이블은 클래스이고 테이블은 클래스와 마찬가지로 고유한 이름을 가집니다. 테이블 열은 클래스 필드이며 필드와 마찬가지로 열에는 고유한 이름과 유형이 있습니다. 테이블 행은 Java의 클래스 인스턴스입니다.
객체 없이 클래스가 존재할 수 있고 행 없이 테이블이 존재할 수 있습니다. Java에서는 새 개체를 만들 수 있고 MySQL에서는 테이블에 새 행을 추가할 수 있습니다. 개체의 필드 값을 변경할 수 있으며 MySQL에서는 행의 값을 변경할 수 있습니다.
테이블은 클래스가 아니라 특정 클래스의 객체 모음이라고 말하는 것이 더 정확합니다. MySQL에 직원 데이터가 있는 Employee 테이블이 있는 경우 Java에서는 ArrayList 컬렉션을 사용합니다.
그리고 물론 질문이 즉시 발생합니다. 이 컬렉션에서 특정 데이터를 얻는 방법은 무엇입니까?
GO TO FULL VERSION