Adabas - FundamentosTRA001-44E
Conteúdo
Capítulo 11 Informação e Comunicação
Capítulo 22 Fundamentos de Banco de Dados
Capítulo 33 Adabas - Arquitetura
Capítulo 44 Adabas - Definição de Arquivo
Capítulo 55 Adabas - Lógica de Acesso
Capítulo 66 Database - Modificações, Reinício &Recuperação
Software AG
Headquarters: DarmstadtWorldwide representation
Branch offices of SAG Systemhaus GmbH:
Darmstadt BerlinHamburg HannoverDusseldorf NurembergMunich Stuttgart
Software AG - Vendas
Customers in:Financial Services
Public Administration
Industry and Pharmaceutical Industry
Trade, Logistics, Media, Telecommunication0
100
200
300
400
500
600
1998 1999 2000 2001
Vendas(million €)
1
Informação e Comunicação
Informação na Empresa
Recursos HumanosContabilidade Marketing / Vendas
AngebotAngebot
Compras Desenvolvimento/Produção Estoque / Expedição
Atividade OperacionalGerenciamento
Contabilidade Recursos Humanos Marketing / Vendas
AngebotAngebot
Compras Desenvolvimento/Produção Estoque/Expedição
Recebimento de pagamentosMemorandos
PagamentosSistema de vagas
Catálogo de produtosPreço de vendas
Novas comprasCompras para produção
Conta de materiaisUtilização de equipamentos
InventárioOrdem de expedição
Apoio da TI para tarefas Operacionais
Aplicações
Desenvolv. de Aplicações Ferramentas de planejamento
DocumentaçãoAmbiente de Programação Sistema de TI
Operational
Database Comum
Tarefas OrganizacionaisGerenciamento
Estatísticas / Previsões
Recursos Humanos Marketing / Vendas
AngebotAngebot
Estoque/Expedição
Contabilidade
Compras Desenvolvimento/Produção
Planejamento da Produção
Credibilidade Financeira de clientes
Informações em artigosDados de produção
Panorama de funcionários por vários critérios
Estatísticas de vendasVisão geral de clientesAnálise de mercado
Visão Geral de fornecedores por vários critérios
Apoio da TI para tarefas Organizacionais
Sistema de TI Operacional
Estatísticas Individuais
Database Comum
Comunicação: instrumento para Atividade
AngebotAngebot
BankingServiços Online
ClientesParcerias Comerciais
Comércio/ Usuários finais
Fornecedores
DBs – Pesquisa DBs - patentes
Serviços Contábeis
Processamento de Informações Integradas
1. Qrtl.2. Qrtl.3. Qrtl.4. Qrtl.
EDI,XML
WAN
Internet
Fax
Intranet
Database Comum
Resumo
As atividades operacionais e organizacionais das empresas são amparadas por Sistemas de Informação.Sistemas de Informações modernos integram funções das aplicações operacionais, processamento de informações individuais e tecnologias de comunicação diretamente no local de trabalho dos usuários. Todos os sistemas podem acessar os dados corrente usando um Database comum. Com seus produtos e serviços, a Software AG é seu parceiro profissional e eficiente para planejar e implementar modernos Sistemas de Informação.
2
Fundamentos de Bancos de Dados
Sistemas de Arquivos
Batch Online Aplicações PC / Web
TransferSortMerge
Banco de Dados
Batch Online Aplicações PC / Web
DatabaseDatabase
Database / Desenho de Databases
Desenho do Database
Requisitos de informações
Requisitos de Informações
Aplicações Aplicações
DBMS
Visão Externa
Visão Interna
DadosDados
Análise de DadosDepartamento
Funcionários(Vendedores)Carro
PedidosArtigos Clientes
Faturas
possui
dirigem
envolvem fazem
Faturam
assinam
Modelo de Dados Hierárquico
Departamento
Funcionários
Carros Pedidos
ArtigosClientes Faturas
Modelo de Dados em Rede
Departamento
Funcionários
Carros Pedidos
Artigos
Clientes
Faturas
Modelo de Dados Relacional
DepartamentoDepartmentID
Funcionário DepartmentID
PersonnelID ClienteCustomer
ID
Carro PersonnelID Pedido Personnel
IDCustomer
IDOrder
ID
Fatura OrderID
Artigo OrderID
ArticleID
ArtigoArticleID
Administração de DatabasesUsuário
Administrador de Dados
Administrador do Database
Requisitos da Aplicação
Desenho de Dados
Organização dos Dados
Performance,Gerência de espaçoDesenho do Database InstalaçãoBackupsRecuperaçãoOrganização Operacional
Dicionário de Dados
Utilitários
DatabaseDatabase
Resumo
O uso de um Banco de Dados reduz a redundância de dados, aumenta a flexibilidade, permite acessos paralelos a partir de diferentes ambientes e modificações concorrentes através de diferentes usuários.O DBMS reconhece a estrutura interna de armazenamento do Database (visão interna) e prepara os dados em sintonia com as necessidades da aplicação (visão externa).Durante os processos de desenho dos Dados e do Database, o dado é transformado. Isso permite o máximo de flexibilidade para a aplicação e melhor exploração das características físicas do sistema de Banco de Dados.A Administração de Dados e de Databases são funções importantes para a organização e operação técnica de um sistema de Banco de Dados.
3
Adabas - Arquitetura
Com-plete, TSO, CICS,IMS/TM, TIAM, UTM,
Batch
ENTIRENET-WORK ODBC Internet
Intranet
Plataformas
AdaptableDAtaBAse
System
OS/390, z/OSVSEVM/CMSBS2000
OS/400UnixLinuxOpenVMSWindows
Database - Componentes
ASSO
DATA
WORK
Dados de Usuário
Informações de Controle - Database- User data
Dados operacionais temporários
Data StorageAssociator
Work Dataset
Data Storage
ASSO
DATA
Dados de usuário
WORK
Data Storage: System File do Database
Dados no Banco de DadosDATA
EMPLOYEES
VEHICLES
1 FLETCHER LILLY2 SMITH MARK3 CLIMENSON JENNY4 FLETCHER GILBERT5 SAMMET WILLY
File Coleção de registros de dadosIntervalo de blocos
Registro Seqüência de camposISN Internal Sequence Number
Número único identificador de registro em um arquivo
Conceito de Campo (Field)
EMPLOYEES
1 20023400 FLETCHER LILLY MGMT102 20000400 SMITH MARK SALE20
ISN PERSONNEL-ID NAME FIRST-NAME DEPT
Compressão
Registro de dados original
CompressãoCompressão
Registro comprimido
20023400 FLETCHER LILLY MGMT10
20023400 FLETCHER LILLY MGMT10
Compressão / Estrutura de Bloco
CompressãoCompressão
ISN
Registro comprimido
Bloco físico
Espaço de Padding (expansão)Bloco físico
Bloco físico
ISN 20023400 FLETCHER LILLY
ISN 20023400 FLETCHEROKE LILLY
DATA
EMPLOYEES
VEHICLES
EMPLOYEES(2nd Extent)
Alocação de extensões (Extents)
Extensão automática para os dados existentes
O Associator
ASSO
WORK
Informações de controle- Database- User data
Associator
DATA
Associator: System File do Database
Conceito de DescritorAssociator
NAMEFLETCHER
Data Storage
EMPLOYEES
1 20023400 LILLY MGMT10
ISN PERSONNEL-ID NAME FIRST-NAME DEPT
FLETCHERFLETCHER
Lista Invertida
Lista Invertida por DescritorNAME
EMPLOYEESISN NAME
CLIMENSON 1 33EVANS 1 77FLETCHER 2 1, 41, 4SAMMET 1 55SMITH 3 2, 6, 82, 6, 8
1122334455667788
FLETCHERSMITHCLIMENSON
FLETCHERSAMMETSMITHEVANSSMITH
Índice para cada descritor
Address Converter (Conversor de endereços)
DATA
4312
4313
4314
4315
ASSO
Lista Invertida NAME
43124314431343154312431543134314
AddressConverter
FLETCHER SAMMET11 55
CLIMENSON EVANS33 77
SMITH SMITH22 88
FLETCHER SMITH44 66
CLIMENSON 1 33EVANS 1 77FLETCHER 2 1, 41, 4SAMMET 1 55SMITH 3 2, 6, 82, 6, 8
Conexão lógica entre a Lista Invertida e os Registros de dados
Núcleo do Adabas
onlinebatch
Módulo de Comunicação
Utility
Módulo de Comunicação
ASSO DATA WORK
Módulo de Comunicação
NúcleoAdabas
Acessos ParalelosAlterações concorrentesProcessamento otimizado
ASSO DATA WORK
Núcleo Adabas
I/O Buffer
Reademployee
FLETCHER
Reademployee
FLETCHER
Buffer Pool
43124312431443144313431343154315FLETCHERFLETCHER
4312 FLETCHERFLETCHER SAMMETSAMMET1 5
22 1, 41, 4
Processamento campo-a-campoRead employee
FLETCHERDisplay Name and Dept
4312
ASSO DATA WORK
Núcleo Adabas
FLETCHERFLETCHER MGMT30MGMT30
I/O Buffer1 FLETCHERFLETCHER MGMT30MGMT30 5 SAMMET
DBA Utilities (utilitários)Exemplo:-- DefineDefine-- DeleteDeleteFilesFilesGerência de espaGerência de espaççoorelatrelatóórios do DBrios do DB
Núcleo Adabas
Exemplo:- Load- UnloadDataDB restart/recovery
online batch
ASSO DATA WORK
Interfaces de Programação
Núcleo Adabas
Direct calls(e.g.
Assembler, COBOL,...)
SQL(COBOL, C,
PL/1, FORTRAN)
Natural
ASSO DATA WORK
Java
Interfaces Programação: Direct CallsExemplo: COBOL
MOVE 1 TO FILE-NUMBER.MOVE 'L3' TO COMMAND-CODE.MOVE 'AE.' TO SEARCH-BUFFER.MOVE 'FLETCHER TO VALUE-BUFFER.MOVE 'AA,AE,10,AC.' TO FORMAT-BUFFER.CALL 'ADABAS' USING CONTROL-BLOCK,
FORMAT-BUFFER,RECORD-BUFFER,SEARCH-BUFFER,VALUE-BUFFER.
IF RESPONSE-CODE NOT = 0 . . ....
...
Interfaces Programação : SQL
COBOL, C, PL/1, FORTRAN
EXEC SQLSELECT PERSONNEL-ID, NAME, FIRST-NAMEFROM EMPLOYEESWHERE NAME GE 'FLETCHER'ORDER BY NAME
END-EXEC
COBOL, C, PL/1, FORTRAN
...
...
Interfaces Programação : Java
import com.softwareag.jadabas.*;public class ReadEmployees {public static final void main (String args[]) {Employees.setFNR (136,11);
Adabas adabas =Employees.readFrom (Employees.NAME,"FLETCHER");
while (adabas.hasMoreElements()) {Employees em = (Employees) adabas.nextElement();
System.out.println ("Personnel-ID: " + em.personnelID + ", Last name: " + em.lastname+ ", First name: " + em.firstname );}
}}
import com.softwareag.jadabas.*;public class ReadEmployees {public static final void main (String args[]) {Employees.setFNR (136,11);
Adabas adabas =Employees.readFrom (Employees.NAME,"FLETCHER");
while (adabas.hasMoreElements()) {Employees em = (Employees) adabas.nextElement();
System.out.println ("Personnel-ID: " + em.personnelID + ", Last name: " + em.lastname+ ", First name: " + em.firstname );}
}}
Interfaces Programação : Natural
READ EMPLOYEES BY NAMESTARTING FROM 'FLETCHER'
DISPLAY PERSONNEL-ID NAME FIRST-NAMEEND
Adabas – Proteção de Dados
Autorização:Read: NAME, ADDRESS,
DEPT, SALARYUpdate: ADDRESS, SALARY
Autorização:Read: NAME, ADDRESSUpdate: ADDRESS
Autorização:Read: NAME, ADDRESS, SALARYUpdate: SALARY
but only ifDEPT = 'SALE20' andSALARY<80000Adabas Security
Para arquivos, campos, separados para read/update
EMPLOYEES
EVANS SALE20 LOS ALAMOS 34000FLETCHER SALE20 DETROIT 26000SMITH SALE20WILSON MGMT30 criptografando:
Natural – Função e Proteção aos Dados
Autorização:Uso do Sistema de Informações Pessoais sem autorização para funções de update
Autorização:
Natural SecurityUsuários
Funções de ProcessamentoEstruturas de Dados
Uso do Sistema de Informações Pessoais, que autoriza acesso de leitura
Adabas SecurityAccess/Update to - File
- Fieldcriptografia
Adabas Database
Resumo
Adabas armazena dados de usuários em formato comprimido nos blocos do Data Storage (DATA).Informações de controle das estruturas do Banco de Dados e dos Dados (Lista Invertida, Address Converter) estão armazenadas no Associator (ASSO).O núcleo do Adabas é o processo ativo do Database. O acesso campo-a-campo aos dados no banco de dados, de forma concorrente e otimizada, ocorre via as funções do núcleo. Os usuários acessam o banco de dados via interfaces de programação Natural, Java, SQL (embutidas, ODBC, WWW Gateway) ou via direct calls. Funções de gerenciamento do Database podem ser chamadas via serviços online ou utilitários batch.
4
Adabas – Definição de arquivos
A Unidade de Informação
2002340020023400 LILLYLILLY FLETCHERFLETCHER PHYLLISPHYLLIS SS
PERSONNEL-ID
FIRST-NAME NAME
MIDDLE-NAME
MAR-STAT SEX
FFBIRTH
19650422196504221
Formatos e tamanhos
Formato
Alphanumeric (A)
Long Alpha* (LA)
Unpacked decimal (U)
Packed decimal (P)
Binary (B)
Integer (F)
Floating Point (G)
Wide (W)
1-253 bytes
1-16381 bytes
1-29 decimal digits
1-29 decimal digits
1-126 bytes
2 or 4 bytes
4 or 8 bytes
1-253 bytes
Tamanho do campo
* Long Alpha é uma opção para formatos alfanuméricos e muito grandes
Definição de campos
EMPLOYEES
Ty L Field ID F Length D U DB S*- - ----------------------- *- ------ * * -- *
PERSONNEL-ID A 8.0 AAFIRST-NAME A 20.0 ACNAME A 20.0 AEMIDDLE-NAME A 20.0 ADMAR-STAT A 1.0 AFSEX A 1.0 AGBIRTH U 8.0 AH
Estruturas
PERSONNEL-ID
FIRST-NAME NAME
MIDDLE-NAME
MAR-STAT SEX BIRTH
2002340020023400 LILLYLILLY FLETCHERFLETCHER PHYLLISPHYLLIS SS FF 19700422197004221
FULL-NAME
Campo Elementar
Grupo de campos
20030602 20030704FREFRE
ENGENG22 2003051720030517 2003052120030521 33 GERGER
GrupoPeriódico
Campo Multi-valorado
LEAVE-START
LEAVE-END
LEAVE-BOOKED
Definição da EstruturaEmployees
Ty L Field ID F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 AAGR 1 FULL-NAME AB
2 FIRST-NAME A 20.0 AC 2 NAME A 20.0 AE2 MIDDLE-NAME A 20.0 AD1 MAR-STAT A 1.0 AF
.
.
.PE 1 LEAVE-BOOKED AW
2 LEAVE-START U 8.0 AX2 LEAVE-END U 8.0 AY
MU 1 LANG A 3.0 AZ
Campos Virtuais
FLETCHERFLETCHER LILLYLILLY SS FF 1970042219700422
FLETCHER 1970 1970
NAME-YEAR BIRTH-YEAR
Supercampo Subcampo
Campos Virtuais - DefiniçãoEMPLOYEES
Ty L Field ID F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 AAGR 1 FULL-NAME AB
2 FIRST-NAME A 20.0 AC2 NAME A 20.0 AE2 MIDDLE-NAME A 20.0 AD1 MAR-STAT A 1.0 AF1 SEX A 1.0 AG1 BIRTH U 8.0 AH
SB 1 BIRTH-YEAR U 4.0 B1---- Source field(s) ---- - Start---End--BIRTH 5 8
SP 1 NAME-YEAR A 24.0 B2---- Source field(s) ---- - Start---End--NAME 1 20BIRTH 5 8
Descritor Único
CLIMENSONCLIMENSON
EVANSEVANS
FLETCHERFLETCHER
SAMMETSAMMET
SMITHSMITH
11 33
11 77
22 1, 41, 4
11 55
33 2, 6, 82, 6, 8
PERSONNEL-ID
FIRST-NAME NAME
MIDDLE-NAME
MAR-STAT SEX
2002340020023400 LILLYLILLY FLETCHERFLETCHER PHYLLISPHYLLIS SS FF1
Lista InvertidaNAME
20004000 1 220010500 1 320015700 1 520023400 1 120023600 1 620025200 1 820027200 1 720030300 1 4
Lista InvertidaPERSONNEL-ID
Descritor único
Definição de Descritor
EMPLOYEES
Ty L Field ID F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 D U AAGR 1 FULL-NAME AB
2 FIRST-NAME A 20.0 AC2 NAME A 20.0 D AE2 MIDDLE-NAME A 20.0 AD1 MAR-STAT A 1.0 AF1 SEX A 1.0 AG
Campos Multi-Valorados como Descritores
RUSRUSENGENG JAPJAP
ICEICE2005500020055000 LILLYLILLY1 44 ENGENG
LANG
88 1, 2, 3, 4, 5, 6, 7, 81, 2, 3, 4, 5, 6, 7, 8
GERGER 11 88
ICEICE 22 1, 81, 8
JAPJAP 22 1, 81, 8
RUSRUS 11 11
Lista InvertidaLANG
Grupo Periódico como Descritor
* A extensão do valor do DE através do índice do PE pode ser desabilitada usando a opção XI (excluir índice).
USDUSD 2120021200USDUSD 2240022400
USDUSD 2390023900USDUSD 2570025700
2090020900
2003030020030300 GILBERTGILBERT4 55 USDUSD
SALARY55
2800028000
11 77
2120021200 55 11 44
2240022400 44 22 4, 74, 7
2280022800 55 11 22
2320023200 33 11 77
2390023900 33 11 44
Índice do PE
CURRENCY
2390023900 55 11 22
2470024700 22 11 77
2570025700 22 11 44
2800028000 11 11 44
Subdescritor e Superdescritor
PERSONNEL-ID
FIRST-NAME NAME
LEAVE-DUE
LEAVE-TAKEN DEPT
LEAVE-DATA
MGMTMGMT 33
DEPARTMENT
1, 3, 81, 3, 8
SALESALE 33 2, 6, 72, 6, 7
TECHTECH 22 4, 54, 5
DEPT-PERSON
Subdescritor
Definição do Superdescritor
Definição do Subdescritor
MGMT10FLETCHERMGMT10FLETCHER 11
MGMT30CLIMENSONMGMT30CLIMENSON 11
MGMT30SMITHMGMT30SMITH 11
11
33
88
SALE20EVANSSALE20EVANS 11 77
SALE20SMITHSALE20SMITH 22
TECH10FLETCHERTECH10FLETCHER 112, 62, 6
44
TECH10SAMMETTECH10SAMMET 11 55
2002340020023400 LILLYLILLY FLETCHERFLETCHER1 3434 0808 MGMT10MGMT10
Superdescritor
Superdescritor / Subdescritor - DefiniçãoEMPLOYEES
Ty L Field ID F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 D U AAGR 1 FULL-NAME AB
2 FIRST-NAME A 20.0 AC2 NAME A 20.0 D AE2 MIDDLE-NAME A 20.0 AD
GR 1 LEAVE-DATA A32 LEAVE-DUE U 2.0 AU2 LEAVE-TAKEN U 2.0 AV
SB 1 DEPARTMENT A 4.0 D S1---- Source field(s) ---- - Start---End--DEPT 1 4
SP 1 DEPT-PERSON A 26.0 D S2---- Source field(s) ---- - Start---End--DEPT 1 6NAME 1 20
Descriptor Fonético e Hiperdescritor
Algoritmo de fonetização
Algoritmo definido pelo DBA
PERSONNEL-ID
FIRST-NAME NAME
LEAVE-DUE
LEAVE-TAKEN DEPT
2002340020023400 LILLYLILLY FLETCHERFLETCHER1 3434 0808 MGMT10MGMT10
LEAVE-DATA
99
1010
1313
11LEAVE-LEFT
44
11 22
11 55Descritor Fonético 1818 11 88
PHONETIC-NAME
"CLIMENSON""CLIMENSON"
"EVANS""EVANS"
"FLETCHER""FLETCHER"
"SMITH""SMITH"
11 33
33 77
22 1, 41, 4
44 2, 5, 6, 82, 5, 6, 8
Hiper-descritor
2121
262622 3, 73, 7
11 11
3131 11 66
Fonético / Hiperdescritor - DefiniçãoEMPLOYEES
Ty L Field ID F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 D U AAGR 1 FULL-NAME AB
2 FIRST-NAME A 20.0 AC2 NAME A 20.0 D AE2 MIDDLE-NAME A 20.0 AD
GR 1 LEAVE-DATA A32 LEAVE-DUE U 2.0 AU2 LEAVE-TAKEN U 2.0 AV1 DEPT A 6.0 D AO
PH 1 PHONETIC-NAME A 20.0 D PH---- Source field(s) ----NAME
HY 1 LEAVE-TAKEN B 4.0 D H1---- Source field(s) ----LEAVE-DUELEAVE-TAKEN
Compressão – Como funcionaPERSONNEL-
IDFIRST-NAME NAME
MIDDLE-NAME
MAR-STAT SEX BIRTH
2002340020023400 LILLYLILLY FLETCHERFLETCHER FF1 0000000000000000
Compressão
00010001 LL 2002340020023400 LL LILLYLILLY LL FLETCHERFLETCHER C1 FF LL 00
Definição da Compressão
EMPLOYEES
Ty L Field ID F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 D U AA GR 1 FULL-NAME AB
2 FIRST-NAME A 20.0 AC N2 NAME A 20.0 D AE2 MIDDLE-NAME A 20.0 AD N1 MAR-STAT A 1.0 AF F1 SEX A 1.0 AG F1 BIRTH U 8.0 D AH
Supressão de Valores Nulos para campos MU
RUSRUSRUSRUS
RUSRUSJAPJAP
ICEICE2005500020055000 LILLYLILLY1
Modify LANG (2) = ' '
FLETCHERFLETCHER 44 ENGENG
JAPJAP
44 ENGENGJAPJAP
33 ENGENG
Com NUSem NU
Supressão de Valores Nulos para Descritores
2002520020025200 MARKMARK SMITH3 30000
2001050020010500 JENNYJENNY CLIMENSON4 020030300 GILBERT FLETCHER5 0
Com NUSem NU
0 3, 43, 426000 2 2, 72, 7
3000030000 11 222600026000 22 77
3000030000 11 22
PERSONNEL-ID
FIRST-NAME NAME SALARY
Lista InvertidaSALARY
2
Considerações de Desenho
Número de campos e repetição de camposEstrutura claraUtilização de espaçoVelocidade de acesso
Seqüência de camposUtilização de espaçoVelocidade de acesso
Definição de DescritoresFlexibilidade de acessoVelocidade de acessoUtilização de espaçoEfeito sobre a performance
Criando um arquivo
AdabasOnlineServices
AdabasOnlineServices
FNDEF='01, AA, 8, A, DE, UQ'FNDEF='01, AB'FNDEF='02, AC, 20, A, NU'
::
FNDEF='01, AA, 8, A, DE, UQ'FNDEF='01, AB'FNDEF='02, AC, 20, A, NU'
::
Definição de campos via Utilitários
Utilitário batch
Arquivo de entrada
Definição no PredictDefinição no Predict
DBA
Lista Invertida Lista Invertida Address ConverterAddress Converter
ArquivoArquivo EmployeesEmployeesArquivo EmployeesArquivo EmployeesDescriDescriçção de camposão de campos
ASSO DATA
Visão dos Dados (User Views)
User Views
ProgramProgram
Arquivo EmployeesDescr. Dos campos
ASSO
Arquivo EmployeesDados
DATA
ProgramProgram
First-nameNameStreetHouse numberZipCity
First-nameNameStreetHouse numberZipCity
Personnel-IDFull-NameFirst-nameSalaryBonusesNumber ofchildren
Personnel-IDFull-NameFirst-nameSalaryBonusesNumber ofchildren
Personnel-IDDepartmentBirth-dateLeaveDays of illness
Personnel-IDDepartmentBirth-dateLeaveDays of illness
Addresses Salaries Times of absence
Definição de arquivo AdabasEMPLOYEES
Ty L Field ID F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 D U AA GR 1 FULL-NAME AB
2 FIRST-NAME A 20.0 AC N2 NAME A 20.0 D AE2 MIDDLE-NAME A 20.0 AD N1 MAR-STAT A 1.0 AF F1 SEX A 1.0 AG F1 BIRTH U 8.0 D AH
GR 1 ADDRESS A1MU 2 ADDRESS-LINES A 20.0 D AI N
2 CITY A 20.0 D AJ N2 ZIP A 10.0 AK N2 COUNTRY A 3.0 AL N
GR 1 TELEPHONE A22 AREA-CODE A 6.0 AN N2 PHONE A 15.0 AM N
Exemplo de uma User View
Ty L Field ID F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 D U AA GR 1 FULL-NAME AB
2 FIRST-NAME A 20.0 AC N2 INITIALS A 1.0 AD N2 NAME A 20.0 D AE1 MIDDLE-NAME A 20.0 AD N
GR 1 TELEPHONE A22 AREA-CODE A 6.0 AN N2 PHONE A 15.0 AM N
EMPLOYEES
Usando User Views
Compilação do Programa
Program XYUser View 'Salaries'
Program XYUser View 'Salaries'
User View 'Salaries'Data definitionUser View 'Salaries'Data definition
PREDICT
Referência ativa
ProgramaExecutávelProgramaExecutável
Program XY uses User View'Salaries' with fields . . .
Program XY uses User View'Salaries' with fields . . .
Descrição dos dados
Relacionamento Employees-Vehicles
Relacionamento 1 : n
2001570020015700 WILLYWILLY SAMMETSAMMET 3095283930952839 PONTIACPONTIAC
2003030020030300 GILBERTGILBERT FLETCHERFLETCHER 3093832530938325 FORDFORD LINCOLNLINCOLN
GENERALMOTORS
Variante 1 – Dois arquivos
EMPLOYEES VEHICLES
1
5
2001570020015700 WILLYWILLY SAMMET
GILBERT FLETCHER
5
6
2001570020015700 3095283930952839 GENERALMOTORS
20030300 30936004 MERCEDESBENZ
7 20030300 30938325 FORD
20030300
Variante 1 - User ViewsEMPLOYEES
VEHICLES
Ty L Name F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 D U AA GR 1 FULL-NAME AB
2 FIRST-NAME A 20.0 AC N2 INITIALS A 1.0 AD N2 NAME A 20.0 D AE1 MIDDLE-NAME A 20.0 AD N1 MAR-STAT A 1.0 AF F1 SEX A 1.0 AG F1 BIRTH U 8.0 D AH
Ty L Name F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 REG-NUM A 15.0 D U AA N 1 CHASSIS-NUM I 4.0 AB F1 PERSONNEL-ID A 8.0 D AC
GR 1 CAR-DETAILS AD2 MAKE A 20.0 D AE N2 MODEL A 20.0 AF N2 COLOR A 10.0 D AG N
Variante 2 - Grupo Periódico
3093832530938325 FORDFORD LINCOLNLINCOLN
2001570020015700 WILLYWILLY SAMMETSAMMET
2003030020030300 GILBERTGILBERT FLETCHERFLETCHER
5 3095283930952839 PONTIACPONTIAC
7 3093600430936004 MERCEDESBENZ
MERCEDESBENZ 280SE280SE
GENERALMOTORS
Variante 2 – Definição de arquivoEMPLOYEES
Ty L Field ID F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 D U AAGR 1 PERSONNEL-DATA G1 GR 2 FULL-NAME AB
3 FIRST-NAME A 20.0 AC N3 NAME A 20.0 D AE3 MIDDLE-NAME A 20.0 AD N
.
.
.PE 1 CAR-DETAILS G2
2 REG-NUM A 15.0 D U BA N 2 CHASSIS-NUM I 4.0 BB F2 MAKE A 20.0 D BC N
Variante 3 – Arquivo com dois tipos de registros
EMPLOYEES-VEHICLES
20015700 30952839 GENERALMOTORS
1
5
20015700 WILLY SAMMET
20030300 30938325 FORD
20030300 30396004 MERCEDESBENZ
20030300 GILBERT FLETCHER
2
3
4
Variante 3 - User ViewsEMPLOYEES
VEHICLES
Ty L Name F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 PERSONNEL-ID A 8.0 D U AA NGR 1 FULL-NAME AB
2 FIRST-NAME A 20.0 AC N2 INITIALS A 1.0 AD N2 NAME A 20.0 D AE N1 MIDDLE-NAME A 20.0 AD N1 MAR-STAT A 1.0 AF N1 SEX A 1.0 AG N1 BIRTH U 8.0 D AH N
Ty L Name F Length D U DB S*- - ----------------------- *- ------ * * -- *
1 REG-NUM A 15.0 D U FA N 1 CHASSIS-NUM I 4.0 FB F1 PERSONNEL-ID A 8.0 D FC N
GR 1 CAR-DETAILS FD2 MAKE A 20.0 D FE N2 MODEL A 20.0 FF N2 COLOR A 10.0 D FG N
Resumo
Um campo é uma unidade lógica de informação dentro de um registro de dados Adabas.Adabas suporta campos elementares, grupos de campos, campos multi-valorados, grupos periódicos, sub- e super- campos, os quais, dependendo do tipo e opções do campo, são armazenados em formato comprimido no Data Storage.Descritores permitem acesso eficiente. Adabas suporta descritores normais, descritores fonéticos, sub-, super- e hyperdescriptors, os quais podem opcionalmente serem definidos com a opção “unique”.O acesso ao Adabas é campo-orientado. Por esta razão, as visões de usuário podem ser definidas para um arquivo, as quais implementam clareza e aprimoram as possibilidades do desenho.
5
Adabas – Lógica de Acesso
Tipos de Acesso
LeituraLê campos do registro de dados Processamento em seqüência física
em seqüência de ISNem seqüência lógica
Lê valores dos descritores na lista invertida
Pesquisaseleção por ISN Pesquisa por um critério ou pesquisa complexa Classificada por 1 até 3 descritores
Leitura em seqüência física
Data Storage
4312
4313
4314
4315
FLETCHER SAMMET1 5
CLIMENSON EVANS3 7
SMITH SMITH2 8
FLETCHER SMITH4 6
Núcleo Adabas
I/O BufferPrograma de
AplicaçãoPrograma de
Aplicação
Leitura em seqüência física -Procedimento
Leitura física
Valores devolvidos
Lista invertida
AddressConverter
Dados
ASSOCIATOR
DATA STORAGE
WORK
Leitura por ISNAddress Converter
43124312
43144314
43134313
43154315
43124312
43154315
43134313
43144314
4312431343144315
FLETCHER SAMMET1 5
CLIMENSON EVANS3 7
SMITH SMITH2 8
FLETCHER SMITH4 6
Data Storage
Núcleo Adabas
I/O BufferPrograma de
AplicaçãoPrograma de
Aplicação
Leitura por ISN - Procedimento
Leitura por ISN
Valores devolvidos
Lista invertida
AddressConverter
Dados
ASSOCIATOR
DATA STORAGE
WORK
Leitura por Seqüência Lógica
4312431343144315
FLETCHER SAMMET1 5
CLIMENSON EVANS3 7
SMITH SMITH2 8
FLETCHER SMITH4 6
Data StorageAddress Converter
43124312
43144314
43134313
43154315
43124312
43154315
43134313
43144314
Lista Invertida NAME
CLIMENSON 1 3
EVANS 1 7
FLETCHER 2 1, 4
SAMMET 1 5
SMITH 3 2, 6, 8
Núcleo Adabas
I/O Buffer
Programa deAplicação
Programa deAplicação
Leitura por Seqüência Lógica -Procedimento
Leitura Lógica
Valores devolvidos
Lista invertida
AddressConverter
DadosDados
ASSOCIATOR
DATA STORAGE
WORK
Lista InvertidaNAME
Lendo da Lista Invertida - Histograma
CLIMENSON 11 33
EVANS 11 77
FLETCHER 22 1, 41, 4
SAMMET 11 55
SMITHSMITH 33 2, 6, 82, 6, 8
Núcleo Adabas
I/O BufferPrograma de
AplicaçãoPrograma de
Aplicação
Histograma
Retorna a quantidade e valores dos descritores
Histograma - Procedimento
Lista invertida
AddressConverter
Dados
ASSOCIATOR
DATA STORAGE
WORK
Pesquisa – Seleção no Database
Uma lista de registros é criada (na forma de ISNs) os quais atendem ao critério de pesquisa especificado.
A lista de ISN é classificada por - ISN (por default)- 1 até 3 descritores
em ordem ascendente ou descendente.
O número de registros encontrado é devolvido.
Pesquisa usando DescritoresSeleção por ISN dos empregados que trabalham no departamento "SALE20" e nascidos antes de 1960
MGMT10MGMT10 22
Lista invertidaBIRTH
11
MGMT40MGMT40 22 3, 83, 8
SALE 20SALE 20 33 2, 6, 72, 6, 7
TECH10TECH10 22 4, 54, 5
1950010119500101 11 22
1956022419560224 11 44
1957070919570709 11 66
1961122219611222 11 77
1965042219650422 11 11
1967111319671113 11 33
1972090519720905 11 88
1974021919740219 11 55
Lista invertidaDEPT
26
26
Quantidade: 2
Lista de ISN Resultante
Núcleo Adabas
I/O BufferPrograma de
AplicaçãoPrograma de
Aplicação
Pesquisa usando Descritores -Procedimento
Pesquisa
Quantidade de ISN devolvidos
Lista de ISNsselecionados
Lista invertida
AddressConverter
Dados
ASSOCIATOR
DATA STORAGE
WORK
Pesquisa usando Não-DescritoresPesquisa por ISN para empregados “femininos” no departamento "MGMT30"
Address ConverterLista invertidaDEPT
4312431343144315
FLETCHER F SAMMET M1 5
CLIMENSON F EVANS M3 7
SMITH M SMITH M2 8
FLETCHER M SMITH M4 6
Data Storage
43124312
43144314
43134313
43154315
43124312
43154315
43134313
43144314
MGMT10MGMT10 22 11
MGMT30MGMT30 22 3, 83, 8
SALE20SALE20 33 2, 6, 72, 6, 7
TECH10TECH10 22 4, 54, 5
3838
33Quantidade: 1Lista de ISN Resultante
ISN resultantes Intermediários
Pesquisa usando Não-Descritores -Procedimento
Núcleo Adabas
I/O Buffer
Programa deAplicação
Programa deAplicação
Pesquisa
Quantidade de ISN
Lista de ISNsselecionados
Lista invertida
AddressConverter
Dados
ASSOCIATOR
DATA STORAGE
WORK
Processando os ISNs selecionados
4312431343144315
FLETCHER SAMMET1 5
CLIMENSON EVANS3 7
SMITH SMITH2 8
SMITH FLETCHER4 6
43124312
43144314
43134313
43154315
43124312
43154315
43134313
43144314
26
26
Quantidade: 2
Núcleo Adabas
I/O Buffer
Programa deAplicação
Programa deAplicação
Lendo campos dos Registros Selecionados
Pesquisa
Devolve valores dos campos dos registros selecionados
Leitura
Lista de ISNsselecionados
Lista invertida
AddressConverter
Dados
ASSOCIATOR
DATA STORAGE
WORK
Agrupando arquivosSeleção por ISN dos empregados trabalhando no departamento "MGMT30“ e que possuem carros General Motors. Agrupa-se Employees e Vehicles via campo personnel-ID.
33Quantidade: 1
20000400FORD1
20010500GENERAL MOTORS2
20055000TOYOTA3
20030300MERCEDES-BENZ4
Lista invertidaDEPTMGMT10MGMT10 22 11
MGMT30MGMT30 22 3, 83, 8
SALE20SALE20 33 2, 6, 72, 6, 7
TECH10TECH10 22 4, 54, 5
Lista invertidaPERSONNEL-ID
EMPLOYEES VEHICLESLista invertidaMAKEFORD 11 11GENERAL MOTORS 22 2, 52, 5MERCEDES-BENZ 11 44
TOYOTATOYOTA 11 3 3
Data Storage
20000400 1 220010500 1 320015700 1 520023600 1 620025200 1 820027200 1 720030300 1 420055000 1 1
5 20015700GENERAL MOTORS
Lista de ISN resultante
Agrupamento Lógico de arquivos
Seleção de ISN dos empregados nodepartamento "MGMT30"
Leitura pelo personnel-IDdo primeiro empregado(ISN 3)
Leitura do personnel-IDdo segundo empregado(ISN 8)
Seleção do ISN do arquivo vehicles com o personnel ID do empregado e fabricante "General Motors"
Seleção do ISN do arquivo vehicles com o personnel-ID do empregadoe fabricante "General Motors"
Seleção por ISN dos empregados trabalhando no departamento "MGMT30“ e que possuem carros General Motors. Agrupa-se Employees e Vehicles via campo personnel-ID.
Resumo
Comandos Read fornecem valores de campos de registros de um arquivo Adabas em seqüência física, por ISN, ou seqüência lógica dos registros de dados, ou eles fornecem valores de descritores numa lista invertida (histograma).
Comandos de pesquisa selecionam todos os ISNs de um arquivo Adabas cujos registros atendam critérios de pesquisa simples ou complexos, classificados por ISN, ou por 1 até 3 descritores em ordem ascendente ou descendente.
O recurso de Agrupamento de Arquivos Adabas, ou Agrupamento lógico de arquivos pode ser usado para associar dados de diversos arquivos relacionados.
6
Database - Modificações, Restart & Recovery
Modificações no Database
Adicionando um novo registro de dados com valores de campoAssinalamento de ISN pelo Adabas ou pelo usuário
Modificando campos em um registro existente
Excluindo um registro existente
Modificações no DatabaseNúcleo Adabas
I/O Buffer
Programa deAplicação
Programa deAplicação
Lista invertida
AddressConverter
Dados
ASSOCIATOR
DATA STORAGE
WORK
Estudo de Caso
Um empregado foi escalado para cinco dias de férias.
Uma atividade importante interferiu e o empregado cancelou suas férias.
Dois dias depois, o empregado solicitou 15 dias de férias.
Os dois formulários de férias são processados por duas pessoas que trabalham no departamento, ao mesmo tempo.
Estudo de CasoCancelado
5 diasAgendado
15 days
Read employeedias de ausência = 15
Read employeedias de ausência = 5
Modificação no empregadonovo dias de ausência = 0 Modificação no empregado
novo dias de ausência = 20
HOLD – (Retenção)
Cancelado5 dias
Agendado 15 dias
Read employeewith HOLD
Read employeewith HOLD
dias de ausência = 5
Modificação no empregadonovo dias de ausência = 0
Conceito de Transação
O personnel-ID de um empregado deve ser modificado de 20023400 para 20055000.
O empregado com o personnel-ID 20010500 deve ser excluído.
Que efeito estas mudanças produzem no veículo do empregado?
Transação
Uma transação é uma seqüência de comandos de alterações na base de dados, as quais produzem uma consistência lógica na unidade de informação que será, depois, transformada em outra consistência lógica da unidade de informação.
Uma transação sempre deve ser executada em sua totalidade ou em parte nenhuma (princípio do Tudo-ou-Nada)
Uma transação começa com o primeiro acesso que causa um estado de HOLD. Ao final da transação, todos os registros postos em estado de HOLD são liberados.
Fim da transaçãoUpdatePersonnel-ID
Read employeecom HOLD
Read vehiclescom HOLD
Fim da Transação
Changeemployee
Changevehicles
Armazena informações das modificações
Transção lógica
WORK
Desfazendo uma Transação
Read employeecom HOLD
Read vehiclecom HOLD
Delete employee
Delete vehicle
Read vehiclecom HOLD
Change vehicle
BackoutTransaction
Backout
WORK
DeleteEmployee
Armazena informações das modificações
Limite de Tempo de Transação
Reademployeecom HOLD
Backout
Deleteemployee
Reademployeecom HOLD
DeleteEmployee
Reinício AutomáticoDelete
Employee
Read employeecom HOLD
Backout
Delete employee
WORK
Armazena informações das modificações
Reinício de ProgramaUsuário XY
ET‘Última atividade foi cancelamento da ausência para empregado 20023400'
Backout
Delete employee
Read employee com HOLD
Read ET data‘Última atividade foi...'
AdabasSystem File
Usuário XY:'Cancela ausência para empregado 20023400‘
WORK
Armazena informações das modificações
Gerenciamento pelo Usuário
Tipo de UsuárioUso de ET dataParâmetros específicos de usuário
OPEN(logon para o Adabas)
CLOSE(logoff do Adabas)
Tipos de Usuários
ACC user
UPD user (ET logic user)
EXU user
EXF user
UTI user
Database – Backup / Recuperação
Backup do DatabaseRead employeecom HOLD
Read vehiclecom HOLD
Deleteemployee
Change vehicle
Protection Log File
DBA
Armazena informações das modificações
Resumo
Um arquivo Adabas pode ser modificado via funções de “adição" e “exclusão" de registros de dados, e por modificação de valores de campos de um registro de dados existente.Alterações concorrentes pelos diversos usuários são serializadas por meio da lógica de "hold". Alterações associadas de um usuário são executadas em uma transação lógica.Para modificações, o Adabas permite acesso concorrente de diversos usuários ou acesso exclusivo de um usuário. Opções especiais podem ser configuradas com o comando OP.As informações de alterações no arquivo WORK permitem um reinício automático após uma falha do sistema. Na ocorrência de danos num disco, o database pode ser recuperado usando-se uma cópia backup ou o protection log.
Top Related