Você está na página 1de 16

Banco de Dados II

Modelo Fsico de BD

Prof. Dr. Elvis Fusco


fusco@univem.edu.br

Modelo Fsico de Banco de Dados


COD_FUNCIONARIO

ID_SETOR

NOME

DESCRICAO

SALARIO

SETOR

FUNCIONARIO

SETOR

FUNCIONARIO

* ID_SETOR
DESCRICAO

* COD_FUNCIONARIO
NOME
SALARIO
CPF
ID_SETOR (FK)

SETOR (ID_SETOR, DESCRICAO)

FUNCIONARIO (COD_FUNCIONARIO, NOME, SALARIO, CPF, ID_SETOR)

Modelo Fsico de Banco de Dados


SETOR (ID_SETOR, DESCRICAO)
FUNCIONARIO (COD_FUNCIONARIO, NOME, SALARIO, ID_SETOR)

SETOR
PK

Campo

Tipo

Tamanho

Nulo

PK_SETOR

ID_SETOR

NUMBER

(3)

DESCRICAO

VARCHAR2

(30)

FK

CK
CK_SETOR_DESCRICAO
(DESCRICAO <> )

FUNCIONARIO
PK

Campo

Tipo

Tamanho

Nulo

NUMBER

(5)

NOME

VARCHAR2

(50)

SALARIO

NUMBER

(8,2)

CPF

CHAR

(11)

ID_SETOR

NUMBER

(3)

PK_FUNCIONARIO COD_FUNCIONARIO

AK_FUNC_CPF

FK

CK

CK_FUNC_SALARIO
(SALARIO > 0)
FK_FUNC_SETOR

Modelo Fsico de Banco de Dados


ID_CARGO

COD_FUNCIONARIO

NOME

FUNCIONARIO

DESCRICAO

DATA_INICIO

FUNCAO

CARGO

FUNCIONARIO

FUNCAO

CARGO

* COD_FUNCIONARIO
NOME

* COD_FUNCIONARIO (FK)
* ID_CARGO (FK)
DATA_INICIO

* ID_CARGO
DESCRICAO

FUNCIONARIO (COD_FUNCIONARIO, NOME)


CARGO (ID_CARGO, DESCRICAO)
FUNCAO (COD_FUNCIONARIO, ID_CARGO, DATA_INICIO)

Modelo Fsico de Banco de Dados


FUNCIONARIO (COD_FUNCIONARIO, NOME)
CARGO (ID_CARGO, DESCRICAO)
FUNCAO (COD_FUNCIONARIO, ID_CARGO, DATA_INICIO)

FUNCIONARIO
PK

Campo

PK_FUNCIONARIO COD_FUNCIONARIO
NOME

Tipo

Tamanho

Nulo

NUMBER

(5)

VARCHAR2

(50)

FK

CK

FK

CK

CK

CARGO
PK

Campo

Tipo

Tamanho

Nulo

PK_CARGO

ID_CARGO

NUMBER

(3)

DESCRICAO

VARCHAR2

(30)

FUNCAO
PK

Campo

Tipo

Tamanho

Nulo

FK

PK_FUNCAO

COD_FUNCIONARIO

NUMBER

(5)

FK_FUNCAO_FUNCIONARIO

PK_FUNCAO

ID_CARGO

NUMBER

(3)

FK_FUNCAO_CARGO

DATA_INICIO

DATE

Script de Banco de Dados

SETOR
PK

Campo

Tipo

Tamanho

Nulo

PK_SETOR

ID_SETOR

NUMBER

(3)

DESCRICAO

VARCHAR2

(30)

FK

CK
CK_SETOR_DESCRICAO
(DESCRICAO <> )

create table SETOR (


ID_SETOR
number (3)
not null,
DESCRICAO varchar2 (30) not null,
constraint PK_SETOR primary key (ID_SETOR),
constraint CK_SETOR_DESCRICAO check (DESCRICAO <> )
)

Script de Banco de Dados


FUNCIONARIO
PK

Campo

Tipo

Tamanho

Nulo

NUMBER

(5)

NOME

VARCHAR2

(50)

SALARIO

NUMBER

(8,2)

CPF

CHAR

(11)

ID_SETOR

NUMBER

(3)

PK_FUNCIONARIO COD_FUNCIONARIO

AK_FUNC_CPF

FK

CK

CK_FUNC_SALARIO
(SALARIO > 0)
FK_FUNC_SETOR

create table FUNCIONARIO (


COD_FUNCIONARIO
number (5)
not null,
NOME
varchar2 (50) not null,
SALARIO
number (8,2),
CPF
char (11)
not null,
ID_SETOR
number (3),
constraint PK_FUNCIONARIO primary key (COD_FUNCIONARIO),
constraint CK_FUNCIONARIO_SALARIO check (SALARIO > 0),
constraint FK_FUNCIONARIO_SETOR foreign key (ID_SETOR)
references SETOR (ID_SETOR)
)

create unique index AK_FUNCIONARIO_CPF on FUNCIONARIO ( CPF )

Script de Banco de Dados


FUNCAO
PK

Campo

Tipo

Tamanho

Nulo

FK

PK_FUNCAO

COD_FUNCIONARIO

NUMBER

(5)

FK_FUNCAO_FUNCIONARIO

PK_FUNCAO

ID_CARGO

NUMBER

(3)

FK_FUNCAO_CARGO

DATA_INICIO

DATE

CK

create table FUNCAO (


COD_FUNCIONARIO
number (5)
not null,
ID_CARGO
number (3)
not null,
DATA_INICIO
date,
constraint PK_FUNCAO primary key (COD_FUNCIONARIO, ID_CARGO),

constraint FK_FUNCAO_FUNCIONARIO foreign key (COD_FUNCIONARIO)


references FUNCIONARIO (COD_FUNCIONARIO),
constraint FK_FUNCAO_CARGO
references CARGO (ID_CARGO)
)

foreign key (ID_CARGO)

Exerccio: Crie o modelo fsico das tabelas abaixo:

Administrao dos Modelos de Dados


Manuteno da Documentao do Projeto Lgico
(Modelo) e Fsico (Esquema) do Banco de dados
Mtodos de Atualizao:
Engenharia Direta (Gerao do Esquema)
Engenharia Reversa
Comparao Modelo x Esquema (Sincronizao)
Utilizao de Ferramentas Case

Engenharia Direta (Gerao de Esquema)

Entidade_X

Esquema
Fsico
Entidade_Y
Modelo Relacional

Engenharia Reversa

Entidade_X

Esquema
Fsico
Entidade_Y
Modelo Relacional

Comparao Modelo x Esquema (Sincronizao)

Entidade_X

Esquema
Fsico
Entidade_Y
Modelo Relacional

Ferramentas Case

Dr. Case (www.squadra.com.br)


ER/Studio (www.embarcadero.com)
DB-MAIN (www.db-main.be)
DBDesigner (www.fabforce.net/dbdesigner4)
ER-WIN (www.ca.com/us/products/product.aspx?id=260)

Padres de Projeto de BD

Modelo Conceitual
Nomenclatura de Entidades

Nomenclatura de Atributos
Nomenclatura de Relacionamentos
Definio de Chaves Sintticas (IDs)

Padres de Projeto de BD

Modelo Fsico
Nomenclatura de Tabelas

Nomenclatura de Campos
Definio de Tipos

Nomenclatura de Constraints
Criao de ndices (chaves estrangeiras e
candidatas)