Tipos de entidades no banco de dados. Design de banco de dados com ERwin

O termo “relacional” significa “baseado em relacionamentos”. Um banco de dados relacional consiste em entidades (tabelas) que possuem algum relacionamento entre si. O nome vem da palavra inglesa relação.
O design do banco de dados consiste em duas fases principais: modelagem lógica e física.
Durante a modelagem lógica, você coleta requisitos e desenvolve um modelo de banco de dados que é independente de um SGBD (sistema de gerenciamento de banco de dados relacional) específico. É como criar plantas para sua casa. Você poderia pensar e desenhar tudo: onde ficará a cozinha, os quartos, a sala. Mas tudo isso está no papel e em maquetes.
Durante a modelagem física, você cria um modelo otimizado para um aplicativo e DBMS específicos. É esse modelo que está sendo implementado na prática. Se voltarmos à casa do parágrafo anterior, nesta fase você terá que construir uma casa em algum lugar - carregar troncos, tijolos...

O processo de design do banco de dados consiste nas seguintes etapas:

  • levantamento de informações;
  • definição de entidade;
  • definição de atributos para cada entidade;
  • definir relacionamentos entre entidades;
  • normalização;
  • conversão para modelo físico;
  • criação de banco de dados.

Os primeiros 5 estágios formam a fase de projeto lógico e os dois restantes formam a fase de modelagem física.

Fase lógica

A fase lógica consiste em várias etapas. Todos eles são discutidos abaixo.

Reunindo requisitos

Nesta fase, você precisa determinar exatamente como o banco de dados será utilizado e quais informações serão armazenadas nele. Reúna o máximo de informações possível sobre o que o sistema deve ou não fazer.

Definindo Entidades

Nesta etapa é necessário definir as entidades que irão compor o banco de dados.

Uma entidade é um objeto em um banco de dados que armazena dados. Uma entidade pode ser algo tangível (uma casa, uma pessoa, um objeto, um lugar) ou algo abstrato (uma transação bancária, um departamento de uma empresa, uma rota de ônibus). No modelo físico, a entidade é chamada de tabela.

As entidades consistem em atributos (colunas de tabela) e registros (linhas em uma tabela).

Os bancos de dados normalmente consistem em diversas entidades mestres associadas a um grande número de subentidades. As entidades básicas são chamadas de independentes: não dependem de nenhuma outra entidade. As entidades subordinadas são chamadas de entidades dependentes: para que uma delas exista, deve existir uma tabela primária associada.
Nos diagramas, as entidades são geralmente representadas como retângulos. O nome da entidade é indicado dentro do retângulo:

Qualquer tabela possui as seguintes características:

  • não há linhas idênticas nele;
  • todas as colunas (atributos) da tabela devem ter nomes diferentes;
  • os elementos dentro da mesma coluna têm o mesmo tipo (string, número, data);
  • A ordem das linhas da tabela pode ser arbitrária.

Nesta fase, é necessário identificar todas as categorias de informações (entidades) que serão armazenadas no banco de dados.

Definindo Atributos

Um atributo representa uma propriedade que descreve uma entidade. Os atributos geralmente são um número, data ou texto. Todos os dados armazenados em um atributo devem ser do mesmo tipo e ter as mesmas propriedades.
Em um modelo físico, os atributos são chamados de colunas.
Depois de definir entidades, você precisa definir todos os atributos dessas entidades.
Nos diagramas, os atributos geralmente são listados dentro de um retângulo de entidade. Na figura você encontrará um exemplo da base de dados “Casas”, só que agora estão definidos alguns atributos para as entidades desta base de dados.


Para cada atributo são definidos o tipo de dados, seu tamanho, valores aceitáveis ​​e quaisquer outras regras. Isso inclui as regras de preenchimento obrigatório, mutabilidade e exclusividade.
Uma regra obrigatória determina se um atributo é uma parte obrigatória de uma entidade. Se um atributo for uma parte opcional de uma entidade, então ele poderá assumir um valor NULL, caso contrário não.
Você também deve determinar se o atributo é mutável. Alguns valores de atributos não podem ser alterados após a criação do registro.
Finalmente, você precisa determinar se o atributo é exclusivo. Se for esse o caso, os valores dos atributos não poderão ser repetidos.

Chaves

Uma chave é um conjunto de atributos que identifica exclusivamente um registro. As chaves são divididas em duas classes: simples e compostas.
Uma chave simples consiste em apenas um atributo. Por exemplo, na base de dados “Passaportes de Cidadãos de um País”, o número do passaporte será uma chave simples: afinal, não existem dois passaportes com o mesmo número.
Uma chave composta consiste em vários atributos. Na mesma base de dados “Passaportes de cidadãos do país” pode existir uma chave composta com os seguintes atributos:
sobrenome, nome, patronímico, data de nascimento. Este é apenas um exemplo, uma vez que esta chave composta, teoricamente, não fornece garantia de exclusividade do registro.
Existem também vários tipos de chaves, descritos a seguir.

Possível pista

Uma chave candidata é qualquer conjunto de atributos que identifica exclusivamente um registro em uma tabela. Uma possível chave pode ser simples ou composta.
Cada entidade deve ter pelo menos uma chave possível, embora possa haver mais de uma chave possível. Nenhum dos atributos de chave primária pode ter um valor nulo.
Uma chave candidata também é chamada de chave substituta.

Chaves primárias

Uma chave primária é um conjunto de atributos que identificam exclusivamente um registro em uma tabela (entidade). Uma das chaves candidatas torna-se a chave primária. Nos diagramas, as chaves primárias são frequentemente mostradas acima da lista principal de atributos ou destacadas com caracteres especiais. A entidade na figura possui atributos chave e regulares.

Chaves alternativas

Qualquer chave possível que não seja a chave primária é chamada de chave alternativa. Uma entidade pode ter múltiplas chaves alternativas.

Chaves estrangeiras

Uma chave estrangeira é uma coleção de atributos que fazem referência à chave primária ou alternativa de outra entidade. Se uma chave estrangeira não estiver associada a uma entidade primária, ela poderá conter apenas valores nulos. Se a chave for composta, todos os atributos da chave estrangeira deverão ser indefinidos.
Nos diagramas, os atributos combinados em chaves estrangeiras são indicados por caracteres especiais. A figura mostra duas entidades relacionadas (Casas e seus Proprietários) e as chaves estrangeiras formadas por elas (afinal, uma pessoa pode possuir mais de uma casa).

