Databases. Introdução



Documentos relacionados
Laboratório de Banco de dados. Outros tipos de bancos de dados

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

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

Prof. Marcelo Machado Cunha

Docente: Éberton da Silva Marinho

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

Disciplina: Tecnologias de Banco de Dados para SI s

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

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

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

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

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

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

Definição do Conceito. Instalação e Gestão de Redes Informáticas. Gestão e organização da informação

Prof.: Clayton Maciel Costa

GBD. Introdução PROF. ANDREZA S. AREÃO

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

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

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

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Revisão de Banco de Dados

Introdução à Banco de Dados. Definição

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

Conceitos de Banco de Dados

Sistemas de Gestão de Bases de Dados

Conceitos Básicos. Conceitos Básicos. Sistema de Arquivos. Prof. Edilberto Silva - edilms@yahoo.com. Sistemas de Informação Brasília/DF

AULA SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

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

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

Persistência e Banco de Dados em Jogos Digitais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

Arquitetura Cliente/Servidor. Uma visão. analítica sobre Bancos de Dados. Banco de Dados. Prof. Enzo Seraphim

Arquitetura de Banco de Dados

SISTEMA GERENCIADOR DE BANCO DE DADOS

SQL Structured Query Language

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG

Introdução Banco de Dados

Banco de Dados Capítulo 1: Introdução. Especialização em Informática DEINF/UFMA Cláudio Baptista

Professor Eros Moura, DSc

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

Sistemas Gerenciadores de Bancos de Dados

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Noções de. Microsoft SQL Server. Microsoft SQL Server

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.

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

INTRODUÇÃO. Diferente de Bando de Dados

BANCO DE DADOS 1 AULA 1. estrutura do curso e conceitos fundamentais. Professor Luciano Roberto Rocha. contato@lrocha.

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Sistemas de Bases de Dados

Fundamentos de Banco de Dados

Modelos. Comunicação com clientes

Tecnologia de Base de Dados Introdução à Base de Dados

Disciplina de Banco de Dados Introdução

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

Tecnologias da Informação, Comunicação e Sistemas de Inteligência

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados Visão Estrutural SGBD: Sistema de Gestão de Bases de Dados

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

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

Laboratório de Banco de Dados

Banco de Dados. Professor: Rômulo César.

INF70 Gerenciamento de Banco de Dados 2 Plano de Curso e Introdução

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma

Sistemas de Banco de Dados

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

Sistemas de Gestão de Bases de Dados

BANCO DE DADOS. Isac Aguiar isacaguiar.com.br

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

2. Conceitos e Arquitetura de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados

Modelo Cliente/Servidor Por HIARLY ALVES

Introdução a Banco de Dados. Aécio Costa

Introdução a Informática. Prof.: Roberto Franciscatto

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Prof.: Clayton Maciel Costa

Softwares Aplicativos Banco de Dados

Introdução ao Delphi. Introdução. Edições do Software. Capítulo 1. InforBRás - Informática Brasileira Ltda. O Que é o Delphi.

Banco de Dados I Módulo I: Introdução a Sistemas de Banco de Dados. (Aula 1) Clodis Boscarioli

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Desenvolvimento Cliente-Servidor 1

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Introdução. Gerenciamento de Dados e Informação. Principais Tipos de SI. Papel de SI. Principais Tipos de SI. Principais Tipos de SI.

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

Administração de Banco de Dados

Banco de Dados Conceito de Arquitetura

Transcrição:

Introdução

Introdução Bases de dados, o que são Objectivos e funcionalidade Databases BD e Sistemas de Gestão de Bases de Dados SGBD File system vs. SGBD Ficheiros, tabelas, classes e instâncias Bases de dados: System R, IMS, DB2, Ingres, Oracle, Informix, Sybase, PostgreSQL, MySQL, Microsoft SQL e as novas: Cassandra, MongoDB, CouchDB, Redis, FlockDB, BigTable(google),. O schema (esquema): a definição da estrutura lógica da BD Características principais da gestão de dados mediante Bases de Dados

Base de Dados Databases Um conjunto de ficheiros, tabelas ou objectos lógicamente relacionados entre si onde se armazenam dados dum domínio qualquer DADOS: o activo mais importante duma organização Um facto conhecido com significado implicito que pode ser registado 60 anos de tecnologia de SGBD - anos 60: ficheiros flat - BD hierárquicas (IBM/IMS) - BD em redes (CODASYL), IDMS - anos 70. relacionais. F. Code. Produtos comerciais durante os 80 - fim dos 80 e principios dos 90: orientadas aos objectos - fins dos 90: universais (object/relational) -. Anos 2000: NoSQL ou Post-SQL, distribuidas, data stores, não ACID 3

Neste processo de evolução histórica das BD: - Como obter os dados quais dados obter - Independência dos dados da estrutura - Ficheiros entidades objectos - Aumento da produtividade e velocidade de acesso - Servidores para gestão da BD, acesso concurrente - Consistência, Segurança - Aumento de consistência: SQL em muitas plataformas. - Evitando Single Point of Failure (SPOF) - Linguagens de alto nível para manipulação e acesso das BD - Utilização inicial em mainframes e logo em PC e outros pequenos - Distribuídas, não asseguram restrições ACID das BD relacionais - Mais rápidas, grande quantidade de dados, para propósitos específicos outros que finanças, banca, contabilidade, etc - 4

