O modelo entidade-relacionamento (ER) é uma forma popular de representar dados para o projeto de banco de dados. É uma representação gráfica que mostra os relacionamentos entre entidades, onde entidades são objetos ou conceitos que possuem atributos. Um dos princípios fundamentais do modelo ER é que os relacionamentos só podem existir entre entidades e não entre os próprios relacionamentos.
Graficamente, as relações no modelo ER são representadas através de diamantes. O símbolo do diamante é colocado entre as entidades que estão relacionadas, e o próprio relacionamento é rotulado no diamante. As linhas que ligam as entidades ao diamante representam a participação das entidades na relação. Por exemplo, um aluno pode estar inscrito num curso, pelo que as entidades aluno e curso estariam ligadas por um diamante com a designação “inscrição” e as linhas indicariam que o aluno está a participar na relação como aluno e o curso está a participar como curso.
As entidades podem ter vários relacionamentos, e cada relacionamento entre duas entidades é único e tem um nome diferente. Uma entidade pode participar num relacionamento de forma obrigatória ou opcional. A participação obrigatória significa que uma entidade tem de participar na relação, enquanto a participação opcional significa que uma entidade pode escolher se quer ou não participar. Uma entidade também pode participar numa relação como participante total ou parcial. A participação total significa que uma entidade deve participar totalmente na relação, enquanto a participação parcial significa que uma entidade pode participar parcialmente na relação.
Deve ser construído um diagrama ER aquando da concepção de uma base de dados. É uma boa prática criar um diagrama ER antes de criar a base de dados propriamente dita, uma vez que ajuda a identificar as entidades, os atributos e os relacionamentos necessários para a base de dados. O diagrama ER também ajuda a garantir que a base de dados é concebida de forma eficiente e exacta.
MER significa modelo mínimo de entidade-relacionamento. É uma versão simplificada do modelo ER que inclui apenas entidades, atributos e relacionamentos. Não inclui a participação opcional ou parcial e pressupõe que todas as entidades participam plenamente no relacionamento.
Uma entidade fraca é uma entidade que não pode ser identificada de forma exclusiva apenas pelos seus atributos. Depende de outra entidade, chamada entidade proprietária, para lhe dar uma identidade única. Por exemplo, um item de linha numa ordem não pode ser identificado exclusivamente pelos seus atributos porque pertence a uma ordem específica. A entidade de encomenda é a entidade proprietária e confere à entidade de item de linha uma identidade única. No modelo ER, uma entidade fraca é representada através de um rectângulo duplo com uma margem espessa e a relação entre a entidade proprietária e a entidade fraca é representada através de um losango.
No modelo entidade-relacionamento, uma entidade fraca é uma entidade que não pode ser identificada apenas pelos seus próprios atributos e deve ser identificada pela sua relação com outra entidade, conhecida como entidade proprietária. A chave primária da entidade fraca é composta pela sua própria chave parcial e pela chave primária da sua entidade proprietária. Por exemplo, numa base de dados de um hotel, uma reserva de quarto pode ser uma entidade fraca porque não pode existir sem uma entidade de quarto correspondente. A entidade quarto seria a entidade proprietária, e a chave primária da reserva do quarto seria uma combinação de seu próprio número de reserva e o número do quarto.
No contexto do artigo “Entendendo o modelo de entidade e relacionamento: No Relationships Between Relationships”, MER significa “Modelo Entidade Relacionamento” e DER significa “Dados Entidade Relacionamento”. O artigo argumenta que não existe uma diferença real entre as duas abordagens e que ambas podem ser utilizadas para modelar entidades e relações num sistema de bases de dados. No entanto, o artigo sugere que a abordagem MER pode ser mais intuitiva e fácil de entender para aqueles que são novos na modelagem de banco de dados.
Numa base de dados relacional, uma relação é composta por uma chave estrangeira que liga uma tabela a outra tabela com base nos valores da chave primária da tabela ligada. Isto cria uma ligação entre as duas tabelas e permite que os dados sejam recuperados e manipulados nas tabelas relacionadas. No entanto, é importante notar que as relações em si não podem ter relações numa base de dados relacional. O artigo “Understanding the Entity and Relationship Model: Sem relações entre relações” explica este conceito em mais pormenor.