A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento de uma base de dados

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de uma base de dados"— Transcrição da apresentação:

1 Desenvolvimento de uma base de dados
Realidade Modelo conceptual (e.g. Modelo Entidade-Associação) Modelo lógico (e.g. Modelo Relacional)

2 Modelos conceptuais de tipo E-A
Os modelos de tipo E-A são compostos por entidades e associações. As entidades representam objectos reais que possuem uma descrição que é determinada pelos problemas que se pretendem resolver por meio da Base de Dados. As associações representam relacionamentos relevantes entre entidades.

3 Tipo de entidades e atributos
As entidades que possuem uma descrição comum são representadas por um tipo de entidade, o qual é caracterizado por um conjunto de atributos. Os valores que tomam cada um dos atributos de um tipo de entidade permitem descrever e distinguir entre si as entidades que pertencem a um mesmo tipo de entidade.

4 Exemplo Num sistema de informação geográfica, um tipo de entidade pode ser constituído por parques de campismo. Cada parque de campismo pode ter um conjunto de atributos (e.g. designação, capacidade, proprietário, ...). Um segundo tipo de entidade poderia ser constituído por unidades territoriais (e.g. concelhos), tendo atributos (e.g. código, designação). Parques de campismo e concelhos podem estar relacionados.

5 Diagrama do modelo conceptual: exemplo
Concelho Empresa Situado Actua PqCampismo

6 Atributos de um tipo de Associação
Um tipo de associação pode possuir atributos que permitam descrever as características próprias de cada associação. por exemplo, cada empresa tem um certo número de trabalhadores em cada concelho.

7 Diagrama do modelo conceptual
Concelho Empresa Situado Actua PqCampismo designação capacidade proprietário código número trab. NIF nome

8 Grau de um tipo de associação
Um tipo de associação caracteriza-se pelo número de tipos de entidade que envolve, podendo ser unária, binária (o caso mais frequente), ternária, ...

9 Multiplicidade (ou cardinalidade) de um tipo de associação
Um tipo de associação binária pode ser: de um para um (1:1) quando cada entidade só pode ocorrer numa única associação desse tipo; de um para muitos (1:n) quando cada entidade de um tipo só pode ocorrer numa associação, mas as entidades do outro tipo podem ocorrer em mais do que uma associação desse tipo; de muitos para muitos (n:n) quando não existe nenhuma restrição ao número de ocorrências de cada entidade em associações desse tipo.

10 Multiplicidade (continuação)
A multiplicidade de um tipo de associação binária é indicada por 4 números: número mínimo e máximo de entidades que ocorrem numa associação, em cada sentido. A multiplicidade é frequentemente 0,1 ou 1,1 ou 0,n ou 1,n, mas pode ser diferente (2,2 ou 2,n, por exemplo).

11 Exemplo PqCampismo designação capacidade proprietário código
Concelho Empresa Situado Actua PqCampismo designação capacidade proprietário código número trab. NIF nome 0:n 0:n 1:1 1:n 1:n n:n

12 Criação de um modelo conceptual de dados
1. Identificar tipos de entidade e seus atributos 2. Identificar tipos de associação e seus atributos 3. Definir multiplicidades dos tipos de associação

13 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

14 Relação Nas bases de dados relacionais a estrutura fundamental é a relação. Uma relação é definida por um esquema e por uma tabela. Um esquema é composto: pelo nome da relação pelos nomes dos atributos

15 1. Esquema Exemplos: PqCampismo(designação, capacidade, prop)
Concelho(código,designação)

16 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.

17 2. 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)

18 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.

19 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

20 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.

21 Passagem do modelo E-A para relacional
Um modelo de tipo E-A descreve de uma forma natural e simples a realidade. Os modelos deste tipo são suficientemente flexíveis para poderem ser utilizados eficazmente numa fase em que a estruturação dos dados é ainda confusa. A estas vantagens pode ainda adicionar-se a facilidade com que é possível efectuar a sua passagem para um SGBD relacional, bem formalizado e comercializado por diversos fornecedores de software.

22 Regras para transformação de um modelo E-A num esquema relacional (1)
Cada tipo de entidades do modelo E-A traduz-se por uma relação em que a chave primária e os atributos provêm do tipo de entidade.

23 Regras para transformação de um modelo E-A num esquema relacional (2)
Um tipo de associação de 1:n (um para muitos) entre dois tipos de entidades Ei e Ej que tenha uma multiplicidade igual a 0,1 ou 1,1 para um tipo de entidade Ei traduz-se por uma chave estrangeira na relação R que é tradução de Ej. Ej Ei 1,n 1,1 Rj Ri

24 Regras para transformação de um modelo E-A num esquema relacional (2')
Um tipo de associação de 1:1 (um para um) entre dois tipos de entidades Ei e Ej é tratado como um caso especial do tipo de associação 1:n traduz-se por uma chave estrangeira na relação que é tradução de Ej ou de Ei; se apenas para um destes tipos entidades a multiplicidade for 1,1 (sendo para a outra 0,1) dá-se preferência à relação que traduz este tipo de entidade, no caso contrário é indiferente qual a relação que é escolhida.

25 Regras para transformação de um modelo E-A num esquema relacional (3)
Um tipo de associação n:n (muitos para muitos) traduz-se por uma relação R em que a chave primária inclui as chaves estrangeiras que são chave primária dos tipos de entidade que a constituem; os outros atributos são a tradução dos tipos de atributos da associação (se esta possuir algum). Ej Ei 1,n 1,n Rj Ri R

26 Nota: se nas associações n:n as chaves estrangeiras não são suficientes para formar a chave primária da relação R, na constituição desta devem também ser utilizados outros atributos de forma a ser obtida uma chave primária.

27 Modelo relacional: 1ª forma normal
Todos os atributos tomam valor único. Exemplo: Em vez de Fazer: Tejo principal marítima, terrestre Mondego marítima Tejo principal sim Mondego não

28 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 (AiAk) se e só se sempre que duas instâncias tiverem o mesmo valor em Ai tiverem também o mesmo valor em Ak.

29 Modelo relacional: 2ª forma normal
A relação tem que estar na 1ª forma normal Todos os atributos não primários são funcionalmente dependentes da chave primária.

30 2ª forma normal As tabelas num sistema de informação geográfica devem estar na segunda forma normal. No entanto, essa condição não é suficiente para garantir que as bases de dados não apresentam redundâncias indesejáveis.

31 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?

32 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 são chave primária

33 Normalização A passagem de uma forma normal para outra pode implicar a decomposição de uma tabela num conjunto de tabelas.

34 Exemplo: 2ª FN 3ª FN Exemplo: dada a tabela na 2ª forma normal Fazer:
25 RC11802 Bragança 26 RC11808 Vinhais 25 RC11802 26 RC11808 RC11802 Bragança RC11808 Vinhais

35 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.

36 Por que é que a tabela abaixo não está na 3ª forma normal?

37 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.


Carregar ppt "Desenvolvimento de uma base de dados"

Apresentações semelhantes


Anúncios Google