18/2/2009
1
Modelagem de
Dados
Conceitos Iniciais
Aula
01
1
Importância
da
Disciplina
• A informação é, para as empresas modernas, o prin‐ cipal recurso. É um insumo decisivo para as tarefas gerenciais. Uma vez que os gerentes precisam de infor‐ mação de alta qualidade para administrar a mudança em ambiente globalg turbulento.
• Muitas organizações estabeleceram sistemas de arma‐ zenagem e recuperação de dados – a matéria prima da informação.
• O interesse central do gerenciamento dos sistemas de informação é projetar, construir e manter os sistemas de disponibilização da informação.
2
O
que
é
Modelagem
de
Dados?
• A modelagem de dados é um processo no qual se "pro‐ jeta" ou "planeja" a sua base de dados de forma que você possa aproveitar os recursos do Gerenciador de Banco e também para que possa construir um banco de dados consistente, que reaproveite recursos, que exija menos espaço em disco e sobretudo que possa ser menos espaço em disco e, sobretudo, que possa ser bem administrado.
• Qual o objetivo da modelagem de dados? Por que modelar?
• Representar o ambiente observado
• Documentar e normalizar
• Fornecer processos de validação
• Observar processos de relacionamentos entre objetos
3
Gerenciamento
de
Dados
• Imagine se um banco que esquecesse quem lhe deve dinheiro ou a uma revista que perdesse os nomes e os endereços dos seus assinantes. Em breve, estariam todos em grandes dificuldades, senão falidos. • Por isso houve a necessidade de criar mecanismos • Por isso, houve a necessidade de criar mecanismos
para gerenciar esses dados, desde pequenas massas até grandes.
• O gerenciamento de dados, exige habilidades em pro‐ jeto, uso e gerenciamento dos sistemas de armazena‐ mento de dados nas organizações modernas.
4
O
que
é
um
Banco
de
Dados?
• Bancos de dados, (ou bases de dados), são conjuntos de dados com uma estrutura regular que organizam informação.
• Um banco de dados normalmente agrupa informações utilizadas para um mesmo fim.
• O objetivo principal de um sistema de banco de dados é possibilitar um ambiente que seja adequado e eficiente para uso na recuperação e armazenamento de informações.
5
O
que
é
um
Banco
de
Dados?
• Por exemplo:
• Um banco de dados de uma escola, teremos como informação:
•Os dados pessoais do alunoOs dados pessoais do aluno
•Os dados pessoais dos funcionários
•Os cursos oferecidos ou anos (antiga série)
•As disciplinas oferecidas
•Os valores que os alunos pagaram nas boletas,
etc,etc,etc
18/2/2009
2
O
que
é
um
Banco
de
Dados?
• Um banco de dados é usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD).
• Normalmente um SGBD adota um modelo de dados, de forma pura, reduzida ou estendida.
• OBS:Muitas vezes o termo banco de dados é usado como sinônimo de SGDB.
• Exemplos de SGBD : SQL Server, Oracle, Postgresql, MySql
7
O
que
é
um
Banco
de
Dados?
• O termo banco de dados foi criado inicialmente pela comunidade de computação, para indicar coleções organizadas de dados armazenados em computadores digitais (informação digital).
• Porém o termo é atualmente usado para indicar tanto • Porém o termo é atualmente usado para indicar tanto
bancos de dados digitais como bancos de dados dispo‐ níveis de outra forma.
• OBS:No Brasil, é mais comum usar o termo base de dados quando se mencionam outros tipos de bancos de dados senão aqueles armazenados em um compu‐ tador e gerenciados por um SGBD.
8
O
que
é
um
Banco
de
Dados?
• Aceitando uma abordagem mais técnica, um banco de dados é uma coleção de registros salvos em um com‐ putador de um modo sistemático, de forma que um programa de computador possa consultá‐lo.
• Normalmente um registro está associado a um concei‐ to completo e é dividido em campos, ou atributos, que dão valores a propriedades desses conceitos.
• Alguns registros podem apontar diretamente ou refe‐ renciar indiretamente outros registros, o que faz parte da caracterização do modelo adotado pelo banco de
dados. 9
O
que
é
um
Banco
de
Dados?
• A descrição de quais são os tipos de registros exis‐ tentes em um banco de dados e ainda quais são os campos de cada registro é conhecida como esquema do banco de dados ou esquema relacional.
• Importante: o termo banco de dados deve ser aplicado apenas aos dados, enquanto o termo SGBD deve ser aplicado ao software com a capacidade de manipular bancos de dados de forma geral.
• Porém, é comum (mas não aconselhável) misturar os dois conceitos.
10
Características
de
Banco
de
Dados
• Integridade
• Restrições
• Segurança/Privacidade
• Segurança/Privacidade
• Restauração
• Reorganização
• Eficiência
11
Estrutura
de
um
Banco
de
Dados
• Um banco de dados possui uma ou mais tabelas (po‐ demos chamar também de entidades), que é uma forma comum de armazenagem de dados na empresa.
• O correto é que, através de um processo de análise, os dados fiquem organizados nestas tabelas
dados fiquem organizados nestas tabelas. • Cada tabela possui campos (ou podemos chamar
também de atributos ou linhas), que são os nomes dos dados que serão armazenados.
• Cada campo (ou atributo) possui propriedades, como por exemplo o tipo de dados a ser armazenado (carac‐ ter, numérico, data) e o tamanho.
18/2/2009
3
Estrutura
de
um
Banco
de
Dados
• As tabelas também possuem registros (ou linhas)
que são os dados que estão armazenados em cada
campo da tabela.
• Então podemos dizer que tabela (ou entidade) é:
• Então podemos dizer que tabela (ou entidade) é:
•Objeto criado para armazenar os dados fisicamente
•Os dados são armazenados em linhas (registros) e colunas
(campos)
•Os dados de uma tabela normalmente descrevem um assunto
tal como clientes, vendas, etc.
13
Importante: A definição dos atributos geralmente acontece durante várias discussões com o cliente. Todo atributo que pode vir a ser necessário em alguma
tomada de decisão, no presente ou no futuro, deve ser incluído. Evite armazenar
dados desnecessários.
14
Como
Escolher o
Nome
dos
Dados?
• Basicamente você irá dar nome aos campos (colu‐
nas), e definir o tipo de dados para estes campos. • Isto depende da informação que deseja armazenar
no campo; se for armazenar um dado que não fará no campo; se for armazenar um dado que não fará
parte de cálculos, um nome por exemplo, o tipo
pode ser texto, se for armazenar valores numéricos
que farão parte de cálculos o tipo será numérico
(inteiro, simples...), se for armazenar datas o tipo
será data e assim por diante.
15
Como
Escolher o
Tamanho dos
Dados?
• O tamanho do campo define a quantidade de infor‐
mação relacionada ao item que você pode armaze‐
nar, assim:
•para um campo do tipo texto com tamanho 30 você poderá
armazenar textos com no máximo 30 caracteres
armazenar textos com no máximo 30 caracteres,
•um campo numérico de tamanho 2 armazena números com até
dois dígitos.
16
Dicionário
de
Dados
• Dentro do contexto de SGBD, um dicionário de dados
é um grupo de tabelas, habilitadas apenas para
leitura ou consulta, ou seja, é uma base de dados,
propriamente dita.
• É utilizada para demonstrar de forma efetiva como é
(ou como ficará) as tabelas de um banco de dados
criado fisicamente.
17
Dicionário
de
Dados
• Quando uma organização constrói um dicionário de dados de dimensão empresarial, o intuito deve ser o de padronizar precisamente definições semânticas a serem adotadas na empresa toda;
• Portanto, ele deve incluir tanto definições semânticas como de representação para elementos de dados.
• Por outro lado, as definições de representação indicam como os elementos de dados são armazenados em uma estrutura de computador de acordo com seu tipo, ou seja, se são dados do tipo inteiro, caracter ou data.
18/2/2009
4
19
Tipos
Básicos
de
Dados
• Os dados podem assumir vários tipos de dados, que irão variar dependendo do SGBD que estive‐rem usando. Abaixo seguem alguns tipos:
•char: Caracter (string de valor fixo): O valor armazenado é
i uma string.
•Varchar: Caracter (string de valor variável): O valor armaze‐
nado é uma string.
•integer: Número inteiro é o tipo padrão e o tamanho do
conjunto que pode ser representado.
•float: Número em ponto flutuante de precisão simples. São
conhecidos normalmente como números reais.
•double: Número em ponto flutuante de precisão dupla
•Date: Tipo data
20
Tipos
Básicos
de
Dados
• Diferença entre char e varchar:
–O campo char quando armazena um valor, completa com
espaços em branco o que não está sendo utilizado. –Por exemplo criando um campo com 10 caracteres vocêPor exemplo, criando um campo com 10 caracteres, você
armazena o valor 'A' e também vai armazenar mais nove
espaços em branco depois. Por causa desta característica o
tipo de dados CHAR é chamado de tipo de dados com
tamanho fixo.
–Já o tipo varchar, armazena SOMENTE a quantidade de
caracteres que foram especificados na sua criação, ou seja,
ele gravará o valor 'A' sem os espaços em branco depois.
21
• Resumindo...
• Um banco de dados é composto por uma ou mais
tabelas (ou entidades).
U b l é d i
• Uma tabela é composta de um ou mais campos
(linhas).
• Os dados ficam gravados nos campos das tabelas.
• Estes dados gravados geram os registros de uma
tabela.
22
Exercício (Para
ser
entregue em 19/02)
• Você pegará na xerox uma ficha de matricula não
preenchida, que servirá de modelo para implan‐
tação de um sistema informatizado em uma escola
fictícia.
• Com base no exemplo anterior, criar um dicionário
de dados, que contemple os dados desta ficha de
matricula.
•Faça um dicionário de dados
•Separe as tabelas, caso seja mais de uma
•Dê nome aos campos, e preencha as propriedades (tipo e
tamanho)
• Individual, digitado