Chaves são construções lógicas, não objetos físicos. Os bancos de dados relacionais possuem mecanismos para garantir que as chaves sejam armazenadas.

Definindo relacionamentos entre entidades

Os bancos de dados relacionais permitem combinar informações pertencentes a diferentes entidades.
Um relacionamento é uma situação em que uma entidade faz referência à chave primária de uma segunda entidade. Como, por exemplo, as entidades House e Master da figura anterior.
Os relacionamentos são definidos durante o processo de design do banco de dados. Para fazer isso, você deve analisar as entidades e identificar as conexões lógicas que existem entre elas.
O tipo de relacionamento determina o número de registros de entidade relacionados a outro registro de entidade. Os relacionamentos são divididos em três tipos principais, descritos a seguir.

Um a um

Cada registro da primeira entidade corresponde a apenas um registro da segunda entidade. E cada registro da segunda entidade corresponde a apenas um registro da primeira entidade. Por exemplo, existem duas entidades: Pessoas e Certidões de Nascimento. E uma pessoa só pode ter uma certidão de nascimento.

Um para muitos

Cada registo da primeira entidade pode corresponder a vários registos da segunda entidade. Porém, cada registro da segunda entidade corresponde a apenas um registro da primeira entidade. Por exemplo, existem duas entidades: Pedido e Item do Pedido. E um pedido pode conter muitos produtos.

Muitos para muitos

Cada registo da primeira entidade pode corresponder a vários registos da segunda entidade. Contudo, cada registo da segunda entidade pode corresponder a vários registos da primeira entidade. Por exemplo, existem duas entidades: Autor e Livro. Um autor pode escrever muitos livros. Mas um livro pode ter vários autores.
De acordo com o critério da obrigatoriedade, as relações são divididas em obrigatórias e facultativas.

  • Um relacionamento obrigatório significa que para cada registro na primeira entidade, deve haver registros relacionados na segunda entidade.
  • Um relacionamento opcional significa que um registro da primeira entidade pode não ter um registro na segunda entidade.

Normalização

Normalização é o processo de remoção de dados redundantes de um banco de dados. Cada elemento de dados deve ser armazenado no banco de dados em uma e apenas uma cópia. Existem cinco formas comuns de normalização. Normalmente, o banco de dados é reduzido à terceira forma normal.
Durante o processo de normalização, certas etapas são executadas para remover dados redundantes. A normalização melhora o desempenho, acelera a classificação e a construção de índices, reduz o número de índices por entidade e acelera as operações de inserção e atualização.
Um banco de dados normalizado geralmente é mais flexível. Ao modificar consultas ou dados armazenados, um banco de dados normalizado normalmente requer menos alterações, e as alterações têm menos consequências.

Primeira forma normal

Para converter uma entidade para a primeira forma normal, você deve eliminar grupos duplicados de valores e garantir que cada atributo contenha apenas um valor; listas de valores não são permitidas.
Em outras palavras, cada atributo precisa essencialmente ser armazenado em apenas uma instância.
Por exemplo, na figura, a entidade Home não está normalizada. Contém vários atributos para armazenar dados sobre os proprietários da casa (a entidade Casa não corresponde à primeira forma normal).

Para trazer a entidade Casa para a primeira forma normal, é necessário remover grupos repetidos de valores, ou seja, remover os atributos Proprietário 1-3, colocando-os em uma entidade separada. Resultado (Essence House reduzida à primeira forma normal):

Segunda forma normal

Uma tabela na segunda forma normal contém apenas os dados relacionados a ela. Os valores dos atributos de entidade não-chave dependem da chave primária. Mais precisamente, os atributos dependem da chave primária, de toda a chave primária e apenas da chave primária.
Para estar em conformidade com a segunda forma normal, as entidades devem estar na primeira forma normal.
Por exemplo, a entidade Casa da imagem possui um atributo Preço por litro de gasolina, que nada tem a ver com casas. Este atributo é removido (ou você pode movê-lo para outra entidade). Também transferimos o atributo Prefeito para uma entidade separada - esse atributo depende da cidade onde a casa está localizada e não da casa.
A figura mostra a essência da Casa na segunda forma normal (a Essência da Casa reduzida à segunda forma normal).

Terceira forma normal

A terceira forma normal exclui atributos que não dependem da chave inteira. Qualquer entidade que esteja na terceira forma normal também está na segunda forma normal. Esta é a forma mais comum de banco de dados.
Na terceira forma normal, cada atributo depende de uma chave, de toda a chave e de nada além da chave.
Por exemplo, a entidade Dono da Casa na imagem possui um atributo Signo do Zodíaco, que depende da data de nascimento do dono da casa, e não do seu nome (que é a chave).
Para trazer a entidade Dono de Casa, é necessário criar a entidade Signos do Zodíaco e transferir para lá o atributo Signo do Zodíaco (Entidade Dono de Casa reduzida à terceira forma normal):

Restrições

Restrições- estas são as regras monitoradas pelo sistema de gerenciamento de banco de dados. As restrições definem o conjunto de valores que podem ser inseridos em uma coluna ou colunas.
Por exemplo, você não quer que o valor do pedido em sua loja muito legal seja inferior a 500 rublos. Você simplesmente define um limite na coluna Valor do pedido.

Procedimentos armazenados

Procedimentos armazenados são procedimentos pré-compilados armazenados em um banco de dados. Os procedimentos armazenados podem ser usados ​​para definir regras de negócios e podem realizar cálculos mais complexos do que usar apenas restrições.
Os procedimentos armazenados podem conter lógica de fluxo de programa, bem como consultas de banco de dados. Eles podem aceitar parâmetros e retornar resultados como tabelas ou valores únicos.
Os procedimentos armazenados são semelhantes aos procedimentos ou funções regulares de qualquer programa.

OBSERVAÇÃO
Os procedimentos armazenados residem no banco de dados e são executados no servidor de banco de dados. Geralmente são mais rápidas que as instruções SQL porque são armazenadas em formato compilado.

Integridade de dados

