Representação Dos Dados
Seminário: Representação Dos Dados. Pesquise 862.000+ trabalhos acadêmicosPor: kamikat • 11/10/2014 • Seminário • 3.220 Palavras (13 Páginas) • 196 Visualizações
Representação dos dados
Um arquivo é organizado logicamente como uma sequencia de registros.
Embora os blocos tenham um tamanho fixo determinado pelas propriedades físicas do disco e pelo sistema operacional, o tamanho dos registros pode variar.
Em um banco de dados relacional, as tuplas de relações distintas têm geralmente número de atributos com tipos diferentes.
Exemplo 4.1:
estudante(mat int, nome char(30),id_curso char(5))
disciplina(id_disc char(5), nome_disc char(20),creditos int)
matriculado(mat int, id_disc char(5), semestre int, ano int)
a) Cada atributo deve ser representado por sequencias de tamanho fixo ou variável chamadas "campos";
• campos de tamanho fixo(todos os campos para todas s tuplas da relação têm o mesmo tamanho indepentente da informação que ele contém):
relação estudante (37 bytes)
2 bytes 30 bytes 5bytes
relação disciplina (27 bytes)
5 bytes 20 bytes 2 bytes
relação matriculado (11 bytes)
2 bytes 5 bytes 2 bytes 2 bytes
Para a relação estudante:
1994 José Pereira BCC
2044 Maria Antônia Silva ECON
2569 Francisco dos Santos BCC
• campos de tamanho variável (dependem da informação mantida em cada registro) .
Para a relação estudante:
1994 José Pereira BCC
2044 Maria Antônia Silva ECON
2569 Francisco dos Santos BCC
b) campos são colocados juntos formando registros de tamanho fixo ou variável. Este registro corresponde a uma tupla da relação;
c) registros são armazenados em páginas (blocos):
d) uma coleção de registros que forma uma relação são armazenados como uma coleção de páginas.
Problemas:
a) como representar tipos de dados diferentes em diferentes campos de um mesmo registro? (formato de campos)
b) como acessar a informação contida em cada campo dentro do registro? (formato de registros)
c) como representar e armazenar relações como coleções de blocos?
d) considerando que os registros são agrupados em blocos, como saber se há espaço livre no bloco para suportar um novo registro? (formato de blocos)
4.1. Representação de tipos de dados em campos de um registro (formato de campos)
Como os tipos de dados de um comando SQL são representados em um campo de um registro?
Exemplo:
CREATE TABLE estudante(
mat INT PRIMARY KEY,
nome VARCHAR(30),
id_curso CHAR(5)
);
Dados são representados como uma sequencia de bytes
a) inteiros: são representados por 2 ou 4 bytes
b) reais: são representados por 4 ou 8 bytes
c) cadeias de caracteres de tamanho fixo
(id_curso CHAR(5)):
Neste caso o campo id_curso correspondente a todas as tuplas da relação estudante é um vetor de 5 caracteres. Se o dado possui apenas 3 caracteres, os outros dois caracteres do vetor deverão ser preenchidos com branco
BCC$$
ECON$
d) cadeia de caracteres de tamanho variável
(nome VARCHAR(n)):
Neste caso o valor de um campo é uma cadeia de caracteres que pode variar de tamanho embora a implementaçao de VARCHAR(n) mantenha o campo de tamanho fixo.
Soluções:
• comprimento mais conteúdo
- são alocados no máximo n + 1 bytes (pode variar a implementação, alocando no máximo n bytes e a cadeia de caracteres conter no máximo n-1 caracteres);
- o primeiro byte mantém o tamanho do dado, que não pode ultrapassar n caracteres. O valor de n não pode ser maior que 255;
- o restante dos bytes mantém a cadeia de caracteres.
12José Pereira BCC$$
19Maria Antônia Silva ECON$
26Francisco dos Santos Silva BCC$$
• com terminação
- são alocados no máxcimo n+1 bytes para suportar o dado;
- os primeiros n bytes do vetor contém a cadeia de caracteres ;
- o (n+1)-ésimo byte contém um terminador, exemplo '/0'
José Pereira’/0’ BCC$$
Maria Antônia Silva’/0’ ECON$
Francisco dos Santos Silva’/0’ BCC$$
e) data: é normalmente representada por uma cadeia de caracteres de tamanho fixo de acordo com algum formato. Como exemplo o SQL2 representa uma data na forma AAAA-MM-DD onde DDDD são 4 dígitos que representam o ano, seguido de um hifem seguido de dois digitos que representam o mês, hífem e por fim dois dígitos que representam o dia.
f) horas: são representadas por cadeia de caracteres de tamanho fixo.
Exemplo:
...