Postagens

O Diagrama Entidade-Relacionamento

Vamos começar com uma pergunta simples: como um arquiteto começa a construir uma casa? Ele não pega imediatamente os tijolos e o cimento. Primeiro, ele faz esboços, planta baixa, um modelo que mostra todos os cômodos, portas, janelas e como eles se conectam. No mundo dos bancos de dados, o   Diagrama Entidade-Relacionamento (Diagrama ER ou DER)   é exatamente isso: a planta baixa, o modelo conceitual que vamos desenhar antes de qualquer linha de código SQL ou criação de tabela. Imagine que você vai desenvolver um sistema para uma biblioteca de bairro. Se você fosse direto para o computador criar tabelas, poderia se perder: onde guardar o telefone do leitor? Um livro pode ter mais de um autor? Como registrar um empréstimo? O Diagrama ER surge para organizar esse pensamento de forma visual e clara, usando elementos bem intuitivos. O coração do DER são as  Entidades . Pense nelas como os "personagens principais" ou os "nomes substantivos" do nosso sistema. Na bibliotec...

Cassandra - Visão Geral

Olá, pessoal! Hoje vamos conhecer um banco de dados muito interessante chamado Cassandra. Imagine que você precisa armazenar uma quantidade imensa de informações, como os posts de uma rede social global ou os dados de sensores de milhões de dispositivos IoT. Bancos de dados tradicionais, pensados para um único servidor, podem ter dificuldade com essa escala. É aí que o Cassandra entra em cena, com uma arquitetura projetada para ser robusta, escalável e sem um ponto único de falha. Diferente dos bancos relacionais que organizam os dados em tabelas de linhas e colunas de forma rígida, o Cassandra adota um  modelo de dados orientado a colunas . Mas o que isso significa na prática? Vamos simplificar. Pense em uma planilha. Em uma planilha tradicional (modelo relacional), você define todas as colunas de antemão (Nome, Idade, Cidade) e cada nova linha é um registro completo. No modelo do Cassandra, é como se cada linha pudesse ter seu próprio conjunto de colunas, e essas colunas são agru...

Bancos de Dados NoSQL

Imagem
Imagine que você precisa organizar uma coleção de fotos. No método tradicional, você criaria uma tabela com categorias fixas: "data", "local", "pessoas". Mas e se algumas fotos forem de paisagens, sem pessoas? E se você quiser adicionar tags ou o tipo de câmera usado? No modelo de banco de dados relacional, essa rigidez pode ser um desafio. É aí que entram os bancos de dados NoSQL, pensados justamente para lidar com informações que não se encaixam perfeitamente em tabelas pré-definidas. A sigla NoSQL significa "Not Only SQL" (Não Apenas SQL), o que já nos dá uma pista importante: não se trata de uma substituição, mas de uma abordagem diferente. Enquanto os bancos relacionais, como MySQL ou PostgreSQL, são como prateleiras organizadas com gavetas padronizadas, os bancos NoSQL são mais como estantes modulares, onde cada compartimento pode ter um tamanho e formato únicos, de acordo com o que está guardado. A grande diferença está na flexibilidade. U...

Diagrama Entidade-Relacionamento (DER)