Ao organizar os dados em tabelas e definir as relações entre eles, podemos assumir que foi criado um modelo que reflete corretamente o ambiente de negócios. Agora precisamos de garantir que os dados introduzidos na base de dados dão uma imagem correcta da situação. Em outras palavras, você precisa garantir que as regras de negócios sejam seguidas e que a integridade do banco de dados seja mantida.
Por exemplo, sua empresa entrega livros. É improvável que você aceite um pedido de um cliente desconhecido, porque então você nem conseguirá entregar o pedido. Daí a regra de negócio: só são aceitos pedidos de clientes cujas informações estejam no banco de dados.
A exatidão dos dados em bancos de dados relacionais é garantida por um conjunto de regras. As regras de integridade de dados se enquadram em quatro categorias.

  • Integridade da Entidade- cada registro de entidade deve ter um identificador único e conter dados. Afinal, você precisa distinguir de alguma forma entre todos esses registros no banco de dados.
  • Integridade do atributo- cada atributo aceita apenas valores válidos. Por exemplo, o valor da compra definitivamente não pode ser inferior a zero.
  • Integridade referencial- um conjunto de regras que garantem a consistência lógica das chaves primárias e estrangeiras ao inserir, atualizar e excluir registros. A integridade referencial garante que para cada chave estrangeira exista uma chave primária correspondente. Tomemos o exemplo anterior com as entidades House Owner e House. Digamos que você seja Vasya Ivanov e possua uma casa. Você alterou seu sobrenome para Sidorov e fez as alterações correspondentes na entidade Proprietário da Casa. Definitivamente, você gostaria que sua casa continuasse registrada com seu novo nome e não pertencesse a um certo Vasya Ivanov, que não existe mais.
  • Regras de integridade personalizadas- quaisquer regras de integridade que não pertençam a nenhuma das categorias listadas.

Gatilhos

Acionaré um análogo de um procedimento armazenado que é chamado automaticamente quando os dados da tabela são alterados.
Os gatilhos são um mecanismo poderoso para manter a integridade do banco de dados. Os gatilhos são chamados antes ou depois dos dados em uma tabela serem alterados.
Usando gatilhos, você pode não apenas desfazer essas alterações, mas também alterar dados em qualquer outra tabela.
Por exemplo, você está criando um fórum on-line e precisa garantir que a última postagem do fórum seja mostrada na lista de fóruns. Claro, você pode receber uma mensagem da entidade Forum Messages, mas isso aumentará a complexidade da sua solicitação e seu tempo de execução. É mais fácil adicionar um gatilho à entidade Forum Posts, que registraria a última mensagem adicionada à entidade Forums, no atributo Last Post. Isso simplificará bastante a solicitação.

Regras do negócio

As regras de negócios definem as restrições impostas aos dados de acordo com os requisitos do negócio (aqueles para quem você está criando o banco de dados). As regras de negócios podem consistir em um conjunto de etapas necessárias para concluir uma tarefa específica ou podem ser simplesmente verificações que garantem que os dados inseridos estão corretos. As regras de negócios podem incluir regras de integridade de dados. Ao contrário de outras regras, o seu principal objetivo é garantir a boa condução das transações comerciais.
Por exemplo, na empresa Very Cool Guys, pode ser costume que apenas carros brancos, azuis e pretos sejam adquiridos para necessidades oficiais.
Então, a regra de negócios para o atributo Cor do Veículo da entidade Veículos da Empresa seria que um veículo só pode ser branco, azul ou preto.
A maioria dos DBMSs fornece recursos:

  • para especificar valores padrão;
  • verificar os dados antes de inseri-los no banco de dados;
  • manter relacionamentos entre tabelas;
  • garantir a singularidade dos valores;
  • para armazenar procedimentos armazenados diretamente no banco de dados.

Todos esses recursos podem ser usados ​​para implementar regras de negócios em um banco de dados.

Modelo físico

A próxima etapa, após a criação de um modelo lógico, é construir um modelo físico. Um modelo físico é uma implementação prática de um banco de dados. O modelo físico define todos os objetos que você deve implementar.
Ao passar de um modelo lógico para uma entidade física, os atributos são convertidos em tabelas e os atributos em colunas.
Os relacionamentos entre entidades podem ser convertidos em tabelas ou deixados como chaves estrangeiras.
As chaves primárias são convertidas em restrições de chave primária. As chaves possíveis estão em restrições de exclusividade.

Desnormalização

Desnormalizaçãoé uma mudança deliberada na estrutura da base que viola as regras das formas normais. Isso geralmente é feito para melhorar o desempenho do banco de dados.
Em teoria, você deve sempre buscar uma base totalmente normalizada, mas na prática, normalizar completamente a base quase sempre significa uma queda no desempenho. A normalização excessiva do banco de dados pode resultar no acesso a várias tabelas sempre que os dados são recuperados. Normalmente, uma consulta deve envolver quatro tabelas ou menos.
As técnicas padrão de desnormalização são: mesclar várias tabelas em uma, armazenar os mesmos atributos em diversas tabelas e armazenar dados resumidos ou calculados em uma tabela.

O termo “relacional” significa “baseado em relacionamentos”. Um banco de dados relacional consiste em entidades (tabelas) que possuem algum relacionamento entre si. O nome vem da palavra inglesa relação.
O design do banco de dados consiste em duas fases principais: modelagem lógica e física.
Durante a modelagem lógica, você coleta requisitos e desenvolve um modelo de banco de dados que é independente de um SGBD (sistema de gerenciamento de banco de dados relacional) específico. É como criar plantas para sua casa. Você poderia pensar e desenhar tudo: onde ficará a cozinha, os quartos, a sala. Mas tudo isso está no papel e em maquetes.
Durante a modelagem física, você cria um modelo otimizado para um aplicativo e DBMS específicos. É esse modelo que está sendo implementado na prática. Se voltarmos à casa do parágrafo anterior, nesta fase você terá que construir uma casa em algum lugar - carregar troncos, tijolos...

O processo de design do banco de dados consiste nas seguintes etapas:

  • levantamento de informações;
  • definição de entidade;
  • definição de atributos para cada entidade;
  • definir relacionamentos entre entidades;
  • normalização;
  • conversão para modelo físico;
  • criação de banco de dados.

Os primeiros 5 estágios formam a fase de projeto lógico e os dois restantes formam a fase de modelagem física.

Fase lógica

A fase lógica consiste em várias etapas. Todos eles são discutidos abaixo.

Reunindo requisitos

Nesta fase, você precisa determinar exatamente como o banco de dados será utilizado e quais informações serão armazenadas nele. Reúna o máximo de informações possível sobre o que o sistema deve ou não fazer.

Definindo Entidades

Nesta etapa é necessário definir as entidades que irão compor o banco de dados.

Uma entidade é um objeto em um banco de dados que armazena dados. Uma entidade pode ser algo tangível (uma casa, uma pessoa, um objeto, um lugar) ou algo abstrato (uma transação bancária, um departamento de uma empresa, uma rota de ônibus). No modelo físico, a entidade é chamada de tabela.

