Вы находитесь на странице: 1из 47

Prof. Me.

Csar Torres Fernandes

Nesta aula, veremos:


Conceitos bsicos; Requisitos para a modelagem de dados;

Importncia da modelagem de dados;


Evoluo dos modelos de dados; Modelo Entidade-Relacionamento.

Abstrao:
Processo mental atravs do qual selecionamos

determinadas propriedades ou caractersticas dos objetos e exclumos outras, consideradas menos relevantes para o problema que est sendo analisado.

Modelo:
uma abstrao, uma representao

simplificada, de uma parcela do mundo real, composta por objetos reais.

Modelagem de Dados:
Refere-se ao processo de criar um modelo de

dados especfico para um determinado problema.


um processo iterativo e progressivo. Comea-se com uma compreenso simples do domnio do problema. Conforme esta compreenso se desenvolve, o nvel de detalhes do modelo tambm se amplia.
5

Modelo de Dados:
uma representao relativamente simples,

normalmente grfica, de estruturas de dados reais mais complexas.


No ambiente de banco de dados, um modelo

representa estruturas de dados e suas caractersticas, relaes, restries, transformaes e outros elementos que tenham a finalidade de dar suporte ao problema especfico de um domnio.
6

Problema de domnio:
uma rea claramente definida no ambiente real,

com escopo e fronteiras bem definidas, que deve ser tratada de forma sistemtica.

Entender a realidade em questo, identificando os objetos que compem a parte da realidade que ser modelada.
Representar formalmente a realidade analisada, construindo um modelo de dados. Estruturar o modelo obtido e adequ-lo ao SGBD a ser usado.
8

Podem facilitar a interao entre o projetista, o desenvolvedor de aplicaes e o usurio final.


Promover uma compreenso aprimorada da organizao para a qual o banco de dados est sendo desenvolvido.

Modelo Hierrquico
Desenvolvido na dcada de 1960. Estrutura lgica bsica representada por uma

estrutura em rvore de cima para baixo contendo nveis ou segmentos. Um segmento equivalente ao tipo de registro em um sistema de arquivos.

10

Jos

Figueiras

Campinas

Antnio

Ip

So Paulo

Joo

Laranjeiras

Campinas

556

1.000

647

5.366

900

55

647

5.366

801

10.533

11

Modelo de Rede:
Criado para representar relacionamentos de

dados complexos com mais eficincia do que o modelo hierrquico, melhorar o desempenho dos bancos de dados e impor um padro a eles.

12

Jos

Figueiras

Campinas

900

55

556 Joo

1.000

Laranjeiras

Campinas

647 Antnio Ip So Paulo 801

5.366

10.533

Clientes

Contas
13

Modelo Relacional:
Criado por E. F. Codd em 1.970. O fundamento do modelo relacional um conceito

matemtico conhecido como relao (chamada de tabela). Uma relao pode ser considerada uma matriz composta da interseco de linhas (tuplas) e colunas (atributos). As relaes (tabelas) so relacionadas umas com as outras por meio do compartilhamento de um atributo comum.
14

Tabela Cliente (dados)

cd-cliente
015 021 037 Tabela Conta (dados)

nome
Jos Joo Antnio

rua
Figueiras Laranjeiras Ip

cidade
Campinas Campinas So Paulo

nro-conta
900 556 647 801

saldo
55 1.000 5.366 10.533

cd-cliente
015 021 021 037 037

nro-conta
900 556 647 647 801

Tabela Cliente-Conta (relacionamento)

15

Modelo Entidade-Relacionamento:
Criado por Peter Chen e apresentado pela

primeira vez em 1.976. Trata-se da representao grfica de entidades e de seus relacionamentos em um diagrama entidade-relacionamento (DER). Entidade:
um objeto ou ente do mundo real que possui existncia prpria e cujas caractersticas ou propriedades desejamos registrar.
16

Modelo Entidade-Relacionamento:
Entidade: um objeto ou ente do mundo real que possui existncia prpria e cujas caractersticas ou propriedades desejamos registrar. Relacionamento: Descrevem associaes entre as entidades.

17

18

19

O modelo entidade-relacionamento baseado em uma percepo de um mundo real que consiste em uma coleo de objetos bsicos chamados entidades, e em relacionamentos entre estes objetos.
Entidade: um objeto que distinguvel de outro objeto por um conjunto especfico de atributos. Relacionamento: uma associao entre vrias entidades. Observaes:

O conjunto de todas as entidades de um mesmo tipo so denominados conjuntos de entidades. O conjunto de relacionamentos do mesmo tipo so denominados conjuntos de relacionamentos.

