Informática Instrumental Prof. Edberto Ferneda Software Softwares Aplicativos Softwares Aplicativos Sistema Gerenciador de Banco de Dados Consiste de uma coleção de dados inter-relacionados e um conjunto de programas (software) para acessar esses dados. O principal objetivo de um SGBD é proporcionar um ambiente eficiente para armazenar e recuperar dados. Os SGBDs são concebidos para gerenciar grandes quantidades de dados. O gerenciamento dos dados envolve tanto a definição de estruturas para armazenamento dos dados como a implementação de mecanismos para a manipulação desses dados. Softwares Aplicativos Sistema Gerenciador de Banco de Dados Hardware meios de armazenamento Dados Um banco de dados é um depósito de dados armazenados. Software Entre os dados e os usuários do sistema encontra-se uma camada de software que é o sistema de gerenciamento de banco de dados (SGBD). Usuários Programador de sistemas Usuário final DBA Softwares Aplicativos Sistema Gerenciador de Banco de Dados Relação É a “matéria prima” para a construção de toda a teoria do modelo relacional e, por conseqüência, é o alicerce teórico de todo sistema de banco de dados baseado no modelo relacional. Nos sistemas de banco de dados relacionais os dados são agrupados em TABELAS. Uma tabela possui um nome e é constituída de uma ou mais colunas (ou campos). Os campos devem também possuir um nome, juntamente com o tipo de dado que será armazenado na coluna. Softwares Aplicativos Sistema Gerenciador de Banco de Dados Relação Cliente Relação ou tabela CodCli Nome Endereco 123 João Rua Pio XI 567 Maria Rua S. Francisco 678 Joana Av. Liberdade 876 Gabriela Av. Jatiúca 976 Ana Júlia Av. São Paulo coluna, campo ou atributo linha ou registro Softwares Aplicativos Sistema Gerenciador de Banco de Dados Softwares Aplicativos Sistema Gerenciador de Banco de Dados Fornecedor Nome Endereço 19 StarFlow Rua Jundiaí, 67 23 BigMother Av. Faria Lima, 1020 CodForn Fornecimento Cliente CodForn CodProd Data QTD Nome Endereço 19 37 25/05/2007 200 1001 Manoel da Silva Rua do Professor, 767 23 26 21/07/2007 500 1002 Mariana Feijó Av. Caramuru, 232 23 34 30/08/2008 400 19 32 20/10/2009 120 CodCli Pedido Produto CodPedido CodCli CodProd QTD Data CodProd Nome Unidade Preço 25 1001 26 5 30/01/2007 26 Azimute Kg 100,00 27 1002 34 17 20/02/2007 32 Estofo Mt 200,00 29 1001 32 20 02/03/2008 34 Alimbra Kg 150,00 36 1002 37 32 03/05/2009 37 Estana Un 120,00 Softwares Aplicativos Linguagem SQL A linguagem SQL é uma linguagem de consulta; Possui recursos para definição da estrutura de dados, para inserir, alterar e excluir dados no banco de dados e recursos para especificar restrições de segurança e integridade. A SQL estabeleceu-se como a linguagem padrão de consultas a banco de dados relacional. Vários Sistemas Gerenciadores de Banco de Dados suportam a linguagem SQL. Embora existam diversas versões, com algumas diferenças entre elas, a estrutura da SQL se mantém inalterada desde a sua criação. Softwares Aplicativos Linguagem SQL Definição de dados Fornece comandos para definição e modificação de esquemas de relação, remoção de relações, etc. Manipulação de dados Compreende comandos para inserir, remover e modificar informações em um banco de dados. Controle É o conjunto de comandos que fazem o cadastramento de usuários e determina seu nível de privilégio para o acesso aos dados do banco de dados. Softwares Aplicativos Linguagem SQL Tipos de Dados CHAR(n) Armazena caracteres alfanuméricos de tamanho fixo n. VARCHAR(n) Cadeia de caracteres de comprimento variável e tamanho máximo de n caracteres. INTEGER Dado numérico inteiro de tamanho fixo. NUMERIC(n,m) Dado numérico de tamanho variável, sendo n o número total de dígitos e m o número de casas decimais. DATE Data de tamanho fixo. Softwares Aplicativos Linguagem SQL Criando tabelas Aluno Numero numeric(8) Nome char(40) Endereco varchar(50) Sexo char(1) create table Aluno ( numero numeric(8), nome char(40), endereco varchar(40), sexo char(1) ) Softwares Aplicativos Linguagem SQL Restrições de Integridade Chave primária A função da chave primária é identificar univocamente cada registro da tabela. Toda tabela deve possuir uma chave primária, que deve ser composta por um ou mais campos create table Aluno ( numero numeric(8) primary key, nome char(40), endereco varchar(40), sexo char(1) ) Softwares Aplicativos Linguagem SQL Restrições de Integridade Evitando valores nulos É muito comum definirmos campos que não podem conter valores nulos. Isto é, o preenchimento do campo é obrigatório. Para evitar que em algum momento um campo de uma tabela possa conter valor nulo (null) deve-se utilizar a cláusula NOT NULL após a definição do campo. create table Aluno ( numero numeric(8)primary key, nome char(40) not null, endereco varchar(40), sexo char(1) ) Softwares Aplicativos Linguagem SQL Restrições de Integridade Evitando valores inválidos Existem situações onde um campo pode receber apenas alguns determinados valores. Para que o valor de um campo fique restrito a um determinado conjunto de valores, utiliza-se a cláusula CHECK. create table Aluno ( numero numeric(8)primary key, nome char(40) not null, endereco varchar(40), sexo char(1) CHECK(sexo=‘M’ or sexo=‘F’) ) Softwares Aplicativos Linguagem SQL Para inserir dados em uma tabela utiliza-se o comando INSERT INTO onde são especificados os valores de cada campo do novo registro. Aluno Numero nome endereco sexo Insert into aluno values (5635263, ‘Maria Aparecida’, ‘Rua Direita, 32’, ‘F’) Aluno Numero nome endereco sexo 5635263 Maria Aparecida Rua Direita, 32 F Softwares Aplicativos Linguagem SQL Aluno Numero nome endereco sexo 5635263 Maria Aparecida Rua Direita, 32 F Insert into aluno values (6824323, ‘Jóse da Silva’, ‘Av. 23 de Maio, 43’, ‘M’) Aluno Numero nome endereco sexo 5635263 Maria Aparecida Rua Direita, 32 F 6824323 José da SIlva Av. 23 de Maio, 43 M Softwares Aplicativos Linguagem SQL Aluno Numero nome endereco sexo 5635263 Maria Aparecida Rua Direita, 32 F 6824323 José da SIlva Av. 23 de Maio, 43 M Insert into aluno values (7926767, ‘Maria José’, ‘Av. 23 de Maio, 43’, ‘M’) Aluno numero nome endereco sexo 5635263 6824323 7926767 Maria Aparecida José da Silva Maria José Rua Direita, 32 Av. 23 de Maio, 43 Av. Ipiranga, 23 F M F Softwares Aplicativos Linguagem SQL Aluno numero nome endereco sexo 5635263 6824323 7926767 Maria Aparecida José da Silva Maria José Rua Direita, 32 Av. 23 de Maio, 43 Av. Ipiranga, 23 F M F Delete from aluno where sexo = ‘F’ Aluno numero nome endereco sexo 6824323 José da Silva Av. 23 de Maio, 43 M Softwares Aplicativos Linguagem SQL Aluno numero nome endereco sexo 5635263 6824323 7926767 Maria Aparecida José da Silva Maria José Rua Direita, 32 Av. 23 de Maio, 43 Av. Ipiranga, 23 F M F Delete from aluno where numero = 7926767 Aluno numero nome endereco sexo 5635263 6824323 Maria Aparecida José da Silva Rua Direita, 32 Av. 23 de Maio, 43 F M Softwares Aplicativos Access Softwares Aplicativos Access Criando tabela Softwares Aplicativos Access Inserindo/Excluindo dados em uma tabela Softwares Aplicativos Access Inserindo/Excluindo dados em um Formulário Softwares Aplicativos Access Incluindo/Excluindo dados em página Web Softwares Aplicativos Access Relatórios Softwares Aplicativos Sistema Gerenciador de Banco de Dados Benefícios Reduz da duplicação de informações; Integra os dados de forma que possam ser acessados por vários usuários; Usuários não precisam saber detalhes técnicos para obter as informações de que necessitam; Provê a integridade e segurança dos dados armazenados; Limitações Difícil e dispendioso desenvolver grandes bancos de dados; Exige maior capacidade de hardware – Espaço de armazenamento em disco Persistem as preocupações quanto à vulnerabilidade a erros, fraudes, falhas, segurança, etc.