Documente Academic
Documente Profesional
Documente Cultură
html
O que abordaremos:
Introduo
Os primeiros do mercado
Evoluo
Orientao a Objetos
Cenrio de problemas
Introduo
Os primeiros do mercado
Evoluo
Orientao a Objetos
Cenrio de problemas
Introduo
Atualmente, devem-se considerar alguns aspectos relevantes para
atingir a eficincia e a eficcia dos sistemas informatizados
desenvolvidos, a fim de atender seus usurios nos mais variados
domnios de aplicao: automao de escritrios, sistemas de apoio a
decises, controle de reserva de recursos, controle e planejamento de
produo, alocao e estoque de recursos, entre outros. Tais aspectos
so:
1. Os projetos Lgico e Funcional do Banco de Dados devem ser
capazes de prever o volume de informaes armazenadas a curto,
mdio e longo prazo. Os projetos devem ter uma grande
capacidade de adaptao para os trs casos mencionados;
2. Deve-se ter generalidade e alto grau de abstrao de dados,
possibilitando confiabilidade e eficincia no armazenamento dos
dados e permitindo a utilizao de diferentes tipos de
gerenciadores de dados atravs de linguagens de consultas
padronizadas;
3. Projeto de uma interface gil e com uma "rampa ascendente" para
propiciar aprendizado suave ao usurio, no intuito de minimizar o
esforo cognitvo;
Abstrao de dados
Independncia de dados
Vimos trs nveis de abstrao pelos quais o banco de dados pode ser
visto. A habilidade de modificar a definio ded um esquema em um
nvel sem afetar a definio de esquema num nvel mais alto
chamada de independncia de dados. Existem dois nveis de
independncia dos dados:
Independncia fsica de dados: a habilidade de modificar o
esquema fsico sem a necessidade de reescrever os programas
aplicativos. As modificaes no nvel fsico so ocasionalmente
necessrias para melhorar o desempenho;
Independncia lgica de dados: a habilidade ded modificar o
esquema conceitual sem a necessidade de reescrever os
programas aplicativos. As modificaes no nvel conceitual so
necessrias quando a estrutura lgica do banco de dados
alterada (por exemplo, a adio de contas de bolsas de mercado
num sistema bancrio).
A independncia lgica dos dados mais difcil de ser alcanada do que
a independncia fsica, porm os programas so bastante dependentes
da estrutura lgica dos dados que eles acessam.
O conceito de independncia dos dados similar em muitos aspectos
ao conceito de tipos abstratos de dados em modernas linguagens de
programao. Ambos escondem detalhes de implementao do usurio.
Isto permite ao usurio concentrar-se na estrutura geral em vez de
detalhes de baixo nvel de implementao.
Perguntas:
Perguntas:
Modelo Relacional
Modelo de Redes
Os dados ...
Modelo Hierrquico
INSTNCIAS E ESQUEMAS
conta
Oliver
645-32-1098
Main
Austin
259
1000
Harris
890-12-3456
North
Georgetown
630
2000
Marsh
456-78-9012
Main
Austin
401
1500
Pepper
369-12-1518
North
Georgetown
700
1500
Ratlif
246-80-1214
Park
Round Rock
199
500
Brill
121-21-2121
Putnam
San Marcos
467
900
Evers
135-79-1357
Nassau
Austin
115
1200
183
1300
118
2000
225
2500
210
2200
ATRIBUTOS
RESTRIES DE MAPEAMENTO
CHAVES
1. Para cada entidade forte do MER, crie uma tabela contendo todos
os atributos simples da entidade como colunas da tabela. O nome
da tabela pode seguir um padro de nomenclatura, pode ser o
prprio nome da entidade ou outro nome que identifique que
nesta tabela sero armazenados os registros da entidade do MER;
2. Inclua apenas os atributos mais simples de cada um dos atributos
compostos da entidade como colunas da tabela. No inclua o
atributo composto;
3. Escolha uma chave candidata (que a menor das superchaves)
para ser a chave primria da tabela. Se a chave candidata da
1. Para cada entidade fraca do MER, crie uma tabela contendo todos
os atributos simples da entidade como colunas da tabela. O nome
da tabela pode seguir um padro de nomenclatura, pode ser o
prprio nome da entidade ou outro nome que identifique que
nesta tabela sero armazenados os registros da entidade do MER;
2. Inclua apenas os atributos mais simples de cada um dos atributos
compostos da entidade como colunas da tabela. No inclua o
atributo composto;
3. Escolha uma chave parcial para ser parte da chave primria da
tabela. Se a chave parcial da entidade possuir dois atributos,
ento a tabela ter duas colunas como parte da chave primria.
Podemos sublinhar as colunas da tabela que so chaves primrias,
a fim de diferenci-las de colunas que no so chaves primrias;
4. Esta entidade fraca depende de uma entidade forte. Ento
pegamos as chaves primrias da entidade forte e as exportamos
como colunas da tabela da entidade fraca, surgindo o conceito de
chaves estrangeiras. A chave estrangeira uma coluna da tabela
da entidade fraca que armazenar os valores da chave primria da
tabela da entidade forte. Devemos colocar N colunas onde N a
quantidade de chaves primrias da tabela da entidade forte;
5. Cada atributo derivado da entidade colocado como uma coluna
da tabela e sua respectiva frmula de clculo.
Exerccios
Descrio - Viso
Exerccios
1. Exemplo.
DEPENDNCIA FUNCIONAL
2. Acumulao
3. Transitividade
FORMAS NORMAIS
Exerccios e Perguntas
Chaves primrias
Por exemplo:
CLIENTE (cpf, nome, sobrenome, rua, numero, cidade, nascimento)
definida como chave primria apenas o CPF, pois desejamos que este
identifique unicamente todos os registros de clientes desta tabela.
ASSOCIADO (cpf_cliente, RG, nome, sobrenome)
definida como chave primria o RG e o cpf_cliente pois o conjunto
destes registros identifica unicamente os registros nesta tabela. No
existiro registros de cpf_cliente e RG duplicados na tabela.
Exemplo:
create table cliente (
codigo number(5) primary key,
nome char(30),
sexo char(1),
CPF number(11),
endereco char(40),
cidade char(20)
)
Opcionalmente pode-se definir a chave primria aps a especificao de
todos os atributos da tabela.
create table cliente (
codigo number(5),
nome char(30),
sexo char(1),
CPF number(11),
endereco char(40),
cidade char(20),
primary key (codigo)
)
ATENO: Quando uma tabela possui uma chave primria composta
por mais de um atributo, esta forma OBRIGATRIA.
create table movimento (
agencia number(5),
conta number(7),
valor number(16,2),
Valores nulos
Restries de Integridade
Valor padro
endereco char(40),
cidade char(20) DEFAULT 'So Paulo',
sexo char(10) DEFAULT 'masculino'
)
No exemplo acima, mesmo que o usurio no preencha as colunas
cidade e sexo, o SGDB ir preench-las automaticamente.
Restries de domnio
Integridades referenciais
Alm da chave primria, que identifica cada linha de uma tabela, pode
ser que desejamos que um ou mais campos sejam nicos tambm.
Exemplo:
create table cliente (
codigo number(5) primary key,
nome char(30) not null,
sexo char(1) CHECK(sexo IN ('M', 'F')),
Como fazer?
Campo
Tipo de
dado
codigo
inteiro
fixo
No
No
Cdigo do
cliente
nome
char
20
No
No
Nome do
cliente
sobrenome
varchar
20
Sim
No
Sobrenome
do cliente
sexo
char
No
No
Sexo do
cliente
nascimento
smalldatetim
e
fixo
Sim
No
Nascimento
do cliente
idade
tinyint
fixo
Sim
username
char(30)
fixo
No
senha
char(30)
fixo
No
cod_agenci
a
int
fixo
No
'F'
'M' ou 'F'
> 18
abc123
Sim:
Idade atual
data_atualdo cliente
nascimento
No
Nome de
usurio
No
Senha de
usurio
No
Agncia
qual
pertence o
cliente
cod_regiao
int
fixo
No
No
Cdigo da
regio do
cliente
Restries:
CHECK ( (sexo='M') AND (idade > 18) );
CHECK ( (sexo='M') OR (sexo='F') );
Campos nicos:
UNIQUE (username, senha);
UNIQUE (username);
Chaves estrangeiras:
FOREIGN KEY (cod_agencia) REFERENCES agencia (cod_agencia);
FOREIGN KEY (cod_agencia, cod_regiao) REFERENCES agencia
(cod_agencia, cod_regiao);
Exerccios e Perguntas
Estrutura Bsica
A operao RENAME
Funes Agregadas
where P
group by A1;
Por vezes, precisamos aplicar uma funo agregada no apenas a um
conjunto de tuplas, mas tambm a um grupo de conjunto de tuplas.
Isto feito por meio da clusula GROUP BY (onde os seus atributos
so utilizados para formar os grupos).
Em outros casos, pode ser mais interessante definir condies e apliclas a grupos do que aplic-las a tuplas. Isto feito pela
clusulaHAVING. Como os predicados da clusula so aplicados aps a
formao dos grupos, funes agregadas podem ser usadas.
select A1, A2, ..., An
from r1, r2, ..., rn
where P
group by A1
having <funo agregada>;
Subconsultas Aninhadas
);
Comparaes de Conjuntos
Permite usar comparaes do tipo > some (maior que ao menos
uma), <= some, = some, etc...
ou > all (maior que todas), >= all, etc.
select A1, A2, ..., An
from r1, r2, ..., rn
where P > all (
select A1, A2, ..., An
from r1, r2, ..., rn
where P
);
Verificao de relaes vazias
Pode-se testar se o resultado de uma subconsulta vazio. O
construtor EXISTS retorna o valor TRUE se o argumento da
subconsulta no-vazio.
select A1, A2, ..., An
from r1, r2, ..., rn
where P exists (
select A1, A2, ..., An
from r1, r2, ..., rn
where P
);
Vises
Exerccios e Perguntas
Projeto: Modelo ER
Requisio de desenvolvimento de banco de dados
Plano de projeto
Planos futuros
Explicao.
Atenciosamente,
Diretor de tecnologia
CONSULTAS SIMPLES
CONSULTAS AGREGADAS
Apresentao
Este curso tem como objetivo, oferecer uma noo geral sobre a construo de sistemas de banco de dados. Para isto, necessrio estudar
modelos para a construo de projetos lgicos de bancos de dados, modelos para a construo de projetos fsicos de banco de dados,
tcnicas de controle de dependncia de dados e mtodos de consultas.
Para construo dos modelos lgicos, ser estudado o modelo Entidade Relacionamento, utilizando a abordagem proposta em [ELMAS89]
que oferece uma notao rica em recursos, permitindo a modelagem de entidades normais, fracas, atributos simples, compostos,
multivalorados, derivados e a modelagens de objetos mais complexos como classes e subclasses (modelo Entidade Relacionamento
Extendido).
Para construo dos modelos fsicos, ser estudado o modelo Relacional como originalmente proposto por Codd.
Para eliminar dependncia de dados, utilizaremos a normalizao, abordando a 1 a, a 2a, a 3a Formas Normais, propostas originalmente por
Codd.
Para a elaborao de consultas, ser estudado a lgebra Relacional, que nada mais do que uma forma cannica para as linguagens de
consulta e a linguagem de consultas SQL.
um banco de dados uma coleo lgica coerente de dados com um significado inerente; uma disposio desordenada dos
dados no pode ser referenciada como um banco de dados;
um banco de dados projetado, construdo e populado com dados para um propsito especfico; um banco de dados possui um
conjunto pr definido de usurios e aplicaes;
um banco de dados representa algum aspecto do mundo real, o qual chamado de mini-mundo ; qualquer alterao efetuada
no mini-mundo automaticamente refletida no banco de dados.
umbanco de dados pode ser criado e mantido por um conjunto de aplicaes desenvolvidas especialmente para esta tarefa ou por um
Sistema Gerenciador de Banco de Dados (SGBD). Um SGBD permite aos usurios criarem e manipularem bancos de dados de propsito
geral. O conjunto formado por um banco de dados mais as aplicaes que manipulam o mesmo chamado de Sistema de Banco de
Dados.
1.2. Usurios
Para um grande banco de dados, existe um grande nmero de pessoas
envolvidas, desde o projeto, uso at manuteno.
1.2.1. Administrador de Banco de Dados (DBA)
Em um ambiente de banco de dados, o recurso primrio o banco de dados
por si s e o recurso secundrio o SGBD e os softwares relacionados. A
administrao destes recursos cabe ao Administrador de Banco de Dados, o
qual responsvel pela autorizao de acesso ao banco de dados e pela
coordenao e monitorao de seu uso.
1.2.2. Projetista de Banco de Dados
O Projetista de Banco de Dados responsvel pela identificao dos dados
que devem ser armazenados no banco de dados, escolhendo a estrutura
correta para representar e armazenar dados. Muitas vezes, os projetistas de
banco de dados atuam como staff do DBA, assumindo outras
responsabilidades aps a construo do banco de dados. funo do
projetista tambm avaliar as necessidades de cada grupo de usurios para
definir as vises que sero necessrias, integrando-as, fazendo com que o
banco de dados seja capaz de atender a todas as necessidades dos usurios.
1.2.3. Usurios Finais
Existem basicamente trs categorias de usurios finais que so os usurios finais do banco de dados, fazendo consultas, atualizaes e
gerando documentos:
usurios casuais: acessam o banco de dados casualmente, mas que podem necessitar de diferentes informaes a cada acesso;
utilizam sofisticadas linguagens de consulta para especificar suas necessidades;
usurios novatos ou paramtricos: utilizam pores pr-definidas do banco de dados, utilizando consultas preestabelecidas que
j foram exaustivamente testadas;
usurios sofisticados: so usurios que esto familiarizados com o SGBD e realizam consultas complexas.
toda vez que for necessrio atualizar um arquivo de um grupo, ento todos os grupos devem ser atualizados para manter a
integridade dos dados no ambiente como um todo;
a redundncia desnecessria de dados levam ao armazenamento excessivo de informaes, ocupando espao que poderia estar
sendo utilizado com outras informaes.
Problemas adicionais podem surgir caso os projetistas de banco de dados ou os administradores de banco de dados no elaborem os
projetos corretamente ou se as aplicaes no so implementadas de forma apropriada. Se o DBA no administrar o banco de dados de
forma apropriada, tanto a segurana quanto a integridade dos sistemas podem ser comprometidas. A sobrecarga causada pelo uso de um
SGBD e a m administrao justificam a utilizao da abordagem processamento tradicional de arquivos em casos como:
a necessidade de processamento em tempo real de certas aplicaes, que so terrivelmente prejudicadas pela sobrecarga causada
pelo uso de um SGBD;
2. Conceitos e Arquiteturas
2.1. Modelos de Dados
Uma das principais caractersticas da abordagem banco de dados, que a mesma fornece alguns nveis de abstrao de dados omitindo ao
usurio final, detalhes de como estes dados so armazenados. Um modelo de dados um conjunto de conceitos que podem ser utilizados
para descrever a estrutura lgica e fsica de um banco de dados. Por estrutura podemos compreender o tipo dos dados, os
relacionamentos e as restries que podem recair sobre os dados.
Os modelos de dados podem ser basicamente de dois tipos:
alto nvel: ou modelo de dados conceitual, que fornece uma viso mais prxima do modo como os usurios visualizam os dados
realmente;
baixo nvel: ou modelo de dados fsico, que fornece uma viso mais detalhada do modo como os dados esto realmente
armazenados no computador.
independncia de dados lgica: a capacidade de alterar o esquema conceitual sem ter que alterar o esquema externo ou as
aplicaes do usurio;
independncia de dados fsica: a capacidade de alterar o esquema interno sem ter que alterar o esquema conceitual, o esquema
externo ou as aplicaes do usurio.
Em um SGBD em que a separao entre os nveis conceitual e interno so bem claras, utilizado uma outra linguagem, a SDL (Storage
Definition Language - Linguagem de Definio de Armazenamento) para a especificao do esquema interno. A especificao do esquema
conceitual fica por conta da DDL.
Em um SGBD que utiliza a arquitetura trs esquemas, necessria a utilizao de mais uma linguagem para a definio de vises, a VDL
(Vision Definition Language - Linguagem de Definio de Vises).
Uma vez que o esquema esteja compilado e o banco de dados esteja populado, usa-se uma linguagem para fazer a manipulao dos dados,
a DMl (Data Manipulation Language - Linguagem de Manipulao de Dados).
usurios: um SGBD pode ser mono-usurio, comumente utilizado em computadores pessoais ou multi-usurios, utilizado em
estaes de trabalho, mini-computadores e mquinas de grande porte;
localizao: um SGBD pode ser localizado ou distribudo; se ele for localizado, ento todos os dados estaro em uma mquina
(ou em um nico disco) ou distribudo, onde os dados estaro distribudos por diversas mquinas (ou diversos discos);
ambiente: ambiente homogneo o ambiente composto por um nico SGBD e um ambiente heterogneo o ambiente
compostos por diferentes SGBDs.
O tipo entidade DEPENDENTE uma entidade fraca pois no possui um mtodo de identificar uma entidade nica. O EMPREGADo no
uma entidade fraca pois possui um atributo para identificao (atributo chave). O nmero do RG de um empregado identifica um nico
empregado. Porm, um dependente de 5 anos de idade no possui necessariamente um documento. Desta forma, esta entidade um tipo
entidade fraca. Um tipo entidade fraca possui uma chave parcial, que juntamente com a chave primria da entidade proprietria forma
uma chave primria composta. Neste exemplo: a chave primria do EMPREGADO o RG. A chave parcial do DEPENDENTE o seu
nome, pois dois irmos no podem ter o mesmo nome. Desta forma, a chave primria desta entidade fica sendo o RG do pai ou me mais o
nome do dependente.
Todos os exemplos vistos acima foram para relacionamentos binrios, ou seja, entre dois tipos entidades diferentes ou recursivos. Porm, o
modelo entidade relacionamento no se restringe apenas relacionamentos binrios. O nmero de entidades que participam de um tipo
relacionamento irrestrito e armazenam muito mais informaes do que diversos relacionamentos binrios. Considere o seguinte exemplo:
Um motorista pode efetuar uma viagem para uma localidade dirigindo um determinado caminho em uma determinada data.
Se efetuarmos trs relacionamentos binrios, no teremos estas informaes de forma completa como se criassemos um relacionamento
ternrio. Veja o resultado como fica no exemplo da figura 10.
podemo criar duas subclasses do tipo entidade empregado: engenheiro e secretria, as quais iro conter as informaes acima citadas.
Alm disto, engenheiro e secretria podem ter relacionamentos especficos.
Uma entidade no pode existir meramente como componente de uma subclasse. Antes de ser componente de uma subclasse, uma entidade
deve ser componente de uma superclasse. Isto leva ao conceito de herana de atributos; ou seja, a subclasse herda todos os atributos da
superclasse. Isto porque a entidade de subclasse representa as mesmas caracterscticas de uma mesma entidade da superclasse. uma
subclasse pode herdar atributos de superclasses diferentes.
A figura 12 mostra a representao diagramtica do exemplo acima.
3.8.4. Generalizao
A generalizao pode ser pensada como um processo de abstrao reverso ao da especializao, no qual so suprimidas as diferenas
entre diversos tipos entidades, identificando suas caractersticas comuns e generalizando estas entidades em uma superclasse
4. O Modelo Relacional
O modelo relacional foi criado por Codd em 1970 e tem por finalidade representar os dados como uma coleo de relaes, onde cada
relao representada por uma tabela, ou falando de uma forma mais direta, um arquivo. Porm, um arquivo mais restrito que uma
tabela. Toda tabela pode ser considerada um arquivo, porm, nem todo arquivo pode ser considerado uma tabela.
Quando uma relao pensada como uma tabela de valores, cada linha nesta tabela representa uma coleo de dados relacionados. Estes
valores podem ser interpretados como fatos descrevendo uma instncia de uma entidade ou de um relacionamento. O nome da tabela e das
colunas desta tabela so utilizados para facilitar a interpretao dos valores armazenados em cada linha da tabela. Todos os valores em uma
coluna so necessariamente do mesmo tipo.
Na terminologia do modelo relacional, cada tabela chamada de relao; uma linha de uma tabela chamada de tupla; o nome de cada
coluna chamado de atributo; o tipo de dado que descreve cada coluna chamado de domnio.
Tipo
Tamanho
Faixa
RG
Numrico
10,0
03000000-25999999
Nome
Caracter
30
a-z, A-Z
Salrio
Numrico
5,2
00100,00-12999,99
um esquema de relao R, denotado por R(A1, A2, ... , An), onde cada atributo Ai o nome do papel desempenhado por um
domnio D no esquema relao R, onde D chamado domnio de Ai e denotado por dom(Ai). O grau de uma relao R o nmero de
atributos presentes em seu esquema de relao.
A instncia r de um esquema relao denotado por r(R) um conjunto de n-tuplas
r = [t1, t2, ... , tn] onde os valores de [t1, t2, ... , tn] devem estar contidos no domnio D. O valor nulo tambm pode fazer parte do domnio
de um atributo e representa um valor no conhecido para uma determinada tupla.
Nome Dependente
Dt. Nascimento
Relao
Sexo
10101010
Jorge
27/12/86
Filho
Masculino
10101010
Luiz
18/11/79
Filho
Masculino
20202020
Fernanda
14/02/69
Conjuge
Feminino
20202020
Angelo
10/02/95
Filho
Masculino
30303030
Fernanda
01/05/90
Filho
Feminino
Quando uma relao possui mais que uma chave (no confundir com chave composta) - como por exemplo RG e CIC para empregados cada uma destas chaves so chamadas de chaves candidatas. Uma destas chaves candidatas deve ser escolhida como chave primria.
Uma chave estrangeira CE de uma tabela R1 em R2 ou vice-versa, especifica um relacionamento entre as tabelas R1 e R2.
Tabela DEPARTAMENTO
Nome
Nmero
Contabilidade
10101010
Engenharia Civil
30303030
Engenharia Mecnica
20202020
Tabela EMPREGADO
Nome
RG
CIC
Depto.
RG Supervisor
Salrio
Joo Luiz
10101010
11111111
NULO
3.000,00
Fernando
20202020
22222222
10101010
2.500,00
Ricardo
30303030
33333333
10101010
2.300,00
Jorge
40404040
44444444
20202020
4.200,00
Renato
50505050
55555555
20202020
1.300,00
Para cada entidade E no modelo ER criada uma tabela T1 no Modelo Relacional que inclua todos os atributos simples de E;
para cada atributo composto, so inseridos apenas os componentes simples de cada um; um dos atributos chaves de E deve ser
escolhida como a chave primria de T1;
2.
Para cada entidade fraca EF com entidade proprietria E no modelo ER, criada uma tabela T1 no modelo Relacional incluindo
todos os atributos simples de EF; para cada atributo composto , so inseridos apenas os componentes simples de cada um; a
chave primria desta relao T1 ser composta pela chave parcial da entidade fraca EF mais a chave primria da entidade
proprietria E;
3.
Para cada relacionamento regular com cardinalidade 1:1 entre entidades E1 e E2 que geraram as tabelas T1 e T2 respectivamente,
devemos escolher a chave primria de uma das relaes (T1, T2)e inser-la como chave estrangeira na outra relao; se um dos
lados do relacionamento tiver participao total e outro parcial, ento interessante que a chave do lado com
participao parcial seja inserido como chave estrangeira no lado que tem participao total;
4.
Para cada relacionamento regular com cardinalidade 1:N entre entidades E1 e E2 respectivamente e que geraram as
tabelas T1 e T2 respectivamente, deve-se inserir a chave primria de T1 como chave estrangeira em T2;
5.
Para cada relacionamento regular com cardinalidade N:N entre entidades E1 e E2, cria-se uma nova tabela T1, contendo todos os
atributos do relacionamento mais o atributo chave de E1 e o atributo chave de E2; a chave primria de T1 ser composta pelos
atributos chave de E1 e E2;
6.
Para cada atributo multivalorado A1, cria-se uma tabela T1, contendo o atributo multivalorado A1, mais o atributo chave C da
tabela que representa a entidade ou relacionamento que contm A1; a chave primria de T1 ser composta por A1 mais C;
se A1 for composto, ento a tabela T1 dever conter todos os atributos de A1;
7.
Para cada relacionamento n-rio, n > 2, cria-se uma tabela T1, contendo todos os atributos do relacionamento; a chave primria
de T1 ser composta pelos atributos chaves das entidades participantes do relacionamento;
8.
Converta cada especializao com m subclasses {S1, S2, ..., Sm} e superclasse SC, onde os atributos de SC so {c, a1, a2, ...,
an} onde c a chave primria de SC, em tabelas utilizando uma das seguintes opes:
a.
Crie uma tabela T para SC com os atributos A(T) = {c, a1, a2, ..., an} e chave C(T) = c; crie uma tabela Ti para cada
subclasse Si , 1 i m, com os atributos
A(Ti) = {c} A(Si), onde C(T) = c;
b.
c.
Crie uma tabela T com os atributos A(T) = {c, a1, a2, ..., an} A(S1) ... A(Sm) {t} e C(T) = c, onde t um
atributo tipo que indica a subclasse qual cada tupla pertence, caso isto venha a ocorrer;
d.
Crie uma tabela T com atributos A(T) = {c, a1, a2, ..., an} A(S1) ... A(Sm) {t1, t2, ..., tm} e C(T) = c; esta
opo para generalizaes com overlapping, e cada ti, 1 i m, um atributo booleano indicando se a tupla
pertence ou no subclasse Si; embora funcional, esta opo pode gerar uma quantidade muito grande de valores
nulos;
2.
3.
alm de outras.
A dependncia 1 implica que o nmero de um RG define de forma nica o nome do empregado e o CIC do empregado. A dependncia 2
implica que onmero do projeto define de forma nica o nome do projeto e sua localizao e a dependncia 3 implica que o
RG do empregado mais o nmero do projeto define de forma nica o nmero de horas que o empregado trabalhou no projeto. A
especificao das inferncias deve ser elaborada pelo projetista de banco de dados em conjunto com o analista de sistemas, pois os mesmos
devero ter conhecimento da semntica da base de dados.
4.4.2. Normalizao
O processo de normalizao pode ser visto como o processo no qual so eliminados esquemas de relaes (tabelas) no satisfatrios,
decompondo-os, atravs da separao de seus atributos em esquemas de relaes menos complexas mas que satisfaam as propriedades
desejadas.
O processo de normalizao como foi proposto inicialmente por Codd conduz um esquema de relao atravs de um bateria de testes para
certificar se o mesmo est na 1a, 2a e 3a Formas Normais. Estas trs Formas Normais so baseadas em dependncias funcionais dos
atributos do esquema de relao.
4.4.2.1. 1a Forma Normal
A 1a Forma Normal prega que todos os atributos de uma tabela devem ser atmicos (indivisveis), ou seja, no so permitidos atributos
multivalorados, atributos compostos ou atributos multivalorados compostos. Leve em considerao o esquema a seguir:
CLIENTE
1.
Cdigo
2.
{ Telefone }
3.
Cliente
Telefone 1
Endereo
Telefone n
Rua
Cdigo
No
Cidade
sendo que a mesma no est na 1a Forma Normal pois seus atributos no so atmicos. Para que a tabela acima fique na 1 a Forma Normal
temos que eliminar os atributos no atmicos, gerando as seguintes tabelas como resultado:
Cliente
Cdigo
Cliente_Telefone
Rua
Cdigo_Cliente
Nmero
Cidade
Telefone_Cliente
RG
Nome
No_Departamento
Nome_Depto
RG_Ger_Depto
RG { Nome_Depto, RG_Ger_Depto }
RG No_Departamento
No_Departamento { Nome_Depto, RG_Ger_Depto }
Porm, verifique o caso da tabela abaixo:
Empregado
RG
CIC
Nome
No_Funcional
RG
CIC
Depto.
RG Supervisor
Salrio
Ricardo
30303030
33333333
10101010
2.300,00
Renato
50505050
55555555
20202020
1.300,00
Nome Dependente
Dt. Nascimento
Relao
Sexo
30303030
Adreia
01/05/90
Filho
Feminino
Dt. Nascimento
Jorge
27/12/86
Luiz
18/11/79
Fernanda
14/02/69
Angelo
10/02/95
Adreia
01/05/90
Nome
Depto.
Salrio
Ricardo
2.300,00
Renato
1.300,00
RG
CIC
Depto.
RG Supervisor
Salrio
Ricardo
30303030
33333333
10101010
2.300,00
Renato
50505050
55555555
20202020
1.300,00
Depto.
Salrio
Ricardo
2.300,00
Renato
1.300,00
unio - o resultado desta operao representada por R S uma relao T que inclui todas as tuplas que se encontram em R e
todas as tuplas que se encontram em S;
interseco - o resultado desta operao representada por R S uma relao T que inclui as tuplas que se encontram em R e
em S ao mesmo tempo;
diferena - o resultado desta operao representada por R S uma relao T que inclui todas as tuplas que esto em R mas
no esto em S.
Nome
RG
CIC
Depto.
RG Supervisor
Salrio
Fernando
20202020
22222222
10101010
2.500,00
Ricardo
30303030
33333333
10101010
2.300,00
Jorge
40404040
44444444
20202020
4.200,00
Vamos agora selecionar os supervisores dos empregados que trabalham no departamento nmero 2.
consulta8 = rg_supervisor (consulta7)
Tabela consulta8
RG Supervisor
10101010
20202020
Vamos projetar apenas o rg dos empregados selecionados:
consulta9 = rg (consulta7)
Tabela consulta9
RG
20202020
30303030
40404040
E por fim, vamos unir as duas tabelas, obtendo o resultado final.
consulta10 = consulta8 consulta9
Tabela consulta10
RG
20202020
30303030
40404040
10101010
Leve em considerao a prxima consulta:
selecione todos os empregados que desenvolvem algum projeto e que trabalham no departamento nmero 2;
Vamos primeiro selecionar todos os empregados que trabalham em um projeto.
consulta11 = rg_empregado (EMPREGADO/PROJETO)
Tabela consulta11
RG_Empregado
20202020
30303030
40404040
50505050
Vamos agora selecionar todos os empregados que trabalham no departamento 2.
consulta12 = rg ( depto=2 (EMPREGADOS))
Tabela consulta12
RG
20202020
30303030
40404040
Obtemos ento todos os empregados que trabalham no departamento 2 e que desenvolvem algum projeto.
consulta13 = consulta11 consulta12
Tabela consulta13
RG
20202020
30303030
40404040
Leve em considerao a seguinte consulta:
selecione todos os usurios que no desenvolvem projetos;
consulta14 = rg_empregado (EMPREGADO/PROJETO)
Tabela consulta14
RG Empregado
20202020
30303030
40404040
50505050
consulta15 = rg (EMPREGADOS)
Tabela consulta15
RG
10101010
20202020
30303030
40404040
50505050
consulta16 = consulta15 consulta14
Tabela consulta16
RG
10101010
4.5.5. Produto Cartesiano
O produto cartesiano uma operao binria que combina todas as tuplas de duas tabelas. Diferente da operao unio, o produto
cartesiano no exige que as tuplas das tabelas possuam exatamente o mesmo tipo. O produto cartesiano permite ento a consulta entre
tabelas relacionadas utilizando uma condio de seleo apropriada. o resultado de um produto cartesiano uma nova tabela formada
pela combinao das tuplas das tabelas sobre as quais aplicou-se a operao.
O formato geral do produto cartesiano entre duas tabelas R e S :
RXS
Leve em considerao a seguinte consulta:
encontre todos os funcionrios que desenvolvem projetos em Campinas;
consulta16 = EMPREGADO/PROJETO X PROJETO
Tabela consulta16
RG Empregado
Nmero Projeto
Nome
Nmero
Localizao
20202020
Financeiro 1
So Paulo
20202020
Motor 3
10
Rio Claro
20202020
Prdio Central
20
Campinas
20202020
10
Financeiro 1
So Paulo
20202020
10
Motor 3
10
Rio Claro
20202020
10
Prdio Central
20
Campinas
30303030
Financeiro 1
So Paulo
30303030
Motor 3
10
Rio Claro
30303030
Prdio Central
20
Campinas
40404040
20
Financeiro 1
So Paulo
40404040
20
Motor 3
10
Rio Claro
40404040
20
Prdio Central
20
Campinas
50505050
20
Financeiro 1
So Paulo
50505050
20
Motor 3
10
Rio Claro
50505050
20
Prdio Central
20
Campinas
Vamos agora selecionar as tuplas resultantes que esto devidamente relacionadas que so as que possuem o mesmo valor em
nmero do projeto e nmero e cuja localizao seja Campinas.
consulta17 = rg_empregado,nmero ( (nmero_projeto=nmero).and.(localizao=Campinas) (consulta16))
Tabela consulta17
RG
Nmero
40404040
20
50505050
20
A operao produto cartesiano no muito utilizada por no oferecer um resultado otimizado. Veja o tem seguinte.
4.5.6. Operao Juno
A operao juno atua de forma similar operao produto cartesiano, porm, a tabela resultante conter apenas as combinaes das
tuplas que se relacionam de acordo com uma determinada condio de juno. A forma geral da operao juno entre duas
tabelas R e S a seguinte:
R <condio de juno> S
Tabela consulta18
RG_Empregado
Nmero_Projeto
Nome
Nmero
Localizao
20202020
Financeiro 1
So Paulo
20202020
10
Motor 3
10
Rio Claro
30303030
Financeiro 1
So Paulo
40404040
20
Prdio Central
20
Campinas
50505050
20
Prdio Central
20
Campinas
Nome
Nmero
Localizao
Nmero_Projeto
40404040
20
Prdio Central
20
Campinas
50505050
20
Prdio Central
20
Campinas
integer: inteiros
A restrio not null indica que o atributo deve ser obrigatoriamente preenchido; se no for especificado, ento o default que o atributo
possa assumir o valor nulo.
A forma geral do comando create table ento :
create table <nome_tabela> (<nome_coluna1> <tipo_coluna1> <NOT NULL>,<nome_coluna2> <tipo_coluna2> <NOT
NULL>, ... <nome_colunan> <tipo_colunan> <NOT NULL> );
Por exemplo, para criar a tabela EMPREGADOS do apndice A, teramos o seguinte comando:
create table EMPREGADOS (nome char(30) NOT NULL,rg integer NOT NULL,cic integer NOT NULL,depto integer NOT
NULL,rg_supervisor integer NOT NULL,salario decimal(7,2) NOT NULL);
4.6.1.2. Comando DROP table
O comando drop table permite a excluso de uma tabela (relao) em um banco de dados.
A forma geral para o comando drop table :
drop table <nome_tabela>;
Por exemplo, para eliminar a tabela EMPREGADOS do apndice A teramos o seguinte comando:
drop table EMPREGADOS;
Observe que neste caso, a chave da tabela EMPREGADOS, (rg) utilizada como chave estrangeira ou como chave primria composta em
diversos tabelas que devem ser devidamente corrigidas.
Este processo no assim to simples pois, como vemos neste caso, a excluso da tabela EMPREGADOS implica na alterao do projeto
fsico de diversas tabelas. Isto acaba implicando na construo de uma nova base de dados.
4.6.1.3. Comando ALTER table
O comando alter table permite que o usurio faa a incluso de novos atributos em uma tabela. A forma geral para o comando alter
table a seguinte:
alter table <nome_tabela> add <nome_coluna> <tipo_coluna>;
No caso do comando alter table, a restrio NOT NULL no permitida pois assim que se insere um novo atributo na tabela, o valor para
o mesmo em todas as tuplas da tabela recebero o valor NULL.
RG
Fernando
0202020
Ricardo
30303030
Jorge
40404040
RG
Salrio
Jorge
40404040
4.200,00
RG
Joo Luiz
10101010
Fernando
20202020
RG
Depto.
RG Supervisor
Salrio
Joo Luiz
10101010
11111111
NULO
3.000,00
Fernando
20202020
22222222
10101010
2.500,00
Ricardo
30303030
33333333
10101010
2.300,00
Jorge
40404040
44444444
20202020
4.200,00
Renato
50505050
55555555
20202020
1.300,00
Diferente de lgebra relacional, a operao select em SQL permite a gerao de tuplas duplicadas como resultado de uma
expresso. Para evitar isto, devemos utilizar o especificador distinct. Veja a seguir os exemplos com e sem o especificador distinct.
select depto
from empregado
gera os seguintes resultados:
Depto.
1
2
2
2
3
Enquanto:
select distinct depto
from empregado;
gera os seguintes resultados:
Depto.
1
2
3
Podemos gerar consultas aninhadas em SQL utilizando o espeficicador in, que faz uma comparao do especificador where da
consulta mais externa com o resultado da consulta mais interna. Considere a consulta a seguir:
selecione o nome de todos os funcionrios que trabalham em projetos localizados em Rio Claro:
select e1.nome, e1.rg, e1.depto
from empregado e1, empregado_projeto e2
where e1.rg = e2.rg_empregado
and e2.numero_projeto in
(select numero
from projeto
where localizacao = Rio Claro);
Para selecionar um conjunto de tuplas de forma ordenada devemos utilizar o comando order by. Leve em considerao a seguinte
consulta:
selecione todos os empregados por ordem alfabtica:
select nome, rg, depto
from empregado
order by nome;
4.6.3. Inseres e Atualizaes
Para elaborar inseres em SQL, utiliza-se o comando insert into. A forma geral para o comando insert into :
5. Bibliografia
Fundamentals of Database Systems; Ramez Elmasri, Shamkant Navathe; The Benjamin CummingsPublishing Company; 1989;
Sistema de Banco de Dados; Henry F. Korth, Abraham Silberschatz; Makro Books; 1995;
SQL Language - Oracle Reference Manual; Version 7.2;
RG
CIC
Depto.
RG Supervisor
Salrio
Joo Luiz
10101010
11111111
NULO
3.000,00
Fernando
20202020
22222222
10101010
2.500,00
Ricardo
30303030
33333333
10101010
2.300,00
Jorge
40404040
44444444
20202020
4.200,00
Renato
50505050
55555555
20202020
1.300,00
Tabela DEPARTAMENTO
Tabela PROJETO
Nome
Nmero
RG Gerente
Nome
Nmero
Localizao
Contabilidade
10101010
Financeiro 1
So Paulo
Engenharia Civil
30303030
Motor 3
10
Rio Claro
Engenharia Mecnica
20202020
Prdio Central
20
Campinas
Tabela DEPENDENTES
RG Responsvel
Nome Dependente
Dt. Nascimento
Relao
Sexo
10101010
Jorge
27/12/86
Filho
Masculino
10101010
Luiz
18/11/79
Filho
Masculino
20202020
Fernanda
14/02/69
Conjuge
Feminino
20202020
Angelo
10/02/95
Filho
Masculino
30303030
Adreia
01/05/90
Filho
Feminino
Tabela Departamento_Projeto
Tabela EMPREGADO_PROJETO
Nmero Depto.
Nmero Projeto
RG Empregado
Nmero Projeto
Horas
20202020
10
10
20202020
10
25
20
30303030
35
40404040
20
50
50505050
20
35
Perguntas:
Bom Pessoal vou neste post falar sobre o Conceito de Banco de dados e SGBD (Sistema de Gerenciamento de
Banco de dados), tratando a diferena entre esses dois conceitos de forma clara e explicativa. Sobre Banco de
dados vamos expor sobre sua evoluo, definio e utilizao. Sobre SGDB vamos falar de sua definio,
Arquitetura, Modelo de Dados, Independncia de dados, Linguagem de Manipulao de Dados (ou DML, de Data
Manipulation Language), Linguagem de definio de dados (LDD ou DDL, do Ingls Data Definition Language).
Com a Importncia da informao para tomada de deciso nas empresas e organizaes, isso impulsionou o
desenvolvimento de sistemas para processamento de informaes.
As principais ferramentas utilizadas so:
- Processadores de Texto (editorao eletrnica de informaes)
- Planilhas (Clculos com tabelas de valores)
- Sistemas de Gerenciamento de Banco de dados (Armazenamento de grande volume de dados, estruturados em
registros e tabelas, com recursos para acesso e processamento de informaes).
Banco de dados uma coleo de dados inter-relacionados, representando informaes sobre um domnio
especfico.
Exemplos: Lista telefnica, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de
uma empresa.
SGBD(Sistema de Gerenciamento de Banco de dados) um software com recursos especficos para facilitar a
manipulao das informaes dos dados e o desenvolvimento de programas aplicativos.
Um sistema de gerncia de banco de dados (SGBD) uma coleo de programas que permite que usurios criem
e mantenham bancos de dados.
Exemplos : MS SQL Server , Oracle Database, IBM DB2, MySQL , PostgreSQL.
Sistema de Banco de dados um sistema de manuteno de registros por computador envolvendo quatro
componentes principais , sendo eles dados, hardware, software e usurios. O sistema de banco de dados pode
ser considerado como uma sala de arquivos eletrnica. Existe uma srie de mtodos , tcnicas e ferramentas que
visam sistematizar o desenvolvimento de banco de dados.
Os Objetivos de um sistema de banco de dados isolar os usurios dos detalhes mais internos do banco de
dados (abstrao de dados) e tambm prover independncia de dados s aplicaes (estrutura fsica de
armazenamento e estratgia de acesso).
As vantagens de utilizar um sistema de banco de dados a rapidez na manipulao e no acesso informao,
reduo do esforo humano (desenvolvimento e utilizao), disponibilizao da informao no tempo necessrio,
controle integrado de informaes distribudas fisicamente, reduo de redundncia e de inconsistncia de
informaes, compartilhamento de dados, aplicao automtica de restries de segurana, reduo de
problemas de integridade.
Tratando os papis humanos em um Sistema de Banco de dados no caso nossos queridos usurios. Num
sistemas de Banco de dados possumos a seguinte hierarquia Programadores de Aplicaes, Usurios
Sofisticados, Usurios especializados, Usurios ingnuos. Num Sistema de banco de dados tambm
possumos administradores, aquela pessoa que responsvel pelo controle do sistema de banco de dados sendo
Um Banco de dados dever fornecer mecanismos que possibilitem a compreenso do relacionamento existente
entre as tabelas e de sua eventual manuteno.
Controle de Integridade:
Um Banco de dados dever impedir que aplicaes ou acessos pelas interfaces pudessem comprometer a
integridade dos dados.
Backups:
O SGBD dever apresentar facilidade para recuperar falhas de hardware e software, atravs da existncia de
arquivos de pr-imagem ou de outros recursos automticos, exigindo minimamente a interveno de pessoal
tcnico.
Arquitetura de Trs Esquemas e a Independncia dos dados
O Sistema de Banco de dados deve prover uma viso abstrata dos dados para os usurios. Essa Abstrao se d
em trs nveis, o primeiro nvel o externo, o segundo nvel o conceitual e o terceiro nvel o interno.
Bom Pessoal vou neste post falar sobre o Conceito de Banco de dados e SGBD (Sistema de Gerenciamento de
Banco de dados), tratando a diferena entre esses dois conceitos de forma clara e explicativa. Sobre Banco de
dados vamos expor sobre sua evoluo, definio e utilizao. Sobre SGDB vamos falar de sua definio,
Arquitetura, Modelo de Dados, Independncia de dados, Linguagem de Manipulao de Dados (ou DML, de Data
Manipulation Language), Linguagem de definio de dados (LDD ou DDL, do Ingls Data Definition Language).
Com a Importncia da informao para tomada de deciso nas empresas e organizaes, isso impulsionou o
desenvolvimento de sistemas para processamento de informaes.
As principais ferramentas utilizadas so:
- Processadores de Texto (editorao eletrnica de informaes)
- Planilhas (Clculos com tabelas de valores)
- Sistemas de Gerenciamento de Banco de dados (Armazenamento de grande volume de dados, estruturados em
registros e tabelas, com recursos para acesso e processamento de informaes).
Banco de dados uma coleo de dados inter-relacionados, representando informaes sobre um domnio
especfico.
Exemplos: Lista telefnica, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de
uma empresa.
SGBD(Sistema de Gerenciamento de Banco de dados) um software com recursos especficos para facilitar a
manipulao das informaes dos dados e o desenvolvimento de programas aplicativos.
Um sistema de gerncia de banco de dados (SGBD) uma coleo de programas que permite que usurios criem
e mantenham bancos de dados.
Exemplos : MS SQL Server , Oracle Database, IBM DB2, MySQL , PostgreSQL.
Sistema de Banco de dados um sistema de manuteno de registros por computador envolvendo quatro
componentes principais , sendo eles dados, hardware, software e usurios. O sistema de banco de dados pode
ser considerado como uma sala de arquivos eletrnica. Existe uma srie de mtodos , tcnicas e ferramentas que
visam sistematizar o desenvolvimento de banco de dados.
Os Objetivos de um sistema de banco de dados isolar os usurios dos detalhes mais internos do banco de
dados (abstrao de dados) e tambm prover independncia de dados s aplicaes (estrutura fsica de
armazenamento e estratgia de acesso).
As vantagens de utilizar um sistema de banco de dados a rapidez na manipulao e no acesso informao,
reduo do esforo humano (desenvolvimento e utilizao), disponibilizao da informao no tempo necessrio,
controle integrado de informaes distribudas fisicamente, reduo de redundncia e de inconsistncia de
informaes, compartilhamento de dados, aplicao automtica de restries de segurana, reduo de
problemas de integridade.
Tratando os papis humanos em um Sistema de Banco de dados no caso nossos queridos usurios. Num
sistemas de Banco de dados possumos a seguinte hierarquia Programadores de Aplicaes, Usurios
Sofisticados, Usurios especializados, Usurios ingnuos. Num Sistema de banco de dados tambm
possumos administradores, aquela pessoa que responsvel pelo controle do sistema de banco de dados sendo
o Administrador de dados (AD) e o Administrador do SGBD (DBA). Na Administrao de Sistemas de banco de
dados o papel do o Administrador de dados (AD) efetuar a definio e atualizao do esquema do Banco de
dados e o papel do Administrador do SGBD (DBA) a definio da estrutura de armazenamento e a estratgia
de acesso, concesso de autorizao para acesso a dados, definio de controles de integridade, definio de
estratgias para copia de segurana (backup) e recuperao (recover), monitoramento do desempenho, execuo
de rotinas de desempenho, modificao da organizao fsica.
Caractersticas Gerais de um SGBD
Controle de Redundncias
O SGBD dever apresentar facilidade para recuperar falhas de hardware e software, atravs da existncia de
arquivos de pr-imagem ou de outros recursos automticos, exigindo minimamente a interveno de pessoal
tcnico.
Arquitetura de Trs Esquemas e a Independncia dos dados
O Sistema de Banco de dados deve prover uma viso abstrata dos dados para os usurios. Essa Abstrao se d
em trs nveis, o primeiro nvel o externo, o segundo nvel o conceitual e o terceiro nvel o interno.
Linguagens de SGBD
O SGBD deve oferecer linguagens e interfaces apropriadas para cada categoria de usurios.
Linguagem de Definio de dados (DDL)
Est Linguagem utilizada para permitir especificar o esquema do banco de dados, atravs de um conjunto de
definies de dados.
A Compilao dos comandos em DDL armazenada no dicionrio de dados (metadados).
Linguagem de Manipulao de dados (DML)
Est Linguagem permite ao usurio acessar ou manipular os dados, vendo-os da forma como so definidos no
nvel de abstrao mais alto do modelo de dados utilizado.
Uma Consulta (query) um comando que requisita uma recuperao de informao. A parte de uma DML que
envolve recuperao de informao chamada linguagem de consulta.
Manipulao de dados:
Recuperao da informao armazenada
Insero de novas informaes
Excluso de informaes
Modificao de dados armazenados
Mdulos componentes do SGBD
Mdulo de programa que fornece a interface entre os dados de baixo nvel de armazenados num banco de dados
e os programas aplicativos ou as solicitaes submetidas ao sistema.
Software que manipula todos os acessos ao banco de dados, proporcionando a interface de usurio ao sistema
de banco de dados.
Ilustrando o papel do sistema de gerncia de banco de dados, de forma conceitual:
SQL
Origem: Wikipdia, a enciclopdia livre.
Paradigma
Multiparadigma
Surgido em
1974
Criado por
Donald D. Chamberlin
Raymond F. Boyce
Estilo de
tipagem:
Forte
Dialetos:
Influenciada
por
Datalog
Influenciou
Agena, CQL,LINQ,Windows
PowerShell
Tabela 'T'
C1
C2
Consulta
Resultado
Select * from T
C1
C2
C1
C2
Select C1 from T
C1
C1
C2
ndice
[esconder]
1Exemplo
2Subconjuntos do SQL
o
C1
3Palavras-chave em SQL
o
3.1Clusulas
3.2Operadores Lgicos
3.3Operadores relacionais
3.4Funes de Agregao
5Referncias
6Ligaes externas
C2
a
funo
comand
os SQL
inclus
es
INSERT
descrio do comando
exemplo
altera
UPDATE
es
exclus
es
DELETE
CREATE: cria um objeto (uma Tabela, por exemplo) dentro da base de dados.
Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usurio alterar um objeto, por
exemplo, adicionando uma coluna a uma tabela existente.
Outros comandos DDL:
CREATE TABLE
CREATE INDEX
CREATE VIEW
ALTER TABLE
ALTER INDEX
DROP INDEX
DROP VIEW
BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL) pode ser usado para marcar
o comeo de uma transao de banco de dados que pode ser completada ou no.
COMMIT finaliza uma transao dentro de um sistema de gerenciamento de banco de dados.
ROLLBACK faz com que as mudanas nos dados existentes desde o ltimo COMMIT ou ROLLBACK
sejam descartadas.
COMMIT e ROLLBACK interagem com reas de controle como transao e locao. Ambos terminam qualquer
transao aberta e liberam qualquer cadeado ligado a dados. Na ausncia de um BEGIN WORK ou uma
declarao semelhante, a semntica de SQL dependente da implementao.
funo
consult
as
comandos
SQL
SELECT
descrio do comando
O Select o principal comando usado em SQL para
realizar consultas a dados pertencentes a uma
tabela.
exemplo
Select * From
Pessoa;
WHERE Utilizada para especificar as condies que devem reunir os registros que sero
selecionados.
HAVING Utilizada para expressar a condio que deve satisfazer cada grupo.
ORDER BY Utilizada para ordenar os registros selecionados com uma ordem especifica.
UNION - combina os resultados de duas consultas SQL em uma nica tabela para todas as linhas
correspondentes.
AND E lgico. Avalia as condies e devolve um valor verdadeiro caso ambos sejam corretos.
Operador
Descrio
<
Menor
>
Maior
<=
Menor ou igual
>=
Maior ou igual
Igual
<>
Diferente
IN - Utilizado para verificar se o valor procurado est dentro de um a lista. Ex.: valor IN (1,2,3,4).
Apache Derby
Cach
DB2
Firebird
Informix
Ingres
InterBase
Microsoft Access
MySQL
Oracle
PostgreSQL
SQLite
LiteBase Mobile (dedicado plataformas mveis como: Palm OS, Pocket PC, WinCE, Symbian)
Referncias
1. Ir para cima Chamberlin, D. D., Astrahan, M. M., Blasgen, M. W., Gray, J. N., King, W. F., Lindsay, B. G., Lorie,
R., Mehl, J. W., Price, T. G., Putzolu, F., Selinger, P. G., Schkolnick, M., Slutz, D. R., Traiger, I. L., Wade, B. W.,
and Yost, R. A. 1981. A history and evaluation of System R. Commun. ACM 24, 10 (Oct. 1981), 632646. http://doi.acm.org/10.1145/358769.358784
Navathe, S. B. and Elmasri, R.. Sistemas de banco de dados Fundamentos e aplicaes. LTC: 2002.
SQL tutorial