20

O modelo ER representa certas restries com os quais os contedos de bancos de dados precisam estar de acordo.
Uma restrio importante o mapeamento de cardinalidade (ou multiplicidade de um conjunto de relacionamentos) que expressa o nmero de entidades ao qual outra entidade pode estar associada via um conjunto de relacionamentos.
21

22

A estrutura lgica geral de um banco de dados pode ser expressa graficamente por um diagrama ER (notao Peter Chen), que consiste nos seguintes componentes:
Retngulos que representam conjuntos de entidades; Elipses que representam atributos; Losangos que representam relacionamentos entre conjuntos

de entidades;

Linhas que ligam atributos a conjuntos de entidades e

conjuntos de entidades a relacionamentos.

23

Exemplo:
agncia, o conjunto de todas as agncias de um banco. Cada agncia

descrita pelos atributos nome-agncia, cidade-agncia e ativos; cliente, o conjunto de todas as pessoas que tm uma conta no banco. Cada cliente descrito pelos atributos nome-cliente, seguridade-social, rua e cidadecliente; funcionrio, o conjunto de todas as pessoas que trabalham no banco. Cada funcionrio descrito pelos atributos nome-funcionrio e nmero-telefone; conta, o conjunto de todas as contas mantidas no banco. Cada conta descrita pelos atributos nmero-conta e saldo; transao, o conjunto de todas as transaes executadas no banco. Cada transao descrita pelos atributos nmero-transao, data e quantia.

24

25

ATRIBUTOS
Uma vez que a noo de um conjunto de

entidades e de um conjunto de relacionamentos no precisa, possvel definir um conjunto de entidades e o relacionamento entre elas de diversos modos. A principal diferena a forma como tratamos os vrios atributos.

26

Existem diversos tipos de atributos:


Compostos: Os atributos compostos podem ser divididos em partes menores,

ou sub-partes, os quais representariam atributos bsicos mais simples com significados independentes. Por exemplo, um atributo endereo pode ser subdividido em rua, cidade, estado e CEP. Poderamos tambm dividir o atributo rua em nmero, nome-rua e nmero-apartamento. Atributos deste tipo formam uma hierarquia.
Simples: So chamados tambm por atributos atmicos. Eles no so

divisveis.
Mono-valorado: So atributos que possuem apenas um valor para uma

entidade em particular. Por exemplo, a idade um atributo mono-valorado para uma entidade pessoa.
27

Multivalorado: So atributos que possuem um ou mais valores para o mesmo.

Por exemplo, o atributo idioma de uma entidade aluno pode conter os valores ingls e francs.
Armazenado. Em geral todos os atributos so armazenados. Derivado. Alguns atributos podem ter uma relao entre si. Por exemplo,

idade e data-nascimento de uma pessoa. Para uma pessoa em particular, podemos determinar o valor atual de idade atravs do atributo datanascimento. Ento idade chamado um atributo derivado e derivado do atributo data-nascimento. Alguns atributos podem ser derivados de entidades relacionadas. Por exemplo, um atributo nmero-empregados de uma entidade departamento pode ser derivado atravs da contagem de nmero de empregados que trabalham-para um departamento.

28

Nulo: Em alguns casos, uma entidade pode no necessitar de um valor

aplicvel a um de seus atributos. Por exemplo, no atributo nmeroapartamento composto visto acima, apenas definiremos valores para este campo quando a entidade pessoa em particular morar em um prdio. Outro exemplo multivalorado idioma de um aluno: caso este aluno em particular no tenha fluncia em nenhuma lngua, ento no necessitamos preencher o valor deste atributo. A representao de um atributo sem valor colocarmos um valor especial null. Null tambm pode ser utilizado quando no conhecemos o valor de um atributo, por exemplo, quando se desconhecida a data de nascimento de uma pessoa.

29

importante poder especificar como entidades e relacionamentos so identificados.


Conceitualmente, entidades e relacionamentos individuais so distintos, mas numa perspectiva de banco de dados a diferena entre eles precisa ser expressa em termos de seus atributos.

Utilizaremos o termo chave primria para denotar uma chave candidata que escolhida por um projetista de banco de dados como meio principal de identificao de entidades dentro de um conjunto de entidades.
30

Um esquema ER de uma empresa pode definir certas restries com as quais o contedo do banco de dados tem de estar de acordo. Uma restrio importante so as cardinalidades (ou multiplicidade) do mapeamento, que expressam o nmero de entidades s quais outra entidade pode estar associada via um conjunto de relacionamentos.
As cardinalidades do mapeamento so muito teis na descrio de conjuntos de relacionamentos binrios, embora ocasionalmente contribuam para a descrio de conjuntos de relacionamentos que envolvam mais de dois conjuntos de entidades. O foco ser em conjuntos de relacionamentos binrios.

