Você está na página 1de 14

APOSTILA DE

BANCO DE
DADOS I

2015/01

SUMRIO
1.

INTRODUO ..................................................................................................................... 3

2.

CARACTERSTICAS DOS DICIONRIOS DE DADOS ................................................................... 4

3.

DEFINIES E CONVENES UTILIZADAS NO DICIONRIO DE DADOS................................. 7


a.

Viso Geral de Banco de Dados .......................................................................................... 7

b.

Tabelas............................................................................................................................... 7

c.

Definio de como representar as Tabelas ......................................................................... 7

d.

Definio de como representar as Colunas das Tabelas ...................................................... 8

e.

Modelo de representao as Tabelas ................................................................................. 9

4.

APRESENTAO DO DICIONRIO DE DADOS ......................................................................... 3


a.

Viso Geral do Banco de Dados .......................................................................................... 3

b.

Consideraes sobre tamanho e desempenho ................................................................... 3

c.

Recomendaes para o Servidor de Banco de Dados .......................................................... 3

d.

Apresentao do Banco de Dados do Produto .................................................................... 3

5.

DEFINIES E CONVENES UTILIZADAS NO LAYOUT DE IMPORTAO ............................ 5

6.

APRESENTAO DOS LAYOUTS DE IMPORTAO .................................................................. 6


a.

Atributos por Funcionrios ................................................................................................. 7

i.

Apresentao do Layout ..................................................................................................... 7

ii.

Consideraes sobre as Informaes do Layout ................................................................. 7

Faculdade de Engenharia de Software

1. INTRODUO
Um dicionrio de dados contm as caractersticas lgicas dos dados que sero utilizados
no sistema que se est programando, incluindo nome, descrio, alias, contedo e organizao.
Estes dicionrios se desenvolvem durante a anlise de fluxo de dados e ajuda aos
analistas que participam na determinao dos requerimentos do sistema, seu contedo tambm
se emprega durante o desenho do projeto.
Ele tambm pode ser visto como um depsito central que descreve e define o significado de

toda a informao usada na construo de um sistema, permitindo verificar a consistncia entre os


vrios modelos. Nele se registra todos os fluxos de entrada e sada, depsitos de dados, fluxos e
depsitos de dados temporrios.

Modelo de
Controle
Modelo de
Dados

Dicionrio de
Dados

Modelo
Funcional

Projeto
Estruturado

Por se tratar de uma ferramenta essencialmente textual que define detalhadamente o


significado de toda a informao que entra, sai e transformada pelo sistema, a construo e
manuteno de um Dicionrio de dados se torna um processo extremamente moroso, mas de
elevada importncia para o bom andamento do projeto de um software.

Prof. Joo Graciano

Faculdade de Engenharia de Software

2. CARACTERSTICAS DOS DICIONRIOS DE DADOS


Relativamente ao Diagrama de Fluxo de Dados (DFD), o contedo de um dicionrio de dados
composto pela:
especificao dos fluxos de dados;
especificao de arquivos;
especificao de processos;
O seu contedo deve ser preciso, conciso e no redundante.
Para descrever o significado dos fluxos de dados e dos depsitos de dados, necessrio
observar os dados agregados, descrevendo tambm a sua composio.
Ex.: endereo.
Especifica os valores e unidades relevantes, demonstrando os relacionamentos entre
depsitos de dados (diagramas E/R).
Em resumo, um dicionrio de dados pode ser considerado uma gramtica quase-formal para
descrio dos itens de dados. uma notao extremamente til para descrever diversos tipos de
dados, como: dados de controle e valores permitidos (p.ex: on e off).
No seu contexto, funciona como um repositrio que contm informaes sobre quem-usa e
como-usa tais informaes. Este documento pode ser representado de forma manual, mas tambm
pode ser utilizado ferramentas CASE para sua elaborao.
Considerando que um DD feito de forma TOP-DOWN, ou seja, de cima abaixo, a ordem das
descries so de acordo com a ordem dos dados. Os elementos descritos em um DD podem ser
classificados como:
Elementos de dados simples: informaes atmicas as quais no necessitam de
decomposio.
Elementos de dados compostos: informaes composta por diversos dados atmicos ou
outras estruturas de dados.
Abaixo descrito um exemplo, seguindo o conceito de formalismo de representao de dados:

Nome: o nome primrio do item de dados composto.

Alias: outros nomes pelos quais o item conhecido.

