O elefante ilustrado



Documentos relacionados
SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

SQL - Criação de Tabelas

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Structured Query Language (SQL) Aula Prática

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios

Linguagem SQL Sub-linguagem DDL

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

A linguagem SQL

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Comandos DDL. id_modulo = id_m odulo

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL

SQL. Autor: Renata Viegas

Disciplina de Banco de Dados Parte V

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Comandos de Manipulação

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

1. Domínio dos Atributos

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Modelo Cliente/Servidor Por HIARLY ALVES

Disciplina: Unidade V: Prof.: Período:

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados

MANIPULANDO BANCO DE DADOS NO POSTGRESQL SEM FAZER USO DE COMANDOS SQL

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Regras de Integridade. Profa. Késsia Marchi

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Desenvolvendo Websites com PHP

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Disciplina: Unidade I: Prof.: Período:

Introdução à linguagem SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL DDL. Frederico D. Bortoloti

Persistência de Classe e Auto- Relacionamento em Tabelas de Banco de Dados

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.

Linguagem SQL (Parte II)

INSTALANDO E CONFIGURANDO O MY SQL

Banco de Dados. Profª. Ana Leda

Programação SQL. Introdução

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

Administração de Banco de Dados

Prof.: Clayton Maciel Costa

A & F Consultoria em Sistemas e Treinamentos 2014 af.tecnoserv@gmail.com. A linguagem SQL. Autor: Hélio de Almeida Fonte: Wikipédia

Modelagem e Administração de Dados em PostgreSQL

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

A Evolução paquidérmica: para o alto, e avante!

DDL, Lidando com as diferenças das instruções SQL nos diferentes SGBD s

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

O que são Bancos de Dados?

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL (STRUCTUREDQUERY LANGUAGE)

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL (Structured Query Language)

Solução do segundo exercício proposto REDE DE HOTÉIS

Linguagem SQL (Parte I)

Principais Comandos SQL Usados no MySql

Transações Seguras em Bancos de Dados (MySQL)

SQL (Structured Query Language)

Banco de Dados. Maurício Edgar Stivanello

SQL (Structured Query Language)

Escrito por Sex, 14 de Outubro de :12 - Última atualização Seg, 26 de Março de :33

SQL (STRUCTUREDQUERY LANGUAGE)

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

SQL: Definição de tabelas, Modificações à Base de Dados

MySQL. Prof. César Melo. com a ajuda de vários

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Profº Aldo Rocha. Banco de Dados

Banco de Dados I Introdução

Fundamentos do Sistema Gerenciador de Banco de Dados

Microsoft Access XP Módulo Um

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

Transcrição:

O elefante ilustrado Ferramentas de modelagem literária e documentação automática em PostgreSQL e ouos SGBDs lⅳres Leandro Guimarães Faria Corcete D X Fórum Internacional de Sistemas Lⅳres () Sumário Ferramentas de modelagem Um problema muito comum em Informática é o de modelagem de dados. Programa que usa base de dados, mas o programador, arquiteto, analista ou seja-lá-qual-for-o-nome nunca planejou; cuja base de dados nem os programadores conhecem direito; que não registra todas as informações necessárias, exatamente porque a base evoluiu ad hoc; ou até que foi bem pensado no início, mas por falta de manutenção da documentação acabou com um modelo de dados que ninguém entende mais. Para falarmos só de sistemas lⅳres, dois programas que têm fama de terem modelos de dados inatáveis são o Bacula e o RT. Muitos ouos programas têm modelos insuficientemente documentados, o que limita em muito sua utilidade, senão para programadores dedicados, ao menos para usuários ocasionais; um exemplo é o vtiger a última vez que procurei, achei apenas um diagrama quase ilegível duma versão obsoleta. Nossa tendência, como informatas, é procurar ferramentas que nos ajudem a resolver problemas. Quais são as alternatⅳas de ferramentas para criação e manutenção de modelos de dados? Cérebro! Lⅳros-texto e documentação Caneta e papel Programas de diagramação

