Aula 06 Sistemas Embarcados LT38C Prof. Lucas Ricken Garcia 2017/1
Introdução a Banco de Dados Coleção de dados relacionados. Fatos conhecidos que podem ser registrados e possuem significado implícito. Construído para uma finalidade específica. 2
Histórico O primeiro banco de dados teve início nas décadas de 60 e 70 na IBM, com pesquisas em automação de tarefas de escritório. Em 1970 um pesquisador da IBM - Ted Codd publicou o primeiro artigo sobre bancos de dados relacionais. Este artigo tratava sobre uma forma de consultar os dados (em tabelas) por meio de comandos. Inicialmente, por ser muito complexo, não foi aceito nem implantado. A IBM criou um grupo de pesquisa chamado System R, com o objetivo de desenvolver um sistema de BD para ser comercializado que introduziu uma linguagem chamada Structured Query Language (SQL). 3
Sistema de Arquivos vs Banco de Dados Sistemas de Arquivos (armazenados em pastas, no disco): Funcionalidades oferecidas Registros de tamanho fixo com campos de tipos diferentes Possibilidade de memória virtual e persistência Bloqueio de arquivo e registro para concorrência Mesmo objeto da realidade é representado várias vezes na base de dados; Redundância não controlada de dados; Dificuldade de controlar falhas e acesso. 4
Sistema de Arquivos vs Banco de Dados Banco de Dados Rapidez no acesso às informações presentes no BD; Redução de problemas de integridade e redundância; Diminuição do esforço humano no desenvolvimento; Utilização dos dados e controle integrado de informações distribuídas fisicamente. Constrói em atendimento a uma proposta específica. Facilidade de Relacionar informações. 5
Sistema de Arquivos vs Banco de Dados SGBD: Sistema Gerenciador de Banco de Dados é um conjunto de programas e ferramentas utilizadas para configurar, atualizar e manter um banco de dados. Interface Processamento de Consultas Processamento de Transações Acesso a Arquivos Base de Dados 6
MySQL 1994 na Suécia Sun (2008) Oracle (2009). Utiliza a linguagem SQL (Linguagem de Consulta Estruturada) comum a maioria dos bancos de dados relacionais. É um Software Livre com base na GPL (entretanto, se o programa que acessar o Mysql não for GPL, uma licença comercial deverá ser adquirida). 7
Criar banco de dados O sistema do MySQL pode suportar vários bancos de dados diferentes. Pode-se fazer um BD para cada aplicação. Comandos baseados em Querys (consultas). CREATE DATABASE. Sintaxe CREATE DATABASE nome_do_banco_de_dados; Sintaxe alternativa 8 CREATE SCHEMA nome_do_banco_de_dados;
Nomenclatura Pode inserir no comando letras maiúsculas, mas o sistema interpreta e cria o banco com letras minúsculas. Válido nome_banco 3nome_banco banco_pái NomeBanco Inválido nome banco nome-banco nome%banco Boa Prática: CREATE DATABASE nome_do_banco_de_dados; 9
Tipos de dados SQL Números Inteiros N = comprimento máximo de exibição Tipo Faixa Descrição TINYINT(N) -128...127 ou 0...255 Inteiro muito pequeno 1 byte BIT Sinônimo de TINYINT BOOL Sinônimo de TINYINT SMALLINT(N) -32768... 32767 ou 0... 65535 Inteiro pequeno 2 bytes MEDIUMINT(N) -8388608...8388607 ou 0...16777215 Inteiro de tamanho médio 3 bytes INT(N) -2147483648... 2147483647 ou 0... 4294967295 INTEGER(N) BIGINT(N) -9223372036854775808... 10 9223372036854775807 ou 0... 18446744073709551615 Inteiro regular 4 bytes Sinônimo de INT Inteiro grande 8 bytes
Tipos de dados SQL Números Flutuantes Tipo Faixa Descrição FLOAT Utilizado para números de ponto flutuante duplo ou simples 11
Tipos de dados SQL Strings Tipo Faixa Descrição VARCHAR(N) 1 a 255 caracteres TEXT 0 a 65.535 caracteres Campo TEXT de tamanho normal 12
SQL Constraints (Restrições) Not null Unique Primary key Auto-increment 13
Databases Para mostrar os bancos criados: SHOW DATABASES; Para selecionar o banco de dados que irá utilizar. USE nome_do_banco_de_dados; 14
Criar tabela Não é possível criar mais de uma tabela com mesmo nome em um banco de dados. CREATE TABLE. Sintaxe CREATE TABLE nome_tabela ( <nome_da_coluna1> <tipo_da_coluna1> [<atributos_da_coluna1>],... <nome_da_coluna> <tipo_da_coluna> [<atributos_da_coluna>] ); 15
Inserir dados Após criar uma tabela no banco de dados, é possível inserir um ou vários dados. Para inserir um registro na tabela são utilizadas as palavras-chave INSERT INTO e VALUES. As strings devem ser incluídas em pares de aspas simples ou dupla. Números Inteiros ou Flutuantes não necessitam de aspas. Sintaxe Sintaxe alternativa INSERT INTO <nome_tabela> ( <campo1>,..., <campon>) VALUES ( <valorcampo1>,..., < valorcampon> ); 16 INSERT INTO <nome_tabela> VALUES ( <valorcampo1>,..., < valorcampon> );
Recuperar dados SELECT e FROM. Sintaxe SELECT * FROM nome_tabela Sintaxe alternativa SELECT <coluna1>,..., <colunan> FROM nome_tabela 17
Recuperar dados específicos Para condicionar a seleção dos dados: WHERE, OR e AND. Sintaxe Sintaxe utilizando AND SELECT * FROM nome_tabela WHERE <condição> SELECT * FROM nome_tabela WHERE <condição> AND <condição> Sintaxe utilizando OR SELECT * FROM nome_tabela WHERE <condição> OR <condição>
Operadores de comparação para where Nome Operador Igualdade = Maior que > Menor que < Maior ou igual >= Menor ou igual <= Desigualdade!= ou <> 19
Alterar dados UPDATE e SET. Sintaxe UPDATE <Nome da Tabela> SET <Coluna 1> = Valor Coluna 1, <Coluna 1> = Valor Coluna 1 WHERE <Condição>; Sintaxe alternativa UPDATE <Nome da Tabela> SET <Coluna 1> = Valor Coluna 1, <Coluna 1> = Valor Coluna 1 20
Excluir registro DELETE. Sintaxe DELETE FROM <Nome da Tabela> WHERE <Condição> Sintaxe alternativa DELETE FROM <Nome da Tabela> 21
Excluir Tabela e BD DROP Sintaxe DROP TABLE <Nome da Tabela>; DROP DATABASE <nome_do_banco_de_dados>; 22
23 Lab1
24 Fim