Article image

Is

Isis suarez04/10/2023 20:08
Compartilhe

passo à passo para a modelagem de um Banco de Dados Relacional

    SGBD's - bancos de dados relacionais

     Bancos de de dados podem ser definidos como conjuntos de informações organizadas de forma que os dados possam ser facilmente armazenados, gerenciados, atualizados e recuperados.  Atualmente os sistemas mais utilizados para persistência de dados são os bancos de dados relacionais, sendo amplamente utilizados em empresas dos mais diversos portes e setores.

     A estrutura dos bancos de dados relacionais está baseada na teoria de conjuntos da álgebra relacionais, portanto está formado basicamente por entidades, com seu respectivos Atributos, e o relacionamento entre estas entidades.

     As principais vantagens de implementar um banco de doados relacional são a segurança pois um banco de dados nunca irá gravar um estado invalido não permitindo que por exemplo os dados sejam gravados com inconsistência. Também possibilita que sejam criados diversos perfis de acosso com diferentes tipos de permissão, existe um maior controle de concorrência de acesso além das vantagens em relação a maior facilidade de recuperação dos dados e seu cruzamento.

    Isolamento dos dados. Os dados ficam isolados da aplicação garantido maior segurança e otimizando a responsividade da aplicação além de as aplicações poder ser mais facilmente atualizada sem risco de comprometimento dos dados.

    Características dos bancos de dos relacionais

    1. entidades

     Entidades nos bancos de dados relacionais são como as tabelas de uma planilha de Excel. Ou seja, são estruturas onde os dados são organizados em linhas e colunas.

     2. atributos

    São unidades que armazenam um tipo específico de valor, como as colunas da tabela. Os atributos são características das entidades que foram selecionadas p como relevantes de serem armazenadas. Por exemplo, a entidade cliente possuí o tributo nome.

    3. tuplas

     As tuplas são as linhas da tabela e representam todos os atributos de uma ocorrência na tabela.

    4.tipos de dados

    Cada atributo da tabela deve aceitar somente um tipo de dados. Por exemplo o campo nome de uma tabela de cliente é um atributo do tipo TEXT. Também devemos limitar um número de caracteres que o atributo poderá receber por uma questão de otimização de performance do SGBD.

    5. Chave primária - PK

     Chaves primárias são identificadores únicos para cada linha da tabela e não podem se repetir. Por convenção normalmente utilizamos  em cada tabela o atributo ID, um atributo do tipo INT sequencial e autoincrementado como chave primária.

    Regras para chaves primárias:

    - Não pode ser nula

    - Não pode mudar

    - Deve ser única

    6. chave estrangeira - FK

    Chaves estrangeiras são referências às chaves primárias de outras entidades às quais estão relacionadas. Por exemplo a chave estrangeira loja_id 1 da tabela de compras faz referência a loja de chave primaria número um na tabela de lojas.

    7.relacionamentos

    Relacionamentos são a ligação entre as diferentes tabelas que ocorre através de suas chaves primárias e estrangeiras. OS tipos de relacionamentos são definidos pela sua cardinalidade que pode ser:

    8.cardinalidades

    - 1:1 um para um :

    image

    Cada ocorrência de um registro da tabela A corresponde à apenas um registro da tabela B

    - 1:n um para muitos:

    image

      Um elemento na tabela A pode corresponder a mais de um elemento na tabela B

    - M:N muitos para muitos

    image

    Mais de um elemento da tabela A podem corresponder a diversos elementos na tabela B, ou seja, os elementos de A podem se relacionar com vários elementos de B e os elementos de B são formados por mais de uma FK vida de A.

    Projeto de banco de dados

    1. definindo os requisitos

     Nesta primeira etapa devemos estabelecer qual a necessidade que o solicitante do banco de dados precisa suprir e assim podermos ter uma ideia inicial de quais seriam a entidades e atributos necessários no SGBD.

    Exemplo:

    Uma rede de supermercados deseja, para fins de ações de marketing implementar um SGBD que armazene os dados dos clientes que cadastrarem em um programa de fidelidades, bem como verificar através da identificação do cliente via CPF no momento da compra quais seriam os produtos mais vendidos para estes clientes e em quais lojas.

     A partir deste cenário inicial deveremos estabelecer quais serão as entidades necessárias no SGBD e seu atributos.

     Neste exemplo as principais entidades seriam Cliente, loja, produtos e compras.

    2. MER - modelo entidade relacionamento.

    O MER ou modelo de entidade e relacionamento é um primeiro desenho que descreve de forma simplificada as entidades que irão compor o banco de dados, bem como seus relacionamentos e cardinalidades. Seu principal objetivo é permitir que tenhamos uma representação visual das entidades e como estas se relacionam.

    image

    Programas onde criar:

    Para criar o MER podemos utilizar qualquer programa que permita desenhar como o Paint, ele inclusive pode ser desenhado com caneta e papel. Os principais programas que recomendo são?

    - Miro

    - Br model

    3.DER - diagramas entidade relacionamento

    Os diagramas de entidades relacionamento ou DER são formas mais refinadas de um modelo MER. Nele já poderemos observar as entidades com seus atributos, que tipo de dados são os atributos, quais são as chaves primárias e estrangeiras e como as entidades se relacionam.

    image

    Programas onde criar

    Para a criação de um diagrama entidade e relacionamento podemos utilizar programas como:

    - Quick DBD

    - DBD designer

    - Creately

     

     

    4. refinamento

      Após criar o DER e antes de começar a implementação do banco de dados podemos iniciar algum nível de refinamento do projeto. O refinamento consiste em reavaliarmos as entidades que foram estabelecidas, seus atributos e relacionamentos e identificarmos se existe alguma característica que deva ser modificada ou incluída.

    Por exemplo no exemplo do supermercado apresentado acima na primeira versão do DER não foi criada a entidade Produtos compras e esta entidade demonstrou-se necessária devido à natureza de relacionamento M:N das entidades compra e produtos.

      Aqui demonstramos um refinamento inicial, porém cabe destacar que o refinamento pode e deve ocorrer durante todas as etapas do projeto.

    5. normalização dos dados:

     Também antes de seguir para etapa de implementação do banco de dados devemos avaliar se nosso projeto atende a normalização dos dados.

       A normalização de dados é um conceito desenvolvido pelo matemático Edgard F. Codd e apresentado pela primeira vez em um artigo científico publicado em 1970 pela IBM. Este conceito visa prevenir problemas de integridade, repetição e atualização dos dados. A normalização consiste em regras chamadas Formas normais que devem ser observadas na implementação do BD.

    Primeira forma normal:

    A primeira forma normal diz que uma tabela não deve conter tabelas aninhadas. Esta regra visa garantir que os atributos estejam sendo armazenados de forma única, ou seja, não há nenhum atributo com os valores da mesma linha da tabela.

     Por exemplo, em nosso modelo caso não houvesse a entidade Compras_produtos a entidade compras ficaria da seguinte forma:

    image

    Assim identificamos a necessidade de criar uma entidade para armazenar os dados sem redundância e atender à primeira forma normal.

    Segunda forma normal:

    A segunda forma normal estabelece que além de a entidade precisar atender à primeira forma, todos os atributos não chave da tabela devem depender totalmente da chave primaria.

    Sempre que a nossa chave primaria for uma chave simples não corremos o risco de criar dependências parciais e por este motivo já atenderemos a segunda forma.

    Terceira forma normal:

    Nenhum atributo não - chave pode depender de outro atributo não chave.  Por exemplo se em nossa entidade cliente do exemplo desejássemos que houvesse i atributo estado e que a preencher o sistema disponibilizasse apenas as cidades que pertencem a este estado seria necessário a criação de uma nova entidade que armazenasse os estados e suas respectivas cidades.

    6. selecionando o SGBD

      Após finalizada a modelagem é o momento de implementar o banco de dados, para isto teremos de escolher um SGBD os sistemas de gerenciamento de banco de dados. Os bancos de dados relacionais são baseados em linguagem SQL e, portanto, compartilham diversas semelhanças em sua forma de implementação e utilização. No mercado temos diversas opções de SGBD's disponíveis, alguns dos mais conhecidos são:

    Oracle:

      Fundada nos anos 80 a Oracle é uma das maiores empresas de tecnologia da atualidade sendo também a proprietária das linhas de software Java desde 2009. OSGBD é o seu principal produto desde o seu lançamento sendo constantemente aprimorado para atender as demandas das empresas no mundo atual. É um software ficado nas necessidades de empresas de médio e grande porte.

    MySQL:

     É um dos bancos mais utilizados e populares principalmente por tratar -se de uma tecnologia open source o que permite que o desenvolvimento seja realizado de acordo com as necessidades da organização

     PostgreSQL:

    Este também é um SGBD open source. lançado em 1989 costuma figurar entre os cinco SGBD's mais utilizados por organizações do mundo todo. Assim como o MySQL, e bastante utilizado em sistemas web pois permite o desenvolvimento de soluções que atendam às necessidades específicas de um negócio. No Brasil é bastante utilizado por organizações públicas.

    MariaDB:

    O MariaDB é um SGBD derivado do MySQL. Após a aquisição do MySQL pala Oracle, seu fundador Michel Widenius adotou o objetivo de desenvolver um novo SGBD que mantenha e aperfeiçoe as características do sistema anterior e assim o MariaDB foi lançado em 2009. O principal diferencial do MariaDB é a sua forte preocupação com a segurança dos dados lançando constantemente novas atualizações sobre isso para os usuários.

     O MariaDB é apontado como um substituto ao MySQL e possui boas perspectivas de crescimento e de uso nas organizações

     

    Conclusão

    Apesar do atual crescimento dos sistemas NoSQL devido ao seu melhor desempenho ao tratar grandes volumes de dados, principalmente não estruturados, os SGBD's relacionais também continuarão sendo amplamente utilizados nas organizações. A escolha entre um SGBD relacional ou não relacional irá depender do tipo de projeto e das necessidades especificas da organização

    Compartilhe
    Comentários (0)