BANCO DE DADOS CONCEITOS BÁSICOS

Documentos relacionados
SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Prof.: Clayton Maciel Costa

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

PHP INTEGRAÇÃO COM MYSQL PARTE 1

SQL DDL. Frederico D. Bortoloti

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Structured Query Language (SQL)

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

O que são Bancos de Dados?

SQL. Autor: Renata Viegas

Introdução a Sistemas de Bancos de Dados

A linguagem SQL

SQL - Criação de Tabelas

Disciplina de Banco de Dados Parte V

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Programação SQL. Introdução

SQL (Structured Query Language)

Introdução ao SQL. Aécio Costa

SQL (Structured Query Language)

Comandos de Manipulação

Sistemas de Banco de Dados

SQL (Structured Query Language)

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

SQL Structured Query Language

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Maurício Edgar Stivanello

Linguagem SQL Sub-linguagem DDL


Introdução ao SQL. O que é SQL?

Comandos DDL. id_modulo = id_m odulo

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Linguagem SQL Parte I

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

INTRODUÇÃO. Diferente de Bando de Dados

Prof. Marcelo Machado Cunha

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta - SQL

Sistemas Gerenciadores de Bancos de Dados

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Faculdade Lourenço Filho - ENADE

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

Modelo Cliente/Servidor Por HIARLY ALVES

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

A & F Consultoria em Sistemas e Treinamentos 2014 af.tecnoserv@gmail.com. A linguagem SQL. Autor: Hélio de Almeida Fonte: Wikipédia

Structured Query Language (SQL) Aula Prática

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

Sistemas Gerenciadores de Bancos de Dados

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Disciplina: Unidade V: Prof.: Período:

SQL (STRUCTUREDQUERY LANGUAGE)

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Linguagem SQL (Parte I)

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

Gestão de Tecnologia da Informação

Principal: construir uma base de dados para produção de informações sobre internações hospitalares;

Núcleo de Pós Graduação Pitágoras

Modelo de Dados. Modelos Conceituais

Modelo de Dados. Modelo para organização dos dados de um BD

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

SQL (STRUCTUREDQUERY LANGUAGE)

Disciplina: Tecnologias de Banco de Dados para SI s

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

1. Domínio dos Atributos

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Docente: Éberton da Silva Marinho

Introdução Banco de Dados

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro

Gerenciamento de um Sistema de

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Linguagem SQL. Comandos Básicos

Transcrição:

Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa

Introdução O que é um BD? Operações Acrescentar novos dados Inserir dados Buscar dados Alterar dados Remover dado

Histórico Antes (década de 70) Processamento de Arquivos no S.O Hoje Inconsistência Redundância Pouco Escalável Sistemas computacionais especializados em armazenar e buscar informação

Banco de Dados: Definição Coleção de dados relacionados e organizados de forma estruturada

Definição Coleção de dados relacionados e organizados de forma estruturada Como estruturar os dados e suas relações de forma simples para o ser humano? Qual a relação entre os elementos do mundo real e como transformá-las em uma descrição computacional

Definição Coleção de dados relacionados e organizados de forma estruturada Como estruturar os dados e suas relações de forma simples para o ser humano? Qual a relação entre os elementos do mundo real e como transformá-las em uma descrição computacional? Arquitetura Modelagem

Aplicações Sistemas de Informação Bancos, Universidades, Aviação, Vendas, Processos de Fabricação, Recursos Humanos, Sistemas Supervisórios, Sistemas Embarcados, etc.

Definições SGBD Sistema Gerenciador de Banco de Dados DBMS (Database Management System) Meta Dados Definições das Estruturas dos Dados(Esquemas) Abstrações que representam os dados e suas relações Banco de Dados Envolve o SGBD, a representação dos dados(meta dados) e os dados em si

Tipos de BD Propósito Geral Oracle, MySQL Embarcado SQLite, CSQL, FireBird Tempo Real CSQL Distribuído Oracle, MySQL Usuários Individuais MS Access Informações Geográficas (GIS)

Sistema de Banco de Dados Aplicações Usuários SGBD Manipulação Controle dos Dados Definições dos Dados (Meta-Dados) Banco de Dados

SGBD: Características 11 Independência entre dados e aplicações Definição dos dados são independentes das aplicações que os manipulam Flexibilidade Não é necessário modificar as aplicações em eventuais modificações nas definições dos dados

SGBD: Características 12 Multiusuários Vários usuários podem acessar os dados ao mesmo tempo Isolamento Permite acesso concorrente e simultâneo aos dados sem comprometer a consistência

SGBD: Características 13 Múltiplas visualizações sobre os dados Privilégios de acesso aos dados Professor Estudante Chefe de departamento Funcionário da secretaria Diretor do centro Controle de Acesso Usuários com privilégios ou restrições de acesso aos dados