DDL Sério. Use seu cérebro. Pense a respeito, e gaste tempo e esforço nisso. E leia a respeito; não eⅺste substituto para o estudo. Essas são as principais ferramentas, e o PostgreSQL pode se orgulhar a ter uma das melhores documentações disponíveis, a ponto de ser usada por gente que abalha com ouos sistemas inclusⅳe por gente que cria ouos SGBDs! (SGBDs!)! Quanto às ouas ferramentas. Modelagem com diagramas Normalmente quando se pensa modelagem, se pensam diagramas. Que vão gerar código assim: DROP TYPE IF EXISTS " t y p e " CASCADE; CREATE TYPE " t y p e " AS (INPUT = a, OUTPUT = b ) ; DROP DOMAIN IF EXISTS " domain " CASCADE; CREATE DOMAIN " domain " AS t y p e NOT NULL; DROP TABLE IF EXISTS " t a b l e " CASCADE; CREATE TABLE " t a b l e " ( " f i e l d _ " domain

) WITHOUT OIDS TABLESPACE " t a b l e s p a c e " ; ALTER TABLE " t a b l e " ADD CONSTRAINT " t a b l e _ p k " PRIMARY KEY( " f i e l d _ " ) ; DROP TABLE IF EXISTS " t a b l e " CASCADE; CREATE TABLE " t a b l e " ( " f i e l d _ " b o o l e a n ( ), " f i e l d _ " domain ) WITHOUT OIDS ; ALTER TABLE " t a b l e " ADD CONSTRAINT " t a b l e _ p k " PRIMARY KEY( " f i e l d _ " ) ; COMMENT ON TABLE " t a b l e " IS ' I s s o! ' ; COMMENT ON COLUMN " t a b l e ". " f i e l d _ " IS ' A q u i l o. ' ; ALTER TABLE " t a b l e " DROP CONSTRAINT " t a b l e _ f k e y " CASCADE; ALTER TABLE " t a b l e " ADD CONSTRAINT " t a b l e _ f k e y " FOREIGN KEY ( " f i e l d _ " ) REF " t a b l e " ( " f i e l d _ " ) ON UPDATE RESTRICT ON DELETE RESTRICT; O que já não é um código bonito mas o que acontece quando se tem centenas, talvez milhares de tabelas? Ferramentas de diagramação Não escalam São caras São improdutⅳas São limitadas Engessam Mas se sua necessidade é abalhar com pequenos modelos e só em PostgreSQL, o PgDesigner até que é uma boa. Na verdade, o uso de diagramas acaba sendo mais útil em duas principais situações:.. Esboços Diagramas são bem úteis para esboços, quando se quer bastante liberdade. Muna-se de caneta ou lápis, e um bocado de papel-rascunho; e dê asas à imaginação. O mero esforço de diagramar algo num programa já limitaria em muito o abalho de esboçar idéias de modelagem, principalmente quando se faz a modelagem interatⅳamente, com uma (pequena) equipe.

.. Apresentação Diagramas também são bastante úteis para apresentar o modelo de dados, quer em desenvolⅵmento, quer já pronto, a pessoas que não participam da modelagem diretamente: analistas, programadores, gerência, clientes e isso levanta um problema: cada um pode se interessar por uma versão diferente do diagrama; e a manutenção do diagrama pode consumir um bocado de tempo que não é propriamente abalho de modelagem, mas de ajustes gráficos. Que solução podemos apresentar?. Modelagem com SQL Uma boa opção é modelar em ISO! (ISO!) SQL! (SQL!), ou diretamente em PostgreSQL; quer dizer, no dialeto SQL! implementado pelo PostgreSQL. Poderia até ser numa linguagem mais elegante, como o D do Dataphor, que está há tempos para ganhar logo mais a capacidade de abalhar com PostgreSQL(??). A grande vantagem é que o código-fonte expressa exatamente o que o modelo contém, de maneira prática de ler e, principalmente, manipular. Por exemplo, as definições de tipos e domínios podem ser reaproveitadas na criação de macros para ouas linguagens de programação, isolando o programador, em certa medida, de mudanças nos tipos de dados da base... Gerando diagramas e outros documentos Tendo o código-fonte da base de dados, o abalho de diagramação e documentação tornase exemamente prático e flexível porque pode ser automatizado. Em PostgreSQL, temos o luxo de ês ótimas ferramentas para isso:. Ferramentas de diagramação automática AutoDoc Gráficos DocBook HTML SQL::Fairy Gráficos L A TEX Schema Spy

