Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Conceitos Básicos de Banco de Dados Prof. Rogério Vassoler Conceitos Básicos O que é Dado? Qualquer símbolo ou conjunto de símbolos. O que é Informação? “Informações são dados que foram organizados e comunicados” (Castells) Dados úteis, contextualizados. Introdução Dados registrados necessitam ser recuperados no futuro; Buscar informações de forma rápida; Para que os dados passem pelo processo de transformação em informações úteis é preciso alguma forma de processamento; A computação agilizou o processo de registro, transformação e busca das informações. Nome: Ana Endereço : Av. Sete Função: Medica Surgimento dos Bancos de Dados Banco de dados surge com uma iniciativa de organização dos dados presentes nos arquivos; Bancos de dados compartilham grande volume de informações; Os programas passam a ter acesso aos dados de maneira uniforme. Histórico Fim da década 60 Primeiros produtos de banco de dados hierárquicos 1969-1970 Criação do modelo relacional Década 70 Criação do modelo SQL (Structured Query Language, ou Linguagem de Consulta Estruturada) Produtos de BD no modelo de rede Pesquisas e desenvolvimento de produtos relacionais 1980-1983 Primeiros produtos relacionais 1986-1987 SQL definido como padrão ANSI (American National Standards Institute em 1986 e ISO (International Organization for Standardization) em 1987. O que é Banco de Dados “Banco de dados é uma coleção de dados relacionados” (Elmasri &Navathe) “Um banco de dados é projetado, construído e povoado com dados que possuem um objetivo específico. Ele possui um grupo provável de usuários e aplicações preconcebidas, nas quais estes usuários estão interessados” (Elmasri &Navathe) “Um banco de dados é uma coleção de dados persistentes utilizados pelos sistemas de aplicações de uma determinada 'empresa' ” (Date) O que é Banco de Dados Mecanismo de armazenamento de dados; Conjunto de informações com estrutura regular; Banco de dados não relacionais Arquivos estruturados Banco de dados relacionais Dados organizados em tabelas; Tabelas podem se relacionar com outras tabelas; Menor espaço de armazenamento; Maior velocidade de acesso aos dados; Padrão mundialmente utilizado. Bancos de Dados Relacionais • Bancos de dados Ferramentas que permitem o armazenamento e manipulação de dados organizados em forma de tabelas; • Tabelas Forma de organização de dados formada por linhas e colunas; • Colunas Campos que formam um registro; • Linhas Registros ou tuplas. Banco de Dados TabelaPRODUTOS PRODUTO PREÇO TV 1000 DVD Player 290 BlurayPlayer 490 Tabela CLIENTES NOME IDADE ESTADO Maria 25 BA Eduarda 30 SP João 35 MG Tabelas 10 1997 James Cameron Titanic 75 2 1996 Jerry Maguire 61 4 1986 Platoon 57 6 1994 Robert Zemeckis Forrest Gump 50 0 1999 John McTiernan Thomas Crown 20 1 1999 Andy Washowski Matrix 17 5 1999 Sam Mendes Beleza Americana 12 0 1999 John Woo Missão Impossível 2 11 7 1996 Anthony Minghella O Paciente Inglês 2 Oscar Ano Diretor Filme Codigo Colunas Linhas FILMES Bancos de Dados Relacionais • Visões Consultas SQL a dados das tabelas do banco sem armazená-los; • Índices Estruturas que gerenciam a ordenação de valores dos campos informados para melhorar a performance de processamento destes campos. SGBD (Conceito) Sistema de Gerenciamento de Banco de dados (SGBD) é uma coleção de dados relacionados e um conjunto de programas para acessá-los permitindo ao usuário criar e manter o banco de dados. SGBDs • SGBD Sistema Gerenciador de Banco de Dados; DBMS: Database Management System; SGBD não é um banco de dados, mas sim um complemento; SGBD é um grupo de programas para interação com os dados. Sistema de Banco de Dados Banco de Dados SGBD Sistema Sistema Usuário Funções do SGBD Definição de Dados Manipulação de Dados Segurança e Integridade Utilitários para Inclusão, Recuperação e Reorganização Controle de Concorrência Catálogo/Otimizador Desempenho Usuários Administradores de Dados Administrador de Banco de Dados Usuários Finais Analistas de Sistemas e Programadores Usuários Administradores de Dados (DA ou AD) Exige conhecimentos específicos do ramo de negócio; Interagem com os usuários para desenvolver o modelo de dados. Administrador de Banco de Dados (DBA) Exige conhecimentos técnicos específicos do SGBD; O DBA geralmente é um profissional de ciência da computação. Atribuições do DA e DBA Projetar a estrutura do BD, ou seja, o conjunto de objetos do BD (nomes de tabelas, nomes dos campos, tamanhos dos campos, valores válidos, relacionamentos entre as tabelas, etc.); Estabelecer que usuários podem acessar quais informações; Criar e manter os objetos do BD; Fazer cargas de dados; Gerenciar inclusão/recuperação de dados; Monitorar o desempenho do SGBD. Introdução ao SQL SQL (Structured Query Language) Linguagem Estruturada de Consulta Formada pelo conjunto das linguagens: DDL (Data Definition Language): Linguagem de Definição de Dados DML (Data Manipulation Language): Linguagem de Manipulação de Dados DQL (Data Query Language): Linguagem de Consulta de Dados DCL (Data Control Language): Linguagem de Controle de Dados DTL (Data Transaction Language): Linguagem de Transação de Dados DDL (Data Definition Language) Linguagem de Definição de Dados CREATE: Cria uma estrutura ALTER: Altera uma estrutura DROP: Exclui uma estrutura DML (Data Manipulation Language) Linguagem de Manipulação de Dados INSERT: Insere dados UPDATE: Altera dados DELETE: Exclui dados DQL (Data Query Language) Linguagem de Consulta de Dados SELECT: Retorna dados Ordenação de dados Agrupamento de dados Funções aritméticas Filtros de seleção DCL (Data Control Language) Linguagem de Controle de Dados GRANT: Habilita acesso a dados e operações REVOKE: Revoga acesso a dados e operações DTL (Data Transaction Language) Linguagem de Transação de Dados START TRANSACTION: Inicia a transação COMMIT: Concretiza a transação ROLLBACK: Anula a transação Vantagens na utilização de BD Persistência das estruturas dos dados e procedimentos; Controle de redundâncias/consistência; Compartilhamento; Restrição de segurança; Suporte a transação; Utilização de regras de restrição de integridade; Independência de dados. Vantagens na utilização de BD Capacidade de recuperação e cópias; Múltiplas interfaces para usuários; Aderência a Padrões; Aumento de desempenho; Independência de dados. Conceitos Importantes Redundância Ocorre quando um mesmo dado é armazenado em mais de uma área do banco de dados. Consistência/Inconsistência A consistência indica a utilização de dados que não conflitam com outros. Conceitos Importantes Integridade / Falta de Integridade A integridade diz respeito ao nível de confiança das informações do banco de dados; Diz respeito a credibilidade das informações e à lógica das informações; Regras de restrição de integridade configuraram um banco de dados para ser alimentado por informações com características lógicas específicas, diminuindo a probabilidade de falta de integridade no banco de dados. Conceitos Importantes Restrição de Integridade A restrição de Integridade garante a alimentação do banco de dados com informações verdadeiras ou válidas. São regras que fazem com que os dados inseridos no banco tenham menor probabilidade de erro ou seja, o banco se alimenta de dados de maior veracidade ou utilidade para os usuários. Conceitos Importantes Restrição de Segurança A restrição de segurança diz respeito a permissão de acesso, por determinados usuários, a determinadas informações contidas no banco. Ela permite a atribuição de previlégios, que autorizam e disponibilizam ao usuário final, somente as informações que o mesmo necessita ou tem direito de acesso. Principais Bancos de dados MySQL PostgreSQL Firebird Oracle SQL Server DB2 Tipos de Dados Numérico Inteiro: INTEGER (4 bytes), SMALLINT (2 bytes), TINIT (1 byte) Real: FLOAT e DOUBLE PRECISION Formatado: DECIMAL(i,j) String de Caracteres Fixo: CHAR(n) Variável: VARCHAR(n) Tipos de Dados Data: DATE(AAAA-MM-DD) Hora: TIME(HH:MM:SS) Flag: BIT(n) BIT varying(n) Exemplos (Definição de Dados) CREATE TABLE Utilizado para especificar uma nova tabela, informando um nome, seus atributos e restrições de integridade. Cada atributo recebe um nome, tipo de dados e restrições. Exemplos (Definição de Dados) CREATE TABLE empregado (matricula INT, nomeemp VARCHAR(60), endereco VARCHAR(100), depart INT, salario DECIMAL(10,2)); Exemplos (Definição de Dados) Integridade de domínio (opções da definição dos atributos) NULL – permite valores nulos; NOT NULL – não permite nulos; DEFAULT – declara valor default para o atributo; CHECK – limita/restringe os valores; UNSIGNED – não permite números negativos; AUTO_INCREMENT – geração de códigos automáticos. Exemplos (Definição de Dados) CREATE TABLE empregado (cod INT UNSIGNED NOT NULL AUTO_INCREMENT, nomeemp VARCHAR(60) NOT NULL, endereco VARCHAR(100), cod depart INT NOT NULL, salario DECIMAL(10,2) NOT NULL CHECK(salario>648,00)); Exemplos (Definição de Dados) ALTER TABLE Adicionar ou retirar atributos Alterar definição de atributo Adicionar ou retirar restrições Exemplos (Definição de Dados) ALTER TABLE Adicionar ou retirar atributos ALTER TABLE tabela ADD atributo VARCHAR(15); ALTER TABLE tabela DROP atributo {RESTRICT/CASCADE}; CASCADE - remover o atributo e todas as restrições e visões que se referenciam a ele RESTRICT- remover apenas se nenhuma restrição ou visão se referir ao atributo Exemplos (Definição de Dados) ALTER TABLE Adicionar ou retirar atributos ALTER TABLE Empregado ADD atividade VARCHAR(15) NOT NULL; ALTER TABLE Empregado DROP atividade CASCADE; Questões Porque banco de dados é caracterizado como uma coleção de dados persistentes ? Quais as vantagens de usar um SGBD ? Dê um exemplo de restrição de integridade. Defina transação. Quais os usuários de um SGBD ? Questões Porque banco de dados é caracterizado como uma coleção de dados persistentes ? A persistência de dados, na computação, refere-se ao armazenamento não-volátil de dados, por exemplo, o armazenamento em um dispositivo físico como um disco rígido. Quando se grava uma informação em um banco de dados, por exemplo, o dado está sendo "eternizado", ou seja, deixa de ficar volátil na memória RAM e passa a ser escrito num dispositivo que armazena a informação de modo que ela não desapareça facilmente. Questões Quais as vantagens de usar um SGBD ? Melhorar a manipulação de dados; garantir a segurança e integridade de dados; sustentar a recuperação de dados; controlar a concorrência; melhorar desempenho. Questões Dê um exemplo de restrição de integridade. Restrições de integridade são usadas para garantir a exatidão e a consistência dos dados em um Banco de dados relacional. Exemplos: Integridade de Domínio: O domínio indica os possíveis valores de um atributo. A integridade de domínio verifica se os dados são do tipo permitido (alfanumérico, numérico, etc), tamanho do campo, se ele pode ser nulo ou não. Por exemplo, é possível definir que um atributo "idade" de um funcionário é sempre um valor inteiro positivo. Restrição de Chave: Impede que uma chave primária se repita. Um campo chave primária diferencia de forma única as tuplas (linhas) de uma relação (tabela). Restrição de Entidade: Impede que uma chave primária receba como valor NULL (nulo). Integridade de vazio: Verifica se um campo pode ou não receber valor NULL. Sub-item da integridade de domínio. Questões Defina transação. Em banco de dados, uma transação é uma sequência de operações num SGBD que são tratadas como um bloco único e indivisível durante uma recuperação de falhas e também prover isolamento entre acessos concorrentes na mesma massa de dados. Questões Quais os usuários de um SGBD ? Administradores de Dados Administrador de Banco de Dados Usuários Finais Analistas de Sistemas e Programadores Questões Definir as seguintes tabelas: Empregado(cod, nome, rua, bairro, telefone, datanasc, dataadm, funcao, coddepart, salario, comissao) Obrigado e até a próxima aula
Compartilhar