terça-feira, 1 de setembro de 2015

Conceitos

I - BD
  • Coleção de dados PERSISTENTES
  • Múltiplos usuários - concorrência - autorização de acesso - múltiplas ferramentas
  • Independência de dados (física e lógica)
  • Relacionamento entre os dados

II - TRANSAÇÃO - Begin - End - Transaction

  • ACID
    • Atomicidade
    • Consistência
    • Isolamento
    • Durabilidade
III - FK(FOREIGN KEY) - CHAVE ESTRANGEIRA
  • Por exemplo, relacionar o aluno com o seu curso. Semântica: incluir atributo CodCurso na estrutura Aluno.
IV - RESTRIÇÃO DE INTEGRIDADE
  • Consistência para garantir a integridade.
  • Tipos:
    • REFERENCIAL: Consistência PK x FK, momentos onde a restrição de integridade referencial (RIR) é acionada; 
      • inclusão de FK - verificada existência de PK correspondente
      • exclusão de FK - sem efeito
      • alteração de FK - exclusão + reinclusão
      • exclusão de PK - verificar existência de FKs correspondentes (se encontrar? Avisa, Exclusão em cascata)
      • inclusão de PK - sem efeito
      • alteração de PK - exclusão
    • CHAVE - consistência de PK
      • nulidade/vazio
    • DOMÍNIO - 
      • valores válidos, tipos de dados
V - RECONSTRUÇÃO DO BANCO
  • Backup periódico
    • requisitos:
      • cópia (backup)
      • arquivos de log/archive;
      • em disco diferente do BD das transações 

VI - LOG

  • Imagem das inclusões



terça-feira, 4 de agosto de 2015

Refazendo a disciplina - 1ª AULA com professor Hubert

Reprovei nesta disciplina no semestre 2015/1 (1ª vez em minha vida!), quando fiz com a profª Tanisi Carvalho, então agora estou refazendo com o professor Hubert na turma da noite, já tô adorando!

Olha o desenho que ele fez para a gente entender a origem dos bancos de dados no quadro, ele fez a mão e eu como não tenho essa habilidade, tive que usar o Paint do Windows!



TIPOS DE ORGANIZAÇÃO DE ARQUIVOS


Arranjo dos registros dentro de um arquivo, tipos:

  • serial
  • sequencial
  • indexado-sequencial
  • acesso direto
  • acesso direto calculado

segunda-feira, 1 de junho de 2015

DML - Insert

Inserindo dados nas tabelas


INSERT into NOMEDATABELA
      (COLUNA ou COLUNAS) values (valores de acordo com o tipo de dado);

Exemplo:
Exemplo retirado do material da professora Tanisi Pereira de Carvalho, disciplina de Banco de Dados I (2015/1)- IFRS - Câmpus Porto Alegre - Curso Superior de Tecnologia em Sistemas para Internet


Material retirado de apresentação Oracle Conceitos Básicos de SQL e Oracle SQL* Plus disponível em <http://www.cin.ufpe.br/~gava/public/SQLPL/sql-turma10.ppt> acesso em 01/06/2015

segunda-feira, 25 de maio de 2015

Drop Table

Comando drop no SQL:

Pesquisando sobre o comando Drop encontrei essa página com explicação legível, ao clicar na imagem se é remetido para a página original.

http://www.oraclehome.com.br/2013/08/14/diferencas-entre-truncate-table-drop-table-ou-delete-from/

segunda-feira, 18 de maio de 2015

Alguns cuidados na criação de tabelas!

Quando a chave primária é composta não dá para colocar ao lado de cada campo na criação de tabelas, coloca-se ao final, senão dá erro no Oracle.


No Sequence pode haver Gaps - buracos - quando não se usa a clásula nocache (elimina buracos, mas não é o mais otimizável)!

inner join

Tem que usar o inner join quando tem consulta a mais de uma tabela. Consulta interna.

1ª coisa definir as tabelas envolvidas na consulta.
2ª verificar o que liga as tabelas. Se não tiver a ligação direta, encontrar uma terceira tabela para ligar.


Where in

Utiliza as linhas 1 e 2 da tabela departamento

* explicações retiradas do material da professora Tanisi Pereira de Carvalho, disciplina de Banco de Dados I (2015/1)- IFRS - Câmpus Porto Alegre - Curso Superior de Tecnologia em Sistemas para Internet

CASCADE Constraints

Drop table Depto;
CASCADE CONSTRAINTS; // elimina a tabela e a regra do dicionário de dados, mantendo os dados intactos da tabela funcionários.

segunda-feira, 11 de maio de 2015

Comandos para criar, eliminar, visualizar e alterar a tabela e o Objeto Sequence

SQL PLUS - Comando DDL -

Create Table

CREATE TABLE nome_da_tabela
(nome_da_coluna tipo [NULL|NOT NULL],
     restrições de integridade);