SGBD: Características 14 Controle de Redundância Previne que o mesmo dado seja armazenado em vários lugares de forma inconsistente Normalização Forma de minimizar definições redundantes e dependência entre os dados Representação de relações entre os dados

SGBD: Características 15 Impor restrições de integridade sobre os dados Forma de garantir que exista coerência nos dados Ex: Nome de uma pessoa com no máximo cinquenta caracteres Idade de uma pessoa é um inteiro sem sinal Integridade Referencial Um certo aluno deve ser representado de forma única para todos os lugares onde ele existe: Departamento de Engenharia Elétrica Curso de Engenharia Elétrica UFPB

Atores Administradores dos SGBDs DBA - Database Administrator Responsáveis pelo gerenciamento dos SGBDs Criação de usuários no SGBD Atribuição de permissões aos usuários aos Bancos de Dados Backups Garantia de estabilidade Criação de novos Banco de Dados

Atores Analistas ou Projetistas de Banco de Dados Identificação dos requisitos do BD Definição das estruturas dos dados e suas relações Usuários do BD Usam o BD em suas atividades Normalmente acessam o BD com um PC usando uma aplicação de acesso ao BD: Funcionários do Banco do Brasil Correntistas do Banco do Brasil Usuários do Google Usuários do Facebook

Propriedades dos SGBDs Atomicidade Qualquer operação deve ser indivisível. Garante acesso simultâneo e concorrente Consistência Sempre sair de um estado consistente para outro Isolamento Operações devem ser executadas como se fossem únicas e sequenciais Durabilidade As operações devem ser persistentes e mantidas após

Transações Os SGBDs usam transações para garantir: Atomicidade, Consistência, Isolamento e Durabilidade Acesso concorrente aos dados Sem Inconsistência Recuperação à falhas Operações Indivisíveis (Atômicas)

Arquitetura Usuários Aplicações Nível Externo Nível Conceitual Nível Interno

Arquitetura Usuários Aplicações Nível Externo Nível Conceitual S.O, Sistema de Arquivos, Buffers, acesso ao disco, transações Nível Interno

Arquitetura Usuários Aplicações Nível Externo Tabelas e estruturas dos bancos de dados, esquemas de representação lógica, funções de consulta Nível Conceitual Nível Interno Banco de Dados 1 Banco de Dados 2

Arquitetura Usuários Aplicações Visualizações do BD(views), Controle de acesso Nível Externo Nível Conceitual Nível Interno

Arquitetura Cliente-Servidor Cliente Usuários Rede de Comunicação Servidor Aplicações BD

Modelagem Como representar elementos e relações do mundo real em uma linguagem computacional? Como manipular os elementos?

Modelagem Como representar elementos e relações do mundo real em uma linguagem computacional? Modelo Relacional Modelo Entidade Relacionamento (ER) Implementação do BD Projeto e Modelagem do BD

Modelagem 27 Não Confundir Descrição do Banco de Dados Esquemas (Tabelas) Dados no Banco de Dados (Estado do BD) As informações concretas que correspondem aos esquemas

Modelo Relacional Tabela: Professor Atributos (Colunas) num nome departamento salario 01 Luíz Gonzaga Música 6000 02 César Lattes Física 3000 03 Ampère Elétrica 1299 04 René Descartes Matemática 876 Tuplas (Linhas) Relação (Tabela)

Modelo Relacional Atributos: A1,A2,, Na Esquema Relacional: R = (A1,A2,,An) Ex: Professor = (ID, nome, nome_dept, salario) Os valores ou instâncias de uma relação formam uma tabela Banco de Dados Múltiplas relações Modelagem quebrada em partes Professor, Departamento, Aluno, Curso

Modelo Relacional Chaves Primárias Representa um atributo(coluna) em uma relação usado para identificação única de uma tupla(linha) Exemplo: Matrícula é um bom candidato para chave da relação Aluno

Modelo Relacional (Exemplo) Professor id nome dept salario Departamento id nome sigla bloco receita Disciplina id nome nome_dept nome_prof Estudante matricula nome nome_dept

id nome sigla bloco receita 001 Dep. de Engenharia Elétrica DEE CTJ 30000.00 002 Dep. de Matemática DM CTX 25000.00 Tabela Departamento Id nome dept salario 647634 Josilalva DEE 8000.00 344563 Distoneclis DM 5000.00 Tabela Professor matricula nome nome_dept 20132563 Rosa da Silva Dep. Engenharia Elétrica 20132562 Tião Pereira Dep. Matemática Tabela Estudante id nome dept nome_prof 20132563 Eletrônica DEE Josilalva 20132562 Cálculo I DM Distoneclis Tabela Disciplina

