Banco de Dados O que é Banco de Dados? Definições - Banco de Dados Sistema computadorizado, cujo objetivo é armazenar informações estruturadamente e permitir ao usuário localizar e manipular essas informações quando solicitado; Conceitos Básicos - BD Um CAMPO é a menor divisão de uma tabela permite armazenar um tipo específico de informação Ex.: Jose, 3341-1555, [email protected] Nome Fone E-mail Conceitos Básicos - BD Registro: – coleção de itens de dados – ex.: um registro de Cliente – um registro é dividido em vários campos: • - um campo pode ser um nome, um numero ou uma combinação de caracteres; Nome Fone E-mail Zé 3346-5555 [email protected] Conceitos Básicos - BD Arquivo/Tabela/Entidade: Estrutura bidimensional formada por linhas e colunas para armazenar dados. L2 C2 = 9926-6633 L5 C3 = [email protected] Nome Fone E-mail Zé 3346-5555 [email protected] Ana 9926-6633 [email protected] Paulo 3346-5555 [email protected] Chico Rita 3399-5522 [email protected] 1234-5678 [email protected] Conceitos Básicos - BD Banco de Dados Formado por várias tabelas Dependentes Idade Sexo Zé 3346- 5555 - Salário [email protected] Matricula Função Data Zé Nasc CPF [email protected] Ana End 334699266633 [email protected] 5555 Nome Fone3346- 5555 E-mail Zé AnaPaulo [email protected] [email protected] [email protected] 99266633 Zé Ana 3346-5555 [email protected] 99266633 [email protected] Chico [email protected] [email protected] Paulo 3346- 5555 Ana Paulo Rita 9926-66335555 [email protected] 12345678 [email protected] [email protected] Chico 3346-33995522 [email protected] PauloChicoRita3346-5555 [email protected] 5678 [email protected] 3399-12345522 [email protected] Chico 3399-5522 [email protected] Rita 1234- 5678 [email protected] Rita 1234-5678 [email protected] Conceitos Básicos - BD Um Banco de Dados representará sempre aspectos do Mundo Real. A forma mais comum de interação Usuário e Banco de Dados, é através de sistemas específicos que acessam as informações através da linguagem SQL. Conceitos Básicos - BD Os Administradores de Banco de Dados (DBA) são responsáveis pelo controle ao acesso aos dados e pela coordenação da utilização do BD. Os Analistas e Programadores de desenvolvimento, criam sistemas que acessam os dados da forma necessária ao Usuário Final, que é aquele que interage diretamente com o Banco de Dados. Conceitos Básicos - BD Tipos de Bancos de Dados: Não Relacional – ou banco de dados de arquivos, todos os dados armazenados em uma só tabela gravada em um arquivo único Banco de Dados Conceitos Básicos - BD Tipos de Bancos de Dados: Relacional – Estruturado com várias tabelas cujos campos exercem uma relação com campos de outras tabelas – Atualmente é o mais utilizado Banco de Dados Conceitos Básicos - BD Tipos de Bancos de Dados: Distribuído – Usa uma rede de computadores para armazenar arquivos relacionando-os para manter sincronismo entre os dados. Banco de Dados Sistemas de Arquivos Credito/Debito Arquivo 1 Inclusão de Conta Arquivo 2 Saldo Arquivo 3 Sistemas de Arquivos Exemplo – programas escritos em respostas às necessidades • novos programas são adicionados na medida em que as necessidades aparecem • podem ser criados novos arquivos permanentes – como podem ser programadores diferentes • arquivos podem ser de formatos diferentes • linguagens de programação podem ser diferentes – isto é um sistema de processamento de arquivos Sistemas de Arquivos Desvantagens Redundância de dados e inconsistência – uma vez que os arquivos e programas são criados por diferentes programadores • mesma informação pode estar duplicada em diversos arquivos (ex. endereço do cliente) – maior custo de armazenamento – potencial inconsistência de dados Sistemas de Arquivos Desvantagens Dificuldade do acesso a dados – usualmente não há um programa específico – não permite retirar dados de maneira eficaz e conveniente Sistemas de Arquivos Desvantagens Isolamento dos dados – dados são espalhados em vários arquivos de diferentes formatos – é difícil escrever novos programas para retirada conveniente dos dados Múltiplos usuários – pode resultar em dados inconsistente – supervisão deve ser mantida no sistema Sistemas de Arquivos Desvantagens Problemas de segurança – nem todo usuário deve ser autorizado a acessar todos os dados • caixa deveria acessar dados dos correntistas • departamento pessoal deveria acessar os dados dos funcionários – como os programas são adicionados ao sistema de forma aleatória • é difícil garantir segurança Sistemas de Arquivos Desvantagens Problemas de integridade – valores armazenados devem satisfazer certos tipos de restrições de consistência • exemplo: saldo de uma conta nunca deve estar abaixo de um valor pré-especificado – restrições devem ser garantidas pelo sistema • pode ser conseguida colocando código apropriado nos diversos programas – mas quando novas restrições são inseridas • fica difícil alterar os programas para garanti-la – mais complicado se restrições envolvem diversos dados de diferentes arquivos Sistemas de Arquivos Desvantagens Conduziu ao desenvolvimento de sistemas gerenciadores de banco de dados Sistema Gerenciador de Banco de Dados Projetado para gerenciar grandes quantidades de informação Banco de Dados Aplicativos que permitem criar, alterar e excluir componentes da estrutura dos Bancos de Dados, bem como inserir, alterar e excluir os dados. Sistema Gerenciador de Banco de Dados Os mais utilizados são Banco de Dados – ACCESS (Microsoft) – usado em banco de dados pessoais. Menos robusto. – SQL Server, ORACLE – que são usados em projetos mais volumosos banco de dados corporativos - SGBDR(Relacionais). Sistema Gerenciador de Banco de Dados Aplicação 1 SGBD Aplicação 2 Aplicação 3 Banco de Dados Definições - SGBD É o software responsável pelo gerenciamento: criar, manter, armazenar, recuperar os dados no Banco de Dados. Faz a integração entre BD físico e os usuários Sistema Gerenciador de Banco de Dados Gerenciamento de banco de dados envolve: – definição de estruturas para o armazenamento da informação – provisão de mecanismos para a manipulação da informação – Segurança das informações armazenadas – Garantia da integridade e Controle de concorrência Exemplos de operações que podem ser realizadas pelos usuários do sistema de banco de dados Acrescentar novos arquivos, vazios; Inserir novos dados em arquivos existentes; Buscar dados de arquivos existentes; Alterar dados em arquivos existentes; Eliminar dados de arquivos existentes; Remover arquivos existentes no banco de dados. Sistema Gerenciador de Banco de Dados Bancos de Dados Relacionais Bancos com várias tabelas relacionadas entre si. Ex.: Locadora de Vídeo – tabela de Clientes, Fornecedores, Locação, Fitas/DVDs Clinica Veterinária – tabela de Clientes, Animais, Consultas, Medicamentos, Financeiro. Em cada tabela será definido um campo para ser indexador da tabela, a CHAVE PRIMÁRIA ( a informação deste campo não pode ser repetida nem nula, pode haver mais de um campo com chave primária na tabela. Sistema Gerenciador de Banco de Dados Relacionamentos: são as ligações entre campos, de tabelas diferentes, em um BD Relacional. São usados para evitar redundância, e para haver integridade. Exemplo de Banco de Dados Veterinário 1 1 N N 1 1 N N •Na tabela TabAnimal não tem o nome do dono, mas no campo Dono tem um número (o código do cliente). •Este código permite que vc tenha acesso a todas as informações do cliente sem ter que armazenar tudo novamente. Sistema Gerenciador de Banco de Dados Relacionamentos: 1 N Um para muitos (1-N) é a relação entre a chave primaria da tabela e um campo comum em outra. Um registro na Tabela TabCliente pode ter muitos registro coincidentes na TabAnimal. Um registro na TabAnimal só tem um registro coincidente na TabCliente Sistema Gerenciador de Banco de Dados Relacionamentos: Nome CPF RG End Fone 1 TabC TabCPF CPF 1 Um para Um (1-1) Cada registro na Tabela A só pode ter um registro coincidente na Tabela B. Um registro na TabCliente só tem um registro coincidente na TabCPF. Sistema Gerenciador de Banco de Dados Relacionamentos: N N •Para este relacionamento é necessária a criação de uma terceira tabela (tabela União). Muitos para Muitos (N-N) Um registro na Tabela TabAnimal pode ter muitos registro coincidentes na TabMedicamento. Um registro na Tabela TabMedicamento pode ter varios registros coincidentes na TabAnimal. Sistema Gerenciador de Banco de Dados CHAVE PRIMÁRIA Campo indexador da tabela (a informação deste campo não pode ser repetida nem nula, pode haver mais de um campo com chave primária na tabela). CHAVE Estrangeira Campo da tabela B com quem a Chave primaria se relaciona. Sistema Gerenciador de Banco de Dados Integridade Referencial: Conjunto de regras impostas pelo BD para que se mantenha a integridade entre os dados que serão inseridos ou apagados. Ex.: Cadastrar um animal comum código de Dono que não existe na tabela TabCliente. Quando um registro for apagado da Chave Primária, deverão ser apagados todos os registros da Chave Estrangeira coincidentes. Ex.: Se um cliente for excluído da tabela TabCliente, todos os animais pertencentes aquele cliente deverão ser excluídos também. Sistema Gerenciador de Banco de Dados Linguagem de Consulta SQL: Usamos a linguagem de consulta para selecionar e manipular dados específicos do Banco, aumentando sua utilidade e flexibilidade (funções do SGBD). Sistema Gerenciador de Banco de Dados Linguagem de Consulta SQL: Usamos a linguagem de consulta para selecionar e manipular dados específicos do Banco, aumentando sua utilidade e flexibilidade (funções do SGBD). É um conjunto de instruções que permitem ao usuário manipular os dados armazenados nas tabelas e a própria estrutura do banco. Sistema Gerenciador de Banco de Dados Linguagem de Consulta SQL: A linguagem de consulta mais usada atualmente em qualquer que seja o SGBD é o SQL. Existem 2 tipos de instruções no SQL: DDL – Linguagem de Definição de Dados. – Consulta, Inserção, Alteração e Exclusão na estrutura do Banco (criação de tabelas e campos) DML – Linguagem de Manipulação de Dados. – Criação, Alteração e Exclusão de Registros. Sistema Gerenciador de Banco de Dados DDL: CREATE Cria tabelas. CREATE TABLE TabAnimal (Nome text(20), Sexo text(5),Dono number(5)) DDL: ALTER Sistema Gerenciador de Banco de Dados Altera a estrutura de uma tabela criada a partir da instrução CREATE TABLE. Com esta instrução podemos criar, modificar e excluir. ALTER TABLE TabAnimal ADD COLUMN Especie text(20) ALTER TABLE TabAnimal ALTER COLUMN Sexo text(1) ALTER TABLE TabAnimal DROP COLUMN Sexo Sistema Gerenciador de Banco de Dados DML: DROP EXCLUIR uma tabela do Banco de Dados DROP TabAnimal Sistema Gerenciador de Banco de Dados DML: Select Seleciona registro e campos específicos de uma tabela SELECT * FROM TabAnimal WHERE Sexo = “macho”. O sinal * indica que todos os campos do registro serão mostrados. SELECT Nome FROM TabAnimal WHERE Idade > 5. Sistema Gerenciador de Banco de Dados DML: Select SELECT * FROM TabAnimal WHERE Sexo = “macho” ORDER BY Nome. FROM- indica de que tabela(s) os campos serão selecionados. WHERE- critério de seleção (filtro) ORDER BY- ordenação para resultado da consulta. Ex.: ORDER BY DESC Nome Sistema Gerenciador de Banco de Dados DML: Select SELECT Nome, DataNasc, Especie FROM TabAnimal WHERE Sexo = “macho” AND Idade < 2 ORDER BY Nome. Sistema Gerenciador de Banco de Dados DML: Insert Into Permite inserir dados nas tabelas do BD INSERT INTO TabAnimal (Nome, Idade, Dono, Sexo) VALUES (“Rex”, 1, 0123, “macho”. O comando INSERT INTO insere um novo registro no final da Tabela. Sistema Gerenciador de Banco de Dados DML: UPDATE Permite alterar os valores em um ou vários registros da tabela. UPDATE TabAnimal SET Espécie = “felino” WHERE Dono = 0123. Sistema Gerenciador de Banco de Dados DML: DELETE Permite excluir um ou vários registros da tabela. DELETE * FROM TabAnimal WHERE Espécie = “felino”. Esta opção exclui o registro inteiro da Tabela. Exemplo de busca: Select NOME, RAÇA, IDADE From TabAnimal Where Dono = 00150; Resultado: Nome Raça Rex Apolo Kaos Pit Bull Poodle Labrador Idade 2 1 5