31

Para um conjunto de relacionamentos binrio R entre o conjunto de entidades A e B, a cardinalidade do mapeamento precisa ser um dos seguintes: Um-para-um: uma entidade A est associada no

mximo a uma entidade B e uma entidade B est associada no mximo a uma entidade de A.
Um-para-muitos: uma entidade A est associada

a qualquer nmero de entidades de B. Uma entidade de B, entretanto, pode estar associada no mximo a uma entidade de A.
32

Muitos-para-um: uma entidade A est associada

no mximo a uma entidade de B. Uma entidade de B, entretanto, pode estar associada a qualquer nmero de entidades de A;.
Muitos-para-muitos: uma entidade A est

associada a qualquer nmero de entidades de B e uma entidade de B est associada a qualquer nmero de entidades de A.
33

34

35

Modelar um banco de dados parece uma tarefa simples, porm cheia de dificuldades que no esto explcitas e muitas vezes passamos despercebidos. Esta fase a mais importante de um projeto de banco de dados e deve-se tomar o maior cuidado, pois um modelo ER errado implicar em um modelo fsico errado. Uma vez feito o modelo fsico, as alteraes no modelo ER podem causar grandes impactos no modelo fsico e consequentemente muitas horas de retrabalho.
36

Vamos utilizar algumas convenes no modelo ER:


Nomes de conjuntos de entidades e conjuntos de

relacionamentos sero em letras maisculas; Nomes de atributos e papis sero em letras minsculas; Desenhar o diagrama ER de cima para baixo, da esquerda para a direita.

37

Como prtica geral, dada uma descrio narrativa dos requisitos de um banco de dados, os substantivos que aparecem na narrativa tendem a denotar nomes de conjuntos de entidades e os verbos tendem a denotar nomes de conjuntos de relacionamentos. Os atributos dos conjuntos de entidades provem da descrio adicional dos substantivos correspondente s entidades.
38

Em geral, a narrativa dos requisitos de informaes que o banco de dados armazenar pode ser feito atravs de:

Entrevistas; Engenharia reversa de um sistema; E-mails Telefone; Enfim, todo canal de comunicao utilizado a fim de coletar as diferentes vises de um banco de dados que tero vrios usurios finais.
39

Geralmente, o processo de modelagem iterativo, onde:


Inicialmente identificamos e representamos os

conjuntos de entidades (fortes e fracas); Identificamos e representamos os conjuntos de relacionamentos; Procuramos os atributos das entidades e dos relacionamentos e o domnio destes atributos; Definindo as superchaves, chaves candidatas e chaves parciais;
40

Definimos os tipos de atributos

(simples/compostos, mono/multivalorados, armazenado/derivado); Definimos as cardinalidades dos conjuntos de relacionamentos; Definimos a participao (total ou parcial) de cada papel de relacionamento; Refinamos o modelo ER a fim de verificar se este atende as necessidades das diferentes vises.
41

Projeto: Modelo ER - Requisio de desenvolvimento de banco de dados


Nossa empresa deseja que o profissional indicado, o projetista de banco de dados,

analise e desenvolva um banco de dados para armazenarmos informaes sobre nossos funcionrios. Segue a descrio abaixo. Nesta fase inicial, desejamos interagir para definirmos as informaes necessrias para o projetista. Desejamos alguns diagramas para visualizarmos o que ser feito. Segue a descrio de nossa empresa:
Possumos muitos funcionrios, cada qual pertencendo a um sexo bem definido, possuindo um nome completo constitudo de nome, sobrenome e nome do meio. Armazenaremos informaes do endereo, cpf e data de nascimento. Tambm armazenaremos a idade atual do funcionrio, alm do rg. Cada funcionrio supervisionado por um gerente, que tambm um funcionrio desta empresa. Os funcionrios so bem estudados e falam diversas lnguas estrangeiras. Desejaremos conceder no futuro benefcios a um dependente de cada funcionrio. Para tanto, teremos em mo o nome, sexo, data de nascimento e tipo de relacionamento com o funcionrio.
42