Usado em: lugares (processos) que utilizam o item de dado.

Forma de uso: como o item utilizado (depsito de dados, entrada ou sada de dados, ...

Descrio: descrio do item de dado composto com uso da notao apresentada


abaixo.

Formato: informaes especficas sobre tipos de dados e valores pr-definidos.

Para se compor uma gramtica de definio de dados, so utilizados os seguintes elementos:

Prof. Joo Graciano

composto por

E
4

Faculdade de Engenharia de Software

()

Opcional

{}

Iterao ou repetio

[]

Seleciona uma das vrias alternativas

Separa alternativas quando se usa []

**

Comentrio

Identificador (chave) de um depsito de dados

Nome = ttulo + primeiro-nome + sobrenome


Ttulo = [Sr. |Sra.|Prof. |Profa.|Dr.|Dra.]
Primeiro-nome = 3{caracter-vlido}
Sobrenome = 2{caracter-vlido}
Caracter-vlido = [A-Z | a-z | | - | ]
Endereo = * ainda no definido*
indica espao em branco

Dados elementares: Dados sem nenhuma decomposio


Ex.: peso, altura.
Dados opcionais: Dados que podem ou no serem utilizados
Endereo-cliente = (endereo-de-entrega) + (endereo-de-cobrana)
Endereo-cliente = [endereo-de-entrega | endereo-de-cobrana | endereo-deentrega + endereo-de-cobrana]
Endereo-cliente = endereo-de-entrega + (endereo-de-cobrana)
Iterao ou repetio: Dados que se repetem uma ou vrias vezes.
Pedido = nome-cliente + endereo-de-entrega + {item}
Pedido = nome-cliente + endereo-de-entrega + 1{item}10
a = 1{b}
a = {b}10
a = 1{b}10
a = {b}

Seleo: Quando se deve escolher um dado entre dois ou mais que compe uma lista.
Sexo = [m | f | o]
Prof. Joo Graciano

Faculdade de Engenharia de Software

Tipo-do-cliente = [governo | indstria | universidade | outro]

Ao se utilizar a Iterao ou repetio, as chaves {} indica de 0 a n ocorrncias dos dados que


esto entre elas. Coloca-se o caracter @ para o identificador (chave) do depsito de dados.
Exemplo: definio dos depsitos de dados Clientes e Funcionrios
Clientes = { @CPF + Nome + Data-registro + Endereo Clientes }
Funcionrios = { @Matrcula + Nome + Data-admisso + endereo + { Telefone + Descrio} + {
RG-dependente + Nome + Data-nascimento }}.

Prof. Joo Graciano

Faculdade de Engenharia de Software

3. DEFINIES E CONVENES UTILIZADAS NO DICIONRIO


DE DADOS
Alm do modelo formal de dicionrio de dados, pode ser criado tambm o documento de descrio
dos dados, onde se consegue explicitar detalhes sobre os dados e os tipos de dados que o compe.
Este dicionrio de dados um documento que tem como objetivo apresentar uma listagem de todos
os elementos de dados pertinentes ao sistema, com definies precisas para que profissionais que
atuam no desenvolvimento do sistema possam conhecer a forma em que so armazenados os dados
do sistema
Permitir tambm representar o mapeamento que foi feito entre as Classes de Entidade e as
Entidades do modelo de dados relacional. O dicionrio de dados deve conter dados importantes sobre
as informaes que o banco de dados relacional ir armazenar e onde ir armazenar.
Este dicionrio de dados est organizado de forma a representar o esquema fsico do banco de
dados do sistema. Em seguida apresentaremos tpicos que definem quais informaes sero
apresentadas e a forma de apresentao de cada informao.

A. VISO GERAL DE BANCO DE DADOS


Um Banco de dados uma coleo de dados relacionados armazenados juntos, com
redundncia controlada de acordo com um esquema, para ser utilizado por um ou mais aplicativos.
Este tpico usado para fornecer uma viso geral do banco de dados, apresentando decises
importantes em outras vises com implicaes de dados, como escolha da estratgia de transao,
distribuio, simultaneidade, tolerncia a falhas. Por exemplo, a escolha de usar o gerenciamento de
transaes baseadas em banco de dados (dependendo do banco de dados para confirmar ou anular
transaes) requer que o mecanismo de tratamento de erros usado na arquitetura que inclua uma
estratgia para recuperao de uma transao que falhou, com atualizao do estado de persistncia
dos objetos armazenados em cache na memria do aplicativo.

B. TABELAS
Uma tabela ou entidade um conjunto de informaes que representam uma abstrao de
um conceito do mundo real. Uma tabela possui linhas e colunas.
As tabelas sero apresentadas neste dicionrio em ordem alfabtica. Logo em seguida s
informaes de uma tabela, sero apresentadas as colunas e suas informaes.

C. DEFINIO DE COMO REPRESENTAR AS TABELAS


Para cada tabela apresentaremos neste dicionrio as seguintes informaes:

Nome da Tabela: Permite informar o nome da tabela que foi gerada para conter as
informaes de uma determinada classe do Modelo de Classes.

Nome da Classe de Entidade: Permite informar o nome da Classe de Entidade que


originou a tabela no banco de dados. Esta informao vai facilitar o rastreamento das
informaes mapeadas no Modelo de Dados Relacional.

Prof. Joo Graciano

Faculdade de Engenharia de Software

Descrio: Permite apresentar uma descrio sobre as informaes que sero


armazenadas na tabela. Deve ser uma descrio clara e que fornea uma ligao com o
conceito da classe que foi mapeada para a tabela.

Dimensionamento: Permite apresentar uma previso do dimensionamento da tabela.


Instrues sobre o clculo do dimensionamento esto disponveis no Guia de Design.

Observaes: Permite apresentar consideraes importantes sobre o mapeamento da


classe para uma entidade relacional. Pode ser usado de forma aberta para expor fatos
importantes que ocorreram durante o mapeamento e que deva ser do conhecimento de
quem se interessar por saber como o mapeamento foi feito. Esta informao opcional.

D. DEFINIO DE COMO REPRESENTAR AS COLUNAS DAS


TABELAS
Aps apresentar uma tabela, devem ser apresentadas as suas colunas, que foram mapeadas a
partir das Classes de Entidade. As informaes sobre as colunas devem conter detalhes importantes
sobre os dados que sero armazenados. Devem apresentar:

Nmero sequencial: Permite informar o nmero sequencial do atributo dentro da


tabela. Esta informao dever determinar a ordem em que os atributos aparecero no
dicionrio de dados.

Nome da Coluna: Permite informar o nome da Coluna que foi gerada para armazenar a
informao de um determinado atributo de Classe de Entidade. Sempre que possvel
este nome deve ser o mesmo nome do atributo na classe, respeitando as regras para
composio de nomenclatura do modelo fsico de dados.

Nome do atributo da Classe de Entidade: Permite informar o nome do Atributo da


Classe de Entidade que est sendo mapeado para o banco de dados. Esta informao vai
permitir rastrear no Modelo de Dados Relacional em que coluna deve ser persistido um
atributo de uma Classe de Entidade.

Indicador de chave primria PK: Permite informar que a Coluna faz parte da chave
primria da tabela.

Indicador de chave estrangeira FK: Permite informar que a Coluna faz parte da chave
primria de uma outra tabela relacionada com a tabela em questo.

Indicador de obrigatoriedade Req: Permite informar que a Coluna obrigatria, ou


seja, ela sempre dever ter um valor diferente de nulo. Neste Caso, a informao sempre
ser requerida pelo banco de dados.

Indicador de unicidade UK: Permite informar que a Coluna uma das chaves
candidatas da tabela, ou seja, no podero existir na tabela valores repetidos para esta
coluna. Cada linha da tabela dever possuir um valor diferente das demais para a Coluna.
No entanto, possuir um indicador de unicidade no garante que a Coluna tenha sido
eleita como sendo ou fazendo parte da chave primria da tabela.

Tipo de dados: Permite informar o tipo de dados da Coluna no Modelo de Dados


Relacionais. Os tipos de dados disponveis so:

Prof. Joo Graciano

Faculdade de Engenharia de Software

Numricos

Smallint representa os nmeros inteiros;

Int representa os nmeros inteiros longos;

Float representa os nmeros fracionrios;

Data

Int para armazenar os dados do tipo Data ser usado o tipo Int, pois a data
dever ser armazenada no formato AAAAMMDD;

Alfanumricos

Char usado para armazenar os dados alfanumricos que possuem um


tamanho fixo;

VarChar usado para armazenar os dados alfanumricos que no possuem um


tamanho

fixo;

Observaes / Contedo: Permite apresentar consideraes importantes sobre o


mapeamento do atributo para uma coluna da Tabela. Pode ser usado de forma aberta
para expor fatos importantes que ocorreram durante o mapeamento ou para apresentar
uma lista de valores possveis para o atributo. Esta informao opcional.

E. MODELO DE REPRESENTAO AS TABELAS


Para cada tabela a ser apresentada no dicionrio deve ser seguido o modelo abaixo:

Tabela:

Pode usar Empresa Genrica:

Descricao:
Observaes:
SEQ

NOME DA COLUNA

DESCRICAO DA COLUNA

PK

Nome PK / Index

UK

REQ

TIPO

Observao/Contedo

FK
Nome

Prof. Joo Graciano

FK

Referncia

Faculdade de Engenharia de Software

4. APRESENTAO DO DICIONRIO DE DADOS


A. VISO GERAL DO BANCO DE DADOS
Em seguida ser apresentada uma viso geral do banco de dados.

B. CONSIDERAES SOBRE TAMANHO E DESEMPENHO


Em seguida sero apresentadas caractersticas volumtricas e de capacidade de resposta do
sistema para definio da arquitetura.

C. RECOMENDAES PARA O SERVIDOR DE BANCO DE DADOS


Abaixo so apresentadas algumas recomendaes em relao ao Hardware para o servidor de
banco de dados, levando em conta as Consideraes sobre tamanho e desempenho apresentadas
no tpico anterior.

D. APRESENTAO DO BANCO DE DADOS DO PRODUTO


Abaixo so apresentadas as tabelas do sistema, com suas respectivas colunas:

Tabela:

ACOESAUT

Descricao:

Define aes autorizadas

Pode usar Empresa Genrica:

Observaes:
SEQ

NOME DA COLUNA

001

DESCRICAO DA COLUNA

PK

FK

AACodEmp

SmallInt

Cdigo da Empresa

002

AAMatOper

Int

Matrcula do Operador

003

AACodMod

SmallInt

Cdigo do Mdulo

004

AACodMenu

SmallInt

Cdigo do Menu

005

AACodFunc

SmallInt

Cdigo da Funo

006

AACodAcao

SmallInt

Cdigo da Ao

Ver Observacoes

UK

REQ

Nome PK / Index

TIPO

Observao/Contedo

FK
Nome

Referncia

AAIND1

Tabela:

ACOESHAB

Descricao:

Define aes habilitadas para serem autorizadas.

Pode usar Empresa Genrica:

Observaes:
SEQ

NOME DA COLUNA

001

AHCodMod

002

AHCodMenu

003

AHCodFunc

Prof. Joo Graciano

DESCRICAO DA COLUNA

Ver Observacoes

PK

FK

UK

REQ

TIPO

Observao/Contedo

SmallInt

Cdigo do Mdulo

SmallInt

Cdigo do Menu

SmallInt

Cdigo da Funo

Faculdade de Engenharia de Software

004

AHCodAcao

005
006

SmallInt

Cdigo da Ao

AHDescAcao

VChar(3
0)

Descrio da Ao

AHIndDisp

VChar(1
)

Indicador
Disponibilidade

Nome PK / Index

de

FK
Nome

Referncia

AHIND1

Prof. Joo Graciano

Faculdade de Engenharia de Software

5.

DEFINIES E CONVENES UTILIZADAS NO LAYOUT DE


IMPORTAO
O processo para importao de dados consiste basicamente na leitura de arquivos texto, cujas

especificaes e layout encontram-se nas pginas seguintes, e posterior incluso na base de


dados do SISTEMA dos dados lidos dos arquivos.
Os arquivos texto devem possuir registros definidos com tamanho fixo, ou seja, cada campo
tem uma posio inicial e um tamanho rgido. Cada registro lgico (linha do arquivo) deve ser
terminado com os caracteres CR (Carriage Return) e LF (Line Feed). A configurao hexadecimal
desses caracteres de controle 0D0A.
Opcionalmente, os campos dos registros podem ser delimitados por "Tab" (hexadecimal 09).
Neste caso, no obrigatrio que o tamanho dos campos seja preenchido completamente, e sim,
apenas os seus caracteres significativos (no so obrigatrios zeros esquerda para os campos
numricos nem espaos direita para os campos alfanumricos). Mesmo os registros com campos
delimitados por "Tab" devem ser terminados com CR + LF.
A escolha de delimitar ou no os campos com "Tab" depender da(s) ferramenta(s) que
devero gerar o arquivo e da sua facilidade de uso. Para o SISTEMA, este detalhe irrelevante, visto
que sua Rotina de Importao suporta arquivos com ou sem "Tab".

Prof. Joo Graciano

Faculdade de Engenharia de Software

6. APRESENTAO DOS LAYOUTS DE IMPORTAO


Para apresentar o layout de um arquivo texto foi definido um padro, como apresentado
abaixo:

Grupo de Registro: Um grupo de registro um conjunto de informaes que possuem


uma caracterstica em comum ou que buscam apresentar uma informao maior. Muitos
layouts de importao possuem grupos como: Registro de Header, Registro de Detalhe,
Registro de Trailer. Outros layouts no necessitam desta distino por possurem apenas
um tipo de registro.

Seq - Nmero sequencial: Exibe o nmero sequencial da informao dentro do arquivo.


Este nmero determina a ordem em que os dados aparecero no arquivo texto.

Informao: Apresenta uma descrio para a informao, que permita identific-la.


Exemplos para este campo so: CPF, Nome do Funcionrio, Matrcula do
funcionrio.

Campo de Origem / Destino: Esta informao opcional, informando o nome de um


campo no banco de dados de onde deve ser obtida ou que deve receber a informao.

Posio: Indica as posies das informaes nos arquivos texto que apresentam as
informaes com tamanho fixo (no delimitados por Tab)
Ini Incio: Indica a posio inicial da informao no arquivo. o nmero da
coluna da linha em que comea a informao. Por exemplo: se o campo CPF
comear a ser representado no arquivo na posio 50, deve constar o valor 50 para

esta informao;
Tam Tamanho: Permite indicar o tamanho do campo em caracteres. Por exemplo:
se CPF composto por 11 caracteres, deve constar o valor 11 para esta informao.

TD: Indica o Tipo de dado da informao


N Numrico Devem ser alinhados direita e com zeros esquerda, ou zerados
quando opcionais ou sem contedo;
D Data Devem ser informados no formato AAAAMMDD, ou zerados quando
opcionais ou sem contedo;
S String (alfanumrico). Devem ser alinhados esquerda e com brancos direita, e
no podero conter apstrofos.

RQ: Indica se uma informao obrigatria ou no no arquivo. As informaes com X


nesta coluna so obrigatrias.

Observao: Esta informao opcional, apresentando consideraes importantes


sobre a informao. Pode ser usado para indicar como ser validada a informao. Indica
tambm se a informao deve estar cadastrada em alguma tabela e em qual tabela, ou
mesmo ser apresentado uma lista de valores vlidos para uma informao.

Tamanho do registro: Mostra o tamanho de cada registro no arquivo texto. O valor ser
a soma da coluna Tam de cada informao do Grupo de Registros. Por exemplo: um
grupo de registros que possui as informaes CPF (com 11 caracteres) e Nome (com 30
caracteres) ter como Tamanho de registro o valor 41.

Prof. Joo Graciano

Faculdade de Engenharia de Software

A. ATRIBUTOS POR FUNCIONRIOS


Um atributo adicional uma informao que no est prevista na estrutura original de
algumas tabelas do SISTEMA. Por exemplo, no previsto que para o funcionrio tenha que ser
includa a informao Manequim do Funcionrio (para controle de uniformes). Caso o usurio
deseje que esta informao seja fornecida para o funcionrio, ele pode criar um atributo Adicional para
cont-la.

I. APRESENTAO DO LAYOUT
Nos arquivos de importao de Atributos por funcionrios temos a possibilidade de importar
os dados usando a Matricula ou o ID nico do funcionrio para identific-lo. Para viabilizar estas duas
possibilidades de importao, temos dois leiautes de arquivos.
No leiaute que utiliza a Matrcula para identificar o funcionrio existe apenas um Grupo de
registro. Este Grupo de registro possui todos os dados necessrios para a importao das
informaes. Ao usar este leiaute, o funcionrio ser identificado pelo Cdigo de Empresa e Matrcula
informadas.

II. CONSIDERAES
LAYOUT

SOBRE

AS

INFORMAES

DO

O leiaute possui o campo [Valor (Contedo do Atributo)], cujo valor depender do TIPO que foi
definido para o mesmo na tabela ATRIBUTO, como segue:

Prof. Joo Graciano