As entidades consistem em atributos (colunas de tabela) e registros (linhas em uma tabela).

Os bancos de dados normalmente consistem em diversas entidades mestres associadas a um grande número de subentidades. As entidades básicas são chamadas de independentes: não dependem de nenhuma outra entidade. As entidades subordinadas são chamadas de entidades dependentes: para que uma delas exista, deve existir uma tabela primária associada.
Nos diagramas, as entidades são geralmente representadas como retângulos. O nome da entidade é indicado dentro do retângulo:

Qualquer tabela possui as seguintes características:

  • não há linhas idênticas nele;
  • todas as colunas (atributos) da tabela devem ter nomes diferentes;
  • os elementos dentro da mesma coluna têm o mesmo tipo (string, número, data);
  • A ordem das linhas da tabela pode ser arbitrária.

Nesta fase, é necessário identificar todas as categorias de informações (entidades) que serão armazenadas no banco de dados.

Definindo Atributos

Um atributo representa uma propriedade que descreve uma entidade. Os atributos geralmente são um número, data ou texto. Todos os dados armazenados em um atributo devem ser do mesmo tipo e ter as mesmas propriedades.
Em um modelo físico, os atributos são chamados de colunas.
Depois de definir entidades, você precisa definir todos os atributos dessas entidades.
Nos diagramas, os atributos geralmente são listados dentro de um retângulo de entidade. Na figura você encontrará um exemplo da base de dados “Casas”, só que agora estão definidos alguns atributos para as entidades desta base de dados.


Para cada atributo são definidos o tipo de dados, seu tamanho, valores aceitáveis ​​e quaisquer outras regras. Isso inclui as regras de preenchimento obrigatório, mutabilidade e exclusividade.
Uma regra obrigatória determina se um atributo é uma parte obrigatória de uma entidade. Se um atributo for uma parte opcional de uma entidade, então ele poderá assumir um valor NULL, caso contrário não.
Você também deve determinar se o atributo é mutável. Alguns valores de atributos não podem ser alterados após a criação do registro.
Finalmente, você precisa determinar se o atributo é exclusivo. Se for esse o caso, os valores dos atributos não poderão ser repetidos.

Chaves

Uma chave é um conjunto de atributos que identifica exclusivamente um registro. As chaves são divididas em duas classes: simples e compostas.
Uma chave simples consiste em apenas um atributo. Por exemplo, na base de dados “Passaportes de Cidadãos de um País”, o número do passaporte será uma chave simples: afinal, não existem dois passaportes com o mesmo número.
Uma chave composta consiste em vários atributos. Na mesma base de dados “Passaportes de cidadãos do país” pode existir uma chave composta com os seguintes atributos:
sobrenome, nome, patronímico, data de nascimento. Este é apenas um exemplo, uma vez que esta chave composta, teoricamente, não fornece garantia de exclusividade do registro.
Existem também vários tipos de chaves, descritos a seguir.

Possível pista

Uma chave candidata é qualquer conjunto de atributos que identifica exclusivamente um registro em uma tabela. Uma possível chave pode ser simples ou composta.
Cada entidade deve ter pelo menos uma chave possível, embora possa haver mais de uma chave possível. Nenhum dos atributos de chave primária pode ter um valor nulo.
Uma chave candidata também é chamada de chave substituta.

Chaves primárias

Uma chave primária é um conjunto de atributos que identificam exclusivamente um registro em uma tabela (entidade). Uma das chaves candidatas torna-se a chave primária. Nos diagramas, as chaves primárias são frequentemente mostradas acima da lista principal de atributos ou destacadas com caracteres especiais. A entidade na figura possui atributos chave e regulares.

Chaves alternativas

Qualquer chave possível que não seja a chave primária é chamada de chave alternativa. Uma entidade pode ter múltiplas chaves alternativas.

Chaves estrangeiras

Uma chave estrangeira é uma coleção de atributos que fazem referência à chave primária ou alternativa de outra entidade. Se uma chave estrangeira não estiver associada a uma entidade primária, ela poderá conter apenas valores nulos. Se a chave for composta, todos os atributos da chave estrangeira deverão ser indefinidos.
Nos diagramas, os atributos combinados em chaves estrangeiras são indicados por caracteres especiais. A figura mostra duas entidades relacionadas (Casas e seus Proprietários) e as chaves estrangeiras formadas por elas (afinal, uma pessoa pode possuir mais de uma casa).

Chaves são construções lógicas, não objetos físicos. Os bancos de dados relacionais possuem mecanismos para garantir que as chaves sejam armazenadas.

Definindo relacionamentos entre entidades

Os bancos de dados relacionais permitem combinar informações pertencentes a diferentes entidades.
Um relacionamento é uma situação em que uma entidade faz referência à chave primária de uma segunda entidade. Como, por exemplo, as entidades House e Master da figura anterior.
Os relacionamentos são definidos durante o processo de design do banco de dados. Para fazer isso, você deve analisar as entidades e identificar as conexões lógicas que existem entre elas.
O tipo de relacionamento determina o número de registros de entidade relacionados a outro registro de entidade. Os relacionamentos são divididos em três tipos principais, descritos a seguir.

Um a um

Cada registro da primeira entidade corresponde a apenas um registro da segunda entidade. E cada registro da segunda entidade corresponde a apenas um registro da primeira entidade. Por exemplo, existem duas entidades: Pessoas e Certidões de Nascimento. E uma pessoa só pode ter uma certidão de nascimento.

Um para muitos

Cada registo da primeira entidade pode corresponder a vários registos da segunda entidade. Porém, cada registro da segunda entidade corresponde a apenas um registro da primeira entidade. Por exemplo, existem duas entidades: Pedido e Item do Pedido. E um pedido pode conter muitos produtos.

Muitos para muitos

Cada registo da primeira entidade pode corresponder a vários registos da segunda entidade. Contudo, cada registo da segunda entidade pode corresponder a vários registos da primeira entidade. Por exemplo, existem duas entidades: Autor e Livro. Um autor pode escrever muitos livros. Mas um livro pode ter vários autores.
De acordo com o critério da obrigatoriedade, as relações são divididas em obrigatórias e facultativas.

  • Um relacionamento obrigatório significa que para cada registro na primeira entidade, deve haver registros relacionados na segunda entidade.
  • Um relacionamento opcional significa que um registro da primeira entidade pode não ter um registro na segunda entidade.

Normalização

