220 likes | 430 Views
2. Bases de dados relacionais (3ª aula) ○ Conceitos básicos de bases de dados relacionais ○ A 3ª forma normal. Graça Abrantes. Desenvolvimento de uma base de dados. Realidade Modelo conceptual (e.g. Modelo Entidade-Associação) Modelo lógico (e.g. Modelo Relacional).
E N D
2 Bases de dados relacionais (3ª aula) ○ Conceitos básicos de bases de dados relacionais ○ A 3ª forma normal Graça Abrantes
Desenvolvimento de uma base de dados Realidade Modelo conceptual (e.g. Modelo Entidade-Associação) Modelo lógico (e.g. Modelo Relacional)
Modelo lógico: SGBD relacional • Baseiam-se num conjunto de conceitos teóricos apresentados em 1970 por E. F. Codd. • Vantagens dos SGBD relacionais: • simplicidade dos conceitos que utilizam • existência de definições formais para os conceitos • permitiram uma rápida divulgação • permitiram a adesão de diversos fabricantes de software; • adequação à representação de muitos dos aspectos que constituem a realidade
Relação • Nas bases de dados relacionais a estrutura fundamental é a relação, também designada por tabela. • Uma relação ou tabela é definida por um esquema. • Um esquema é composto: • pelo nome da relação • pelos nomes dos atributos
Esquema Exemplos: PqCampismo(designação, capacidade, prop) Concelho(código,designação)
Atributos • Um atributo Ai toma valores num conjunto Di chamado domínio do atributo. • O domínio determina o tipo de valores que o atributo pode tomar. • Dado U={A1, A2,...,An}, uma relação R sobre U é um subconjunto de D1 x D2 x ... x Dn. • A cada tuplo deste produto cartesiano dá-se o nome de instância da relação R.
Tabela • O conjunto das instâncias da relação R constituí uma tabela em que - as linhas são as instâncias (ou registos) -as colunas são os atributos (ou campos)
Observações • os valores de cada atributo pertencem a um mesmo domínio; • o valor de um atributo é sempre atómico; • isto é, numa tabela, no cruzamento de uma linha com uma coluna só pode existir um valor de atributo; • numa relação não podem existir instâncias iguais; • a ordem porque se encontram as instâncias de uma relação e os seus atributos é irrelevante; • podem existir instâncias sem valores em alguns dos seus atributos; neste caso o atributo diz-se opcional e o seu valor é null; • os nomes (ou identificadores) dos atributos que constituem o esquema de uma relação são únicos nessa relação.
Chave(s) de uma relação • Um conjunto de atributos que tomam valores diferentes para cada instância da relação é uma chave da relação. • cada instância pode ser identificada pelo valor da chave: o valor da chave nunca se repete. • Uma chave pode ser composta por um ou mais atributos. • Atributo primário: pertence à chave • Atributo não primário: não pertence à chave
Chave primária e chave estrangeira • Nos SGBD relacionais, para representar as associações existentes entre as várias entidades utilizam-se esquemas de relações em que figuram atributos comuns. • Chave primária de uma relação é um subcon-junto mínimo de atributos cujos valores permitem identificar de modo único cada uma das instâncias dessa relação. • Uma chave estrangeira de uma relação é um conjunto de atributos que é chave primária de outra relação.
As formas normais • Para um dada realidade pode existir mais do que um esquema de base de dados adequado • é difícil escolher qual o melhor • nem existem regras para criar um esquema óptimo • Para um esquema de base de dados não estar correcto ... • é suficiente que ele não cumpra a 3ª forma normal • cumprir a 3ª forma normal não é suficiente para que um esquema se possa considerar óptimo
Modelo relacional: 1ª forma normal • Todos os atributos tomam valor único. Exemplo: Em vez de Fazer:
Modelo relacional - Dependências funcionais • Dada um relação R definida sobre um conjunto de atributos U={A1, A2, …, An}, diz-se que o atributo Ak depende funcionalmente do atributo Ai (AiAk) se e só se sempre que duas instâncias têm o mesmo valor em Ai tiverem, necessariamente, também o mesmo valor em Ak.
Modelo relacional: 2ª forma normal • A relação tem que estar na 1ª forma normal • Não existem dependências funcionais entre atributos que não pertencem à chave primária e partes da chave primária • a 2ª forma normal só é relevante quando a chave primária de uma tabela é composta por mais do que um atributo
Modelo relacional: 3ª forma normal • A tabela tem que estar na 2ª forma normal • Não existem dependências funcionais entre atributos que não pertencem à chave primária
Normalização • A passagem de uma forma normal para outra pode implicar a decomposição de uma tabela num conjunto de tabelas.
Exemplo: 2ª FN 3ª FN Exemplo: atendendo a que a 1ª coluna da tabela é a chave primária, a tabela seguinte verifica a 2ª forma normal mas não a 3ª forma normal Substituindo esta tabela pelas 2 tabelas seguintes, não há perda de informação e ambas verificam a 3ª forma normal
Tabela normalizada (3ª forma normal) • Numa tabela que verifica as primeiras três formas normais, qualquer atributo que não pertence à chave primária depende completamente e exclusivamente da totalidade dessa chave.
Exemplo: Suponha que tem que estruturar um tema relativo a árvores notáveis numa estrutura de dados vectoriais de um sistema de informação geográfica (SIG). Para cada árvore pretende registar o nome comum, o nome científico, a família, a altura da árvore e o diâmetro do tronco (DAP). Existe um milhar de árvores notáveis na região de interesse, havendo várias espécies representadas por diversos indivíduos. Como estruturaria essa informação no SIG?
Consistência, redundância e formas normais Para evitar redundâncias e para facilitar a manutenção da consistência dos dados na base de dados, as tabelas devem verificar as formas normais. A primeira forma normal é obrigatoriamente respeitada por uma relação. A segunda forma normal é obrigatoriamente respeitada por uma relação cuja chave primária seja simples. A segunda forma normal nas relações que possuem chave primária composta e a terceira forma normal asseguram a não existência de um certo tipo de redundâncias na base de dados.