Imagem
A Figura 4.10 ilustra um DER para o esquema da base de dados COMPANHIA. Os tipos de entidades tais como EMPREGADO, DEPARTAMENTO e PROJETO são mostrados em retângulos. Tipos de relacionamentos tais como TRABALHA-PARA, GERENCIA, CONTROLA e TRABALHA-EM são mostrados em losângulos interligados a tipos de entidades participantes. Atributos são mostrados em elipses conectadas a tipos de entidades ou relacionamentos. Os componentes de um atributo composto são também representados em elipses, porém conectadas ao atributo ao qual eles pertencem (atributo Nome de EMPREGADO). Atributos multivalorados são denotados em elipses com linhas duplas (atributo Localização de DEPARTAMENTO). Os atributos-chaves são sublinhados. Atributos derivados em elipses com linhas tracejadas (atributo NumeroDeEmpregados de DEPARTAMENTO). Os tipos de entidades-fracas são distinguidos por retângulos com linhas duplas e os relacionamentos de identificação por losangulos com linhas duplas (tipo de entidade-fraca DEPENDENT...

Tipo de Entidade-Fraca

Alguns tipos de entidades podem não ter quaisquer atributos-chaves. Isto implica que não se pode distinguir as entidades porque a combinação dos valores de atributos podem ser idênticas. Tais tipos de entidades são chamadas tipos de entidades-fracas . Entidades que pertencem a um tipo de entidade-fraca são identificadas por estarem associadas a entidades específicas de um outro tipo de entidade em combinação com alguns de seus valores de atributos. Este outro tipo de entidade é denominado proprietário da identificação , e o tipo de relacionamento que relaciona um tipo de entidade-fraca com o proprietário da identificação é chamado relacionamento de identificação do tipo de entidade-fraca. Um tipo de entidade fraca sempre tem uma restrição de participação total (dependência existencial) com respeito ao seu relacionamento de identificação, porque não é possível identificar uma entidade-fraca sem a correspondente entidade proprietária. Por exemplo, considere o tipo de entidade DEPENDENTE,...

Relacionamentos, Papéis e Restrições Estruturais

Imagem
Tipo e Instância de Relacionamento: Um tipo de relacionamento R entre n tipos de entidades E1 , E2 , ..., En é um conjunto de associações entre entidades desses tipos. Diz-se que cada entidade E1 , E2 , ..., En participa no tipo de relacionamento R e que as entidades individuais e1 , e2 , ..., en participam na instância do relacionamento ri =(e1 , e2 , ..., en). O índice i indica que podem existir várias instâncias de relacionamento. Por exemplo, considere-se que um tipo de relacionamento TRABALHA-PARA exista entre tipos de entidades EMPREGADO e DEPARTAMENTO. Este relacionamento associa cada empregado com o departamento em que este trabalha. Cada instância de relacionamento em TRABALHA-PARA associa uma entidade empregado e uma entidade departamento. A Figura 4.5 ilustra este exemplo, onde cada instância de relacionamento ri é conectada a uma entidade empregado e a uma entidade departamento. No mini-mundo representado nesta Figura, os empregados e1 , e3 e e6 trabalham para o depa...

Tipos de Entidades, Conjunto de Valores e Atributos-Chaves

Imagem
Uma base de dados irá conter normalmente grupos de entidades que são similares. Uma companhia com centenas de empregados pode querer agrupar as informações similares com respeito a empregados. Estas entidades, empregados, compartilham os mesmos atributos, mas cada entidade terá seus próprios valores para cada atributo. Tais entidades similares definem o tipo de entidade, que é um conjunto de entidades que têm os mesmos atributos. Na maioria das bases de dados podem-se identificar muitos tipos de entidades. A Figura 4.4 mostra dois tipos de entidades denominadas EMPREGADO e COMPANHIA, e uma lista de atributos. Algumas instâncias são também ilustradas, juntamente com os seus valores de atributos: A descrição do tipo de entidade é chamada esquema do tipo de entidade e especifica uma estrutura comum compartilhada por todas as entidades individuais. O esquema especifica o nome do tipo de entidade, o significado de cada um de seus atributos e qualquer restrição que exista sobre entidades in...

Entidades e Atributos

Imagem
O objeto básico que o MER representa é a entidade. Uma entidade é algo do mundo real que possui uma existência independente. Uma entidade pode ser um objeto com uma existência física - uma pessoa, carro ou empregado - ou pode ser um objeto com existência conceitual - uma companhia, um trabalho ou um curso universitário. Cada entidade tem propriedades particulares, chamadas atributos, que a descrevem. Por exemplo, uma entidade EMPREGADO pode ser descrita pelo seu nome, o trabalho que realiza, idade, endereço e salário. Uma entidade em particular terá um valor para cada um de seus atributos. Os valores de atributos que descrevem cada entidade ocupam a maior parte dos dados armazenados na base de dados. A Figura 4.2 ilustra duas entidades. A entidade e1, EMPREGADO, tem quatro atributos: Nome, Endereço, Data de nascimento e Telefone residencial. Os seus valores são: “João da Silva”, “Rua Goiás 711, São Paulo, SP, 1301100”, “31/07/1973” e “713-749”, respectivamente. A entidade c1, COMPANHIA...

Modelagem de Dados Usando o Modelo Entidade-Relacionamento (MER)

Imagine que você precisa organizar uma grande festa. Antes de sair comprando tudo, você provavelmente faz uma lista: quem serão os convidados, o que cada um gosta de beber e comer, quais músicas não podem faltar na playlist. Essa lista é um planejamento, um "modelo" da sua festa, que ajuda a visualizar como tudo vai se encaixar na hora do evento. No mundo dos bancos de dados, o  Modelo Entidade-Relacionamento (MER)  faz exatamente isso: ele é a lista de planejamento, o esqueleto que desenhamos antes de criar o banco de dados de verdade. O MER é uma ferramenta conceitual, ou seja, ele foi criado para ser fácil de entender para nós, seres humanos. Ele ignora, por enquanto, a parte técnica e complexa de como os dados serão guardados no computador. Pense nisso como desenhar a planta baixa de uma casa no papel antes de começar a erguer as paredes. Você define onde ficarão os cômodos, as portas e as janelas, sem se preocupar ainda com a espessura do concreto ou a marca dos tijolos....

Arquitetura e Independência de Dados de SGBD’s

Imagine que você precisa guardar todos os documentos importantes da sua vida: RG, CPF, contas, fotos, diários. Seria um grande problema se, toda vez que você comprasse uma nova pasta para organizar melhor essas coisas, tivesse que reescrever todos os documentos, não é? Ou pior: se você quisesse mostrar apenas o seu RG para alguém, mas fosse obrigado a revelar todo o seu diário junto. No mundo dos bancos de dados, problemas parecidos existiam. E a solução para isso veio com uma ideia brilhante, uma espécie de "arquitetura protetora" chamada de  Arquitetura de Três Níveis (ou Three-Schema) . Pense nela como uma casa de três andares, onde cada andar tem uma função específica para manter tudo organizado e seguro. No  porão (Nível Interno) , ficam todos os detalhes técnicos e físicos. É onde os dados são realmente armazenados – em discos rígidos, em formatos específicos, com caminhos de acesso que o computador entende perfeitamente. É um lugar bagunçado e complexo, mas felizmente,...

Esquemas e Instâncias

Imagine que você vai construir uma casa. Antes de começar a assentar os tijolos, você precisa de uma planta baixa, não é? Essa planta define quantos cômodos terá, onde ficarão as portas, as janelas, a fiação elétrica e a tubulação. Agora, pense na casa depois de pronta e mobiliada: onde o sofá está, qual foto decora a parede da sala, que livros estão na estante. Esses dois conceitos – a planta e a casa mobiliada – são a melhor forma de entendermos os dois pilares de qualquer banco de dados: o  Esquema  e a  Instância . O  Esquema  é exatamente essa planta baixa, o projeto definitivo do seu banco de dados. Ele é criado uma única vez, com muito cuidado, e define a estrutura, as regras e a organização. Ele estabelece quais "cômodos" (as tabelas) teremos, que "portas" (as colunas) existirão em cada um, e que tipo de móvel (dado) pode entrar em cada espaço. Por exemplo, o esquema de um banco de dados de uma escola diria: "Vamos ter uma tabela chamada ALUNOS. Dentro ...

Categorias de Modelos de Dados

Ao começarmos a estudar bancos de dados, nos deparemos com diversos modelos que podem parecer complexos à primeira vista. Imagine que você precisa organizar informações sobre uma livraria: títulos, autores, preços e quantidades em estoque. Existem diferentes maneiras de estruturar essas informações, e é justamente para isso que servem os modelos de dados. Eles funcionam como plantas baixas ou mapas que nos guiam na organização e no relacionamento das informações. Alguns desses modelos são mais abstratos e próximos da nossa forma de pensar; nós os chamamos de  Modelos de Dados Conceituais ou de Alto-Nível . Pense neles como um esboço que você faria em um guardanapo para explicar seu negócio a um sócio. Você desenharia caixinhas para representar coisas importantes (como "Livros", "Autores" e "Editoras") e setas para mostrar como elas se conectam. Essas caixinhas são as  Entidades  — os objetos do mundo real que queremos registrar. Cada entidade tem suas cara...