Normalização é o processo de remoção de dados redundantes de um banco de dados. Cada elemento de dados deve ser armazenado no banco de dados em uma e apenas uma cópia. Existem cinco formas comuns de normalização. Normalmente, o banco de dados é reduzido à terceira forma normal.
Durante o processo de normalização, certas etapas são executadas para remover dados redundantes. A normalização melhora o desempenho, acelera a classificação e a construção de índices, reduz o número de índices por entidade e acelera as operações de inserção e atualização.
Um banco de dados normalizado geralmente é mais flexível. Ao modificar consultas ou dados armazenados, um banco de dados normalizado normalmente requer menos alterações, e as alterações têm menos consequências.

Primeira forma normal

Para converter uma entidade para a primeira forma normal, você deve eliminar grupos duplicados de valores e garantir que cada atributo contenha apenas um valor; listas de valores não são permitidas.
Em outras palavras, cada atributo precisa essencialmente ser armazenado em apenas uma instância.
Por exemplo, na figura, a entidade Home não está normalizada. Contém vários atributos para armazenar dados sobre os proprietários da casa (a entidade Casa não corresponde à primeira forma normal).

Para trazer a entidade Casa para a primeira forma normal, é necessário remover grupos repetidos de valores, ou seja, remover os atributos Proprietário 1-3, colocando-os em uma entidade separada. Resultado (Essence House reduzida à primeira forma normal):

Segunda forma normal

Uma tabela na segunda forma normal contém apenas os dados relacionados a ela. Os valores dos atributos de entidade não-chave dependem da chave primária. Mais precisamente, os atributos dependem da chave primária, de toda a chave primária e apenas da chave primária.
Para estar em conformidade com a segunda forma normal, as entidades devem estar na primeira forma normal.
Por exemplo, a entidade Casa da imagem possui um atributo Preço por litro de gasolina, que nada tem a ver com casas. Este atributo é removido (ou você pode movê-lo para outra entidade). Também transferimos o atributo Prefeito para uma entidade separada - esse atributo depende da cidade onde a casa está localizada e não da casa.
A figura mostra a essência da Casa na segunda forma normal (a Essência da Casa reduzida à segunda forma normal).

Terceira forma normal

A terceira forma normal exclui atributos que não dependem da chave inteira. Qualquer entidade que esteja na terceira forma normal também está na segunda forma normal. Esta é a forma mais comum de banco de dados.
Na terceira forma normal, cada atributo depende de uma chave, de toda a chave e de nada além da chave.
Por exemplo, a entidade Dono da Casa na imagem possui um atributo Signo do Zodíaco, que depende da data de nascimento do dono da casa, e não do seu nome (que é a chave).
Para trazer a entidade Dono de Casa, é necessário criar a entidade Signos do Zodíaco e transferir para lá o atributo Signo do Zodíaco (Entidade Dono de Casa reduzida à terceira forma normal):

Restrições

Restrições- estas são as regras monitoradas pelo sistema de gerenciamento de banco de dados. As restrições definem o conjunto de valores que podem ser inseridos em uma coluna ou colunas.
Por exemplo, você não quer que o valor do pedido em sua loja muito legal seja inferior a 500 rublos. Você simplesmente define um limite na coluna Valor do pedido.

Procedimentos armazenados

Procedimentos armazenados são procedimentos pré-compilados armazenados em um banco de dados. Os procedimentos armazenados podem ser usados ​​para definir regras de negócios e podem realizar cálculos mais complexos do que usar apenas restrições.
Os procedimentos armazenados podem conter lógica de fluxo de programa, bem como consultas de banco de dados. Eles podem aceitar parâmetros e retornar resultados como tabelas ou valores únicos.
Os procedimentos armazenados são semelhantes aos procedimentos ou funções regulares de qualquer programa.

OBSERVAÇÃO
Os procedimentos armazenados residem no banco de dados e são executados no servidor de banco de dados. Geralmente são mais rápidas que as instruções SQL porque são armazenadas em formato compilado.

Integridade de dados

Ao organizar os dados em tabelas e definir as relações entre eles, podemos assumir que foi criado um modelo que reflete corretamente o ambiente de negócios. Agora precisamos de garantir que os dados introduzidos na base de dados dão uma imagem correcta da situação. Em outras palavras, você precisa garantir que as regras de negócios sejam seguidas e que a integridade do banco de dados seja mantida.
Por exemplo, sua empresa entrega livros. É improvável que você aceite um pedido de um cliente desconhecido, porque então você nem conseguirá entregar o pedido. Daí a regra de negócio: só são aceitos pedidos de clientes cujas informações estejam no banco de dados.
A exatidão dos dados em bancos de dados relacionais é garantida por um conjunto de regras. As regras de integridade de dados se enquadram em quatro categorias.

  • Integridade da Entidade- cada registro de entidade deve ter um identificador único e conter dados. Afinal, você precisa distinguir de alguma forma entre todos esses registros no banco de dados.
  • Integridade do atributo- cada atributo aceita apenas valores válidos. Por exemplo, o valor da compra definitivamente não pode ser inferior a zero.
  • Integridade referencial- um conjunto de regras que garantem a consistência lógica das chaves primárias e estrangeiras ao inserir, atualizar e excluir registros. A integridade referencial garante que para cada chave estrangeira exista uma chave primária correspondente. Tomemos o exemplo anterior com as entidades House Owner e House. Digamos que você seja Vasya Ivanov e possua uma casa. Você alterou seu sobrenome para Sidorov e fez as alterações correspondentes na entidade Proprietário da Casa. Definitivamente, você gostaria que sua casa continuasse registrada com seu novo nome e não pertencesse a um certo Vasya Ivanov, que não existe mais.
  • Regras de integridade personalizadas- quaisquer regras de integridade que não pertençam a nenhuma das categorias listadas.

Gatilhos

Acionaré um análogo de um procedimento armazenado que é chamado automaticamente quando os dados da tabela são alterados.
Os gatilhos são um mecanismo poderoso para manter a integridade do banco de dados. Os gatilhos são chamados antes ou depois dos dados em uma tabela serem alterados.
Usando gatilhos, você pode não apenas desfazer essas alterações, mas também alterar dados em qualquer outra tabela.
Por exemplo, você está criando um fórum on-line e precisa garantir que a última postagem do fórum seja mostrada na lista de fóruns. Claro, você pode receber uma mensagem da entidade Forum Messages, mas isso aumentará a complexidade da sua solicitação e seu tempo de execução. É mais fácil adicionar um gatilho à entidade Forum Posts, que registraria a última mensagem adicionada à entidade Forums, no atributo Last Post. Isso simplificará bastante a solicitação.

