Alura > Cursos de Data Science > Cursos de SQL e Banco de Dados > Conteúdos de SQL e Banco de Dados > Primeiras aulas do curso Microsoft SQL Server 2022: manipulando dados

Microsoft SQL Server 2022: manipulando dados

Modelagem do banco de dados - Apresentação

Olá, gente, tudo bem? Meu nome é Victorino Vila, e eu vou ser o instrutor desse treinamento de manipulação de dados com Microsoft SQL Server.

E vamos começar esse treinamento falando um pouco sobre modelagem de banco de dados. Muitas vezes, quando vamos começar a trabalhar com banco de dados, nos deparamos com um banco já com as tabelas criadas. Mas como é que as tabelas foram criadas?

Por que elas foram criadas daquela maneira? Como foi feito a modelagem do mundo real para essas tabelas? De uma maneira bem resumida, porque esse assunto daria muitos outros cursos, mas eu vou mostrar para vocês como transformamos tudo do mundo real, que chamamos de minimundo, em um banco de dados. Então, através de quatro, cinco vídeos, nessa aula, eu vou falar sobre isso.

Depois já vamos colocar a mão na massa, vamos aprender como criamos no SQL Server o banco de dados, como criamos as tabelas, como fazemos o relacionamento das chaves estrangeiras das tabelas, como criamos as chaves primárias, as tabelas, os tipos de campos e assim por diante.

Depois, claro, com o nosso banco criado, a nossa próxima aula vai falar sobre incluir dados dentro desse banco. E vamos não só incluir dados através de comandos, mas vamos ver como eu consigo exportar dados de um outro banco de dados para o meu banco, ou de ler arquivos externos.

A outra aula será dedicada a parte de alteração e exclusão de dados. E também vamos ver como eu consigo fazer isso usando como base um outro banco de dados, ou dados existentes.

Finalmente, vamos falar sobre alguns pontos muito interessantes, que vale a pena serem mencionados, como por exemplo, o tipo de campo auto incremento, que é um campo sequencial, em que o próprio SQL Server vai criar um sequencial numérico para você, padrões, como eu crio padrões e regras de cheque para determinados campos, e uma funcionalidade muito importante, que é a trigger, que são comandos que são executados quando alguma coisa é feita na minha tabela, quando eu altero ou excluo dados.

Vamos percorrer um pouco o assunto de manipulação de dados, dando ênfase nessas cinco aulas mencionadas por mim nesse vídeo. Espero que vocês gostem desse curso, um abraço e até o próximo vídeo.

Modelagem do banco de dados - Banco de dados e mundo real

No curso de consultas SQL, que vocês devem ter assistido, um curso de formação de SQL antes desse curso, nós criamos e carregamos esse esquema, e construímos isso de forma quase automática, executando uma série de scripts:

Não questionamos muito a criação desse banco, porque o objetivo do curso anterior era treinar apenas os comandos de consulta de dados. Para nós, o surgimento desse esquema foi mágico, nem questionamos como ele surgiu e nem por que ele foi criado desta maneira, com essas tabelas e esses relacionamentos.

Mas este banco foi projetado para suportar um processo que existe na vida real, um processo produtivo que existe, seja de uma fábrica ou de um processo produtivo de uma fazenda, ou de um processo operacional de um hospital, ou por exemplo, de um negócio ligado a área de serviços, sempre um banco de dados vai suportar um negócio real, e ele vai ser executado dentro de um sistema de software, que vai ser fundamental para o controle dos processos existentes nesta organização em que o banco de dados foi especificado.

Só que existe um longo caminho para transformarmos o nosso mundo real naquele banco de dados. Precisamos criar um projeto para essa transformação, e esse projeto não é criado de forma automática, possui toda uma metodologia que devemos respeitar e seguir para projetar o banco de dados.

Existem profissionais na área de TI, que são especializados em estudar e entender uma atividade econômica qualquer, e refletir as características dessa atividade econômica em um banco de dados. Só que independente de como essa metodologia de transformação funciona, o projeto de banco de dados vai sempre respeitar três características fundamentais.

A primeira característica é que o banco de dados que está lá criado deve representar o aspecto de algo associado ao mundo real. Os profissionais que são capacitados a projetar esse banco de dados chamam essa representação do mundo real de uma palavra chamada “minimundo”. Então, as mudanças que ocorrem no minimundo devem ser refletidas dentro do conteúdo do banco de dados.