Gráficos L A TEX Não apenas paramos de nos preocupar com a diagramação, como ela pode ser automatizada: por exemplo, um programeta (script) que gere a última versão do diagrama conforme o DDL! (DDL!) armazenado no sistema de conole de código-fonte; e tornase flexível, por exemplo sendo manipulável para gerar diagramas de partes específicas do modelo, soendo ansformações etc! (etc!)... Invertendo o processo: programação literária Vejam que até agora seguimos um processo relatⅳamente desconexo:. Requisitos (OpenOffice.org &c). Modelo. Diagramas, base. Documentos E se fizéssemos isso de maneira mais integrada? Essa é a proposta da programação literária, do Donald K, criador do TEX. É muito mais prazeroso criar uma base contando a história de suas decisões sobre a modelagem. O processo fica assim:. Requisitos (OpenOffice.org &c). Copiados para um documento L A TEX. Documento desenvolⅵdo para incluir o SQL. Diagramas, base Por exemplo, uma vez recebi a seguinte amostra de código MySQL! (MySQL!) para corrigir e implantar num SGBD! (SGBD!) de verdade: Cógido MySQL a consertar CREATE TABLE IF NOT EXISTS ` sko_admin ` ( ` id ` i n t ( ) NOT NULL a u t o _ i n c r e m e n t, ` adminusername ` v a r c h a r ( ) NOT NULL, ` adminpassword ` v a r c h a r ( ) NOT NULL, ` adminemail ` v a r c h a r ( ) NOT NULL,

` a d m i n s t a t u s ` i n t ( ) NOT NULL d e f a u l t ' ', PRIMARY KEY ( ` id ` ) ) ENGINE=MyISAM DEFAULT CHARSET= u t f AUTO_INCREMENT= ; CREATE TABLE IF NOT EXISTS ` s k o _ b l o g c a t e g o r y ` ( ` id ` i n t ( ) NOT NULL a u t o _ i n c r e m e n t, ` b l o g c a t e g o r y n a m e ` v a r c h a r ( ) NOT NULL, ` b l o g c a t e g o r y s t a t u s ` i n t ( ) NOT NULL d e f a u l t ' ', PRIMARY KEY ( ` id ` ) ) ENGINE=MyISAM DEFAULT CHARSET= u t f AUTO_INCREMENT= ; Para explicar minhas alterações, criei o seguinte código-fonte noweb: Programação literária \ d o c u m e n t c l a s s [ p t ] { a r t i c l e } \ u s e p a c k a g e { acronym, noweb } \ n o w e b o p t i o n s { s m a l l c o d e, l o n g c h u n k s } \ b e g i n { document } \ p a g e s t y l e { noweb } \ t i t l e { SkooLabo } \ a u t h o r { Leandro G u i m a r ã e s F a r i a C o r c e t e Dutra } \ m a k e t i t l e \ t a b l e o f c o n t e n t s Programação literária \ n w f i l e n a m e { i l u s. nw } \ n w b e g i n d o c s { } \ s e c t i o n { I n t r o d u c t i o n } P r i m e i r o, o que mudou e p o r q u ê. MySQL tem uma n o m e n c l a t u r a e x c ê n t r i c a. S u a s c h a v e s s ã o í n d i c e s ; a s b a s e s de dados, e squemas. U s a r e i a n o m e n c l a t u r a r e l a c i o n a l p a r a e s c l a r e c e r. \ s e c t i o n { S u p p o r t i n g f u n c t i o n s } Aqui l i s t a m o s a s f u n ç õ e s a u x i l i a r e s, p r i n c i p a l m e n t e p a r a r e s t r i ç õ e s de i n t e g r i d a d e. O p r i m e i r o exemplo v a l i d a e n d e r e ç o s de c o r r e i o