Modelo Relacional Representado com Álgebra Relacional Operações Relacionais Seleção Seleciona linhas de uma relação que satisfaça um dado predicado Projeção Seleciona colunas de uma relação União União entre tuplas de duas relações

Modelo Relacional Modelo Relacional Forma matemática de representar as relações SQL (Structured Query Language) Linguagem usada para descrever banco de dados relacionais Descendente direto do modelo relacional Data Definition Language(DDL) Padrão ISO/IEC 9075-1:2008

SQL Structured Query Language Linguagem de Modelagem de Dados (DML) Linguagem de Definição de Dados (DDL) É descendente do modelo relacional IBM iniciou o projeto de SQL Padrão ANSI e ISO SQL-86, SQL-89 SQL:2008 A maior parte das ferramentas é compatível com um subconjunto do padrão

SQL Comandos Básicos Definição de Dados - Data Definition Language (DML) Comando CREATE ALTER DROP Descrição Cria uma nova tabela no BD Modifica um tabela existente Remove um tabela do BD Manipulação - Data Manipulation Language (DML) Comando INSERT UPDATE DELETE Descrição Cria um registro em uma tabela Modifica um registro Remove um registro

SQL Comandos Básicos Controle de Acesso Comando GRANT REVOKE Descrição Atribui privilégios aos usuários Remove privilégios dos usuários Consulta Comando SELECT Descrição Busca de um registro

SQL 38 Coluna Professor Id nome dept salario 647634 Josilalva DEE 8000.00 344563 Distoneclis DM 5000.00 Registro

SQL 39 Algumas Restrições de Integridade Restrições NOT NULL DEFAULT UNIQUE PRIMARY KEY FOREIGN KEY Descrição Assegura que uma certa coluna não pode ter o valor null Define valor padrão na coluna quando nada é fornecido Assegura que todos os valores da culuna são diferentes Identificação única de um registro em uma tabela Identificação única de um registro de outra tabela

SQL : Tipos Básicos Tipo VARCHAR(n) CHARACTER(n) BOOLEAN INTEGER(p) Descrição string de tamanho variável string de tamanho fixo n Booleano Inteiro de precisão p INTEGER Inteiro de precisão 10 SMALLINT Inteiro de precisão 5 BIGINT Inteiro de precisão 19 DECIMAL(p,s) REAL Mantissa = 7 DATA TIME Decimal(5,2) = decimal com 3 dígitos antes da vírgula e 2 depois Dia, mês e ano Hora, minuto e segundo

SQL: Exemplo Professor id nome dept salario Departamento id nome sigla bloco receita Disciplina id nome nome_dept nome_prof Estudante matricula nome nome_dept

SQL: Criação de Tabelas 42 Forma Geral CREATE TABLE nome_da_tabela( coluna1 tipo, coluna2 tipo, coluna3 tipo,... colunan tipo, PRIMARY KEY( uma ou mais colunas ) );

SQL: Criação de Tabelas 43 CREATE TABLE departamento ( id INT NOT NULL, nome VARCHAR (100) NOT NULL, sigla VARCHAR (10) NOT NULL, bloco VARCHAR (15) NOT NULL, receita DECIMAL(20,2), PRIMARY KEY (id) ); Chave primária Chave secundária CREATE TABLE professor ( id INT NOT NULL, nome VARCHAR (100) NOT NULL, dept VARCHAR (100) REFERENCES departamento(nome), salario DECIMAL(20,2), PRIMARY KEY (id) );

SQL: Criação de Tabelas 44 CREATE TABLE disciplina( id INT NOT NULL, nome VARCHAR (100) NOT NULL, nome_dept VARCHAR (100) REFERENCES departamento(nome), nome_prof VARCHAR (100) REFERENCES professor(nome), creditos INT NOT NULL, PRIMARY KEY (id) ); CREATE TABLE estudante( matricula CHAR(12) NOT NULL, nome VARCHAR (100) NOT NULL, nome_dept VARCHAR (100) REFERENCES departamento(nome), PRIMARY KEY (matricula) );

SQL: Povoamento 45 INSERT INTO departamento (id,nome,sigla,bloco,receita) VALUES( 001, 'Departamento de Engenharia Elétrica', 'DEE', 'CTJ', 30000.00); INSERT INTO professor (id,nome,dept,salario) VALUES( 647634, 'Josilalva', 'Departamento de Engenharia Elétrica', 8000.00 );

SQL: Consultas 46 Forma Geral SELECT coluna1, coluna2, colunan FROM nome_da_tabela WHERE [condição]

SQL: Consultas 47 SELECT id,nome,dept FROM professor WHERE salario > 2000.00; Resultado da Consulta: +--------+----------+--------------------------------------+ ID NOME DEPT +--------+----------+--------------------------------------+ 647634 Josilalva Departamento de Engenharia Elétrica +--------+----------+--------------------------------------+