Quando eu vou, por exemplo, no supermercado, e compro um determinado produto, eu estou no minimundo do supermercado fazendo essa ação, e no banco de dados, que foi projetado para suportar esse minimundo é necessário registrar a retirada do item da prateleira e registrar a saída daquele produto e o pagamento dele no caixa. Essa ação que vai ocorrer no minimundo tem que refletir também em processos dentro do banco de dados, produzindo algum tipo de alteração nos dados que estão dentro daquele banco de dados, mexendo em uma ou mais tabelas.

Outra característica fundamental é que o banco de dados tem que armazenar uma coleção que chamamos de coleção coerente de dados, e tem que estar relacionado com algum significado. Uma quantidade de dados armazenada de forma aleatória, dispersa, sem nenhuma correspondência, não podemos chamar isso de um banco de dados, tem que ter uma certa coerência na organização dos seus dados.

E outra característica importante é que esse banco de dados que vai ser projetado tem que estar direcionado para uma determinada finalidade, um determinado propósito, que deve ser muito bem definido. Normalmente, esse banco de dados está associado à um grupo de usuários que vão estar acessando esses dados, esse banco de dados está associado a um conjunto de aplicações que foram previamente construídas para fazer determinadas ações nos quais esses usuários estão interessados.

Um banco de dados para projetar e controlar prontuários médicos não vai servir nunca para ajudar, por exemplo, o processo produtivo de uma fábrica, de um produto, de uma indústria. Ou seja, cada banco de dados durante o projeto tem que ter um propósito, tem que servir para alguma coisa.

Podemos resumir o banco de dados como sendo uma entidade que deve possuir uma fonte de dados, os quais os dados são derivados, segundo, algum grau de interação com algo relacionado com o mundo real, claro, porque o banco de dados derivou do minimundo, e que existam pessoas interessadas em manipular e gerenciar o banco de dados, ou seja, gerenciar as consultas, a manutenção dos dados, ou seja, gerenciar o conteúdo.

O processo de transformação do minimundo em um banco de dados, como eu já disse, possui uma série de regras e técnicas que tem que ser aplicadas afim de finalizar o nosso projeto final de um banco de dados. Para falar exatamente detalhes dessa transformação, teríamos que ter um curso ou mais, especializados somente para tratar desse assunto.

Não é o nosso caso, o objetivo desse treinamento não é discutir esse assunto a fundo, mas não vamos nos isentar de falar sobre isso. Nós vamos nesse e nos próximos vídeos dessa aula resumir de uma forma superficiais as técnicas que são usadas para você transformar o minimundo em um banco de dados.

Espero que vocês tenham gostado, um forte abraço para vocês, e nos vemos no próximo vídeo.

Modelagem do banco de dados - Diagrama de entidades e relacionamentos

O primeiro passo que precisamos para criar um banco de dados é preparar uma análise dos requisitos do nosso minimundo. Então, precisamos entender as regras de negócios que estão envolvidas no processo operacional da empresa que estamos modelando para construir o banco de dados. Para termos entendimento desse processo operacional, precisamos aprender como funciona a empresa. E a melhor forma de fazer isso é conversando com as pessoas que estão envolvidas no dia a dia nesse processo operacional.

Essas conversas são efetuadas através de entrevistas que aliadas, óbvio, à uma experiência ou um conhecimento prévio que o analista, um profissional de TI, que está modelando o banco de dados, já conhece daquele tipo de negócio. Muitas vezes, o projeto de banco de dados é muito semelhante se os negócios são semelhantes. Então, se você já projetou um banco de dados para uma indústria de sapatos, por exemplo, quando você for projetar um banco de dados de uma indústria de sapatos, o processo vai ser muito semelhante.

E com o tempo, claro, vai existir à disposição muita literatura que apresenta desenhos e projetos de bancos de dados para diversas áreas específicas, que você pode estudar e se basear para construir o seu banco de dados.

Por exemplo, um banco de dados para controlar o financeiro e a contabilidade de uma empresa. Esse banco de dados vai ser sempre semelhante, com o mesmo desenho, em qualquer outra empresa, independente se a empresa é serviço ou indústria. Já que muitas pessoas, anteriormente, já quebraram a cabeça para projetar essas versões de um banco de dados sobre determinado assunto, e depois de muito tempo de uso chegou a um desenho próximo do ideal, que projeta aquele minimundo que o banco de dados está controlando.

