BD

4

Click here to load reader

description

Resumo Modelo Conceitual,Lógico e Fisico

Transcript of BD

Page 1: BD

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.

Banco de Dados

Modelo de Entidade-Relacionamento (MER)

Conceitos: Esquema, Tabelas, Campos, Registros, Índices, Relacionamentos, Transação, Tipos de BDEsquema: 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.

Modelo Conceitual, Lógico e FísicoSobre 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.

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.

Page 2: BD

DDLDDL - Data Description Language (Linguagem de Descrição de Dados)

DML

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 - 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;

Criar Tabela:CREATE TABLE Teste( Id INTEGER NOT NULL, Data DATE, Nome VARCHAR (50), CONSTRAINT pkey PRIMARY KEY (id))

Inserir Valores:INSERT INTO Teste (Id, Data, Nome) VALUES (1,’10/09/1981’,’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.

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’;

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).

Normalização de dados: conceitos, primeira, segunda e terceira formas normaisNormalizaçã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.

Page 3: BD

Controle de proteção, integridade e concorrência

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_valor2ELSE novo_valor3END;

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.

UPER – Caixa AltaLOWER – Caixa BaixaREVERSE (sua_linha_texto) – Reverte a ordem de letras na sua linhaLTRIM (sua_linha_texto) – Mostra sem espaços a esquerdaRTRIM (sua_linha_texto) - Mostra sem espaços a direitaLENGTH (sua_linha_texto) – Retorna quantos caracteres existem na linhaSELECT 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 – SomaAVG – MédiaMAX / MINCOUNT – Conta quantas linhas tem o registro

Deleta Linha:DELETE FROM Teste WHERE Id=1;

Page 4: BD

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.

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.

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.

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;

Noções de Data Mining

Business inteligence (BI)

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").