Exemplificando:
CREATE TABLE aluno
(idAluno number(4) PRIMARY KEY,
       nomeAluno varchar(40);

DROP TABLE

Drop table aluno  CASCADE CONSTRAINTS; // 

A cláusula Cascade Constraints elimina a tabela e a regra do dicionário de dados, mantendo os dados intactos da tabela relacionada (no caso de relacionamento com outra tabela que inviabilizaria a exclusão em função de violação da integridade referencial)

Comando Desc ou Describe


ALTER TABLE  -Utilizado para fazer alterações no objeto tabela.

[ADD definição da coluna,]
[MODIFY definição da coluna,]
[DROP COLUMN nome,]
[RENAME COLUMN nome TO novo_nome,]
[ADD definição de constraint,]
[MODIFY CONSTRAINT definição de constraint, ]
[DROP CONSTRAINT nome,]
[RENAME CONSTRAINT antigo TO novo, ]
[ENABLE|DISABLE constraint, ]
[RENAME TO novo nome];

INSERT

INSERT INTO <tabela> [<colunas>] VALUES (valores);
INSERT INTO FUNCIONARIO
   (idFuncionario, nomeFuncionario, salario, idDepartamento) values (1, 'Pedro',2000,2);

Foreign Key (chave-estrangeira)

*********************************************************************

Objeto Sequence

Toda vez que eu quiser gerar um número sequencial deve-se utilizar o objeto Sequence do Oracle.

Sequence
 create sequence S_func
 Start with 100 nocache;
insert into Depto
values (S_depto.nextval, 'Vendas');
Cláusula NOCACHE (para não deixar o Oracle fazer Cache de memória  no nextval) isso não é otimizável.

* explicações retiradas do material da professora Tanisi Pereira de Carvalho, disciplina de Banco de Dados I (2015/1)- IFRS - Câmpus Porto Alegre - Curso Superior de Tecnologia em Sistemas para Internet

segunda-feira, 4 de maio de 2015

Linguagem SQL

SQL (Structured Query Language):


Pode ser dividida em cinco conjuntos:

  1. Recuperação de dados: comando SELECT.
  2. Linguagem de manipulação de dados - DML: comandos para inserções (INSERT), atualizações (UPDATE) e exclusões (DELETE)
  3. Linguagem de definição de dados - DDL: comandos de criação e manutenção de objetos no banco, CREATE, ALTER, DROP, RENAME, TRUNCATE.
  4. Linguagem para controle de transações: COMMIT, ROLLBACK, SAVEPOINT.
  5. Linguagem para controle de acesso a dados: GRANT e REVOKE.

É case sensitive.
Para finalizar um comando utiliza-se ponto e vírgula (;) ou barra (/) numa linha em branco.

SQL PLUS - Tipos de dados

CHAR(tamanho): sequência de caracteres de tamanho fixo.
VARCHAR2 (tamanho): sequencia de caracteres de tamanho variável.
NUMBER (total, decimais)
DATE

* explicações retiradas do material da professora Tanisi Pereira de Carvalho, disciplina de Banco de Dados I (2015/1)- IFRS - Câmpus Porto Alegre - Curso Superior de Tecnologia em Sistemas para Internet

domingo, 3 de maio de 2015

SGBD

Conjunto de programas responsáveis pelo gerenciamento de um banco de dados. 

Conforme Silberschatz (1999)* (Um SGBD) "É constituído por um conjunto de dados associados a conjunto de programas para acesso a esses dados. Sistemas de BD são projetados para gerir grandes volumes de informações. O gerenciamento de informações implica a definição das estruturas de armazenamento das informações e a definição dos mecanismos para a manipulação das informações."

Sem m SGBD não havia compartilhamento de dados entre as aplicações. Ocasionando problemas como:
  • Redundância de dados.
  • Difícil manutenção (necessidade de fazer essa manutenção em mais de um lugar/dados inconsistentes).

Características de um SGBD:
  • Integração: diversas aplicações acessando uma base de dados.
  • Redução da redundância e da inconsistência.
  • Definição das regras de restrição de integridade.
  • Compartilhamento.
  • Alta disponibilidade.
  • Segurança.
  • Adoção de um modelo de dados.

Necessidades de um SGBD:
  • Melhor organização e gerência dos dados.
  • Controle centralizado.
  • Dados armazenados de forma independente dos programas, servindo a múltiplas aplicações

Arquitetura de um SGBD:
  • Sistema de recuperação de falhas: consistência do BD depois de falta de energia.
  • Sistema de controle de concorrência. Ex.: duas pessoas sacando na mesma conta
  • Utilitários
  • Sistema de gerência de registros
  • Sistema de resolução/otimização de consulta
  • Sistema de indexação
  • Sistema de gerenciamento de arquivos
  • Sistema de gerenciamento de disco


Referência: SILBERSCHATZ, Abraham. Sistema de Banco de Dados. São Paulo: Makron Books, 1999.


.

Banco de Dados

Coleção de dados inter-relacionados acessados e compartilhados por vários usuários.