E com todo esse entendimento, o analista, com a posse das entrevistas e conhecimento do negócio, vai representar essas regras de forma gráfica. Esse passo de representar esse ambiente de forma gráfica ainda não é o projeto do banco de dados, e sim, e uma representação gráfica do minimundo que o banco de dados vai ser projetado.

E esse desenho desse minimundo tem nome, chamamos de modelo conceitual. Então, o modelo conceitual consiste na criação de um diagrama, que chamamos de diagrama de entidades e relacionamentos, que vai representar graficamente aquele resultados das entrevistas. E nessas entidades que criamos esse diagrama, estabelecemos o que chamamos de cardinalidade entre elas, baseado na relação. Logo, o diagrama de entidades e relacionamentos, e a representação da cardinalidade entre essas entidades é o que chamamos representação gráfica do modelo conceitual.

Claro que esse desenho vai ser a tradução das regras de negócio que foram obtidas com um levantamento feito com os usuários da empresa no momento das entrevistas, e transformadas em um diagrama gráfico. Dependendo da forma com que você desenha esse diagrama, haverá uma correspondência quase direta entre o diagrama do resultado final e os elementos do banco de dados.

Vamos entender como traduzimos as regras de negócio do diagrama. A primeira coisa é identificar quem vão ser as nossas entidades. Eu fiz uma entrevista com o meu usuário e ele descreveu, usando o português normal, a linguagem normal de comunicação, o que acontece com a empresa:

E pegamos esse texto, e normalmente os substantivos que estão contidos nesse texto estarão relacionados com a entidade. Então, vamos pegar o nosso modelo de vendas, que está descrito no texto. Eu quero entender as regras de negócio desse processo. Então, eu pego o texto para identificar diversas entidades, que seriam mais ou menos os substantivos contidos no texto. Então, vamos entender as regras de negócio baseada no texto. Então, a primeira coisa é identificar quem são os substantivos contidos no texto:

Eles estão marcados em amarelo. Então, eu posso dizer que “empresa”, “produto”, “categorias”, “marcas”, “vendedores”, tudo isso vai poder ser entidade no meu modelo de entidades e relacionamentos. Agora, o próximo passo, depois que você identificou os substantivos que são grandes candidatos a serem entidades, você vai identificar as relações, como essas entidades se relacionam. E para isso, procuramos os verbos no texto. Vamos dar uma pista de como essas entidades se relacionam:

Eu destaquei em laranja os verbos. Então, eles vão destacar os relacionamentos das entidades. Algumas sugestões de verbo podem ser destacadas no slide. Por exemplo, a empresa produz produto, então há uma relação entre empresa e produto. Quando eu falo “as categorias possuem marcas”, há uma relação entre categorias e marcas. “Os clientes atendidos, são atendidos por vendedores”. O “atendidos” identifica uma relação entre cliente e vendedor.

Então, todos esses verbos são retirados do texto, e como também estamos destacando os substantivos, tentamos representar graficamente o conteúdo desse texto. Então, baseado no texto em cima dos substantivos e dos verbos, identificando respectivamente as entidades e os relacionamentos, podemos desenhar um diagrama:

Claro que isso é uma representação gráfica livre, apenas para vocês terem uma noção de como o processo realmente funciona. Na verdade, quando você estuda essa parte de modelagem do diagrama de entidades e relacionamentos, existe toda uma regra para você fazer esses desenhos.

Mas, novamente, falando por alto, as entidades são representadas pelos quadrados no nosso diagrama. E cada relacionamento que foi identificado pelo verbo está sendo identificado pelos losangos. Então, por exemplo, eu tenho empresa que produz categorias/produtos. Eu tenho cliente que possui estado e cidade. Eu posso pegar aquele texto em que identificamos os verbos e substantivos, e então eu construo esse diagrama.

Depois que eu termino de desenhar esse diagrama baseado no texto que eu coletei, baseado nos verbos e nos substantivos, nós vamos determinar o que chamamos de cardinalidade entre as entidades através destes relacionamentos.