Regras do negócio

As regras de negócios definem as restrições impostas aos dados de acordo com os requisitos do negócio (aqueles para quem você está criando o banco de dados). As regras de negócios podem consistir em um conjunto de etapas necessárias para concluir uma tarefa específica ou podem ser simplesmente verificações que garantem que os dados inseridos estão corretos. As regras de negócios podem incluir regras de integridade de dados. Ao contrário de outras regras, o seu principal objetivo é garantir a boa condução das transações comerciais.
Por exemplo, na empresa Very Cool Guys, pode ser costume que apenas carros brancos, azuis e pretos sejam adquiridos para necessidades oficiais.
Então, a regra de negócios para o atributo Cor do Veículo da entidade Veículos da Empresa seria que um veículo só pode ser branco, azul ou preto.
A maioria dos DBMSs fornece recursos:

  • para especificar valores padrão;
  • verificar os dados antes de inseri-los no banco de dados;
  • manter relacionamentos entre tabelas;
  • garantir a singularidade dos valores;
  • para armazenar procedimentos armazenados diretamente no banco de dados.

Todos esses recursos podem ser usados ​​para implementar regras de negócios em um banco de dados.

Modelo físico

A próxima etapa, após a criação de um modelo lógico, é construir um modelo físico. Um modelo físico é uma implementação prática de um banco de dados. O modelo físico define todos os objetos que você deve implementar.
Ao passar de um modelo lógico para uma entidade física, os atributos são convertidos em tabelas e os atributos em colunas.
Os relacionamentos entre entidades podem ser convertidos em tabelas ou deixados como chaves estrangeiras.
As chaves primárias são convertidas em restrições de chave primária. As chaves possíveis estão em restrições de exclusividade.

Desnormalização

Desnormalizaçãoé uma mudança deliberada na estrutura da base que viola as regras das formas normais. Isso geralmente é feito para melhorar o desempenho do banco de dados.
Em teoria, você deve sempre buscar uma base totalmente normalizada, mas na prática, normalizar completamente a base quase sempre significa uma queda no desempenho. A normalização excessiva do banco de dados pode resultar no acesso a várias tabelas sempre que os dados são recuperados. Normalmente, uma consulta deve envolver quatro tabelas ou menos.
As técnicas padrão de desnormalização são: mesclar várias tabelas em uma, armazenar os mesmos atributos em diversas tabelas e armazenar dados resumidos ou calculados em uma tabela.

Atributo.

Área da matéria.

Base de dados. Definição.

SGBD. Definição.

Base de dados. Definição.

Terceira forma normal. Definição. Exemplo.

Uma variável de relação R está na terceira forma normal se e somente se as seguintes condições forem atendidas:

· R está na segunda forma normal.

· nenhum atributo não-chave R está numa dependência funcional transitiva (ou seja, a dependência não é expressa através de outro atributo) de uma chave candidata R.

Um atributo não-chave de uma relação R é um atributo que não pertence a nenhuma das chaves potenciais de R.

Base de dados- trata-se de um ou mais arquivos de dados destinados a armazenar, alterar e processar grandes volumes de informações inter-relacionadas, sistematizados de forma que esses materiais possam ser encontrados e processados ​​por meio de um computador eletrônico (computador)

Sistema de gerenciamento de banco de dados (SGBD)é um software que permite aos usuários definir, criar e manter um banco de dados e que permite lidar com chamadas de banco de dados de aplicativos de usuário final.

Base de dados- sistema de informação automatizado para armazenamento centralizado e uso coletivo de dados. O banco de dados inclui um ou mais bancos de dados, um diretório de banco de dados, um SGBD, bem como bibliotecas de consultas e programas aplicativos.

Área da matériaé uma parte do mundo real que precisa ser estudada para criar um banco de dados que automatize o processo de gestão.

Atributo– a menor unidade de uma estrutura de dados. Cada elemento recebe um nome exclusivo ao criar um banco de dados. É referido por este nome durante o processamento.

Essência– qualquer objeto concreto ou abstrato na área temática em consideração. Entidades são os tipos básicos de informações armazenadas em um banco de dados (em um banco de dados relacional, cada entidade recebe uma tabela).

Liste as funções do SGBD

Principais funções do SGBD:

1) Determinar a estrutura do banco de dados a ser criado, sua inicialização e carregamento inicial.

2) Proporcionar aos usuários a capacidade de manipular dados (selecionar os dados necessários, realizar cálculos, desenvolver uma interface de entrada/saída, visualização).

3) Garantir a independência lógica e física dos dados.

4) Proteção da integridade lógica do banco de dados - a confiabilidade dos dados pode ser violada quando eles são inseridos no banco de dados ou devido a ações ilícitas de procedimentos de processamento de dados que recebem e inserem dados incorretos no banco de dados. Para aumentar a confiabilidade dos dados, as chamadas restrições de integridade são declaradas no sistema.



5) Proteção da integridade física – meio de recuperação de banco de dados (transações).

6) Gerenciar permissões de usuário para acessar o banco de dados.

7) Sincronização do trabalho de vários usuários.

8) Gerenciando recursos do ambiente de armazenamento - o SGBD aloca recursos de memória para novos dados, redistribui a memória liberada, organiza uma fila de solicitações para a memória externa e assim por diante.

9) Apoio às atividades do pessoal do sistema

A abordagem documental, baseada na consideração clássica da área temática, envolve a criação de tipos de entidades com base nos atributos de cada documento, formando um conjunto comum de tais tipos de entidades (entidades atribuídas) que sua união representa um relacionamento na primeira forma normal (Fig. 4.2).


No exemplo em consideração, uma análise preliminar de documentos identificou um conjunto de atributos que precisam ser representados na construção de um modelo de banco de dados. Suponha que precisemos construir um modelo de banco de dados para gerar o documento D1 “Pedido”. O documento contém 10 atributos, cada um dos quais é representado por um tipo de entidade separado contendo um atributo de tipo simples correspondente. Porém, esta representação não pode ser considerada absolutamente correta, pois existe um atributo no documento que é inadequado considerar, visto que só faz sentido dentro do documento e caracteriza alguma instância do relacionamento na sua representação no documento. Este atributo é “Número do produto”. Na verdade, a sua apresentação em documento, isto é evidenciado pela análise do documento, é implementada no processo de reflexão da mercadoria encomendada, e a numeração é formada em relação ao documento como objeto da área temática, e não o área onde as informações sobre as mercadorias encomendadas são armazenadas. Assim, como no exemplo não há tarefa de armazenar informações sobre o objeto “Documento” e sua apresentação ao usuário, o atributo “Número do Produto” não tem sentido do ponto de vista de sua relação com o pedido e o produto. Porém, agora não o retiraremos da lista de atributos e tipos de entidade considerados, considerando-o como um atributo que caracteriza a ordem das mercadorias no pedido.