Novos desafios na gestão dos dados - A Web! - Novos dados: multimédia, geográficos, séries temporais, grandes ficheiros como registos, links, dados não estruturados - Aparecimento de linguagens populares OO e não só: C++, Java, Javascript, Smalltalk, Phyton, Php, javascript,.. - Data Warehouses - Problemas de compatibilidade entre BD relacionais e OO: dados tradicionais vs. objectos definidos com muitos tipos diferentes Relacional: dados separados dos métodos de acesso OO: hierarquias e subclasses: herança - Bases de dados NãoSQL (não relacionais) 5

6

: BD relacionais 4th Dimension Adabas D Alpha Five Apache Cassandra Apache Derby Aster Data Altibase BlackRay CA-Datacom Clarion Clustrix CSQL CUBRID Daffodil database DataEase Database Management Library Dataphor dbase Derby aka Java DB Empress Embedded Database EXASolution EnterpriseDB extremedb FileMaker Pro Firebird Greenplum GroveSite H2 Helix database HSQLDB IBM DB2 IBM Lotus Approach IBM DB2 Express-C Infobright Informix Ingres InterBase InterSystems Caché GT.M Linter MariaDB MaxDB MemSQL Microsoft Access Microsoft Jet Database Engine (part of Microsoft Access) Microsoft SQL Server Microsoft SQL Server Express Microsoft Visual FoxPro Mimer SQL MonetDB MSQL (mini) MySQL Netezza NexusDB NonStop SQL Openbase OpenLink Virtuoso (Open Source Edition) OpenLink Virtuoso Universal Server OpenOffice.org Base Oracle Oracle Rdb for OpenVMS Panorama Pervasive PSQL Polyhedra PostgreSQL Postgres Plus Advanced Server Progress Software RDM Embedded RDM Server The SAS system SAND CDBMS SAP HANA SAP Sybase Adaptive Server Enterprise SAP Sybase IQ SQL Anywhere (formerly known as Sybase Adaptive Server Anywhere and Watcom SQL) ScimoreDB SmallSQL soliddb SQLBase SQLite Sybase Advantage Database Server Teradata TimesTen txtsql mizansql Unisys RDMS 2200 UniData UniVerse Vertica VMDS 7

Sistemas de Ficheiros vs. SGBD: exemplo Departamento Encomendas Departamento Contabilidade Departamento Personal Programa A Programa B Programa A Programa B Programa A Programa B Sistema Preencher encomendas Sistema Facturação Sistema Personal Clientes Inventario Devoluções Preços Inventário Clientes Colaboradores 8

Problemas com os Sistemas de Ficheiros? Dependência entre dados e programa Cada pgm. mantém metadados por cada ficheiro que utiliza Redundância (duplicação) nos Dados - Subsistemas diferentes da mesma organização tem cópias separadas dos mesmos dados - Existem múltiplas formatos de ficheiros, duplicação da informação em ficheiros diferentes. Isto requer + espaço, esforço e perdem-se dados e a integridade dos metadados Limitada partilha dos Dados Não existe um controlo centralizado dos dados. Cada aplicação tem os seus próprios dados privados e os utilizadores tem pouca hipótese de partilhar dados fora das suas próprias aplicações (Fundamentals of Data Systems, Elmasri/Navathe) 9

Problemas com os Sistemas de Ficheiros? Longo tempo de desenvolvimento Cada pgm. deve desenhar de raiz os seus formatos de ficheiros Longo tempo para manutenção dos programas e portanto altos custos para IT na organização Difícil manter a integridade dos dados Alterar as restrições dos dados, ou adicionar novas restrições (Fundamentals of Data Systems, Elmasri/Navathe) 10

Solução: Uma BD única e centralizada em toda a organização As aplicações estão separadas dos dados e as definições de todos os dados utilizados definidos num mesmo esquema, que armazena toda a semântica dos dados utilizados. Assim, a BD é uma colecção coerente e lógica dos dados da organização, desenhada com um propósito específico e para utilizadores designados 11