A cardinalidade é definida através de uma relação numérica entre essa entidades. Eu vou citar dois tipos de cardinalidades mais simples, e são as mais comuns quando modelamos um banco de dados. São as cardinalidades 1:N e N:M. Então, podemos chamar de relacionamento 1:N e relacionamento N:M. Precisamos olhar no diagrama a relação entre as entidades e determinar qual é a cardinalidade que mais se adapta baseado nas coisas do mundo real, para que você possa ter uma relação de 1:N ou uma relação de N:M.

E como eu sei isso? Eu vou colocar exemplos mais palpáveis para vocês entenderem. Sabemos que o Brasil se divide em estados, e dentro dos estados temos cidades. Nós não podemos ter um estado sem cidade e uma cidade não pode pertencer a dois ou mais estados. Então, podemos afirmar que a relação entre cidade e estados é 1 para N ou N para 1, dependendo de como você fez esquema.

Isso significa que um estado pode ter N, ou muitas cidades, mas uma cidade só pode ter um estado. Então, construímos o relacionamento, no caso como cidade está do lado esquerdo e estado está do lado direito, o N está associado à cidade, porque eu posso ter muitas cidades dentro de um estado, mas o 1 está relacionado à representação gráfica da direita, então por isso eu tenho uma relação N para 1.

Mas vamos ver outro exemplo. Por exemplo, vamos ver a relação entre cliente e produto. Todo cliente pode comprar vários produtos, o cliente não está preso a comprar um único produto, ele vai escolher o produto que ele quiser. E um produto pode ser vendido para vários clientes, um mesmo produto pode ser vendido para o cliente A, cliente B e assim por diante. Esse tipo de relação nós chamamos de N para M, ou seja, é uma relação que não tem uma ligação direta, é muitos para muitos, não há uma identificação prévia entre produto e cliente.

E podemos dizer que a ação é N para M ou de M para N, tanto faz, depende do jeito que você desenhar o seu diagrama e do jeito que você acha que fica melhor essa representação.

Existem vários outros tipos de cardinalidade e relações que, novamente, em um curso mais especializado sobre isso, podemos mencionar. Mas por exemplo, para não deixar de não falar sobre isso, temos alguns relacionamentos que são de 0:N, 1:1, 2:N, infinitas combinações entre números e letras que acabam representando as diferentes cardinalidades.

Então, no nosso diagrama, como aprendemos agora a identificar a cardinalidade, desenhamos, mostramos no diagrama, como essa cardinalidade se relaciona. Novamente, eu estou representando uma representação gráfica ilustrativa, sem representar o mundo real de verdade, e sem respeitar um pouco a nomenclatura, a forma usada para você desenhar esses diagramas:

Eu vou mostrar para vocês o que seria um modelo real, um desenho real de um diagrama de entidades e relacionamentos, no caso não é esse exemplo simples que eu vou usar nesse curso como exemplo de banco de dados a ser criado da nossa empresa de suco de frutas, mas eu vou mostrar para vocês um diagrama de entidades e relacionamentos de uma empresa que implementa projetos, e nesse exemplo vou usar toda a forma real de se representar um diagrama:

Então, eu tenho no slide um desenho um pouco mais detalhado, porque existem alguns elementos gráficos que não mencionamos nesses slides e nem colocamos na nossa representação simplificada, mas por exemplo, quando eu tenho um losango duplo, ao invés de um losango único, isso tem um significado. As informações representadas em elipses, representa o que chamamos de propriedades das entidades. Nós temos alguns relacionamentos que chamamos de relacionamentos fortes, ou relacionamentos fracos, representados através de linhas que são desenhadas de formas diferentes.

Por isso você tem quadrados simples, ou por exemplo, embaixo um quadro duplo. Então, cada tipo de forma de desenhar essas entidades e desenhar o relacionamento, vai respeitar uma série de regras que quem estuda mais sobre esse conhecimento de diagramas e entidades e relacionamento, vai poder representar, e batendo o olho em um desenho como o do slide, na sua cabeça você começa a fazer um modelo mental de como funciona o minimundo que você está modelando e que você quer construir o seu banco de dados.

Eu vou parar o vídeo, e continuamos falando um pouco mais sobre transformar o minimundo em banco de dados nos próximos vídeos dessa aula. Tchau.

Sobre o curso Microsoft SQL Server 2022: manipulando dados

O curso Microsoft SQL Server 2022: manipulando dados possui 265 minutos de vídeos, em um total de 56 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda SQL e Banco de Dados acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas