BCD29008 Banco de dados

Documentos relacionados
BCD29008 Banco de dados

BCD29008 Banco de dados

DDL). O resultado da compilação dos parâmetros DDLs é

BCD29008 Banco de dados

Conceitos de Sistemas de Banco de Dados INE 5323

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich

Korth Silberschatz Sundarshan. Sistema de Banco de Dados, 5/E

Sistemas de Banco de Dados

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

BCD29008 Banco de dados

Banco de Dados I Introdução SQL

Banco de Dados I. Prof. Edson Thizon

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Bancos de Dados NoSQL

INE 5423 Banco de Dados I

INE 5423 Banco de Dados I

Introdução à Banco de Dados

A linguagem SQL

Aula 01 Conceito de Banco de Dados e SGBD

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

BCD29008 Banco de dados

Banco de Dados Relacional

AULA SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS

8/9/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan

Introdução. O que é um Banco de Dados (BD)?

Curso: Banco de Dados I. Conceitos Iniciais

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Sistema Gestor de Bancos de Dados (SGBD)

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr

Banco de Dados. Aula 01. Prof. Diemesleno Souza Carvalho

MODELAGEM DE DADOS UNIDADE 1 Visão Geral. Luiz Leão

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

BANCO DE DADOS. Araújo Lima. Jan / Araújo

Revisão de Bancos de Dados

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Banco de Dados. Professora: Luciana Faria

INE 5623 Projeto de Banco de Dados

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

Modelagem Física e SQL

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

mod._1_teoria_sistemas de bancos de dados.doc

Modelo Entidade-Relacionamento (E-R)

A U L A 1 I N T R O D U Ç Ã O A B A N C O D E D A D O S E V I S Ã O G E R A L D O S Q L

Controle de Transação

Banco de Dados Fundamentos Básicos. Hélder Antero Amaral Nunes

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Banco de Dados I. Sejam bem-vindos! Prof. Fred Lucena. 1

Introdução a Banco de Dados

Prof. Luiz Fernando. Unidade I ADMINISTRAÇÃO

Modelagem Física e SQL

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

Sistemas Gerenciadores de Banco de Dados

BANCO DE DADOS I Atualizado em 13 de maio de 2009

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Resolução dos exercícios da lista BD01

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

Sumário. Introdução a Transações

Banco de Dados I. Introdução. Fabricio Breve

Plano de Ensino IDENTIFICAÇÃO

Modelagem Conceitual parte I

Modelagem Conceitual parte I

Caderno de Introdução Bases Dados

MODELO DE BANCO DE DADOS RELACIONAL

Fundamentos de Banco de Dados Aula II

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju

Conceitos. Gestão de Transacções. Transacção. Conceitos e Propriedades. Controlo de Concorrência. Recuperação. Transacções no SGBD Oracle

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro

Banco de Dados. Prof. Gleison Batista de Sousa Aula 01

Banco de Dados Unidade I Visão Geral Prof. Francisco Gerson A. de Meneses

UFG - Instituto de Informática

Faculdade Ieducare 4º Semestre Sistemas de Informação Professor: Rhyan Ximenes

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS

Capítulo 9: Sistemas de banco de dados

Unidade 1 Introdução

Gerenciador de Bancos de Dados SQL Server

Revisando Banco de Dados. Modelo Relacional

Prof. Marcelo Machado Cunha

Tecnologia da Informação

Sistemas de Informação (SI) Gestão da informação e de banco de dados (II)

Banco de dados. Prof. Emiliano S. Monteiro 5º.Sem. Licenciatura

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Pró-Reitoria de Graduação - PROGRAD Plano de Ensino 2016/2

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Modelo Relacional. Aula 02

Modelo Entidade Relacionamento

PHP INTEGRAÇÃO COM MYSQL PARTE 1

SGBD. Definição. Funções básicas

Computação Instrumental

Marcelo Henrique dos Santos

Banco de Dados. Banco de Dados

Disciplina de Banco de Dados Parte V

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Sistemas Distribuídos

Abordagem relacional. Capítulo 4

Transcrição:

BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de fevereiro de 2018 1/24

Apresentação da disciplina Objetivo da disciplina Introduzir conceitos fundamentais sobre sistemas de banco de dados, modelagem e o uso de banco de dados em aplicações Carga horária: 36h teóricas + 18h práticas 15:40 17:30 - terça-feira (quinzenal) 13:30 15:20 - quarta-feira Local Lab. Info / sala 13 Notas de aulas e interação SIGAA: https://sigaa.ifsc.edu.br 2/24

Avaliação 01 Avaliação escrita (AE) (individual e sem consulta) Peso: 50% Recuperação: Avaliação escrita substitutiva no final do semestre abrangendo todo o conteúdo da disciplina 03 Lista de exercícios (LE) (individual) Peso: 15% Recuperação: Dedução de 10% do valor total da nota para cada dia de atraso após o prazo de entrega 01 Projeto Final (PF) (grupo com até 2 pessoas) Peso: 35% Recuperação: Dedução de 10% do valor total da nota para cada dia de atraso após o prazo de entrega Conceito final (CF) CF = AE 0, 5 + 3 i=1 LE i 0, 05 + PF 0, 35, CF N. Critérios para aprovação na disciplina Mínimo 75% de presença e CF 6 3/24

Apresentação da disciplina Relação com outras unidades curriculares Laboratórios envolverão MySQL e linguagem Java 4/24

Apresentação da disciplina Conteúdo programático 1 Conceitos sobre sistemas de bancos de dados 2 Diagrama Entidade-Relacionamento (ER) 3 Bancos de dados relacionais 4 Linguagem SQL 5 Mapeamento do modelo ER para relacional 6 Formas normais 7 Projeto e desenvolvimento de aplicações 5/24

Bibliografia HENRY F.; SILBERSCHATZ, Abraham; KORTH Sistema de banco de dados HEUSER, Carlos A. Projeto de banco de dados 6/24

Sistema centralizado de controle de condicionadores de ar Exercício Projete um banco de dados para guardar informações sobre o funcionamento dos aparelhos de ar condicionado do campus 7/24

Sistema centralizado de controle de condicionadores de ar Exercício Projete um banco de dados para guardar informações sobre o funcionamento dos aparelhos de ar condicionado do campus 1 Quais dados precisariam ser armazenados? 2 Que formato poderia ser usado para persistir dados? 3 Onde os dados poderiam ser armazenados? 4 Como recuperar, alterar ou remover os dados? 5 Quem poderia ter acesso aos dados? 7/24

Sistema centralizado de controle de condicionadores de ar Exercício Projete um banco de dados para guardar informações sobre o funcionamento dos aparelhos de ar condicionado do campus 1 Quais dados precisariam ser armazenados? fabricante? modelo? cor? BTU? ano?... 2 Que formato poderia ser usado para persistir dados? 3 Onde os dados poderiam ser armazenados? 4 Como recuperar, alterar ou remover os dados? 5 Quem poderia ter acesso aos dados? 7/24

Sistema centralizado de controle de condicionadores de ar Exercício Projete um banco de dados para guardar informações sobre o funcionamento dos aparelhos de ar condicionado do campus 1 Quais dados precisariam ser armazenados? 2 Que formato poderia ser usado para persistir dados? arquivo txt? arquivo binário? um ou vários arquivos?... 3 Onde os dados poderiam ser armazenados? 4 Como recuperar, alterar ou remover os dados? 5 Quem poderia ter acesso aos dados? 7/24

Sistema centralizado de controle de condicionadores de ar Exercício Projete um banco de dados para guardar informações sobre o funcionamento dos aparelhos de ar condicionado do campus 1 Quais dados precisariam ser armazenados? 2 Que formato poderia ser usado para persistir dados? 3 Onde os dados poderiam ser armazenados? centralizado? distribuído?... 4 Como recuperar, alterar ou remover os dados? 5 Quem poderia ter acesso aos dados? 7/24

Sistema centralizado de controle de condicionadores de ar Exercício Projete um banco de dados para guardar informações sobre o funcionamento dos aparelhos de ar condicionado do campus 1 Quais dados precisariam ser armazenados? 2 Que formato poderia ser usado para persistir dados? 3 Onde os dados poderiam ser armazenados? 4 Como recuperar, alterar ou remover os dados? aplicativos padrões do S.O.? API própria?... 5 Quem poderia ter acesso aos dados? 7/24

Sistema centralizado de controle de condicionadores de ar Exercício Projete um banco de dados para guardar informações sobre o funcionamento dos aparelhos de ar condicionado do campus 1 Quais dados precisariam ser armazenados? 2 Que formato poderia ser usado para persistir dados? 3 Onde os dados poderiam ser armazenados? 4 Como recuperar, alterar ou remover os dados? 5 Quem poderia ter acesso aos dados? todos? alguns? leitura para alguns e escrita para outras?... 7/24

Sistema centralizado de controle de condicionadores de ar Exercício Projete um banco de dados para guardar informações sobre o funcionamento dos aparelhos de ar condicionado do campus 1 Quais dados precisariam ser armazenados? fabricante? modelo? cor? BTU? ano?... 2 Que formato poderia ser usado para persistir dados? arquivo txt? arquivo binário? um ou vários arquivos?... 3 Onde os dados poderiam ser armazenados? centralizado? distribuído?... 4 Como recuperar, alterar ou remover os dados? aplicativos padrões do S.O.? API própria?... 5 Quem poderia ter acesso aos dados? todos? alguns? leitura para alguns e escrita para outras?... 7/24

Seria possível usar somente sistema de arquivos? Redundância de dados e inconsistência Diversos arquivos espalhados por diferentes locais Mesma informação espalhada por diferentes arquivos Dificuldade para acessar os dados Desenvolver programas específicos para necessidades distintas Problemas de integridade Ex: Como garantir que o saldo de uma conta não possa ficar negativo? Colocar isso no aplicativo gera dificuldade de manutenção e evolução 8/24

Seria possível usar somente sistema de arquivos? Atomicidade das atualizações Ex: transferência de valores entre duas contas Acesso concorrente por múltiplos usuários Ex: uma pessoa debitando e outra depositando valores em uma conta Controle de acesso Como garantir que somente parte dos dados esteja disponível para determinados usuários? 9/24

Conceitos 10/24

Conceitos Banco de dados é uma coleção de dados inter-relacionados e um conjunto de programas que permitem aos usuários acessar e modificar esses dados sistema de gerenciamento de banco de dados (SGBD) Dicionário de dados contém metadados (dados sobre dados) Estrutura dos dados, referencial de integridade, restrições, autorização, etc 10/24

Níveis de abstração e independência de dados Nível de visão Cada esquema externo descreve a parte do banco de dados que um grupo de usuários pode ver Nível lógico Descreve quais dados são armazenados e que relações existem entre eles Nível físico Descreve como os dados são armazenados em baixo nível 11/24

Modelo de dados Modelo de dados é coleção de ferramentas para descrever os dados, seus relacionamentos, semântica e restrições de consistência Modelo relacional Entidade-relacionamento (ER) Baseado em objetos Semi-estruturado (XML) Coleção de tabelas para representar dados e os relacionamentos entre eles Cada tabela contém registros de um mesmo tipo Cada registro define um número fixo de campos ou atributos Modelo mais usado atualmente 12/24

Modelo de dados Modelo de dados é coleção de ferramentas para descrever os dados, seus relacionamentos, semântica e restrições de consistência Modelo relacional Entidade-relacionamento (ER) Baseado em objetos Semi-estruturado (XML) Baseado na percepção do mundo real que consiste em uma coleção de objetos (entidades) e os relacionamentos entre esses objetos 12/24

Modelo de dados Modelo de dados é coleção de ferramentas para descrever os dados, seus relacionamentos, semântica e restrições de consistência Modelo relacional Entidade-relacionamento (ER) Baseado em objetos Semi-estruturado (XML) Pode ser visto como uma extensão do modelo ER com noções de encapsulamento e identidade do objeto 12/24

Modelo de dados Modelo de dados é coleção de ferramentas para descrever os dados, seus relacionamentos, semântica e restrições de consistência Modelo relacional Entidade-relacionamento (ER) Baseado em objetos Semi-estruturado (XML) Permite que registros do mesmo tipo possuam diferentes atributos oposto daquilo que existe nos outros modelos 12/24