\ nwenddocs { } \ nwbegincode { } \ moddef { v a l f u n c } \ endmoddef \ n w s t a r t d e f l i n e m a r k u p \ n CREATE FUNCTION v a l i d _ e m a i l _ a d d r e s s ( t e x t ) RETURNS BOOLEAN IMMUTABLE LANGUAGE p l p e r l u AS u s e Email : : V a l i d ; my e m a i l = s h i f t ; Email : : V a l i d > a d d r e s s ( e m a i l ) or d i e " I n v a l i d e m a i l a d d r e s s : e m a i l \ \ n " ; r e t u r n ' t r u e ' ; ; \ \ l s t s e t \ { l a n g u a g e =[ LaTeX ]TeX \ } \ nwendcode { } \ n w b e g i n d o c s { } \ n w d o c s p a r Aqui d e f i n i m o s DOMAINs. São i m p o r t a n t e s p a r a manter c o n s i s t ê n c i a. \ nwenddocs { } \ nwbegincode { } \ moddef { domains } \ endmoddef \ n w s t a r t d e f l i n e m a r k u p \ n w CREATE DOMAIN username AS VARCHAR ( ) CONSTRAINT nn_un NOT NULL ; CREATE DOMAIN p a s s w o r d AS VARCHAR ( ) CONSTRAINT nn_pw ; NOT NULL \ \ l s t s e t \ { l a n g u a g e =[ LaTeX ]TeX \ } \ nwendcode { } \ n w b e g i n d o c s { } \ n w d o c s p a r Nosso p r i m e i r o exemplo de t a b e l a d e f i n i d a em d o m i n i o s de u s u á r i o. \ nwenddocs { } \ nwbegincode { } \ moddef { admin } \ endmoddef \ n w s t a r t d e f l i n e m a r k u p \ n w e n

