Eu sou uma daquelas pessoas que adora banco de dados, mesmo não trabalhando com todos que eu gostaria. E justamente por gostar muito, criei um meetup focado em banco de dados, já começo o post te convidando para fazer parte do Databases SP!
Este post tem dois objetivos, o primeiro é que você conheça alguns termos muito comuns e não fique com “cara de paisagem” se escutar alguém falar sobre eles. O segundo é começar a interagir com o SQL Server 2017, importando dados para dentro dele.
Termos importantes
- Ferramenta CASE
- O nome CASE vem do inglês Computer Aided Software Engineering, são ferramentas que auxiliam no processo de construção de um software ou de um banco de dados. Normalmente as ferramentas CASE permitem que você crie diagramas (como por exemplo, um diagrama entidade-relacionamento) e “transformam” os diagramas em código (por exemplo, um script para criação de tabelas. Exemplos de ferramenta CASE: ERWin, ER Studio, Enterprise Architecture entre outros
- Engenharia reversa
- Engenharia reversa significa que você irá gerar diagramas através de códigos.
Imagina que você tem um banco de dados com 300 tabelas. Com uma ferramenta CASE você pode criar um diagrama entidade-relacionamento utilizando o script do banco de dados
- Engenharia reversa significa que você irá gerar diagramas através de códigos.
- Tabelas
- Uma tabela é um arranjo sistemático de dados dispostos de forma (colunas e linhas) .
- ACID – Acrônimo de Atomicidade, Consistência, Isolamento e Durabilidade
- Atomicidade: Trata o trabalho como parte indivisível – ou tudo ou nada
- Consistência: A execução de uma transação deve levar o banco de dados de um estado consistente a um outro estado consistente
- Isolamento: é um conjunto de técnicas que tentam evitar que transações paralelas interfiram umas nas outras
- Durabilidade: Os efeitos de uma transação em caso de sucesso (commit) devem persistir no banco de dados mesmo em casos de quedas de energia, travamentos ou erros
- DML – Data Manipulation Language
- São os comandos de manipulação dos dados: SELECT, UPDATE, DELETE e INSERT (veremos estes comandos nas “cenas dos próximos capítulos”)
- DDL – Data Definition Language
- São os comandos para definir as estruturas do banco de dados, por exemplo, comandos para criar ou dropar tabelas.
- Modelo Relacional
- A definição do professor Fernando de Siqueira é ótima: “O modelo relacional foi criado por Edgar F. Codd, nos anos 70 e começou a ser usado com o advento dos bancos de dados relacionais, nos anos 80. A ideia de modelo relacional se baseia no princípio de que as informações em uma base de dados podem ser consideradas como relações matemáticas e que podem ser representadas, de maneira uniforme, através do uso de tabelas onde as linhas representam as ocorrências de uma entidade e as colunas representam os atributos de uma entidade do modelo conceitual.”
- Diagrama Entidade-Relacionamento
- É uma representação visual de um modelo de dados. Simples assim! Na minha opinião o diagrama entidade-relacionamento é um dos artefatos indispensáveis para entender um banco de dados, não abra mão dele! Se o banco de dados já existe, use uma ferramenta CASE e automaticamente gere o diagrama.
- NoSQL
- NoSQL é o agrupamento de um conjunto de bancos de dados não relacionais, sem esquema, executados em clusters e que trocam algumas propriedades dos bancos de dados relacionais, por outras tão interessantes quanto. Exemplos de bancos de dados NoSQL: MongoDB, Cassandra, Neo4J
- T-SQL ou Transact-SQL
- A linguagem SQL é um padrão para consulta de dados em bancos de dados relacionais. A Microsoft adaptou a linguagem para utilização no SQL Server e deu a ela o nome de Transact-SQL (T-SQL)
- Transações
- Veja o post “Porque você precisa conhecer transações?”
- Cursor
- Um banco de dados trabalha muito bem manipulando uma grande quantidade de registros. Ele não é tão bom quando precisa manipular registro por registro… E aí entram os cursores.
Formalmente definindo, um cursor é uma estrutura da linguagem SQL que permite o processamento individual de linhas retornadas por uma consulta.
Saiba que ele existe, mas evite usar! Consome muito recurso, costuma ser lento e normalmente pode ser substituído por uma consulta.
- Um banco de dados trabalha muito bem manipulando uma grande quantidade de registros. Ele não é tão bom quando precisa manipular registro por registro… E aí entram os cursores.
- Stored Procedure
- Conjunto de instruções Transact-SQL que são executadas dentro do banco de dados. Adiantando as cenas dos próximos capítulos, é uma boa prática não escrever seus comandos dentro do código da sua aplicação, a recomendação é sempre criar stored procedures.
- Backup
- É uma cópia de segurança de um banco de dados ou de parte dele.
- Restore
- É o ato de fazer uso dos dados armazenados recuperando-os (na maioria dos casos no próprio dispositivo original), ou seja, ação de recuperar dados de um backup previamente armazenado.
- Chave primária – PK – Primary key
- Uma ou várias colunas cujos valores não se repetem de forma que identificam unicamente uma linha em uma tabela. (Veremos este conceito nos próximos posts com mais detalhes)
- Foreign Key – FK – Chave estrangeira
- Uma ou uma combinação de colunas, que “apontam” para a chave primária de outra tabela ou da mesma tabela, criando um relacionamento. (Veremos este conceito nos próximos posts com mais detalhes)
Importando dados para o SQL Server 2017
Seria normal para uma Arquiteta de Dados, começar os posts falando sobre a modelagem de dados e a importância dela… Mas resolvi ser diferente!
Vou seguir a mesma sequência do material de certificação do SQL Server 2016, e por isso começaremos a jornada com o comando mais lindo de todos, o SELECT.
Não pensem que a modelagem ficará de fora… Ela virá em vários momentos!!!
Para começar a falar do comando SELECT precisamos de um banco de dados com dados… Usaremos o AdventureWorks2017, que é um BD criado pela Microsoft para fins de treinamento. Faremos o download do arquivo de backup e o restore no nosso servidor (máquina virtual) .
Passo a Passo
- Acessar a VM:
Usuário DB4Beginners
Senha: db4beginners - Fazer o download do arquivo de backup
- Abra o SQLOps (SQL Operations Studio)
- Conecte-se na instância local, conforme a imagem abaixo:
- Usuário: sa
- Senha: DB4Beginners
- Abra a intereface de administração
- Preencha o tipo de backup (que é um arquivo) e o path do arquivo. Automaticamente serão preenchidos o nome da base de dados de origem e destino
- Aperte o botão de Restore…
- Base de dados criada!!!
Conclusão
Estamos começando um novo desafio e para que ele seja mais proveitoso vimos alguns termos bem comuns e importantes de você conhecer.
Tivemos também o primeiro contato com o SQL Server 2017, utilizando o SQLOps fizemos o restore do banco de dados AdventureWorks2017 em nossa instância.
Você acaba de dar um novo passo rumo ao sucesso profissional que você almeja!
Em caso de dúvidas, esteja a vontade para me procurar!
Observação Importante: Coloquei no github o script para fazer o restore da base de dados, mas faça também com o SQLOps, ok?
Evento legal
Referências
https://www.infoescola.com/redacao/tabelas/
https://sites.google.com/site/uniplibancodedados1/aulas/modelo-relacional
http://administracaoufba.blogspot.com.br/2010/04/o-que-e-backup-e-restore.html