Exemplo de banco de dados relacional Tabelas e relacionamentos 13/24

Linguagem de definição de dados Data Definition Language DDL Linguagem para especificação do esquema ou estrutura do banco de dados Compilador DDL gera um conjunto de tabelas em um conjunto de arquivos denominado dicionário de dados 1 CREATE TABLE Alunos( 2 Id INT AUTO_INCREMENT, 3 Nome VARCHAR(60) not null, 4 Curso VARCHAR(60) null, 5 PRIMARY KEY(Id) 6 ); 14/24

Linguagem de manipulação de dados Data Manipulation Language DML Permite acessar ou manipular dados no banco de dados Recuperação, Inserção, Exclusão ou Modificação SQL (Structured Query Language) é a linguagem de consulta mais utilizada atualmente 7 SELECT Nome 8 FROM Alunos 9 WHERE Alunos.Id = '123'; 10 SELECT Alunos.Nome, Alunos.Curso, Cursos.Campus 11 FROM Alunos, Cursos 12 WHERE Alunos.Curso = Cursos.Curso 13 AND Cursos.Curso = "Telecomunicacoes"; 15/24

Projeto de banco de dados Algum problema com esse projeto? 16/24

Projeto de banco de dados Algum problema com esse projeto? Normalização Criar um conjunto de esquemas de relação que permita armazenar informações sem redundância desnecessária 16/24

Diagramas E-R (notação baseada na UML) Figura: Diagrama E-R Figura: Diagrama E-R gerado pela ferramentas MySQL Workbench 17/24

Gerenciamento de transação Transação consiste de uma sequência de operações que devem ser tratadas como se fosse uma única operação lógica 14 read saldocontaorigem 15 write (saldocontaorigem - 500) 16 read saldocontadestino 17 write (saldocontadestino + 500) 18/24

Gerenciamento de transação Transação consiste de uma sequência de operações que devem ser tratadas como se fosse uma única operação lógica 13 read saldocontaorigem 14 write (saldocontaorigem - 500) 15 read saldocontadestino 16 write (saldocontadestino + 500) 17 FALHA NO SISTEMA 18/24

Gerenciamento de transação Transação consiste de uma sequência de operações que devem ser tratadas como se fosse uma única operação lógica 18 read saldocontaorigem 19 write (saldocontaorigem - 500) 20 21 FALHA NO SISTEMA 22 23 read saldocontadestino 24 write (saldocontadestino + 500) 18/24

Propriedades de transações em banco de dados relacionais ACID Atomicidade Todas operações em uma transação são executadas com sucesso ou tudo é desfeito Consistência Escrita no banco respeita regras, restrições, etc Execução de uma transação leva o banco de um estado consistente para outro estado consistente Isolamento Execução de transações concorrentes sem interferências Durabilidade Assim que transação for finalizada todas as modificações geradas por essa serão persistentes 19/24

Alguns SGBDs relacionais 20/24

Big Data & NoSQL Big data Grande volume de dados, gerados em grande velocidade e com grande variedade que exigem novas formas de processamento para ajudar nas tomadas de decisão (alguns ainda citam veracidade e valor) Fundamentado sobre tecnologias de análise (Hadoop / MapReduce) e infraestrutura de armazenamento e processamento (bancos de dados NoSQL) 21/24

NoSQL Banco de dados NoSQL não seguem o tradicional modelo de dados dos bancos relacionais, uma vez que esse modelo não seria adequado para armazenar a vasta quantidade de dados de maneira efetiva e com baixo custo Baseado em computação distribuída Fundamentadas sobre as propriedades BASE e não sobre as propriedades ACID Basic Availability não garante disponibilidade Soft-state estado alterado ao longo do tempo Eventual consistency se tornará consistente ao longo do tempo Categorias de bancos NoSQL Column-oriented / Big table Key-value Documents Graph 22/24

Alguns bancos de dados NoSQL 23/24

Aulas baseadas em Henry F.; Sudarshan Silberschatz, Abraham; Korth. Sistemas de banco de dados. 6a. Edição - Editora Campus, 2012 24/24