Componentes principais dum SGBD INPUT: { Modificações Interrogação Modificações esquema genérica, API dos dados Gestor Buffer (RAM) Gestor Ficheiros (disk blocks) Processador queries Gestor armazenamento Gestor Transacções (integridade) Atomicidade Consistência Isolamento Durabilidade Query = Interrogação Fonte: J. Ullman, A first course in Database Systems Dados Metadados 12

Nível externo: utilizadores Nível intermédio, conceitualização: Esquema Nível interno: os dados e Metadados Os 3 níveis da arquitectura duma BD (C.J. Date) 13

BD Relacionais (e não só) respeitam o principio ACID. Requerimentos essenciais para uma transacção: Acid compliant Atomicidade: Toda a transacção completada ou nada feito.(no caso o sistema crashar...) Consistência (integridade) Os dados devem bater certo após uma transacção. Os dados devem cumprir as restrições impostas sobre eles no fim, mesmo que transitoriamente estas possam serem violadas. Só se começa aquelo que se pode terminar. Isolamento Duas transacções a correr simultaneamente os seus efeitos devem ficar isolados. Deve acontecer tal como se só uma transacção tivesse ocorrido. A execução duma transacção não pode prejudicar uma outra. Durabilidade Terminada uma transacção, os seus efeitos devem perdurar, mesmo se o sistema crachar (system crash) 14

BD Relacionais respeitam o principio ACID. Aplicar o principio ACID não é facil Problemas nas comunicações, falha do disco, falha no sistema, Necessidade de actualizar os índices, alterar registos o criar novos, etc. A ideia do ACID é que a BD possa idealmente executar todas estas tarefas de uma vez e rapidamente Técnicas para isto: A) Escrever o registo completo, ANTES de escrever na BD. Assim, se a operação falhar, a BD pode voltar ao seu estado anterior B) Escrever uma cópia sombra numa BD imagem. Quando a transacção for fiável, actualizar a BD ou substituir cópia. Em ambos processos, bloquear a BD ao nível que corresponda para executar as operações desejadas 15

Ficheiros Uma colecção de registos relacionados entre si: facturas, alunos, clientes, adn, doentes. Armazenados com um mesmo nome numa unidade. Tabelas Um conjunto de tuplos onde as colunas representam atributos Relações Entidades do sistema expressadas como relaciones. Semelhante como as tabelas, mas as relações não podem ter linhas repetidas Uma BD relacional está justamente formada por relações (~ tabelas) Objetos Os dados vistos como objetos. Os objetos tem atributos e propriedades. Eles tem os seus próprios métodos de acesso. Instâncias As classes se instanciam em objetos: Ex.: a classe cavalo. Objeto: um cavalo lusitano preto chamado Demónio 16

O esquema ( schema ) Estrutura onde armazenamos a definição lógica de todos os elementos que formam uma BD. Normalmente não mudará com frequência. Relações: os dados específicos de cada entidade. Tabelas. O tipo que terá cada dado. No caso de OO: ADT (Abstract Data Type) Relações entre estas entidades. Chaves Restrições nos dados, nas operações possíveis; triggers ANTES DE SE DEFINIR O ESQUEMA precisamos inicialmente informação de contexto para criar a BD: Os requisitos do sistema E precisamos definir que tipo de BD queremos construir: relacional, OO, universal, outra Nome, tipo de charset por defeito que utilizarão os dados, password para acesso, utilizadores da BD, permissões em geral 17

Características principais da filosofia das BD - Natureza auto-descritiva do SGBD. O esquema metadados - Permite que o software de SGBD trabalhe com aplicações diferentes - Independência entre programas e dados. Permite alterar as estruturas de dados sem ter que mudar o acesso aos programas do SBD - Abstracção de Dados. O utilizador visualiza os dados sem saber dos detalhes do armazenagem e a estrutura interna dos ficheiros - Suporte de múltiplas vistas dos dados. Cada utilizador pode ter uma visão diferente da BD, que descreve apenas os dados que interessam. - Partilha simultânea dos dados: O SGBD tem mecanismos de controlo da concorrência simultânea. Cada transacção é completada correctamente - Mecanismos de segurança para recuperação e backup dos dados - Permissõe para acesso aos dados: quem pode fazer o que, onde e como -OLTP: online transaction processing: centenas de transacções executadas por segundo. Cada utilizador atribuído um processo específico 18

Atenção: Databases e SGBD Database Sistemas de Gestão de Bases de Dados A primeira se refere aos dados e a estrutura existente para seu armazenamento. O SGBD é o software que gere a Base de Dados. Assegura a correta manipulação, segurança, integridade e consistência dos dados, assim como permite operações nela utilizando alguma linguagem de programação. Sql por exemplo. Alguns exemplos O primeiro de todos System R (IBM), logo IMS (IBM) e CODASYL (redes) Maiores produtos comerciais hoje: DB2, Oracle, Informix, Sybase, MS SQL Server, PostgreSQL. Paradox, Btrieve, Clipper,Progress, Ingres, MaxDB, msql,... Open Source: PostgreSQL, MySQL. Para pequenas BD: MS/Access Anos 2000, SQLite, XML-Database: armazena dados no formato XML NoSQL: Cassandra (Apache) em servidores distribuídos (originalmente Facebook) 19

Muitos tipos de BD dependendo do seu propósito BD activas, BD analíticas, Data Wharehouses, BD na nuven (cloud databases), Distributed databases, BD Espaciais, BD orientadas a documentos, Embedded Databases, Main memory DB, External databases, BD gráficas. (Um tipo de NOSQL database) Armazena nos, arestas e propriedades Hipermedia BD: A WWW pode ser considerada um tipo de BD, RAM databases, Bases de dados de Conhecimento: Knowledge Bases, BD temporais, BD não estruturadas Você seria capaz de criar a sua própria BD para os seus propósitos? 20

FIM DA INTRODUÇÃO 21