Escolar Documentos
Profissional Documentos
Cultura Documentos
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
Modelagem de Dados:
Refere-se ao processo de criar um modelo de
Modelo de Dados:
uma representao relativamente simples,
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
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
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
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
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;
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
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
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
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
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
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
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
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
(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
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
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