O que é uma" entidade de banco de dados " e que tipos de itens DBMS são considerados entidades? [fechado]

São coisas como mesas? Ou também incluiria coisas como restrições, procedimentos armazenados, pacotes, etc.?

Procurei na internet, mas encontrar respostas elementares para perguntas elementares é, por vezes, um pouco difícil.

Author: IAmAN00B, 2009-08-19

9 answers

No mundo da relação de entidade uma entidade é algo que pode existir independentemente {[[3]} e por isso há muitas vezes uma relação de um para um entre entidades e tabelas de banco de dados. No entanto, este mapeamento é uma decisão de implementação: por exemplo, um diagrama ER pode conter três entidades: triângulo, quadrado e círculo e estas podem potencialmente ser modeladas como uma única tabela: forma.

Note também que algumas tabelas de bases de dados podem representar relações entre entidades.

 12
Author: Adamski, 2009-08-19 14:49:04
É uma pergunta bastante geral!

Basicamente, todos os tipos que o próprio sistema de base de dados oferece, como numérico, VARCHAR etc., ou que a linguagem de programação de escolha oferece (int, string etc.) seriam considerados tipos de dados" atômicos " (base).

Tudo o que você - com base nos requisitos do seu programa ou dos seus negócios - construir a partir disso, objetos de negócio e assim por diante, são entidades.

Tabelas, restrições e assim por diante são objetos internos de banco de dados necessários para armazenar e recuperar dados, mas esses não são geralmente considerados "entidades". Os dados armazenados em suas tabelas, quando recuperados e convertidos em um objeto, que então é uma entidade.

Marc

 13
Author: marc_s, 2009-08-19 14:30:07
Isto parece útil. http://en.wikipedia.org/wiki/Entity-relationship_model

Numa base de dados uma entidade é uma tabela. A tabela representa qualquer conceito do mundo real que você está tentando modelar (pessoa, transação, evento).

Os contratos podem representar relações entre entidades. São chaves estrangeiras. Eles também aplicam regras como o primeiro nome não pode ser em branco (null). Uma transação deve ter 1 ou mais itens. Um evento deve ter uma data tempo.

Procedimentos / pacotes / gatilhos armazenados podem lidar com relações mais complexas e / ou podem lidar com regras de Negócio, apenas depende do que está a fazer.

 3
Author: David, 2009-08-19 15:17:38

Este fio é demomnstrating uma razão pela qual é difícil encontrar "respostas elementares a perguntas elementares". Certas palavras têm sido usadas por diferentes paradigmas de programação para significar coisas diferentes (tente perguntar a um monte de programadores OO Qual é a diferença entre uma classe e um objeto em algum momento).

Aqui está a minha opinião.

Pela primeira vez encontrei entidade como um termo de modelagem em SSADM (pergunte ao seu pai). Neste contexto, uma entidade é utilizada para modelar um agrupamento lógico de dados durante a fase de recolha / análise dos Requisitos. As relações entre entidades foram modeladas usando os diagramas de relação de entidade, e o perfil de uma inimizade foi modelado usando histórias de vida de entidade. Os diagramas ELH eram muito úteis em sistemas COBOL, mas totalmente horríveis em bases de dados relacionais. ERDs, por outro lado, continuam a ser úteis até hoje.

Durante as fases de concepção e implementação, as entidades são resolvidas em tabelas de bases de dados, objectos ou registos numa base de dados. Ficheiro de entrada COBOL. No curso desse processo, uma entidade lógica pode ser dividida em várias tabelas, ou várias entidades podem ser squidged em uma única tabela, ou pode haver um mapeamento de um para um. Às vezes uma entidade é resolvida completamente ou permanece como uma visão ou um procedimento armazenado.

 2
Author: APC, 2009-08-19 15:13:18

A minha resposta é obviamente um pouco tarde, mas aqui está como definido num livro de texto de certificação de bases de dados:

Entidade: um elemento único identificável sobre o qual os dados são armazenados numa base de dados.

E para limpar a confusão entre entidades e Tabelas,

A Entidade não é uma tabela. Tabelas podem ser chamadas de "tabelas" ou "relações" as palavras são sinônimas.

 2
Author: Billy, 2011-02-07 00:54:21
Isso depende de como você pensa sobre isso e como modela seu domínio de problema. na maioria das vezes quando você ouve sobre entidades, elas são tabelas de banco de dados (uma ou muitas) mapeadas em classes de objetos. Então não é realmente uma entidade até ser questionada e transformada em uma instância de classe. Mas, novamente, depende da sua metodologia de modelagem, e há múltiplos: -)
 1
Author: Joel Martinez, 2009-08-19 14:29:30
Precisamos de saber o contexto. Uma coisa que as pessoas às vezes fazem quando analisam dados em preparação para projetar um banco de dados é criar um diagrama de Realtionship entidade, onde você está considerando que itens de dados você está gerenciando e seus relacionamentos. Será esse o contexto?

Se assim fosse, talvez uma leitura deste artigopudesse começar?

 1
Author: djna, 2009-08-19 14:36:07

As entidades são "coisas importantes" para o domínio utilizador/empresa/problema.

 1
Author: ObiWanKenobi, 2009-08-19 15:19:40

Actualizar:

Veja este artigo no meu blog no qual tento abordar o assunto com mais detalhes:


Uma entidade é um termo do entity-relationship model.

A relational model (o esquema da sua base de dados) é uma das formas de implementar o modelo ER.

As tabelas relacionais representam relações entre tipos simples como inteiros e cadeias de caracteres, que, por sua vez, podem representar tudo: entidades, atributos, relacionamentos.

Não se pode dizer o que é só a partir da estrutura relacional, é preciso ver o modelo das urgências.

Para a mesa persons,

id   name  surname
1    John  Smith

id, name e surname são entidades do mundo real e podem ou não representar entidades do Modelo ER subjacente.

O facto de um registo existir no quadro significa que estas entidades estão na seguinte relação: "person 1 tem nome John e tem apelido Smith".

No exemplo acima, a entidade é definida por id (do ponto de vista do modelo).

Se uma pessoa muda o seu nome de John para Jack, a pessoa permanece a mesma (novamente, do ponto de vista do modelo), mas se relaciona com outro name.

No exemplo acima name e surname podem ser tratados como attribute (em oposição a entity), mas mais uma vez, você precisa ver o modelo ER que este esquema implementa para dizer o que é ele.

Em alguns mapeamentos de Modelo ER-para-relacional, uma entidade deve ser definida numa tabela referenciável com um FOREIGN KEY para ser considerado um entity (o que deve restringir o seu domínio).

No entanto, esta restrição pode existir mas não ser representada numa base de dados (devido a limitações tecnológicas ou outra coisa).

Como, nós não podemos manter uma lista de todos os nomes possíveis, mas o nome de @#$^# é muito provavelmente um não-Nome, portanto, não pertence ao domínio de nome.

Portanto, um attribute é um {[18] } que pode participar numa relação mas não pode ser contido numa tabela definidora de domínios.

Por exemplo, o quadro prices:
good_id  price

Define as relações entre o conjunto de bens (que é definido pela tabela goods) e o conjunto de números reais (que não pode ser contido numa tabela uma vez que não é sequer contável).

Ainda assim, cada preço (como $2.00) é uma entidade do mundo real também.
 1
Author: Quassnoi, 2009-10-20 18:15:21