SGBD Sistemas de Gestão de Bases de Dados Pedro Amaro – [email protected] Dados e Informação Dados = Factos Dados + Tratamento = Informação Tratamento = Processar, Estruturar, Organizar ou Apresentar Bases de Dados • O que é uma base de dados? –Conjunto de dados organizados e estruturados, relacionados entre si de forma lógica • Exemplos de bases de dados? Vantagens das bases de dados Quais as vantagens de usar bases de dados? • Facilitar o acesso e actualização da informação • Facilitar a pesquisa • Facilitar o tratamentos de dados • Evitar a redundância de informação • Diminuir os riscos de inconsistências na informação Utilização • O utilizador não acede directamente à base de dados • As operações a realizar são efectuadas através de um Sistema de Gestão de Bases de Dados (SGBD) – geralmente conhecido como Database Management System (DBMS) • O SGBD é um interface entre o utilizador e os dados, fornecendo operações que podem ser realizadas sobre os dados • Vantagens: – – – Permite que as bases de dados sejam manipuladas por utilizadores com formação reduzida A independência entre SGBD e BD permite que o SGBD seja actualizado/alterado sem ter impacto na BD Diminui as hipóteses de operações que coloquem em risco a integridade da base de dados Motores de bases de dados • Existem vários motores de bases de dados (database engines), com características diferentes • A escolha do database engine a utilizar depende da finalidade • Exemplos: – – – – Access MySQL SQLServer Oracle Termos de bases de dados • Existem vários motores de bases de dados (database engines), com características diferentes • A escolha do database engine a utilizar depende da finalidade • Exemplos: – – – – Access MySQL SQLServer Oracle Como criar uma base de dados • A abordagem Entidade/Relacionamento tem como objectivo desenhar a estrutura da base de dados a partir de uma situação real • O primeiro passo é identificar os seguintes elementos: – Entidades: objectos envolvidos na situação que pretendemos modelar – Relacionamentos: interacções directas entre as entidades Como criar uma base de dados • Existem três tipos de relacionamentos: – 1 para 1: a cada objecto da entidade A corresponde apenas um objecto da entidade B (cada pessoa tem um cartão de cidadão e cada cartão de cidadão pertence a uma pessoa) – 1 para N: a cada objecto da entidade A correspondem vários objectos da entidade B e a cada objecto de B corresponde um objecto de A (exemplo: um golo é marcado por um jogador, mas um jogador pode marcar vários golos) – N para N: a cada objecto de A correspondem vários objectos de B e viceversa (exemplo: um aluno pode frequentar várias disciplinas e uma disciplina pode ter vários alunos) Como criar uma base de dados • As entidades são definidas por um conjunto de atributos, que definem as suas características • Exemplos: – Jogador: nome, posição, clube – Pessoa: nome, número de cartão de cidadão, data de nascimento, peso, altura • As entidades correspondem a tabelas na base de dados • Cada tabela deve ter uma chave primária, que é um atributo único daquele registo (por exemplo, número de cartão de cidadão na tabela Pessoa) e que não pode ter um valor nulo Modelo ER • O Modelo ER define as entidades e relacionamentos que existem numa base de dados • Deve conter os seguintes elementos: – Entidades (tabelas) – Atributos das entidades (campos) – Relacionamentos entre entidades Exemplo • Definir um modelo ER para a seguinte situação: – Requisições na biblioteca • Um leitor pode fazer requisições • Uma requisição pode conter vários livros • Os leitores são identificados por nome e número de cartão da biblioteca (único) • Os livros são identificados por título, autor e ISBN (único) • As requisições são identificadas por um código de requisição e uma data Exercício • Definir um modelo ER para a seguinte situação: – Conta de jogador num MMORPG (semelhante a World of Warcraft, por exemplo) • Cada jogador tem uma conta, que possui um login, password, primeiro nome, último nome, e-mail, estado e data de criação da conta • Cada conta pode ter 4 personagens. • Cada personagem tem um nome, pontos de energia (HP), pontos de magia (MP), raça, ouro e experiência. Tem também um inventário, que pode conter vários itens. • Cada item é definido pelo nome e tipo (ofensivo, defensivo, utilidade) • Existem 3 raças no jogo (humanos, orcs e elfos), que são identificadas pelo nome e região. Cada personagem pertence apenas a uma raça.