Ao isolar os tipos de entidade dos atributos do documento, o desenvolvedor adiciona mais uma característica àquelas já presentes no documento, e a descrição dos tipos de entidade ficará um pouco mais completa (Tabela 4.5), levando em consideração sua posterior representação no modelo.

Tabela 4.5

Descrição dos tipos de entidade

Tipo de entidade

Observação

Número do pedido

Número do pedido

data do pedido

data do pedido

Número de item

Número de item

Nome

O preço do produto

O preço do produto

Preço

Preço

Calculado:

Preço

Preço

Calculado: 511 milhões (<7>) mediante solicitação<1>

Simbólico

preço

Valor simbólico do pedido

Formado pela conversão de um valor numérico em uma expressão simbólica

Quantidade

Quantidade



Esta descrição representa características importantes para o modelo de banco de dados:

  • tipo de dados - uma descrição em termos de modelo de base de dados dos tipos de informação armazenada, definindo ao nível da implementação física os princípios de apresentação e processamento na base de dados;
  • dimensão - característica usada para alguns tipos de dados para especificar o número de caracteres (bytes) que devem ser usados ​​ao armazenar o valor correspondente.

Na tabela apresentada que descreve os tipos de entidade, a coluna "Dimensão" para alguns tipos de dados contém um valor numérico entre chaves. Isso é feito porque dados inteiros, lógicos, bem como data e hora em bancos de dados são representados por mecanismos de representação padrão e o tamanho em bytes é sempre conhecido para armazenar dados desses tipos.

Os tipos de dados numéricos e o tipo de dados lógicos a eles equiparados sempre têm uma dimensão fixa:

  • Boolean, Logical, Tinylnt, Bit - um tipo de dados lógico (Boolean, Logical) contendo os valores "True" (true) e "False" (false), idêntico a um tipo inteiro pequeno (Tinylnt) ou bit (Bit) com tamanho mínimo de 1 byte (1 bit se for idêntico ao tipo Bit) e os valores “O” ou “1”;
  • Bit - tipo de dado inteiro representando os valores “O” ou “1”, com dimensão de 1 bit;
  • Tinylnt - tipo de dados inteiro de 1 byte;
  • SmallInt - tipo de dados inteiro com tamanho de 2 bytes;
  • Inteiro - um tipo de dados inteiro de 4 bytes;
  • Biglnt, Long - tipo inteiro de grande dimensão (8 bytes);
  • Data - tipo de dado data, representado de forma simbólica, 8 caracteres (bytes);
  • Hora - tipo de dado de hora, representado de forma simbólica, com dimensão de 8 caracteres (bytes).

Para tipos de dados com dimensão fixa, a coluna “Dimensão” normalmente não é preenchida, implicando que a indicação do próprio tipo de dado já o define e nenhuma indicação adicional é necessária. Para todos os outros tipos de dados, é importante especificar a dimensão máxima, levando em consideração os valores específicos que podem estar presentes no documento. Para tipos de dados numéricos, você especifica o número de bytes que o número deve ocupar e o número de casas decimais, determinando a precisão do número real. Para tipos de dados de caracteres, é especificado o número de caracteres que devem ser armazenados para o atributo correspondente. Um tipo de caractere pode ser representado de três maneiras diferentes:

Texto, CLOB - um tipo de dados de texto que representa grandes informações de texto armazenadas de forma especial, e é mostrado em uma tabela de banco de dados por um conjunto de primeiros caracteres, cujo número é a dimensão do atributo deste tipo;

  • - Caractere - um tipo de dados string que armazena exatamente o número de caracteres especificado como dimensão, preenchendo com espaços os caracteres faltantes no final da string;
  • - Varchar é um tipo de dados de string de comprimento variável para o qual a dimensão determina o número máximo de caracteres que a string armazenada pode ter.

Os tipos Character e Varchar são muito próximos em essência, pois definem o tipo de dados da string, mas os recursos de representação dos dados determinam as condições sob as quais um ou outro tipo é usado. Assim, para armazenar dados que tenham tamanho fixo (por exemplo, NIF (número de identificação fiscal), BNK (código de identificação bancária) de um banco, número de pedido, artigo de produto, etc.), costuma-se utilizar o tipo Caractere, pois para tais dados não podem. Pode haver opções quando o número de caracteres pode diferir daqueles especificados na dimensão do atributo. O tipo Varchar é usado em todos os outros casos quando não há necessidade de armazenar o número exato de caracteres.

A base do modelo de banco de dados em qualquer diagrama são entidades e relacionamentos, que são posteriormente transformados em tabelas e relacionamentos de banco de dados. As entidades são criadas quando o diagrama do modelo de banco de dados é gerado. A representação visual do modelo é parte integrante do design do banco de dados, pois permite ao desenvolvedor analisar mais facilmente imprecisões emergentes no modelo e apresentá-lo de uma forma conveniente para revisão pelo cliente e outros desenvolvedores.

Para formar os elementos do diagrama é utilizada a paleta de elementos (“Paleta”, Fig. 3.49), onde está localizada a área “Dados” com objetos e conexões “Entidade”. Selecionar o item da paleta "Entidade" dará ao usuário a oportunidade de criar um objeto "Entidade" no diagrama, o que requer a inserção do nome da entidade.


A criação de entidades também pode ser implementada através do menu de contexto da pasta "Pacote...", onde o item de menu "Adicionar Objeto de Dados/Entidade" criará uma entidade na árvore do projeto e fornecerá ao desenvolvedor a oportunidade de fazer como no diagrama, insira o nome da entidade (Fig. 3.50).


Também é possível criar entidades diretamente no diagrama utilizando um menu gráfico sensível ao contexto. Para isso, é necessário mover o cursor do mouse sobre um espaço vazio do diagrama e não movê-lo por um tempo, o que fará com que apareça uma área com ícones indicando a possibilidade de criação de elementos válidos. Para o modelo de banco de dados lógico, apenas um ícone será exibido, indicando a possibilidade de criação de uma entidade. Selecioná-lo, como nos casos anteriores, criará uma nova entidade com um prompt para inserir seu nome.

