You are on page 1of 171

Fundamentos de Banco de Dados

Peter Lucas Gomes Costa Branco

Introduo Sociedade da Informao


Aula 1

Sociedade da Informao

Na sociedade da informao, dois conceitos so essenciais:

Dado: matria-prima de forma crua, fatos que podem ser gravados e que possuem algum significado implcito

Informao: a associao de dado e contexto capaz de prover conhecimento

Conhecimento
Vantagem Estratgica

Informao Sistema de Informao

Dado

Conceitos

Dados:

Uma representao de fatos, conceitos ou instrues em uma maneira formalmente 1986). ajustada para comunicao , interpretao ou processamento por meios humanos ou automticos. (ROSEMBERG,

Informao

Resultado do processamento de dados, de forma que ela derivada da montagem, anlise ou sumarizao de dados em uma forma que apresente sentido. (Chandor, 1985).

Conceitos

Bancos de dados

Tambm chamado de Bases de Dados, so conjuntos de dados com uma estrutura regular que organizam informao. Um banco de dados normalmente agrupa informaes utilizadas para um mesmo fim. colees de dados que so organizadas de tal forma que possam ser facilmente acessados, manipulados e atualizados.

Conhecimento

Conhecimento a informao refinada. a informao que foi interpretada, categorizada, aplicada e revisada. (Mcgraw, 1989)

Conceitos

Tecnologia da Informao

Captura da Informao; Transmisso da Informao; Processamento da Informao; Armazenamento da Informao; Exibio da Informao

Dentro desse contexto, Banco de Dados o componente da


Tecnologia da Informao voltado para o Armazenamento da

Informao.

Conceitos

Os Bancos de Dados, conforme conhecidos hoje, esto ligados maioria dos sistemas de armazenamento e consulta digital Exemplos:

Sistemas bancrios, de controle de estoque, de farmcias, de locadoras, de controle de reservas Sistemas de gesto de recursos em empresas Sistemas de bibliotecas e acervos digitais

Mais recentemente, alm de lidar com dados tradicionais os Bancos de Dados puderam ser utilizados em outras reas do conhecimento:

Banco de dados multimdia: armazena imagens, som e vdeo


Sistemas de Informao Geogrfica: armazena e oferece recursos para manipular dados espaciais Sistemas em tempo real: vigilncia area e controle de cho de fbrica

Conceitos

Um banco de dados uma coleo de dados relacionados Deve armazenar e refletir fatos do mundo real

Um banco de dados deve atender 3 requisitos:

Um banco de dados deve representar aspectos do mundo real, chamado

de Universo de Discurso (UoD)


Um banco de dados deve possuir algum significado implcito Um banco de dados desenhado, construdo e populado para um pblico alvo e aplicaes especficas

O SGBD Sistema de gerenciamento de banco Aula 2 de dados

O SGBD

Um Sistema Gerenciamento de Banco de Dados (SGBD) uma coleo de softwares que permite criar e manter um banco de dados

Definio de um banco de dados Construo de um banco de dados Manipulao de um banco de dados

10

Pode-se criar um Banco de Dados manualmente Tambm possvel desenvolver um SGBD proprietrio, destinado a finalidades especficas O habitual usar um SGBD desenvolvido por uma grande companhia Hoje, SGBDs open-source esto ganhando mercado

Baixo custo Aplicaes simples

Estrutura do SGBD

Profa. Elcione

12

Conceitos

Funes de um SGBD

Armazenamento, recuperao e atualizao de dados Prover acesso ao catlogo Suporte a transaes

Servios de controle de concorrncia


Servios de recuperao

Servios de autenticao
Servios para garantir integridade

13

Uso de Banco de Dados


Aula 3

Usando o banco de dados


Inicialmente, os programas eram criados armazenando seus dados em arquivos definidos pelo programador A definio da estrutura dos arquivos era mantida dentro dos programas Isto dificultava a manuteno, evoluo e integrao com outros programas Aspectos considerados no desenvolvimento de aplicativos com arquivos:

Nmero de arquivos (limitaes SO) Limitao do tipo do arquivo Uso de memria Codificao em baixo nvel para coordenar concorrncia e sincronizao

15

Uso de Banco de Dados

Do que foi apresentado, conclui-se que a criao de sistemas baseados em arquivos possui desvantagens como:

Maior tempo de desenvolvimento Necessidade de lidar com aspectos de manipulao de arquivos Redundncia na definio e armazenamento de dados Maior esforo para manuteno do sistema Dificuldade para implementar segurana Isolamento

O desenvolvimento baseado em Bancos de Dados possui vantagens quando comparado ao desenvolvimento baseado em arquivos
16

Uso de Banco de Dados

Natureza auto-descritiva de um banco de dados

Um banco de dados possui uma descrio completa da sua estrutura, armazenada no catlogo

A mesma estrutura do catlogo pode ser compartilhada entre vrios Bancos de Dados

O catlogo tambm registra restries, definies de usurios e segurana, entre outros dados

17

Uso de Banco de Dados

Separao

entre Programas

e Dados

Abstrao de Dados

A independncia entre programas e dados ocorre porque a alterao na estrutura dos arquivos no precisa ser refletida nos programas (utilizao de mapeamentos)

A abordagem de Banco de Dados prov uma viso abstrata dos dados porque oculta detalhes de como os dados so armazenados e mantidos. Isto chama-se abstrao de dados

18

Uso de Banco de Dados

Suporte a Mltiplas Vises dos Dados

A abordagem de Banco de Dados oferece subsdios para visualizar um mesmo


conjunto de dados de forma diferente, de acordo com a necessidade

Cada usurio v somente sua parte de interesse, seu subconjunto, do Banco de Dados

Permite aumentar a segurana e adaptar a aparncia do Banco de Dados Exemplo:


Considere uma grande rede de supermercados Quais informaes devem ser vistas por um responsvel pelo estoque? Quais informaes devem ser vistas pelo gerente geral?

19

Uso de Banco de Dados


Compartilhamento de Dados e Suporte a Transaes

Vrios usurios acessam e operam sobre um Banco de Dados simultaneamente


Os dados permanecem integrados, mantidos em um nico repositrio Os SGBDs fornecem mecanismos de controle de concorrncia para que os dados permaneam consistentes aps cada transao

20

Quando usar SGBDs

As seguintes caractersticas so beneficiadas com o uso de SGBDs:


Controle de Redundncia Restrio de Acesso Armazenamento Persistente para Objetos de Programas e Estruturas de Dados

21

Fornecimento de Mltiplas Interfaces de Usurios


Representao de Relacionamentos Complexos entre os Dados Imposio de Restries de Integridade Backup e Recuperao Reduo no tempo de desenvolvimento de aplicaes Flexibilidade Disponibilidade da informao atualizada Economia de escala

Quando no usar SGBDs

Existem situaes no apropriadas para o uso de um

SGBD devido:

Alto investimento inicial em hardware, software e treinamento

Generalidade que o SGBD fornece para definir e processar dados


Overhead gerado com a segurana, controle de concorrncia, recuperao e integridade dos dados

22

Componentes do SGBD

Dados:

Informao armazenada.

Hardware:

Servidor de banco de dados.

Software:

Sistema de Gerenciamento de Banco Dados (SGDB).

Usurio:

Usurios que acessam o banco de dados.

23

Exemplos de SGBDs
Em algumas circunstncias mais aconselhvel usar arquivos regulares a
BDs:

MySQL; Postgre; Oracle; SQL Server; Sybase; DB/2; Informix


24

Classificao do SGBDs

Os SGBDs podem ser classificados em critrios como:

O modelo de dados

SGBDs Relacionais, SGBDs Orientados a Objetos e SGBDs Objeto-Relacionais

O nmero de usurios

SGBDs monousurio e SGBDs multi-usurios

O nmero de stios:

SGBDs centralizados e SGBDs Distribudos

Preo

SGBDs baratos e SGBDs de alto custo

Licenciamento

Gratuitos, Open-source e proprietrios

25

Profissionais de Banco de dados The Database Professional


Aula 4

Profissionais e Banco de Dados

Pode-se destacar os seguintes profissionais envolvidos em um ambiente de Banco de Dados

Administrador de Banco de Dados (DBA)

o responsvel por gerenciar os recursos do Banco de Dados, ou seja, o Banco de Dados em si, o SGBD e demais softwares Autoriza acesso ao Banco de Dados Coordena e monitora seu uso, gerencia softwares e suas licenas e hardwares Define esquemas e estruturas de armazenamento para os Bancos de Dados Normalmente existe uma equipe constituda por vrios DBAs que garantem o bom funcionamento do Banco de Dados

27

Profissionais e Banco de Dados

Projetista de Banco de Dados

Identifica os requisitos para dados a serem armazenados


Escolhe estruturas adequadas para representar e armazenar os dados A tarefa do projetista deve ser executada antes do Banco de Dados ser criado O projetista pode compor a equipe de DBAs e realizar outras atividades relacionadas ao Banco

28

Profissionais e Banco de Dados

Analistas e programadores

Determinam os requisitos e desenvolvem especificaes para os sistemas que utilizam

o Banco de Dados

Usurio Final

Recuperam e inserem dados no Banco de Dados durante a execuo de suas tarefas


Normalmente interagem com o Banco a partir de uma aplicao ou interface customizada

29

Profissionais e Banco de Dados

Existem usurios que trabalham no desenvolvimento do SGBD e seu ambiente:

Projetistas e desenvolvedores de SGBD: esto envolvidos no desenvolvimento


dos mdulos de um SGBD

Desenvolvedores de ferramentas: so aqueles que desenvolvem ferramentas que podem ser compradas para integrar o ambiente do Banco de Dados

Pessoal de manuteno e operadores: so os administradores de sistemas que do suporte a hardware e software relacionados ao Banco de Dados

30

O Sistema de Banco de dados SBD


Aula 5

O SBD Sistema de banco de dados


O SGBD e o Banco de Dados juntos constituem o Sistema de Banco de Dados
SGBD + BD = SBD

Sistemas/Aplicaes
SGBD Banco de Dados

Dados + Catlogo = BD

32

Arquitetura de SBD

Os SGBDs evoluram de sistemas monolticos para sistemas


modularizados

Basicamente funcionam de acordo com a arquitetura cliente-servidor

O lado cliente lida com as aplicaes que acessam o BD, manipulando


as interaes dos usurios

O lado servidor cuida do armazenamento de dados, seu acesso e sua procura

Tem se tornado comum a interao com BDs via web

33

Arquitetura Cliente - Servidor

um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Cada instncia de um cliente pode enviar requisies de dado para algum dos servidores conectados e esperar pela resposta. Por sua vez, algum dos servidores disponveis pode aceitar tais requisies, process-las e retornar o resultado para o cliente.

34

Arquitetura Cliente - Servidor

Arquitetura de SBD

Acesso ao Banco de Dados:

Aplicativo era executado em uma nica mquina, era comum encontrar sistemas monolticos contendo todas as funcionalidade s do aplicativo em uma nica grande camada

36

Arquitetura de SBD

Cliente-servidor com duas camadas:

O cliente gerencia a lgica de negcio, o processamento do

dados e a interface de usurio

O servidor gerencia e controla o acesso ao BD

37

Arquitetura de SBD

Cliente-servidor camadas:

com

trs

envolve a separao das funcionalidades usando camadas, com o objetivo de separar a lgica de apresentao, a lgica de negocio e a conexo com o banco de dados (lgica de acesso a dados). A separao em trs camadas torna o sistema mais flexvel, de modo que partes podem ser alteradas independentemente. Com o emprego de arquitetura em trs, qualquer alterao em uma determinada camada no influi nas demais, desde que o mecanismo de comunicao entre elas permanece inalterado.

38

Arquitetura de SBD

39

Os modelos de dados
Aula 6

Classificao de Modelos de Dados

A maneira mais prtica de classificar bancos de dados de acordo com a forma que seus dados so vistos pelo usurio, ou seja, seu modelo de dados.

41

Modelos

Modelos a representao abstrata e simplificada de uma determinada realidade, com a qual se pode explicar ou

testar o seu comportamento, em sua totalidade ou em


partes antes de sua existncia real.

42

Modelos de Dados

Um modelo de dados uma coleo de conceitos que podem ser usados para descrever a estrutura de um BD (tipos e

definies, restries e operaes).

Modelo de dados um conjunto de conceitos que podem ser

usados para descrever a estrutura de um banco de dado, tipos


de dados, relacionamentos e restries. Pode tambm incluir operaes que especificam consultas e atualizaes no banco de dados.
43

Modelos de Dados

Diversos modelos foram e vem sendo utilizados ao longo da histria, com vantagens para um ou para outro por determinados perodos.

Modelo em Redes Modelo Hierrquico Modelo Relacional Modelo Orientado a Objetos

Modelo Hierrquico

No modelo de rede, os dados so representados por uma coleo de registros e os relacionamentos entre dados so representados por meio de links.

A estrutura de registros e links tambm a estrutura do modelo hierrquico.

Modelo Hierrquico

So arquivos relacionados de forma que para cada registro Pai pode se relacionar com vrios registros Filhos e o filho apenas pertencer a um pai. No mapeia Relacionamentos de M:N

Modelo Hierrquico
dummy

nome rua cidade

nome rua cidade

nome rua cidade

nmero saldo

nmero saldo

nmero saldo

rvore de Banco de Dados

Modelos de Redes

Um banco de dados de rede uma coleo de registros conectados uns aos outros por meio de links. Um registro , em muitos aspectos, similar a uma entidade do modelo entidade-relacionamento. Cada registro uma coleo de campos (atributos), cada qual contendo somente um valor..

Modelos de Redes

um conjunto de arquivos relacionados, de tal forma que cada arquivo "pai" pode se relacionar com vrios arquivos "filhos" e cada arquivo "filho" pode ser filho de vrios arquivos "pai. A limitao que existia anteriormente nos BD Hierrquicos para a implementao de relacionamentos "no hierrquicos", deixa de existir com os BD de Redes, porm, os relacionamentos entre os arquivos continuaram sendo implementados atravs de ponteiros fsicos, cuja manipulao continuava sendo relativamente complexa, dificultando a criao de linguagens de manipulao de Banco de Dados voltadas para usurios finais.

Modelos de Redes
Regsitro Cliente Link Conta

Joo da Silva

Av. Tarum

Manaus

1010 500,00

1210 600,00 Maria Soares 10 de Maio Manaus 1310 700,00

Jos Batista

7 de setembro

Manaus

1411 800,00

Modelo Relacional

Proposto por Peter Chen em 1976.

um modelo de dados de alto nvel.


As entidades, relacionamentos, atributos e restries descrevem as regras de negcio do sistema.

Modelo Entidade Relacionamento

O MER um modelo de dados conceitual de alto-nvel, ou seja, seus conceitos foram projetados para serem compreensveis a usurios, descartando detalhes de como os dados so armazenados. Proporciona uma viso lgica de alto nvel dos dados. uma descrio abstrata de uma poro do mundo real. Atravs do MER, podemos ter uma fotografia do sistema.

Modelo Entidade Relacionamento

Componentes do MER

Entidade Atributo de Entidade Relacionamento entre Entidades Cardinalidade

Exemplo do DER

Modelo Orientado Objetos

O Uma nova maneira de pensar nos problemas utilizando modelos organizados a partir de conceitos do mundo real. O componente fundamental o objeto que combina estrutura e comportamento em uma nica entidade".

Rumbaugh (1994)

Modelo de Dados Orientado Objetos

O modelo de dados Orientado a Objeto engloba todos os conceitos do paradigma orientado a objeto:

Classe, Objeto Abstrao, Encapsulamento Herana, Polimorfismo etc.

Modelo de dados OO

Modelos de Dados

Os modelos de dados podem ser categorizados da seguinte forma:

Nvel Conceitual

o nvel de abstrao mais alto onde os conceitos so prximos ao modo como os usurios percebem os dados. Preocupa-se com as entidades, os objetos do problema

Nvel Lgico

o nvel de abstrao intermedirio, onde os conceitos identificados so representados atravs de estruturas lgicas

Nvel Fsico

o nvel que se preocupa com o armazenamento dos dados e as estruturas fsicas


relacionadas

59

Os nveis de banco de dados


Aula 7

Independncia de Dados

Trs importantes caractersticas da abordagem de Banco de Dados so:

Separao entre programa e dados


Suporte a mltiplas vises dos dados Uso do catlogo para armazenar a descrio do Banco de Dados

Estas trs caractersticas so conseguidas graas a arquitetura dos Sistemas de Bancos de Dados, chamada de arquitetura de trs esquemas
61

Independncia de Dados
Usurios Finais NVEL EXTERNO Viso Externa A Viso Externa B

.. .

Viso Externa N

Mapeamento Externo/Conceitual

NVEL CONCEITUAL
Mapeamento Conceitual/Interno

Esquema Conceitual

NVEL INTERNO

Esquema Interno

Banco de Dados
62

Independncia de Dados

Estes 3 esquemas so apenas descries dos dados Uma requisio ao dado nesta arquitetura segue o caminho:
Esquema externo Esquema conceitual Esquema interno

Nveis X Modelos

Nvel Externo Modelo de Dados de Alto Nvel ou Implementao Nvel Conceitual Modelo de Dados de Alto Nvel ou Implementao Nvel Interno Modelo de Dados Fsico

63

Independncia de Dados

A arquitetura mostrada viabiliza a independncia dos dados porque possvel modificar um nvel sem afetar os nveis acima

Existem 2 tipos de independncia de dados:


Independncia lgica: alterao no esquema conceitual no altera os programas Independncia fsica: alterao no esquema interno no altera o esquema conceitual e os programas

64

Modelagem de Dados

O desenvolvimento de sistemas envolve:


Criao de interfaces grficas Criao de mdulos com a lgica de negcio Definio e construo do Banco de Dados

Os Banco de Dados preocupam-se com os dados (parte esttica) e os programas realizam o processamento (parte dinmica)
65

Modelagem de Dados

66

Profa. Elcione

Abstrao de Dados
O Maior propsito dos Sistemas de BD o de oferecer aos usurios uma viso abstrata dos dados. Isto , o sistema esconde certos

detalhes de como o dado armazenado e mantido. A complexidade


est escondida atravs de diversos nveis de abstrao que simplificam

a interao do usurio do Sistema.

Profa. Elcione

67

Abstrao de Dados

MundoReal Mundo Real

Modelo Entidade Relacionamento


nvel conceitual

Modelo Relacional
nvel lgico

nvel fsico

Profa. Elcione

68

Nvel Conceitual
o nvel mais alto de abstrao, fala de objetos do mundo real e suas respectivas operaes. A nfase est na informao e no como ela ser implementada.

Profa. Elcione

69

Exemplo de Nvel Conceitual

Nvel Lgico
Neste nvel de abstrao so escolhidas as estruturas lgicas que representaro os objetos do modelo conceitual no computador.

Profa. Elcione

71

Exemplo de Nvel Conceitual


Estrutura de dados utilizada: Tabelas

Nvel Fsico
o mais baixo nvel de abstrao e descreve como os dados sero armazenados, como deve ser a representao fsica das estruturas lgicas definidas no modelo lgico. Especificase tambm as operaes do modelo lgico usando-se a representao fsica.

Profa. Elcione

73

Exemplo de Nvel Conceitual


CREATE TABLE Funcionario ( Matricula Integer PRIMARY KEY, Rua Varchar(50), Bairro varchar(50), Telefone varchar(15), Telefone varchar(15), NroDepto Texto(1) ) CREATE TABLE Departamento ( NroDepto Texto(1) PRIMARY KEY ) CREATE TABLE Dependente ( Cod_Dependente Texto(1) PRIMARY KEY, Teste Texto(1), Matricula Integer, FOREIGN KEY(Matricula) REFERENCES Funcionario (Matricula) ) ALTER TABLE Funcionario ADD FOREIGN KEY(NroDepto) REFERENCES Departamento (NroDepto)

O Modelo Entidade Relacionamento


Aula 8

MER
A tcnica de modelagem mais usada a Abordagem Entidade-Relacionamento (ER). O modelo de dados representado graficamente atraves de um Diagrama de Entidade-Relacionamento (DER). Essa abordagem foi criada por Peter Chen (1976) considerada como um padro para a modelagem conceitual.

BANCO DE DADOS

uma coleo de dados inter-relacionados, representando informaes sobre um domnio especfico (conceito geral)

Representa aspectos do mundo real. Mudanas no mundo real so refletidas no BD uma coleo lgica e coerente de dados com relacionamentos intrnsecos;

projetado, construdo, e mantido para uma proposta especfica. direcionado a um grupo de usurios/aplicao
Pode ter qualquer tamanho/complexidade

MODELOS DE DADOS

Mundo Real

Soluo

Modelo a representao abstrata e simplificada de uma determinada realidade. um conjunto de conceitos para descrever os dados, de restries e relacionamento entre esses dados.

MODELOS DE DADOS
Modelo de Entidade do Modelo do cliente

Modelo sistema mente cliente

do na do Representao Tabular do modelo de entidade

Server

Tabelas no disco

Nveis de Abstrao de BD
Mundo Real

Modelo Entidade Relacionamento


Nvel Conceitual

Modelo Relacional-Objeto Relacional nvel lgico

nvel fsico

Modelo Entidade Relacionamento - MER


Proporciona uma viso lgica de alto nvel dos dados

uma descrio abstrata de uma poro do mundo real


Todos os dados so visualizados como fatos especficos sobre entidades, relacionamentos e atributos Atravs do MER, podemos ter uma fotografia do sistema As entidades, relacionamentos e atributos descrevem as regras de negcio da empresa

Modelo Entidade Relacionamento - MER


Modelo Entidade-Relacionamento (MER) Original: Fases do Projeto de Bases de Dados Definio e Objetivo do Modelo ER Entidades e Conjuntos-Entidade Atributos e Domnio de um Atributo Relacionamentos e Conjuntos-Relacionamento Projeto de Chaves Grau de um Relacionamento Restries de Cardinalidade e Integridade Referencial

Modelo Entidade Relacionamento - MER


Extenses e Variaes do MER : Agregao Generalizao/Especializao Notao,Variaes e Exemplos Dicas para Elaborao de Modelos E-R

Modelo Entidade Relacionamento - MER

Definio: modelo baseado na percepo do mundo real que consiste em um conjunto de objetos bsicos, chamados entidades, e nos relacionamentos entre esses objetos. Objetivo: facilitar o projeto de banco de dados, possibilitando especificar a estrutura lgica geral.

Modelo Entidade Relacionamento MER


Atributo
supervisor DataIni

Relacionamento

gerenciar 1 nmero endereo nome salrio 1 N 1 N FUNCIONRIO N 1 localizao participar possuir horas N N nome DataNiver parentesco DEPENDENTE N PROJETO controlar trabalhar 1 1 DEPARTAMENTO nmero nome

nmero nome

Entidade

Modelo Entidade Relacionamento - Convenes


Entidade Entidade Fraca Relacionamento Relacionamento Identificador

Atributo
Atributo Identificador
z

Atributo Multivalorado

Modelo Entidade Relacionamento Convenes


... Atributo Composto

Atributo Derivado
Participao total de E2 em R Ex: Agncia e Conta Corrente

E1

E2

E1

E2

Cardinalidade 1:N para E1:E2 em R

E1

(min,max)

E2

Constraint (min,max) de E em R

cdigo

descrio

cdigo salrio 4,N

nome

GENERO endereo 1,1

FUNCIONARIO 1,N classifica 1,1 cdigo nome principal supervisor ATOR cdigo descrio 0,N 2,N possui 1,N FILME 1,1 cdigo nome qtde fitas preo

1,1

STATUS CLIENTE dt prev ret dt aluguel valor pago

possui

multa 1,N

1,N FITA

condio cdigo

possui

aluguel dt retorno 1,N 0,N CLIENTE valor previsto

cdigo

nome

endereo

Componentes do MER

ENTIDADE

Qualquer coisa para a qual desejamos guardar informao

Conjunto de objetos individuais chamados instncias


Uma instncia deve ter uma identidade distinta de todas as outras

Tipos de entidade

INDEPENDENTES (FORTES) entidade que existe por si s NOTAO : retngulo RESTRIES

No pode existir duas entidades no mesmo model

DICA:

Geralmente tem mais de um atributo

O nome = substantivo

Tipos de entidade
DEPENDENTES(FRACAS)

Entidades que dependem de outras para sua existncia (dependncia por existncia) Entidades que dependem de outras para sua identificao (dependncia por identificao) NOTAO: Retngulo duplo

RESTRIES

S existe enquanto a entidade forte existir

Entidades Fortes e Fracas


Entidade Dependente
IdFunc Salrio 1 Funcionrio Tem N Dependente Nome Endereo

Nome

P-20

IdDepto 1

Nome

Trabalho

Departamento

Entidade Independente

MER - Atributos

Atributo- serve para qualificar a entidade


Simples Multivalorado Determinante ou Identificador Composto Derivado ou Calculado

MER - Atributos

Simples

s pode assumir um nico valor elementar Exemplo: Nome, Idade, Data de Nascimento

Notao

Nome Fone

Idade

Rua

Num CEP

PESSOAS

Endereo

MER - Atributos

REGRAS Comear o nome do atributo com uma inicial maiscula e estar no singular Distino entre conjunto de entidades e atributo.

Exemplo: AUTOR para livro de uma biblioteca AUTOR para uma editora

Se um conjunto de entidades tem um nico atributo, provavelmente aquele conjunto atributo de um outro conjunto de entidades. Cada atributo deve ocorrer uma nica vez em apenas um conjunto de entidades. Desconfiar da modelagem de um conjunto de entidades que tem um s atributo. Provavelmente, ele um atributo de outro conjunto.

MER - Atributos

Multivalorado

s pode assumir mais de uma valor Exemplo: Fones

Notao
Nome Rua Idade Num CEP

Fones
PESSOAS
Endereo

MER - Atributos

Determinante

Identifica unicamente uma entidade da outra Lembra o conceito de Chave

Notao
Nome Fones Idade Rua Num CEP

Cdigo

PESSOAS

Endereo

MER - Atributos

Determinante

Identifica unicamente uma entidade da outra Lembra o conceito de Chave

Notao
Fones Nome Idade Rua Num

CEP

CPF IdPessoa

PESSOAS

Endere o

MER - Atributos

Composto

Pode ser dividido em sub atributos Exemplo: Endereo

Notao
Nome Fones Idade

Rua

Num CEP

Cdigo

PESSOAS

Endereo

MER - Atributos

Derivado ou Calculado

Seu valor gerado a partir do valor de outro atributo Exemplo: Data de Nascimento e Idade

Notao
DataNasc Nome Sexo

Idade

*
PACIENTES

Componentes do MER

RELACIONAMENTO

uma ligao entre duas ou mais entidades


representado por um losango
xx

RESTRIES

No se pode repetir nomes de relacionamentos O relacionamento deve ligar, no mnimo, duas entidades

Tipos de relacionamentos

DEPENDENTES (FORTES) o conceito de entidade dependente e independente reforado pelo tipo de relacionamento quando se quer que uma entidade se torne dependente, cria-se um relacionamento identificador INDEPENDENTES (FRACOS)

Conecta entidades fortes e fracas

Relacionamento Fraco e Forte


Entidade Independente
Cdigo Salrio 1 1 Funcionrio Nome Endereo

Entidade Dependente Identificador


Cdigo N
possui

Nome

de

Tem N N
C om po sto

Dependente

Supervisor

de

Cdigo

Nome

Trabalho

Trabalha no

1 Departamento

No Identificador

Papel do Relacionamento

Cardinalidades do Relacionamento

a propriedade do relacionamento que define exatamente com quantas instncias uma entidade de um conjunto pode se relacionar com outras entidades de outro conjunto; PODE SER: um para um um para muitos; e muitos para muitos

Cardinalidade 1:N
Mdicos M1 M2 M3 . . . Mn Especialidades 1:1 E1 E2 E3 . . . En

MDICOS

possuem

ESPECIALIDADES

CARDINALIDADE 1:N
Mdicos M1 M2 M3 . . . Mn Especialidades 1:N E1 E2

E3 E4 . . . En

MDICOS

possuem

ESPECIALIDADES

Ps-Graduao em Projeto e Administrao de Banco de Dados-2006

Cardinalidade 1:N
Mdicos N:N M1 Pacientes P1

M2

P2

M3

P3

M4 . . . Mn
MDICOS N consultas N

P4 . . . Pn

PACIENTES

MDICOS

(0,1)

possuem

(1,N)

ESPECIALIDADES

Participao do relacionamento

a propriedade do relacionamento que define a obrigatoriedade ou no de uma entidade participar (se relacionar) de um relacionamento.

Pode ser:
total (obrigatria) ou

parcial (opcional)

Participao do relacionamento: Total e Parcial

MDICOS

consultas

PACIENTES

Ps-Graduao em Projeto e Administrao de Banco de Dados-2006

Auto Relacionamento

Situao em que uma entidade se relaciona com outra do mesmo conjunto


Cdigo Salrio 1 N Nome Endereo

Funcionrio

Supervisor

Supervisionado

Superviso

Grau do Relacionamento
dado pelo total de entidades envolvidas no relacionamento Binrio, ternrio, etc.

MDICOS

consultas

PACIENTES

VENDEDORES

vendas

PRODUTOS

N CLIENTES

Relacionamentos n-RIOS
definido pela regra de negcio
VENDEDORES N N vendas N PRODUTOS N

N vendem CLIENTES

N compram

VENDEDORES

vendas

PRODUTOS

N CLIENTES

Relacionamentos n-RIOS

MDICOS

consultas

PACIENTES

Supondo que um mdico faz consultas a pacientes.

Agregao
MDICOS N N consultas N PACIENTES N

N solicita EXAMES

N faz

Supondo tambm que nessas consultas o mdico pode fazer solicitaes de exames. Vrios binrios = inconsistncia

Agregao
MDICOS N consultas N PACIENTES

N EXAMES

O ternrio obriga que em toda consulta o mdico solicite um exame.

Agregao
MDICOS N consultas N PACIENTES

N solicita

N EXAMES

O MER no permite relacionamento entre relacionamento

Agregao
O melhor modo para representar a situao anterior usando a agregao.

Na agregao no existe obrigatoriedade na entrevista para encaminhar um candidato a um cargo

Agregao
A agregao a abstrao que transforma um relacionamento em uma entidade;
Evita inconsistncias

S pode ser em relacionamentos de cardinalidade N:N


No possui atributos

Agregao
MDICOS N N consultas N PACIENTES

solicitaes

MDICOS N

consultas

PACIENTES

N EXAMES
solicitaes

N EXAMES

O MER - Especiliazao
Aula 10

Herana: Generalizao e sobreposio


a forma de agrupar um conjunto de entidades que compartilham caractersticas comuns.
IdTitulao
IdPessoa Nome Endereo

Descrio

PESSOAS

TITULAES

CPF DtaNasc

CGC NomeFantasia

PESSOAS FSICAS

PESSOAS JURDICAS

ESPECIALISTA

MESTRE

Herana: Generalizao e sobreposio


a forma de agrupar um conjunto de entidades que compartilham caractersticas comuns.
IdTitulao
IdPessoa Nome Diagnstico

Descrio

PESSOAS

TITULAES

CPF DtaNasc

CGC NomeFantasia

PESSOAS FSICAS

PESSOAS JURDICAS

ESPECIALISTA

MESTRE

Herana: Generalizao e a forma de agrupar um conjunto de entidades que sobreposio


compartilham caractersticas comuns. Restries:

d: mutuamente exclusivo - quando uma instncia da entidade generalizao s pode estar em uma entidade de especializao o: sobrepostos - quando uma instncia da entidade generalizao pode estar em duas ou mais entidade de especializao total: cada entidade da generalizao deve pertencer a pelo menos uma entidade de especializao parcial: cada entidade da generalizao pode ou no pertencer a uma entidade de especializao

Herana: Generalizao e sobreposio


Cdigo Sexo Nome Endereo Tipo Funcionrio
Total

d Terceiro

Consultor
Generalizao

Horas

Tx hora

Salrio
Especializao

Herana: Generalizao e sobreposio


Cdigo Sexo Nome Endereo Tipo Funcionrio
Parcial

0 Terceiro

Consultor
Generalizao

Horas

Tx hora

Salrio
Especializao

HERANA: GENERALIZAO E ESPECIALIZAO

cdigo

nome

endereo tipo

sexo

FUNCIONARIO mostra a direo do relacionamento superclasse/subclasse

generalizao CONSULTOR

horas

tx hora

especializao

Ps-Graduao em Projeto e Administrao de Banco de Dados-2006

Medologia para projetos de de banco de dados


Requerimentos e anlise

Projeto conceitual do banco de dados


Escolha de um SGBD Mapeamento do modelo de dados Projeto fsico do banco de dados Implementao e configurao do banco de dados

Exerccios
Uma empresa de TV cabo necessita informatizar alguns dos seus servios de forma a atender as seguintes necessidades: O sistema dever controlar o cadastro dos clientes, pacotes (famlia, adulto, infantil, cinema, etc), da programao (filmes, horrios, etc) e do pagamento de mensalidades. Cada pacote possui um preo e o cliente pode escolher uma combinao dos mesmos, podendo mais tarde adicionar mais pacotes se assim o desejar. O valor de sua mensalidade corresponde ao valor total dos pacotes e seu vencimento ser todos os meses no dia em que comprou o primeiro pacote. O cliente poder tambm escolher a quantidade de tv's para instalao do cabo, e a cada 2 tv's ele paga um adicional em sua mensalidade. Cada pacote possui um conjunto de canais exclusivos. Um canal identificado por um nmero e seu nome (33- HBO2, por exemplo). A programao composta de todos os filmes que sero exibidos, alm de seus horrios e datas de exibio. Vale ressaltar que, um filme pode ser exibido em mais de um horrio e em vrias datas diferentes.

Uma empresa de TV cabo necessita informatizar alguns dos seus servios de forma a atender as seguintes necessidades: O sistema dever controlar o cadastro dos clientes, pacotes (famlia, adulto, infantil, cinema, etc), da programao (filmes, horrios, etc) e do pagamento de mensalidades. Cada pacote possui um preo e o cliente pode escolher uma combinao dos mesmos, podendo mais tarde adicionar mais pacotes se assim o desejar. O valor de sua mensalidade corresponde ao valor total dos pacotes e seu vencimento ser todos os meses no dia em que comprou o primeiro pacote. O cliente poder tambm escolher a quantidade de tv's para instalao do cabo, e a cada 2 tv's ele paga um adicional em sua mensalidade. Cada pacote possui um conjunto de canais exclusivos. Um canal identificado por um nmero e seu nome (33- HBO2, por exemplo). A programao composta de todos os filmes que sero exibidos, alm de seus horrios e datas de exibio. Vale ressaltar que, um filme pode ser exibido em mais de um horrio e em vrias datas diferentes.

Uma loja de CDs deseja informatizar suas transaes de venda e de aluguel de ttulos, mantendo cadastros atualizados de clientes, balconistas, ttulos, dos distribuidores que os fornecem e dos gneros musicais em que estes se classificam. Entre o cliente e o balconista, as vendas e locaes de ttulos de CD devem ser armazenadas na base de dados juntamente com a data em que houve a transao (data de venda e data de locao, respectivamente). Somente para a locao, o sistema dever tambm armazenar a data prevista para a devoluo do titulo alugado (data de devoluo). de interesse da loja, saber, atravs das informaes armazenadas na base de dados, que balconista vendeu ou alugou determinado titulo para qual cliente.

Eventualmente, um cliente tambm pode solicitar a encomenda de um CD que no esteja disponvel na loja. As encomendas feitas desta forma so pedidas diretamente para o balconista, mas para a loja somente interessante saber qual cliente encomendou determinado titulo e em que data (data da encomenda). Note que um cliente pode encomendar vrios ttulos e um ttulo pode ser encomendado por vrios clientes. Normalmente, o processo de encomenda seguido por uma transao de venda (mas nunca de locao), caso o(s) pedido(s) do cliente seja(m) atendido(s).

Cada

ttulo de CD classificado somente num gnero musical (pelo menos, aquele gnero que predomina) dentre os vrios que a base de dados mantm como disponveis na loja. Alm disso, cada ttulo de CD fornecido por apenas uma dentre as vrias distribuidoras com a qual a loja obedece a contratos de revenda. Para cada distribuidora imprescindvel, alm de outras informaes, o nome do vendedor intermedirio e dos telefones para contato. Um ttulo pode estar disponvel somente para venda ou somente para locao. E no se esquea que, somente quando da disponibilidade de um CD ser para venda, o seu preo unitrio, a quantidade de unidades vendidas no ato da transao e a sua quantidade, remanescente no estoque, so informaes importantssimas, alm do que, no caso de um ttulo disponvel exclusivamente para locao, a sua venda no permitida e vice-versa.

MER
O modelo Entidade-Relacionamento (E-R) tem por base que o mundo real formado por um conjunto de objetos chamados de entidades e pelo conjunto dos relacionamentos entre esses objetos;

O objetivo do modelo E-R representar a estrutura lgica do banco de dados de uma empresa, especificando o esquema da empresa, quais as entidades e como elas se relacionam entre si.

O modelo E-R chamado de Modelagem MER Conceitual, cujo objetivo representar de uma forma abstrata, independente da implementao em computador, os dados que sero armazenados no banco de dados.

MER
Conceitos Bsicos:
O modelo E-R trabalha com alguns conceitos bsicos:

Atributos Conjuntos de Entidade

Conjuntos de Relacionamento

MER
Atributos:

Simples e Compostos Monovalorados e Multivalorados Identificador Derivados

Atributos Simples

So de uso comum para uma entidade, s possui uma palavra. Ex: Nome, Idade.
Representao Atributo simples

Atributo Composto

Este tipo de atributo possui sub- atributos em sua nomenclatura que podem ou no ser do mesmo tipo os quais so agregados a ele no mundo real Ex: O atributo endereo temos os sub- atributos, Rua, N da casa, bairro, cidade, CEP, etc.

Endereo

Rua N da Casa CEP

Atributo Multivalorado

Possui vrios valores dentro de uma nico atributo, mais todos os demais valores tm que ser do mesmo tipo. Ex: Telefones Celular (92) 8175-1711, Residencial (92) 3671-9434, Comercial (92) 3614-9936

Representao Atributo Multivalorado

Atributos Especiais (Atributo Identificador)

Ele identifica a principal caracterstica da entidade. Ex: Entidade Homem Identificador Nome Entidade Aluno - Identificador Matricula

Representaes Atributo Identificador

Conceituando atributo MER


Scio
Nome

Os atributos no so representados graficamente, para no sobrecarregar os diagramas.

Endereco Cod_Socio

Quando utilizado um software para a construo de modelos ER, o software armazena a lista de atributos de cada entidade em um Dicionrio de Dados.

Modelagem E-R
(1,1)

Empregado

(0,n)

Dependente

Nome Nome Cod_Emp Num_Seq

Conjunto de Entidades
Uma entidade uma coisa ou um objeto no mundo real que pode ser identificada de forma nica em relao aos outros objetos; Um conjunto de Entidades um conjunto que abrange entidades de mesmo tipo que compartilham as mesmas propriedades: atributos. representao de um objeto do mundo real do qual se deseja manter informaes Objetos concretos (pessoa, automvel) ou abstrato (departamento, projeto)

Representao de Entidade
Empregado Departamento

Scios

Shows

Conjunto de Relacionamentos
Um relacionamento uma associao entre uma ou vrias entidades (objetos da realidade)
Ex. um relacionamento entre um scio Joo com o show S-15.

Esse relacionamento especifica que o scio Joo compareceu ao show que foi designado com o numero S-15. Um conjunto de relacionamentos um conjunto de relacionamentos de mesmo tipo.

Representao de Relacionamentos
Scios
Participa

Shows

Empregado

Trabalha

Departamento

Auto-Relacionamento
Ocorre quando uma entidade se associa a outra do mesmo tipo.
Pessoa

marido

Casamento

esposa

O MER - Cardinalidades
Aula 9

A funo que uma entidade desempenha em um relacionamento chamada Papel; Pode ocorrer de um mesmo conjunto de entidades participar de um conjunto de relacionamentos mais de uma vez em diferentes papeis. O nmero de conjuntos de entidades que participa de um conjunto de relacionamento tambm o grau desse conjunto de relacionamento. Um conjunto de relacionamento binrio de grau dois; um relacionamento ternrio de grau trs.

Mapeamento de Restries
O esquema de E-R de uma empresa pode definir certas restries, as quais o contedo do banco de dados deve respeitar.
Isso feito utilizando o Mapeamento de Cardinalidade

Mapeamento de Cardinalidade
Expressa o nmero de entidades as quais outra entidade pode estar associada via um conjunto de relacionamentos.

Cardinalidade de Relacionamentos
Cardinalidade mxima: indica a quantidade mxima de ocorrncias de entidades que podem estar associadas a uma ocorrncia da outra entidade (1 ou n).

Ex.: A entidade Empregado tem cardinalidade mxima 1 no relacionamento Trabalha: uma ocorrncia de Empregado pode estar associada a no mximo uma ocorrncia de Departamento, ou em outros termos um empregado pode estar trabalhando somente em um departamento. A entidade Departamento tem cardinalidade mxima de 120 no relacionamento Trabalha: uma ocorrncia de Departamento pode esta associada a no mximo 120 de Empregado, isto , um departamento pode ter no mximo 120 empregados trabalhando nele.

Cardinalidade de Relacionamentos
Duas cardinalidades mximas so relevantes:
A cardinalidade mxima 1

A cardinalidade mxima muitos representada pela letra n

Empregado
Ocorrncia referente a departamento

Trabalha

1 Departamento
Ocorrncia referente a empregado

Cardinalidade de Relacionamentos
Cardinalidade Mnima:
especifica se a participao de todas as ocorrncias das entidades no relacionamento obrigatria ou opcional. Em um projeto de BD usada somente duas cardinalidades mnimas: a cardinalidade mnima 0 e a cardinalidade mnima 1. A cardinalidade mnima 1 recebe a denominao de associao obrigatria. A cardinalidade mnima 0 recebe a denominao de associao opcional. A cardinalidade mnima em um Diagrama anotada junto a cardinalidade mxima.

Cardinalidade Mnima
Empregado
(1,0 ) alocado (1,1 )

Mesa

Mapeamento de Cardinalidade
Para um conjunto de relacionamentos R binrio entre os conjuntos de entidades A e B, o mapeamento das cardinalidades deve seguir uma das instrues abaixo:

Um para Um 1:1
Uma entidade em A est associada no mximo a uma entidade em B, e uma entidade em B est associada a no mximo uma entidade em A.

a1 a2 a3

b1 b2 b3

b4

a4

Um para muitos 1:N


Uma entidade em A est associada a vrias entidades em B. Uma entidade em B, entretanto, deve estar associada no mximo a uma entidade em A.
b1 b2

a1 a2

b3

b4

Muitos para muitos N:N ou M:N


Uma entidade em A est associada a qualquer nmero de entidades em B e uma entidade em B est associada a um nmero qualquer de entidades em A.
a1
a2 a3
b1 b2 b3

b4

Toda a estrutura lgica do banco de dados expressa graficamente pelo diagrama de E-R.

Os principais componentes de um E-R:


Retngulos representam os conjuntos de entidades;

Elipses representam os atributos;


Losangos representam os conjuntos de relacionamentos; Linhas unem os atributos aos conjuntos de entidades e os conjuntos de entidades aos conjuntos de relacionamentos; Elipses duplas atributos multivalorados.

Diagrama Entidade Relacionamento

Engenharia de Informaes
O que foi apresentado at agora foi utilizado a notao do Peter Chen.

Com a evoluo e a criao de ferramentas CASE, foram criadas outros tipos de notao. Engenharia de Informaes foi criado na dcada de 80 por James Martin.

Modelagem E-R James Martin


Empregado
Exemplo de Modelagem, onde:

Departamento

= muitos = um = a ocorrncia do relacionamento opcional; = a ocorrncia do relacionamento obrigatria;

Peter Chen X James Martin


Empregado
(1,1)

Trabalha

(0,n)

Departamento

Empregado

Departamento

Modelagem E-R
Empregado

Representao de uma entidade Fraca

Empregado

Dependente
Dependente

Modelagem E-R James Martin


As principais diferenas entre as notaes:
Os relacionamentos so representados apenas por uma linha que une as duas entidades; Somente relacionamentos binrios; A notao de cardinalidade mxima e mnima grfica, sendo assim: o smbolo mais prximo ao retngulo a representao da cardinalidade mxima e o mais distante a cardinalidade mnima.

Associaes de Muitos para Muitos


Advogado

Processo

Modelagem E-R
Motorista

Associaes de Um para Um
Txi

Associaes de Um para Muitos

Estado

Cidade

Entidade Associativa
Advogado Processo/ Advogado

Processo

Em um banco de dados no possvel implementar um relacionamento M:N, sendo assim foi criado na modelagem a Entidade Associativa. Entidade Associativa a associao entre uma entidade e um relacionamento, ou a associao entre dois relacionamentos.

O Modelo Relacional
Aula 10

Linguagens de Banco de Dados


As linguagens de Banco de Dados so declarativas A DDL permite a definio da estrutura e dos esquemas em um Banco de

Dados

A DML permite a insero, atualizao, remoo e consulta sob os dados Os SGBDs possuem um compilador cuja funo validar os comandos e repass-los para processamento

Comandos DMLs so utilizados em conjunto com linguagens de objetivo

geral como C ou Java, por exemplo

171

You might also like