Você está na página 1de 24

Nguagem de programao

Uma linguagem de programao um mtodo padronizado para comunicar instrues para um computador, ou seja, um conjunto de regras sintticas e semnticas usadas para definir um programa de computador. Linguagens de programao podem ser usadas para expressar algoritmos com preciso. O conjunto de palavras compostos de acordo com essas regras, constituem o cdigo fonte de um software. Esse cdigo fonte depois traduzido para cdigo de mquina, que executado pelo processador. Uma das principais metas das linguagens de programao permitir que programadores tenha uma maior produtividade. Linguagens de programao so ferramentas importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez. Linguagens de programao tambm tornam os programas menos dependentes de computadores ou ambientes computacionais especficos (propriedade chamada de portabilidade). Isto acontece porque programas escritos em linguagens de programao so traduzidos para o cdigo de mquina do computador no qual ser executado em vez de ser diretamente executado. Exemplo: Fortran, uma das primeiras linguagens de programao, era esta independncia da mquina onde seria executada.

Interpretao e compilao
Uma linguagem de programao pode ser convertida, ou traduzida, em cdigo de mquina por compilao (que traduz o cdigo ou interpretada por um processo denominado interpretao. Em ambas ocorre a traduo do cdigo fonte para cdigo de mquina.
Pgina 1

A verso compilada do programa tipicamente armazenada, de forma que o programa pode ser executado um nmero indefinido de vezes sem que seja necessria nova compilao, o que compensa o tempo gasto na compilao. Isso acontece com linguagens como Pascal e C. Se o texto do programa executado medida que vai sendo traduzido, como em Javascript, BASIC, Python ou Perl, num processo de traduo de trechos seguidos de sua execuo imediata, ento diz-se que o programa foi interpretado e que o mecanismo utilizado para a traduo um interpretador. Programas interpretados so geralmente mais lentos do que os compilados, mas so tambm geralmente mais flexveis, j que podem interagir com o ambiente mais facilmente. Embora haja essa distino entre linguagens interpretadas e compiladas, as coisas nem sempre so to simples. H linguagens compiladas para um cdigo de mquina de uma mquina virtual (sendo esta mquina virtual apenas mais um software, que emula a mquina virtual sendo executado em uma mquina real), como Java (compila para a plataforma Java) e C (compila para a plataforma CLI). E tambm h outras formas de interpretar em que os cdigos fontes, ao invs de serem interpretados linha-a-linha, tm blocos "compilados" para a memria, de acordo com as necessidades, o que aumenta a performance dos programas quando os mesmos mdulos so chamados vrias vezes, tcnica esta conhecida como JIT (just-in-time). Como exemplo, podemos citar a linguagem Java. Nela, um compilador traduz o cdigo Java para o cdigo intermedirio (e portvel) da JVM (Mquina virtual Java (do ingls Java Virtual Machine - JVM). As JVMs originais interpretavam esse cdigo, de acordo com o cdigo de mquina do computador hospedeiro, porm atualmente elas compilam segundo a tcnica JIT o cdigo JVM para cdigo hospedeiro.

Pgina 2

Conceitos Programao estruturada


Programao estruturada uma forma de programao de computadores que preconiza que todos os programas possveis podem ser reduzidos a apenas trs estruturas: sequncia, deciso e repetio. Um dos primeiros a preconizar a programao estruturada foi Haskell B. Curry Tendo, na prtica, sido transformada na Programao modular, a Programao estruturada orienta os programadores para a criao de estruturas simples em seus programas, usando as sub-rotinas e as funes. Foi forma dominante na criao de software entre a programao linear e a programao orientada por objetos. Apesar de ter sido sucedida pela programao orientada por objetos, pode-se dizer que a programao estruturada ainda marcantemente influente, uma vez que grande parte das pessoas ainda aprendem programao atravs dela. Porm, a orientao a objetos superou o uso das linguagens estruturadas no mercado.

Programao modular
Programao modular uma forma de programao no qual o desenvolvimento das rotinas de programao feito atravs de mdulos, que so interligados entre si atravs de uma interface comum. Exemplos de linguagens que orientaram seu projeto para este aspecto esto as linguagens Modula-2, desenvolvida por Niklaus Wirth e a Modula-3.

Programao orientada a objetos


Orientao a objetos, tambm conhecida como Programao Orientada a Objetos (POO)

Pgina 3

Na programao orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos mtodos) e estados possveis (atributos) de seus objetos, assim como o relacionamento com outros objetos

Modelo de programao
Os modelos se dividem em dois grandes grupos: imperativo e declarativo.

Modelo Imperativo
Os modelos imperativos so aqueles que facilitam a computao por meio de mudanas de estado. Se dividem em: O Modelo procedural. Os programas so executados atravs de chamadas sucessivas a procedimentos separados. Exemplos de linguagens deste Fortran e o BASIC. O modelo de estruturas de blocos. A caracterstica marcante deste paradigma so os escopos aninhados. Exemplos de linguagens Algol 60, Pascal e C. O modelo de orientao a objetos. Linguagens que suportam a interao entre objetos. Exemplos de linguagens so C++,Java, Python e Ruby. O modelo da computao distribuda. Suporta mais de uma rotina possa executar independentemente. Um exemplo de linguagem Ada.

Modelos Declarativos
So aqueles nos quais um programa especifica uma relao ou funo. Se dividem em:

Pgina 4

O modelo funcional. Na programao funcional, o mapeamento entre os valores de entrada e saida so alcanados mais diretamente. Um programa uma funo (ou grupo de funes), tipicamente constituda de outras funes mais simples. Exemplos de linguagens Lisp, Scheme e Haskell. O modelo da programao lgica. Baseia na noo de que um programa programa uma relao ao invs de um mapeamento. Exemplos de linguagens deste Prolog e a linguagem Gdel.

Quanto ao grau de abstrao


Linguagem de programao de baixo nvel, cujos simbolos so uma representao direta do cdigo de mquina que ser gerado, onde cada comando da linguagem equivale a um "opcode" do processador, como Assembly. Linguagem de programao de mdio nvel, que possui smbolos que podem ser convertidos diretamente para cdigo de mquina (goto, expresses matemticas, atribuio de variveis), mas tambm smbolos complexos que so convertidos por um compilador. Exemplo: C, C++ Linguagem de programao de alto nvel, composta de smbolos mais complexos, inteligvel pelo ser humano e no-executvel diretamente pela mquina, no nvel da especificao de algoritmos, como Pascal, Fortran, ALGOL,Java e SQL.

Classificao das linguagens de programao.


As linguagens se dividem em cinco geraes com as seguintes caractersticas:

Primeira gerao - So linguagens onde suas estruturas de controle so aparentemente orientadas a mquina. As instrues condicionais no so aninhadas e dependem fortemente de instrues de desvio incondicional como o GOTO. Uma linguagem tpica desta gerao a linguagem Fortran.
Pgina 5

Segunda gerao - So linguagens onde as estruturas de controle so estruturadas de forma a minimizar ou dispensar o uso de instrues GOTO. Uma das grandes contribuies desta gerao foi suas estruturas de nomes, que eram hierarquicamente aninhadas. Isto permitiu melhor controle de espaos de nomes e uma eficiente alocao dinmica de memria. Uma linguagem tpica desta gerao o Algol 60.

Terceira gerao - So linguagens que do nfase a simplicidade e eficincia. Uma linguagem tpica desta gerao a linguagem Pascal. As estruturas de dados desta gerao mostram um deslocamento da mquina para a aplicao. As estruturas de controle so mais simples e eficientes.

Quarta gerao - Esta gerao essencialmente o sinnimo para linguagens com abstrao de dados. A maioria das linguagens desta gerao focam na modularizao e no encapsulamento. Uma linguagem tpica desta gerao a linguagem Ada.

Quinta gerao - Nesta gerao a orientao a objeto e o modelo funcional, modelo lgico. Resumidamente:

Primeira gerao - linguagem de mquina. Segunda gerao - linguagens de montagem (assembly). Terceira gerao - Linguagens procedurais. Quarta gerao - Linguagens aplicativas. Quinta gerao - Linguagens voltadas a Inteligncia artificial como as linguagens lgicas (Prolog) e as linguagens funcionais (Lisp). Sexta gerao - Redes neurais.

Lista de linguagens
1. C
Pgina 6

2. Java

3. Objective-C 4. C++ 5. PHP 6. C 7. Visual Basic 8. Python 9. Perl 10. JavaScript 11. Ruby

12. Visual Basic .NET 13. Transact-SQL 14. Lisp 15. Pascal 16. Bash 17. PL/SQL 18. Delphi / Object Pascal 19. Ada 20. MATLAB

O QUE DATA WAREHOUSE:


Data Warehouse um depsito de dados digitais que serve para armazenar informaes detalhadas relativamente a uma empresa, criando e organizando relatrios atravs de histricos que so depois usados pela empresa para ajudar a tomar decises importantes com base nos fatos apresentados. O data Warehouse serve para recolher informaes de uma empresa para que essa possa controlar melhor um determinado processo, disponibilizando uma maior flexibilidade nas pesquisas e nas informaes que necessitam. Para alm de manter um histrico de informaes, o Data Warehouse cria padres melhorando os dados analisados de todos os sistemas, corrigindo os erros e restruturando os dados sem afetar o sistema de operao, apresentando somente um modelo final e organizado para a anlise.

DATA WAREHOUSE E DATA MART


Pgina 7

Um data mart uma subdiviso ou subconjunto de um data Warehouse. Os data marts so como pequenas fatias de data Warehouse, que armazenam subconjuntos de dados. O data mart direcionado para uma linha de negcios ou equipe, sendo que a sua informao costuma pertencer a um nico departamento.

VANTAGENS E DESVANTAGENS DO DATA WAREHOUSE


Algumas das principais vantagens do data warehouse so:

Inconsistncias so identificadas e solucionadas antes dos dados serem carregados, o que facilita a execuo da anlise e de relatrios;

Contribuem para o processo de tomar decises, atravs de relatrios de tendncias, de exceo e relatrios que revelam os objetivos versus desempenho real.

DESVANTAGENS DO DATA WAREHOUSE:


No so uma soluo adequada para dados no-estruturados; Podem ter custos elevados e podem ficar ultrapassados com alguma rapidez.

DATA WAREHOUSE E BUSINESS INTELLIGENCE Business intelligence (inteligncia empresarial em portugus), o processo de recolha e tratamento de informaes que apoiam a gesto de um negcio. Normalmente, business intelligence utilizam informao recolhida em um data warehouse. nem todos os data warehouses so usados no contexto de business intelligence, porque nem todos as aplicaes de business intelligence exigem um data warehouse.
Pgina 8

OLAP (ONLINE ANALYTICAL PROCESSING PROCESSO ANALTICO EM TEMPO REAL


OLAP, uma das ferramentas mais usadas para a explorao de um data warehouse. O OLAP possibilita alterar e analisar grandes quantidades de dados em vrias perspectivas diferentes. A aplicao dessa ferramenta pode ser usada pelos gestores de qualquer rea e nvel, disponibilizando informaes e ajudando na deciso final. O uso da OLAP pode ser aplicado em funes muito distintas, algumas das mais utilizadas variam desde funes financeiras (anlises, fluxos de caixa, contas, oramentos, etc.) passando pelo marketing (anlise de preo, volume de mercado) concluindo nas vendas (previses, lucro, clientes). OLTP - TRANSACTION PROCESSING Sistemas OLTP (do ingls,on-line transaction processing): so sistemas que tm a tarefa de monitorar e processar as funes bsicas e rotineiras de uma organizao, tais como processamento da folha de pagamento, faturamento, estoque, etc. Os fatores crticos de sucesso para este tipo de sistema so: alto grau de preciso, integridade a nvel transacional e produo de documentos em tempo hbil. Os dados transacionais OLTP so usados pelos usurios em geral no dia-a-dia em seus processos e transaes, gravao e leitura.Ex: consulta de estoque, registro de vendas. O principal objetivo da modelagem relacional em um sistema OLTP eliminar ao mximo a redundncia,

Pgina 9

Arquitetura data warehouse O armazenamento


O armazenamento se d num depsito nico, que seja de rpido acesso para as anlises. Um data warehouse utiliza dados em formato de-normalizados . Isto aumenta o desempenho das consultas e como benefcio adicional, o processo torna-se mais intuitivo para os utilizadores comuns. Essa maneira de reordenar os dados chama-se Modelagem Dimensional, e o resultado da modelagem o Modelo Dimensional.

Metadado
O conceito metadado considerado como sendo os "dados sobre dados", isto , os dados sobre os sistemas que operam com estes dados. Um repositrio de metadados uma ferramenta essencial para o gerenciamento de um Data Warehouse no momento de converter dados em informaes para o negcio.

Tipo de informao considerada metadado


Os metadados so utilizados normalmente como um dicionrio de informaes e, sendo assim, devem incluir: Origem dos dados
Pgina 10

Fluxo de dados Formato dos dados Nomes e alias Definies de negcio Regras de transformao Atualizao de dados Requisitos de teste Indicadores de qualidade de dados Triggers automticos Responsabilidade sobre informaes Acesso e segurana

Data Mining

Prospeco de dados ou minerao de dados tambm conhecida pelo termo ingls data mining) o processo de explorar grandes quantidades de dados procura de padres consistentes, como regras de associao ou sequncias temporais, para detectar relacionamentos sistemticos entre variveis, detectando assim novos subconjuntos de dados. A expresso data mining surgiu pela primeira vez em 1990 em comunidades de bases de dado. A minerao de dados a etapa de anlise do processo conhecido como KDD (Knowledge Discovery in Databases), sendo a sua traduo literal "Descoberta de Conhecimento em Bases de Dado. A minerao de dados uma prtica relativamente recente no mundo da computao, e utiliza tcnicas de recuperao de informao, inteligncia artificial, reconhecimento de padres e de estatstica para procurar correlaes entre diferentes dados que permitam adquirir um conhecimento benfico para uma empresa ou indivduo. Para uma empresa, o data mining pode ser uma importante ferramenta que potencia a inovao e lucratividade.
Pgina 11

O data mining pode ser divido em algumas etapas bsicas que so: explorao, construo de modelo, definio de padro e validao e verificao. A minerao de dados formada por um conjunto de ferramentas e tcnicas que atravs do uso de algoritmos de aprendizagem ou classificao baseados em redes neurais e estatstica, so capazes de explorar um conjunto de dados, extraindo ou ajudando a evidenciar padres nestes dados e auxiliando na descoberta de conhecimento. Esse conhecimento pode ser apresentado por essas ferramentas de diversas formas: agrupamentos, hipteses, regras, rvores de deciso, grafos, ou dendrogramas. Uma minerao de dados bem executada deve cumprir tarefas como: deteco de anomalias, aprendizagem da regra de associao (modelo de dependncia), clustering (agrupamento), classificao, regresso e sumarizao. O processo de data mining costuma ocorrer utilizando dados contidos dentro do data warehouse . A minerao de dados (MD) surge para essa finalidade e pode ser aplicada tanto para a pesquisa cientifica como para impulsionar a lucratividade da empresa madura, inovadora e competitiva. Nos ltimos anos, a minerao de dados tem sido amplamente utilizada nas reas da cincia e engenharia, tais como bioinformtica, gentica, medicina, educao e engenharia eltrica. Diariamente as empresas acumulam grande volume de dados em seus aplicativos operacionais. So dados brutos que dizem quem comprou o qu, onde, quando e em que quantidade. a informao vital para o dia-a-dia da empresa. Se fizermos estatstica ao final do dia para repor estoques e detectar tendncias de compra, estaremos praticando business intelligence (BI). Se analisarmos os dados com estatstica de modo mais refinado, procura de padres de vinculaes entre as variveis registradas, ento estaremos
Pgina 12

fazendo minerao de dados. Buscamos com a MD conhecer melhor os clientes, seus padres de consumo e motivaes. Atravs da MD, esses dados agora podem agregar valor s decises da empresa, sugerir tendncias, desvendar particularidades dela e de seu meio ambiente e permitir aes melhor informadas aos seus gestores. Pode-se ento diferenciar o business inteligence (BI) da minerao de dados (MD) como dois patamares distintos de atuao. O primeiro busca subsidiar a empresa com conhecimento novo e til acerca do seu meio ambiente e funciona no plano estratgico. O Segundo visa obter a partir dos dados operativos brutos, informao til para subsidiar a tomada de deciso nos escales mdios e altos da empresa e funciona no plano tctico. O conceito de data mining muitas vezes associado extrao de informao relativa ao comportamento de pessoas. Por esse motivo, em algumas situaes, a minerao de dados levanta aspectos legais e questes relativas privacidade e tica. Apesar disso, muitas pessoas afirmam que a minerao de dados eticamente neutra, pois no apresenta implicaes ticas.

Exemplos reais de Data Mining


A minerao de dados muitas vezes usada por empresas e organizaes para a obteno de conhecimento a respeito de utilizadores / funcionrios / clientes. Por exemplo, no setor pblico possvel fazer o cruzamento de dados entre o estado civil de um funcionrio e o salrio que ele ganha, para verificar se isso tem influncia na sua vida conjugal. Empresas como cadeias de supermercados podem recorrer a esse cruzamento de dados para determinarem produtos que so comprados em conjunto. Se um cliente que compra o produto X tambm compra o produto Y, talvez seja uma boa ideia posicionar os dois produtos perto, para facilitar a compra por parte do cliente.

Pgina 13

Etapas da minerao de dados


Os passos fundamentais de uma minerao bem sucedida a partir de fontes de dados (bancos de dados, relatrios, logs de acesso, transaes, etc.) consistem de uma limpeza (consistncia, preenchimento de informaes, remoo de rudo e redundncias, etc.). Disto nascem os repositrios organizados (Data Marts e Data Warehouses).

Localizando padres
Padres so unidades de informao que se repetem. A tarefa de localizar padres no privilgio da minerao de dados. O crebro dos seres humanos utiliza-se de processos similares, pois muito do conhecimento que temos em nossa mente , de certa forma, um processo que depende da localizao de padres.

Banco de dados
Bancos de dados, (ou bases de dados), so conjuntos de dados com uma estrutura regular que organizam informao. Um banco de dados normalmente agrupa informaes utilizadas para um mesmo fim. Um banco de dados usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Muitas vezes o termo banco de dados usado como sinnimo de SGDB. Exemplos de SGBDs so: Oracle, SQL Server, DB2, PostgreSQL, MySQL, o prprio Access ou Paradox, entre outros.

Pgina 14

Um sistema de banco de dados como conjunto de quatro componentes bsicos: dados, hardware, software e usurios. Date conceituou que sistema de bancos de dados pode ser considerado como uma sala de arquivos eletrnica. A Figura 1 ilustra os componentes de um sistema de banco de dados.

Os objetivos de um sistema de banco de dados so o de isolar o usurio dos detalhes internos do banco de dados (promover a abstrao de dados) e promover a independncia dos dados em relao s aplicaes, ou seja, tornar independente da aplicao, a estratgia de acesso e a forma de armazenamento. O modelo de dados mais adotado hoje em dia o modelo relacional, onde as estruturas tm a forma de tabelas, compostas por linhas e colunas.

Pgina 15

Resumindo, um banco de dados uma coleo de dados relacionados. Entende-se por dado, toda a informao que pode ser armazenada e que apresenta algum significado implcito dentro do contexto ao qual ele se aplica.

Abstrao de dados
O sistema de banco de dados deve garantir uma viso totalmente abstrata do banco de dados para o usurio, ou seja, para o usurio do banco de dados pouco importa qual unidade de armazenamento est sendo usada para guardar seus dados, contanto que os mesmos estejam disponveis no momento necessrio.

Esta abstrao se d em trs nveis


Nvel de viso do usurio: as partes do banco de dados que o usurio tem acesso de acordo com a necessidade individual de cada usurio ou grupo de usurios; Nvel conceitual: define quais os dados que esto armazenados e qual o relacionamento entre eles; Nvel fsico: o nvel mais baixo de abstrao, em que define efetivamente de que maneira os dados esto armazenados.

Pgina 16

Projeto de banco de dados


Todo bom sistema de banco de dados deve apresentar um projeto, que visa organizao das informaes e utilizao de tcnicas para que o futuro sistema obtenha boa performance e tambm facilite infinitamente as manutenes que venham a acontecer. O projeto de banco de dados se d em duas fases: Modelagem conceitual; Projeto lgico. Estas duas etapas se referem a um sistema de banco de dados ainda no implementado, ou seja, que ainda no exista, um novo projeto. Para os casos em que o banco de dados j exista, mas um sistema legado, por exemplo, ou um sistema muito antigo sem documentao, o processo de projeto de banco de dados se dar atravs da utilizao de uma tcnica chamada de Engenharia Reversa.

Modelo conceitual
a descrio do BD de maneira independente ao SGBD, ou seja, define quais os dados que aparecero no BD, mas sem se importar com a implementao que se dar ao BD. Desta forma, h uma abstrao em nvel de SGBD. Uma das tcnicas mais utilizadas dentre os profissionais da rea a abordagem entidade-relacionamento (ER), onde o modelo representado graficamente atravs do diagrama entidade-relacionamento (DER) (Figura 3).

Pgina 17

O modelo acima, entre outras coisas, nos traz informaes sobre Alunos e Turmas. Para cada Aluno, ser armazenado seu nmero de matrcula, seu nome e endereo, enquanto para cada turma, teremos a informao de seu cdigo, a sala utilizada e o perodo.

Modelo Lgico
Descreve o BD no nvel do SGBD, ou seja, depende do tipo particular de SGBD que ser usado. No podemos confundir com o Software que ser usado. O tipo de SGBD que o modelo lgico trata se o mesmo relacional, orientado a objetos, hierrquico, etc. Abordaremos o SGBD relacional, por serem os mais difundidos. Nele, os dados so organizados em tabelas.
Aluno mat_aluno 1 2 3 Turma cod_turma 1 2 sala 8 5 periodo Manh Noite nome Ceclia Ortiz Rezende Ablio Jos Dias Renata Oliveira Franco endereco Rua dos Ips, 37 Avenida Presidente Jnio Rua Nove de Julho, 45

Exemplo de tabelas em um SGBD relacional.

Pgina 18

O modelo lgico do BD relacional deve definir quais as tabelas e o nome das colunas que compem estas tabelas. Para o nosso exemplo, poderamos definir nosso modelo lgico conforme o seguinte: Aluno(mat_aluno, nome, endereco) Turma (cod_turma, sala, periodo) importante salientar que os detalhes internos de armazenamento, por exemplo, no so descritos no modelo lgico, pois estas informaes fazem parte do modelo fsico, que nada mais que a traduo do modelo lgico para a linguagem do software escolhido para implementar o sistema.

Banco de Dados Relacional


Um um banco de dados que segue o Modelo Relacional. Um Banco de Dados Relacional um conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um banco de dados. O termo aplicado aos prprios dados, quando organizados dessa forma, ou a um Sistema Gerenciador de Banco de Dados Relacional (SGBDR) do ingls Relational database management system (RDBMS) um programa de computador que implementa a abstrao.

As 13 regras
H 13 regras para que um Sistema Gerenciador de Banco de Dados (SGBD) fosse considerado relacional:

1. Regra Fundamental:
o

Um SGBD relacional deve gerir os seus dados usando apenas suas capacidades relacionais
Pgina 19

2. Regra da informao:
o

Toda informao deve ser representada de uma nica forma, como dados em uma tabela.

3. Regra da garantia de acesso:


o

Todo o dado (valor atmico) pode ser acedido logicamente (e unicamente) usando o nome da tabela, o valor da chave primria da linha e o nome da coluna.

4. Tratamento sistemtico de valores nulos:


o

Os valores nulos (diferente do zero, da string vazia, da string de caracteres em brancos e outros valores no nulos) existem para representar dados no existentes de forma sistemtica e independente do tipo de dado.

5. Catlogo dinmico on-line baseado no modelo relacional:


o

A descrio do banco de dados representada no nvel lgico como dados ordinrios (isto , em tabelas), permitindo que usurios autorizados apliquem as mesmas formas de manipular dados aplicada aos dados comuns ao consult-las.

6. Regra da sub-linguagem abrangente:


o

Um sistema relacional pode suportar vrias linguagens e formas de uso, porm deve possuir ao menos uma linguagem com sintaxe bem definida e expressa por cadeia de caracteres e com habilidade de apoiar a definio de dados, a definio de vises, a manipulao de dados, as restries de integridade, a autorizao e a fronteira de transaes.

7. Regra da atualizao de vises:


o

Toda viso que for teoricamente atualizvel ser tambm atualizvel pelo sistema.

8. Insero, atualizao e eliminao de alto nvel:


o

As operaes de manipulao de dados devem poder ser aplicadas a vrias linhas de uma vez, ao invs de apenas uma por vez.

9. Independncia dos dados fsicos:


Pgina 20

Programas de aplicao ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as modificaes na representao de armazenagem ou mtodos de acesso internos.

10.
o

Independncia lgica de dados Programas de aplicao ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as mudanas de informao que permitam teoricamente a no alterao das tabelas base.

11.
o

Independncia de integridade: As relaes de integridade especficas de um banco de dados relacional devem ser definidas em uma sub-linguagem de dados e armazenadas no catlogo (e no em programas).

12.
o

Independncia de distribuio: A linguagem de manipulao de dados deve possibilitar que as aplicaes permaneam inalteradas estejam os dados centralizados ou distribudos fisicamente.

13.
o

Regra da No-subverso: Se o sistema relacional possui uma linguagem de baixo nvel (um registro por vez), no deve ser possvel subverter ou ignorar as regras de integridade e restries definidas no alto nvel (muitos registros por vez).

Por que usar um Banco de Dados Relacional?


Os Bancos de Dados Relacionais foram desenvolvidos para prover acesso facilitado aos dados, possibilitando que os usurios utilizassem uma grande variedade de abordagens no tratamento das informaes. Pois, enquanto em um banco de dados hierrquico os usurios precisam definir as questes de negcios de maneira especfica, iniciando pela raiz do

Pgina 21

mesmo, nos Bancos de Dados Relacionais os usurios podem fazer perguntas relacionadas aos negcios atravs de vrios pontos. A linguagem padro dos Bancos de Dados Relacionais a Structured Query Language, ou simplesmente SQL, como mais conhecida.

O Modelo Relacional
Um Banco de Dados Relacional segue o Modelo Relacional. A arquitetura de um banco de dados relacional pode ser descrita de maneira informal ou formal. Na descrio informal estamos preocupados com aspectos prticos da utilizao e usamos os termos tabela, linha e coluna. Na descrio formal estamos preocupados com a semntica formal do modelo e usamos termos como relao (tabela), tupla(linhas) e atributo(coluna).

Tabelas (ou relaes, ou entidades


Todos os dados de um banco de dados relacional (BDR) so armazenados em tabelas. Uma tabela uma simples estrutura de linhas e colunas. Em uma tabela, cada linha contm um mesmo conjunto de colunas. Em um banco de dados podem existir uma ou centenas de tabelas, sendo que o limite pode ser imposto tanto pela ferramenta de software utilizada, quanto pelos recursos de hardware disponveis no equipamento. As tabelas associam-se entre si atravs de regras de relacionamentos, estas regras consistem em associar um ou vrios atributos de uma tabela com um ou vrios atributos de outra tabela. Exemplo: A tabela funcionrio relaciona-se com a tabela cargo. Atravs deste relacionamento esta ltima tabela fornece a lista de cargos para a tabela funcionrio. Modelo terico usado para representar conceitualmente um BD, Idealizado por Codd (1970). Baseado numa estrutura de dados simples chamada relao.
Pgina 22

o modelo mais amplamente usado, principalmente em aplicaes convencionais de BD.

Registros (ou tuplas)


Cada linha formada por uma lista ordenada de colunas representa um registro, ou tupla. Os registros no precisam conter informaes em todas as colunas, podendo assumir valores nulos quando assim se fizer necessrio.

Colunas (atributos)
As colunas de uma tabela so tambm chamadas de atributos. Ex.: O campo Nome, ou endereo de uma tabela de um BD relacional.

Chave
As tabelas relacionam-se umas as outras atravs de chaves. Uma chave um conjunto de um ou mais atributos que determinam a unicidade de cada registro. Por exemplo, se um banco de dados tem como chaves Cdigo do Produto e ID Sistema, sempre que acontecer uma insero de dados o sistema de gerenciamento de banco de dados ir fazer uma consulta para identificar se o registro j no se encontra gravado na tabela. Neste caso, um novo registro no ser criado, resultando esta operao apenas da alterao do registro existente. A unicidade dos registros, determinada por sua chave, tambm fundamental para a criao dos ndices. Temos dois tipos de chaves: Chave primria: (PK - Primary Key) a chave que identifica cada registro dandolhe unicidade. A chave primria nunca se repetir.

Pgina 23

Chave Estrangeira: (FK - Foreign Key) a chave formada atravs de um relacionamento com a chave primria de outra tabela. Define um relacionamento entre as tabelas e pode ocorrer repetidas vezes. Caso a chave primria seja composta na origem, a chave estrangeira tambm o ser.

Pgina 24