Na aba de propriedades da entidade “Volumetrias”, o desenvolvedor pode especificar parâmetros para alteração do número de instâncias da entidade em questão (Fig. 3.51), incluindo:

  • Número inicial de linhas – indica a quantidade de dados (instâncias) que devem ser adicionados imediatamente após a criação da tabela;
  • Crescimento de linhas por mês (adicionando instâncias por mês) - indica quantas instâncias devem ser adicionadas por mês;
  • Número máximo de linhas – indica o número máximo de instâncias que podem ser armazenadas na tabela descrita pela entidade em questão.


Arroz. "3.51. Configurando parâmetros de alteração
indicadores quantitativos da entidade

Na seção de propriedades da entidade, entre os parâmetros da aba “Geral”, o desenvolvedor é solicitado a definir um parâmetro adicional “Persistente”, que determina a possibilidade de transformar a entidade em uma tabela ao passar do modelo de banco de dados lógico para o físico . Mas todas as informações sobre a estrutura do futuro banco de dados estão contidas nas conexões entre entidades e atributos, que se caracterizam por um número significativamente maior de parâmetros. Utilizando a aba “Atributos”, você pode criar atributos de entidade e definir seus principais parâmetros.

Além disso, semelhante à criação de uma entidade, os atributos podem ser criados de várias maneiras (Fig. 3.52):

  • - usando o menu de contexto - o menu de contexto da entidade é usado na árvore do projeto, onde você pode selecionar um objeto para criar - um atributo, uma chave alternativa, uma restrição, etc.;
  • - utilizando propriedades da entidade - a área de propriedades é utilizada na aba “Atributos”, onde os atributos são criados e especificados utilizando as ferramentas ali disponíveis;

usando o menu gráfico da íris - um menu gráfico com ícones é usado ao passar o mouse sobre uma entidade, com a ajuda do qual são criadas uma chave primária e atributos simples com a capacidade de especificar o nome do atributo.


Puc. 3.52. Exemplo de criação de um atributo
por meio de propriedades da entidade

Ao utilizar propriedades da entidade, o desenvolvedor na aba “Atributos”, utilizando o ícone com sinal “+”, cria novos atributos, após os quais deve definir os principais parâmetros do atributo criado:

  • Nome - o nome do atributo pelo qual é determinado o significado significativo dos dados descritos;
  • Chave Primária - um sinal indicando que o atributo é um elemento da chave primária e devem ser criadas restrições de integridade apropriadas para ele;
  • Chave substituta - sinal que indica que o atributo não é um elemento da área temática, mas é necessário para um trabalho eficaz com o banco de dados e conterá valores gerados automaticamente de acordo com as regras de progressão aritmética;
  • Tipo (tipo) – o tipo de dado que descreve os valores representados pelo atributo;
  • Comprimento/Precisão (tamanho/precisão) - valor numérico que indica a quantidade de caracteres (bytes) necessários para armazenar o valor máximo do atributo descrito;
  • Escala é um valor numérico usado para atributos numéricos que descreve o número de dígitos após o ponto decimal ao trabalhar com números reais;
  • Obrigatório - um sinal de que é impossível armazenar um valor NULL vazio em um atributo;
  • Derivado (calculado) - sinal da necessidade de calcular um valor a partir de uma determinada expressão por meio de operações matemáticas, linguísticas e diversas funções da linguagem SGBD;
  • Valor Padrão - valor que deverá ser escrito caso nenhum dado tenha sido especificado para o atributo ao adicionar ou alterar dados;
  • Expressão de Derivação - Uma expressão de fórmula que deve ser avaliada quando dados são adicionados ou alterados.

É importante observar que a ferramenta oferece a capacidade de classificar atributos em uma entidade na ordem desejada pelo desenvolvedor. Isso é feito usando ícones de controle na forma de setas multidirecionais. Porém, dado o fato das regras de Codd determinarem a independência da ordem dos atributos, estabelecer a ordem não é um componente necessário no modelo de banco de dados. Existem duas razões para construir a ordem necessária de atributos:

Facilidade de uso - ao organizar a ordem dos atributos de acordo com certas regras (por exemplo, os atributos que denotam a chave primária devem vir primeiro, depois você precisa colocar as chaves estrangeiras, depois a chave alternativa e os atributos simples), é mais fácil de ler o diagrama do modelo e identificar algumas situações problemáticas que podem surgir na prática de trabalho com banco de dados; uso de tecnologias especiais de processamento - ao adicionar dados na linguagem SQL, é possível não especificar a lista

zeros da tabela na qual serão inseridos os dados especificados no comando, o que exige que o desenvolvedor do código do programa conheça a ordem exata dos campos da tabela, que no nível do modelo lógico pode ser determinada pela classificação dos atributos.

Além de especificar características para cada atributo, incluindo a especificação de um valor padrão e uma expressão de fórmula para cálculo, qualquer entidade pode ter restrições de integridade para garantir que o valor do atributo correspondente seja armazenado corretamente. Por exemplo, para um atributo que armazena valores de ano, talvez você queira limitar o valor mínimo. Como no nível de construção de um modelo lógico o desenvolvedor pode não saber qual SGBD será utilizado para implementação, o uso de funções em qualquer uma das linguagens de programação não será correto. No entanto, a ferramenta IBM InfoSphere Data Architect permite ao desenvolvedor especificar a condição de restrição em diversas linguagens (Figura 3.53):

  • OCL (Object Constraint Language) é uma linguagem de restrições para objetos, utilizada na representação orientada a objetos de dados e programas aplicativos, bastante raramente utilizada na implementação de bancos de dados relacionais, utiliza expressões lógicas padrão e indicações de atributos de entidade (por exemplo: Entidade. Ano >= 2000):
  • SQL (Structured Query Language) é uma linguagem de consulta estruturada utilizada no processamento de bancos de dados relacionais, geralmente focada em um SGBD específico e possui muitas funções exclusivas apenas para o SGBD selecionado, utiliza operações lógicas (AND (AND), OR (OR), etc. ) e os aplica no nível de atributo da entidade em questão (por exemplo: Ano >= 2000 e Ano
  • O inglês é uma linguagem natural, não traduzível para uma linguagem de programação, geralmente usada para descrever uma restrição e depois representá-la durante a programação com uma expressão booleana apropriada (por exemplo: O ano é representado por um valor no intervalo)