( CREATE TABLE IF NOT EXISTS admin username username CONSTRAINT p k_ a d PRIMARY KEY, p a s s w o r d p a s s w o r d, e m a i l _ a d d r e s s e m a i l _ a d d r e s s, a d m i n _ s t a t u s a d m i n _ s t a t u s > ) ; Ao p r o c e s s á lo, obtenho o s e g u i n t e \ \ a c \ {DDL\ } : CREATE FUNCTION v a l i d _ e m a i l _ a d d r e s s ( t e x t ) RETURNS BOOLEAN IMMUTABLE LANGUAGE p l p e r l u AS u s e Email : : V a l i d ; my e m a i l = s h i f t ; Email : : V a l i d > a d d r e s s ( e m a i l ) or d i e " I n v a l i d e m a i l a d d r e s s : e m a i l \ \ n " ; r e t u r n ' t r u e ' ; ; CREATE DOMAIN username AS VARCHAR ( ) CONSTRAINT nn_un ; NOT NULL ( CREATE TABLE IF NOT EXISTS admin username username

CONSTRAINT p k_ a d PRIMARY KEY, p a s s w o r d p a s s w o r d, e m a i l _ a d d r e s s e m a i l _ a d d r e s s, a d m i n _ s t a t u s a d m i n _ s t a t u s > ) ; E o s e g u i n t e c ó d i g o f o n t e \ \ LaTeX : \ \ l s t s e t \ { l a n g u a g e =[ LaTeX ]TeX \ } \ \ d o c u m e n t c l a s s [ p t ] \ { a r t i c l e \}% === > t h i s f i l e was g e n e r a t e d a u t o m a t i c a l l y b \ \ u s e p a c k a g e \ { acronym, noweb \ } \ \ n o w e b o p t i o n s \ { s m a l l c o d e, l o n g c h u n k s \ } \ \ b e g i n \ { document \ } \ \ p a g e s t y l e \ { noweb \ } \ \ t i t l e \ { SkooLabo \ } \ \ a u t h o r \ { Leandro G u i m a r ã e s F a r i a C o r c e t e Dutra \ } \ \ m a k e t i t l e \ \ t a b l e o f c o n t e n t s \ \ n w f i l e n a m e \ { db. nw \ } \ \ n w b e g i n d o c s \ { \ } \ \ s e c t i o n \ { I n t r o d u c t i o n \ } \ \ s e c t i o n \ { S u p p o r t i n g f u n c t i o n s \ } Here we l i s t s u p p o r t i n g f u n c t i o n s, u s e d m a i n l y f o r d a t a i n t e g r i t y c o n s t r a i n t s \ \ l s t s e t \ { l a n g u a g e =[ LaTeX ]TeX \ } Our f i r s t e x a m p l e i s meant t o v a l i d a t e e m a i l a d d r e s s e s. I n s t e a d o f c o d i n g a C e m a i l a d d r e s s v a l i d a t i o n a s an SQL TYPE, we j u s t make u s e o f a canned P e r l f u n g o t t e n from CPAN or y o u r t h e r e p o s i t o r y from y o u r d i s t r i b u t i o n. \ \ nwenddocs \ { \ } \ \ n wbegincode \ { \ } \ \ moddef \ { v a l f u n c \ } \ \ endmoddef \ \ n w s t a r t d e f l i CREATE FUNCTION v a l i d _ e m a i l _ a d d r e s s ( t e x t ) RETURNS BOOLEAN

