Esquema, Tabelas, Campos, Registros, Índices

Propaganda
Banco de Dados
Modelo de Entidade-Relacionamento (MER)
Modelo Conceitual, Lógico e Físico
Sobre Modelo Conceitual:
- O modelo conceitual representa uma visão global do banco de dados inteiro, conforme visto pela organização como um todo.
Também conhecido como esquema conceitual, constitui a base para a identificação e descrição de alto nível dos principais
objetos de dados. Sobre esse modelo, é correto afirmar que é independente em relação tanto a software como hardware.
Portanto alterações de hardware ou do software do SGBD não terão efeito sobre o projeto de banco de dados no nível
conceitual.
- Um modelo conceitual é uma descrição do banco de dados de forma independente de implementação em um SGBD. O
modelo conceitual registra que dados podem aparecer no banco de dados, mas não registra como estes dados estão
armazenados em nível de SGBD.
- A modelagem que se baseia no alto nível e envolve o cliente por meio de exemplos fáceis de compreender, já que não há
limitações ou aplicação de tecnologia específica, e que tem como resultado o Diagrama de Entidade e Relacionamento é
conhecida como Modelagem conceitual.
Sobre Modelagem Física:
- A modelagem que considera as limitações impostas pelo SGBD escolhido e tem como base os outros modelos de dados
produzidos é conhecida como Modelagem física.
Sobre Modelagem lógica:
- A modelagem que leva em consideração algumas limitações e implementa recursos como adequação de padrão e
nomenclatura, definindo as chaves primárias e estrangeiras, é denominada Modelagem lógica.
Conceitos: Esquema, Tabelas, Campos, Registros, Índices, Relacionamentos, Transação, Tipos de BD
Esquema: Descrição da estrutura do banco de dados;
Tabela: A tabela é um conjunto de registros de mesmo tipo. O banco de dados pode ser formado por uma ou mais tabelas.
Cada tabela é identificada por um nome único e deve ser organizada de tal forma que só permita um tipo de informação. Por
exemplo, uma tabela para clientes, outra para fornecedores e outra para produtos.
Campo: É a menor unidade destinada ao armazenamento de valores existentes em um arquivo ou tabela de um banco de
dados. Os dados armazenados são separados em pequenos fragmentos. Cada campo contém um tipo de dado.
Registros: Um registro é o conjunto de campos valorizados de uma tabela. É a unidade básica para o armazenamento e
recuperaão de dados e que identifica a entrada de um único item de informação em particular numa tabela do banco de dados.
São chamados de tuplas ou n-uplas. Também podemos chamar os registros de linhas da tabela. Se uma tabela tem 20.000
linhas, tem 20.000 registros.
Índices: Quando procuramos um assunto num livro, usamos o índice para saber em que página ele se encontra. Nos bancos de
dados os índices possuem a mesma função: permite que o dado seja encontrado com grande rapidez. Também fornece uma
forma de acesso alternativo que não modifica a posição física no banco quando solicitamos, por exemplo, uma listagem em
ordem alfabética.
Relacionamentos: Relacionamento é uma associação entre as diversas entidades.
EX: Um-para-um, Um-para-muitos, Muitos-para-um, Muitos-para-muitos.
Transação: Transação é uma unidade atômica de trabalho que atua sobre um banco de dados. Uma transação pode ser
constituída por uma ou mais operações de acesso à base de dados. Todas as operações devem ser bem-sucedidas, caso
contrário os efeitos da transação devem ser revertidos. Uma transação bem-sucedida termina quando um comando COMMIT é
executado. O comando COMMIT finaliza e efetiva todas as alterações feitas na base de dados durante a transação.
Tipos de BD:
Sequencial – As informações são armazenadas em registros organizados sequencialmente, um após o outro.
Hierárquico – Os registros são classificados como país e filhos. Um registro pai é associado a vários filhos que podem ou não ter
seus próprios filhos.
Rede – As informações são relacionadas entre si por apontadores. Estes apontadores formam pares de entidades e, de par em
par, conseguem expressar os relacionamentos.
Orientado a objetos – A unidade fundamental de recuperação e armazenamento de informações passa a ser o objeto. O objeto
é uma estrutura de dados que contêm informações sobre o relacionamento deste objeto com outros.
Relacional – Os diversos arquivos (ou tabelas) são ligados entre si de forma apenas lógica. Cada arquivo contém diversos “
campos “ (ou colunas) e, para se relacionar com outro arquivo, basta que este novo arquivo tenha um destes campos em
comum.
Normalização de dados: conceitos, primeira, segunda e terceira formas normais
Normalização: É o processo formal passo a passo que examina os atributos de uma entidade, com o objetivo de evitar
anomalias observadas na inclusão, exclusão e alteração de tuplas exclusivas.
1ª Forma Normal (1FN): Uma relação está na 1FN se somente todos os dominios básicos contiverem somente valores atômicos
(não contiver grupos repetitivos).
2ª Forma Normal (2FN): Uma relação R está na 2FN se e somente se ela estiver na primeira e todos os atributos não chave
forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela).
3ª Forma Normal (3FN): Uma relação R está na 3FN se somente estiver na 2FN e todos os atributos não chave forem
dependentes não transitivos da chave primária (cada atributo for funcionalmente dependente apenas dos atributos
componentes da chave primária ou se todos os seus atributos não chave forem independentes entre si).
DDL
DDL - Data Description Language (Linguagem de Descrição de Dados)
Criar Tabela:
CREATE TABLE Teste(
Id INTEGER NOT NULL,
Data DATE,
Nome VARCHAR (50),
CONSTRAINT pkey PRIMARY KEY (id)
)
Deletar Tabela: DROP TABLE Teste;
Alterar Tabela:
ALTER TABLE Teste ADD COLUMN Idade INTEGER AFTER (BEFORE) Nome;
ALTER TABLE Teste RENAME Teste1;
ALTER TABLE Teste CHANGE COLUMN Id Id1 VARCHAR(10);
ALTER TABLE Teste MODIFY COLUMN Id VARCHAR(100);
ALTER TABLE Teste DROP COLUMN Idade;
ALTER TABLE Teste MODIFY Nome VARCHAR (200);
DML
DML - Data Manipulation Language (Linguagem de Manipulação de Dados)
É a parte mais ampla da SQL. Permite pesquisar, alterar, incluir e deletar dados da base de dados. São quatro as sentenças mais
importantes da DML:
- INSERT: permite a inclusão de dados.
- SELECT: permite a pesquisa de dados;
- DELETE: permite a deleção de dados;
- UPDATE: permite a atualização de dados;
Inserir Valores:
INSERT INTO Teste (Id, Data, Nome) VALUES (1,’10/09/1981’,’Daniela’);
Mostrar Tabela:
SELECT * FROM Teste;
SELECT * FROM Teste WHERE Id=1;
SELECT Id FROM Teste WHERE Id=1;
SELECT * FROM Teste WHERE Id=1 AND Nome=’Daniela’;
SELECT * FROM Teste WHERE Id=2 OR Nome=’Daniela’;
SELECT * FROM Teste WHERE (NOT) Nome LIKE ‘%Da%’; Compara a existência de uma caracter em uma determinada posição
em uma string.
SELECT * FROM Teste WHERE (NOT) Id BETEWEN 1 AND 30; Faz uma pesquisa entre uma faixa de valores para um campo da
tabela.
SELECT * FROM Teste WHERE (NOT) Id NOT BETEWEN 1 AND 30; Faz uma pesquisa descartando uma faixa de valores.
SELECT * FROM Teste WHERE Id IN (1,3,5,10); Consulta a presença de um campo em um conjunto de valores
SELECT * FROM Teste WHERE Id NOT IN (2,4); Consulta a não presença de um campo em um conjunto de valores
SELECT RIGHT(Nome,2) FROM Teste;
SELECT LEFT(Nome,2) FROM Teste;
SELECT SUBSTRING (sua_linha, posição inicio, tamanho) – fornece parte da sua linha de texto iniciando na posição inicio,
tamanho é o quanto do texto você quer selecionar.
UPER – Caixa Alta
LOWER – Caixa Baixa
REVERSE (sua_linha_texto) – Reverte a ordem de letras na sua linha
LTRIM (sua_linha_texto) – Mostra sem espaços a esquerda
RTRIM (sua_linha_texto) - Mostra sem espaços a direita
LENGTH (sua_linha_texto) – Retorna quantos caracteres existem na linha
SELECT primeiro_nome, SUM(Venda) FROM VendaB GROUP BY primeiro_nome ORDER BY SUM(Venda) DESC;
GROUP BY - Forma grupos com as tuplas da tabela especificada na cláusula from, que possuem o mesmo valor no atributo
especificado na cláusula grupo by; Para ter resultado em ordem, deve ser especificado também a clausula order by(após a
clausula grupo by).
HAVING - Having é para os grupos o que where é para as linhas. Em outras palavras, é utilizado para eliminar grupos, onde
where é utilizado para eliminar linhas.
Exemplo: Select curso_alu, avg(idade) from alunos group by curso_alu having avg(idade) > 18;
ORDER BY titulo ASC, data DESC;
SUM – Soma
AVG – Média
MAX / MIN
COUNT – Conta quantas linhas tem o registro
Deleta Linha:
DELETE FROM Teste WHERE Id=1;
Atualizar Tabela:
UPDATE Teste SET Id=1000 WHERE Id=1;
UPDATE Teste SET Estado = RIGTH(local,2);
UPDATE minha_tabela SET nova_coluna =
CASE
WHEN coluna1=valor1 THEM novo_valor1
WHEN coluna2=valor2 THEM novo_valor2
ELSE novo_valor3
END;
Controle de proteção, integridade e concorrência
Controle de Concorrência:
Controle de concorrência visa a garantir que, em toda execução simultânea de um grupo de transações, cada uma seja
executada como se fosse a única do sistema. Isto significa que, em uma execução concorrente, transações não devem gerar
interferências que levem a anomalias de sincronização. As anomalias mais comumente encontradas são perda de atualizações,
perda de consistência do banco e acesso a dados inc onsistentes.
Mais precisamente, uma técnica de controle de conco rrência deve garantir que toda execução concorrente de um conjunto de
transações seja serializável, ou seja, equivalente a alguma execução das transações em que cada transação é com pletamente
processada antes da próxima começar (i.e., a execução é serial).
Há três classes básicas de técnicas de controle de concorrência: técnicas de bloqueio, pré-ordenação ou mistas. As técnicas de
bloqueio exigem que um dado seja bloqueado pela transação antes de ser lido ou modificado (embora isto não seja suficiente,
conforme veremos). Estas técnicas em geral criam problemas de bloqueio mútuo ("deadlock") que são especialmente difíceis
de resolver em um ambiente distribuído.
Nas técnicas de pré-ordenação, a ordem das transações é escolhida "a priori" e as transações são executadas
concorrentemente como se fossem processadas serialmente na ordem escolhida. Em geral estas técnicas evitam problemas de
bloqueio mútuo, mas criam problemas de reinício cíclico de transações e postergação indefinida de transações ("cyclicrestart" e
"indefinite postponement").
As técnicas mistas, como o nome indica, tentam combinar as vantagens de bloqueio e pré-ordenação.
Controle de Integridade:
Controle de integridade endereça os seguintes problemas:
• implementar o cancelamento, recuperação e término de transações;
• trazer o banco de dados, em caso de falhas, a um estado consistente que reflita apenas o efeito de todas as transações já
concluídas;
• recuperar regiões danificadas do banco de dados.
As funções de controle de integridade estão implementadas tanto como parte do SGBD global, quanto como parte dos SGBDs
locais. Por exemplo, a recuperação de regiões do banco danificadas por falhas nos periféricos é uma função do SGBD local. Já as
funções relacionadas a transações e a manter a consistência do banco é uma função do SGBD global, pois envolve o banco de
dados distribuído como um todo.
Os tipos de falhas podem ser classificados em: falhas (de "hardware" ou "software") no processador local, falhas nos periféricos
que armazenam o banco e falhas na rede de comunicação de dados.
Não inclui a manutenção automática dos critérios de consistência lógica do banco que porventura tenham sido definidos para o
banco (critérios tais como "todo salário deve ser maior do que o mínimo").
Noções de Data Mining
Data Mining: é o processo de explorar grandes quantidades de dados à procura de padrões consistentes, como regras de
associação ou sequências temporais, para detectar relacionamentos sistemáticos entre variáveis, detectando assim novos
subconjuntos de dados.
Pode-se então diferenciar o business inteligence (BI) da mineração de dados (MD) como dois patamares distintos de atuação. O
Segundo visa obter a partir dos dados operativos brutos, informação útil para subsidiar a tomada de decisão nos escalões
médios e altos da empresa. O primeiro busca subsidiar a empresa com conhecimento novo e útil acerca do seu meio ambiente.
O Segundo funciona no plano tático, o primeiro no estratégico.
Data Mining (Mineração de dados) é o termo usado para definir uma série de procedimentos, técnicas e ferramentas para
recuperar e analisar dados de um DataWarehouse ou Data Mart;
Business inteligence (BI)
Inteligência empresarial (em inglês Business Intelligence) refere-se ao processo de coleta, organização, análise,
compartilhamento e monitoramento de informações que oferecem suporte a gestão de negócios.
Business Intelligence (BI) pode ser traduzido como inteligência de negócios, ou inteligência empresarial. Isto significa que é um
método que visa ajudar as empresas a tomar as decisões inteligentes, mediante dados e informações recolhidas pelos diversos
sistemas de informação. Sendo assim, BI é uma tecnologia que permite às empresas transformar dados guardados nos seus
sistemas em Informação qualitativa e importante para a tomada de decisão. Há uma forte tendência de que os produtos que
compõem o sistema de BI de uma empresa passem, isoladamente, a prover funções extras que auxiliem na tomada de
decisões.
Download