Cada funcionrio trabalha em vrios projetos (no mnimo em um), gastando algumas horas para a realizao do mesmo. Cada projeto bem identificado e possui um nome e uma localizao. Podem participar de um projeto mais de um funcionrio. Ah, temos tambm os departamentos, cada qual contendo um nmero determinado de funcionrios. Cada funcionrio trabalha em no mximo quatro departamentos, j que eles no so de ferro. Os departamentos so gerenciados por apenas um funcionrio a partir de uma determinada data. Cada departamento, claro, possui uma identificao, um nome e diversas localizaes fsicas. Por exemplo, o departamento Comercial est localizado em So Paulo, Rio de Janeiro e Macei. Cada departamento pode controlar no mximo cinco projetos, mas pode acontecer deste departamento no controlar nenhum projeto. Cada projeto controlado por um e somente um departamento.

43

44

Gerncia Acadmica de uma Universidade


Decidiu-se automatizar alguns procedimentos da Gerncia Acadmica (GA) da Universidade UNITESTE. Com a finalidade de auxiliar esta tarefa, foi solicitado o desenvolvimento de um banco de dados. A Gerncia Acadmica mantm um controle centralizado de alunos, cursos, disciplinas, turmas de matrias, professores e histrico escolar de alunos. Os alunos so admitidos nos cursos por meio de um vestibular ou transferncia, e um aluno s pode estar ligado a um curso, em um dado instante. Os alunos, quando ingressam na universidade, preenchem uma ficha cadastral (com nmero de matrcula pr-impresso) com nome e endereo. De acordo com as normas (estatutos) da UNITESTE, cada disciplina para ser oferecida, necessita de um mnimo de dez alunos e para que o alto padro de ensino oferecido seja mantido, cada disciplina dever ter no mximo 50 (cinqenta) alunos. Os cursos so compostos por disciplinas, as quais podem ser obrigatrias ou optativas, dependendo do curso a que pertencem. Cada disciplina est sob a responsabilidade de um departamento da universidade, e codificada de acordo com um padro preestabelecido pelo conselho. Segundo uma conveno adotada pela UNITESTE, os professores podem ser cadastrados na GA sem estar lecionando uma disciplina. Cada professor pode ministrar at o mximo de 3 (trs) matrias. Para que um professor ministre uma disciplina, o mesmo, deve estar devidamente habilitado pelo CFE (Conselho Federal de Educao). Cada professor est vinculado a um departamento e possui um cdigo especfico para sua diferenciao dentre os demais professores.

45

Para o perfeito acompanhamento acadmico do aluno durante o curso, a UNITESTE possui um histrico escolar. Esse documento o conjunto de todas as disciplinas cursadas pelo aluno em toda a sua vida acadmica dentro da UNITESTE. Contm o registro das disciplinas e indica a nota (conceito) final e a data em que a disciplina foi cursada. Os departamentos so responsveis pelos cursos de suas reas de atuao. As responsabilidades envolvem a definio do nmero de crditos exigidos para a concluso do curso, o nmero total de horas exigidas para o curso e o nmero total de horas nas disciplinas obrigatrias. A UNITESTE adota um sistema progressivo de aprendizado, no qual cada disciplina pode ter no mximo 3 (trs) e no mnimo 0 (zero) pr-requisitos. Geralmente, as matrias sem nenhum pr-requisito, ou esto no primeiro perodo, ou so disciplinas eletivas (no obrigatrias). De acordo com o Conselho Acadmico, um aluno pode, em um dado semestre, no estar matriculado em nenhuma disciplina, caracterizando um trancamento de matrcula. Em um perodo letivo, um aluno pode se matricular, no mximo, em 7 (sete) disciplinas. O conselho tambm fixou que um aluno pode repetir no mximo 3 (trs) vezes a mesma disciplina. No total, a UNITESTE pode comportar 5000 (cinco mil) alunos matriculados em seus diversos cursos. A cada ano, so admitidos 800 (oitocentos) novos alunos via vestibular e as transferncias externas podem ser no mximo 60 (sessenta). Formam-se em torno de 300 (trezentos) alunos por semestre. A UNITESTE oferece 10 cursos e 280 (duzentos e oitenta) disciplinas, possuindo cerca de 120 (cento e vinte) professores.

46

CORONEL, Carlos; ROB, Peter. Sistemas de Banco de Dados: projeto, implementao e gerenciamento. 8. Edio. So Paulo: Cengage Learning, 2011.
ELMASRI, Ramirez; NAVATHEM, Shamkant B. Sistema de Banco de Dados. 4 Edio. So Paulo:Perarson Addison Wesley, 2005. SILBERSCHATZ, Abrahan; KORTH, Henry F.; SUDARSHAN, S. Sistema de Banco de Dados. 3 Edio. So Paulo:Makron Books, 1999.

47