IMMUTABLE LANGUAGE p l p e r l u AS u s e Email : : V a l i d ; my e m a i l = s h i f t ; Email : : V a l i d > a d d r e s s ( e m a i l ) or d i e " I n v a l i d e m a i l a d d r e s s : e m a i l \ \ \ \ n " ; r e t u r n ' t r u e ' ; ; Que v a i g e r a r um b e l o documento : \ \ f r a m e t i t l e < p r e s e n t a t i o n > \ { R e s u l t a d o f i n a l \ } Here we l i s t s u p p o r t i n g f u n c t i o n s, u s e d m a i n l y f o r d a t a i n t e g r i t y c o n s t r a i n t s Our f i r s t e x a m p l e i s meant t o v a l i d a t e e m a i l a d d r e s s e s. I n s t e a d o f c o d i n g a C e m a i l a d d r e s s v a l i d a t i o n a s an SQL TYPE, we j u s t make u s e o f a canned P e r l f u n g o t t e n from CPAN or y o u r t h e r e p o s i t o r y from y o u r d i s t r i b u t i o n. CREATE FUNCTION v a l i d _ e m a i l _ a d d r e s s ( t e x t ) RETURNS BOOLEAN IMMUTABLE LANGUAGE p l p e r l u AS u s e Email : : V a l i d ; my e m a i l = s h i f t ; Email : : V a l i d > a d d r e s s ( e m a i l ) or d i e " I n v a l i d e m a i l a d d r e s s : e m a i l \ \ \ \ n " ; r e t u r n ' t r u e ' ; ; Uma p i t a d a de AutoDoc ou \ \ a c \ { SQL \ } : : F a i r y, e \ \ f o r e i g n l a n g u a g e \ { f r e n c h \ } \ { l à um b e l o documento quanto d i a g r a m a s e a n o s s a a l m e j a d a b a s e de d a d o s!

\ \ s u b s e c t i o n \ { C o n t r o l e do c i c l o de v i d a da b a s e \ } Agora f i c o u ó b v i o onde q u e r í a m o s c h e g a r : e x p l o r a n d o a s p o t e n c i a l i d a d e s de s e PostgreSQL e f e r r a m e n t a s a u x i l i a r e s como p r o g r a m a ç ã o l i t e r á r i a \ \ LaTeX, AutoD o u t r a s, temos c o n d i ç õ e s de t o r n a r o t r a b a l h o de A d m i n i s t r a ç ã o de Dados p a r t e p r o c e s s o de d e s e n v o l v i m e n t o, i n c l u s i v e a u t o m a t i z a n d o muito do t r a b a l h o manual \ \ s e c t i o n \ { A b r e v i a ç õ e s \ } \ \ b e g i n \ { acronym \ } \ \ a c r o \ {ABD\ } \ { A d m i n i s t r a d o r de B a s e s de Dados \ } \ \ a c r o \ { ABDs \ } \ { A d m i n i s t r a d o r e s de B a s e s de Dados \ } \ \ a c r o \ {AD\ } \ { A d m i n i s t r a d o r de Dados \ } \ \ a c r o \ {DBA \ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { D a t a b a s e A d m i n i s t r a t o r \ } \ \ a c r o b a s e s de d a d o s ) \ } \ } \ \ a c r o \ {DDL\ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { Data D e f i n i t i o n Language \ } \ \ a c d e f i n i ç ã o de d a d o s ) \ } \ } \ \ a c r o \ {DER\ } \ { Diagrama de E n t i d a d e s e R e l a c i o n a m e n t o s \ } \ \ a c r o \ { DERs \ } \ { D i a g r a m a s de E n t i d a d e s e R e l a c i o n a m e n t o s \ } \ \ a c r o \ { e t c \ } [ \ \ & c ] \ { e t œ c t e r a \ } \ \ a c r o \ { IBM \ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { I n t e r n a t i o n a l B u s i n e s s Machine \ \ a c r o \ { ISO \ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { I n t e r n a t i o n a l S t a n d a r d s O r g a n i I n t e r n a c i o n a l de P a d r õ e s ) \ } \ } \ \ a c r o \ {MR\ } \ { Modelo R e l a c i o n a l \ } \ \ a c r o \ {MS \ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { M i c r o S o f t \ } \ \ a c r o e x t r a \ { ( p r o g r a \ \ a c r o \ {MVS \ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { M u l t i p l e V i r t u a l S t o r a g e \ } \ } \ \ a c r o \ {MVT\ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { Multiprogramming w i t h a V a r i a b \ \ a c r o \ {MySQL \ } \ { My \ \ t e x t s c \ { Widenius \ } SQL \ } \ \ a c r o \ {OO\ } \ { O r i e n t a ç ã o a O b j e t o s \ } \ \ a c r o \ { OS \ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { O p e r a t i n g System \ } \ \ a c r o e x t r a \ { \ \ a c r o \ {PSM \ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { P e r s i s t e n t S t o r e d Modules \ } \ \ a programa a r m a z e n a d o s p e r s i s t e n t e m e n t e ) \ } \ } \ \ a c r o \ { SAN \ } \ { S t o r a g e Area Network \ } \ \ a c r o \ { SANs \ } \ { S t o r a g e Area Networks \ } \ \ a c r o \ {SGBD \ } \ { S i s t e m a G e s t o r de B a s e s de Dados \ } \ \ a c r o \ { SGBDs \ } \ { S i s t e m a s G e s t o r e s de B a s e s de Dados \ } \ \ a c r o \ { SQL \ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { S t r u c t u r e d Query Language \ } \ \ a e s t r u t u r a d a de p e s q u i s a s ) \ } \ } \ \ a c r o \ { z \ } \ { \ \ f o r e i g n l a n g u a g e \ { b r i t i s h \ } \ { z S e r i e s \ } \ } \ \ end \ { acronym \ } \ \ a d d c o n t e n t s l i n e \ { t o c \ } \ { s e c t i o n \ } \ { B i b l i o g r a f i a \ } \ \ b i b l i o g r a p h y \ { i l u s \ } \ \ b i b l i o g r a p h y s t y l e \ { abnt num \ }