Histórico de bancos de dados: banco de dados e DBMS
Há muito tempo, em um país americano, em uma grande empresa de TI, surgiu a tarefa de armazenar quantidades muito grandes de dados. O que há de tão difícil nisso, você pergunta? Afinal, as grandes empresas têm dinheiro, o que significa que você pode comprar mais discos rígidos - e é isso.
Ótima ideia, mas como dizem, o diabo mora nos detalhes. Grandes quantidades de dados tiveram que ser não apenas armazenadas, mas também alteradas, e várias amostras foram feitas a partir delas. Além disso, você precisa selecionar dados diferentes de lugares diferentes e também fazer isso de maneira rápida e bonita.
Em geral, tudo está normal: os clientes queriam algo que não existe e a decisão de comprar discos rígidos não funcionou desta vez.
![](https://cdn.codegym.cc/images/article/ffb700f7-60b3-4cfc-a274-a1a35a6b1f31/512.jpeg)
Assim, os programadores desta empresa de informática conseguiram para si um orçamento maior, realizaram trabalhos de pesquisa e, quando o orçamento acabou, apresentaram uma apresentação onde se propunha armazenar dados em forma de Banco de Dados. Em um banco de dados, todos os dados são armazenados em tabelas e cada tabela é armazenada em um arquivo separado. Tudo engenhoso é simples e tudo funciona.
Mas tal apresentação não agradou aos clientes, e a picuinha continuou:
![](https://cdn.codegym.cc/images/article/a7850c1c-b3ee-403d-8453-dcc511174b7b/512.jpeg)
- Cadê o dinheiro, Lebowski?
- Por que o Banco de Dados é melhor do que o bom e velho armazenamento de dados na forma de um conjunto de arquivos?
- Precisamos de uma solução realmente boa, não é só isso!
- E levou todo o orçamento?
Houve um silêncio mortal na sala de apresentação. Porém, inesperadamente para todos, a situação foi salva por um desenvolvedor júnior, que disse que um programa especial foi anexado ao banco de dados - um DBMS (Database Management System), que pode:
- Criar, modificar e excluir bancos de dados
- Fazer alterações nos bancos de dados, a saber: adicionar novos registros, excluir os antigos e alterá-los
- E também super rápido para realizar várias seleções de quaisquer dados
E os programadores estão terminando de projetar uma superlinguagem especial para filtragem de dados - SQL . E eles dizem que com a ajuda dessa linguagem SQL mágica, qualquer gerente pode facilmente filtrar e obter quaisquer dados do banco de dados.
![](https://cdn.codegym.cc/images/article/216e75d9-299a-44a8-9e0a-0cc1d26717a8/512.jpeg)
Os programadores ainda não terminaram de projetar a linguagem , então não há uma palavra sobre SQL e DBMS na apresentação.
Para alegria de todos, os clientes ficaram impressionados com a explicação que ouviram, expressaram várias ideias conflitantes sobre como deveria ser essa nova linguagem e até destinaram um orçamento para seu refinamento.
Os gerentes e o Diretor Técnico começaram a se parabenizar pela conclusão bem-sucedida do projeto, e imediatamente foram comemorar este evento, sem perceber totalmente que o programador júnior em toda essa história é a pessoa mais importante ...
DBMS e MySQL populares
No momento (verão de 2022), existem centenas de DBMS populares, por isso será útil para você aprender sobre alguns deles. Com o que devo começar…
Por um lado, o mercado empresarial de DBMS existe há décadas. Portanto, tem líderes reconhecidos e recém-chegados promissores. Por outro lado, os requisitos de negócios estão em constante crescimento, portanto, as abordagens para a construção de infraestruturas de TI das empresas estão em constante mudança.
Agora você não surpreenderá ninguém com um banco de dados de um cluster de alguns milhares de servidores com sharding horizontal e vertical, transações distribuídas, bem como um departamento de TI de algumas dezenas de administradores de sistema que mudam os discos rígidos do servidor de acordo com um cronograma predeterminado.
Em geral, se você trabalha para uma grande empresa, provavelmente eles pagam muito dinheiro por seus bancos de dados e usam algo assim:
banco de dados Oracle
![](https://cdn.codegym.cc/images/article/8a53ac38-0a59-466a-9597-f3e6bf618a43/800.jpeg)
A Oracle lançou seu primeiro banco de dados em 1979 (43 anos atrás). Ela imediatamente recebeu o nome de Oracle 2.0 para convencer os clientes de que o produto não é novo, mas testado pelo tempo.
A versão atual do banco de dados é o Oracle 21 c , onde a letra c é da palavra cloud , o que, por assim dizer, indica que a Oracle está acompanhando os tempos e suas soluções são perfeitamente compatíveis com todas as tecnologias de nuvem.
Servidor Microsoft SQL
![](https://cdn.codegym.cc/images/article/532a4cde-2214-4bec-96db-bff84eb41af6/512.jpeg)
A Microsoft ganha muito dinheiro vendendo não Windows, mas soluções de servidores para empresas de médio e grande porte. Microsoft Office, Microsoft SharePoint, Microsoft Server, etc. E, claro, tudo isso requer um bom banco de dados. Portanto, muitas empresas que utilizam produtos e soluções da Microsoft são obrigadas a utilizar seu banco de dados.
O DBMS da Microsoft é chamado simplesmente de SQL Server , portanto, se você ouvir a pergunta “Você já trabalhou com SQL Server?” em uma entrevista, saiba que este não é um DBMS abstrato, mas o Microsoft SQL Server.
PostgreSQLName
![](https://cdn.codegym.cc/images/article/b31cfc41-69af-488e-8079-5433fa502551/512.jpeg)
Este é um bom DBMS gratuito, frequentemente usado não apenas por pequenas e médias empresas, mas também por grandes corporações. Este é um dos bancos de dados que a Amazon AWS oferece como um DB-as-service.
MySQL
![](https://cdn.codegym.cc/images/article/0ea0a78a-41d2-43c3-8cd0-b4c72d4c142a/512.jpeg)
O MySQL é um banco de dados gratuito e de código aberto muito popular. Está bem documentado, funciona rápido e oferece suporte a uma ampla gama de recursos. Até o momento, a 8ª versão deste DBMS está disponível.
Em 2008, foi comprada pela Sun, que foi comprada pela Oracle em 2009. E isso só a beneficiou - o produto está em constante desenvolvimento e aprimoramento.
Aprenderemos como trabalhar com bancos de dados usando MySQL Community Server 8.0 como exemplo .
Tabelas em um banco de dados: colunas e colunas
Diferentes DBMS podem armazenar dados em diferentes formatos, por isso vamos escolher a opção mais simples e clássica - o MySQL DBMS.
E imediatamente a pergunta é: como armazenar, por exemplo, quaisquer documentos contábeis? A opção mais fácil é armazenar cada documento como um arquivo do Excel. Então todos os documentos relacionados podem ser armazenados em uma pasta. É assim que o MySQL funciona.
Outra analogia: na linguagem Java, você tem classes e pacotes em seu projeto , mas ao mesmo tempo classes e pacotes são representados no disco como arquivos e pastas . Algo semelhante existe no MySQL.
Os dados do MySQL são armazenados na forma de tabelas , que são combinadas em bancos de dados , mas, ao mesmo tempo, as tabelas e o banco de dados são apresentados em disco como arquivos e pastas . O banco de dados é uma pasta e os arquivos nela são tabelas.
Cada tabela consiste em colunas e linhas . Exemplo:
![](https://cdn.codegym.cc/images/article/ef9c797e-174d-4b27-a109-ff88a837ac5a/512.jpeg)
Importante! Cada coluna tem um nome e um tipo de dado , então todas as células da mesma coluna devem armazenar valores do mesmo tipo .
Uma analogia pode ser feita entre uma tabela em MySQL e uma classe em Java. Uma tabela é uma classe, uma tabela, como uma classe, tem um nome único. As colunas da tabela são campos de classe; as colunas, como os campos, têm um nome e um tipo exclusivos. As linhas da tabela são instâncias de classe em Java.
Uma classe pode existir sem objetos e uma tabela pode existir sem linhas. Em Java, você pode criar um novo objeto e, no MySQL, pode adicionar uma nova linha a uma tabela. Você pode alterar os valores de campo de um objeto e, no MySQL, pode alterar os valores em uma linha.
É ainda mais correto dizer que uma tabela não é uma classe, mas uma coleção de objetos de uma determinada classe. Se no MySQL tivermos uma tabela Employee com dados sobre os funcionários, em Java usaríamos a coleção ArrayList
E, claro, surge imediatamente a pergunta: como obter determinados dados dessa coleção?
GO TO FULL VERSION