1.04k likes | 1.39k Views
BANCOS DE DADOS. ProfessoR rafael silva. OBJETIVOS DA DISCIPLINA. Apresentar os principais conceitos de bancos de dados Compreender a importância da utilização de bancos de dados Ensinar técnicas para projetos e modelagem de bancos de dados Apresentar a linguagem SQL
E N D
BANCOS DE DADOS ProfessoRrafael silva
OBJETIVOS DA DISCIPLINA • Apresentar os principais conceitos de bancos de dados • Compreender a importância da utilização de bancos de dados • Ensinar técnicas para projetos e modelagem de bancos de dados • Apresentar a linguagem SQL • Apresentar o SGBD MySql, permitindo a criação e manipulação de bancos de dados
INTRODUÇÃO • O que é banco de dados? • Existem vários conceitos para o que chamamos de bancos de dados, mas todos remetem à mesma ideia: Uma coleção compartilhada de dados, inter-relacionados, projetados para atender as necessidades dos múltiplos tipos de usuários. • Dado x informação: • Dado: valor “solto” na natureza, cujo significado depende do contexto. • Ex: -1, 3.14, 853, prata • Informação: É um valor para determinado objetivo, acrescenta conhecimento ao fato analisado. Pode ser extraída de um banco de dados • Ex: “A temperatura na cidade X foi de -1 grau”, “Meu carro é prata”, “3.14 é o valor de pi”
IMPORTÂNCIA DOS BDs • O mundo hoje é totalmente informatizado • Pessoas e empresas são cada vez mais dependentes da informática • Tudo gira em torno de dados (vendas, operações bancárias, gerenciamento de empresas, escolas e/ou órgãos públicos, etc.) • Os bancos de dados permitem o armazenamento destas informações, considerando aspectos fundamentais como segurança, rapidez no acesso e confiabilidade.
VANTAGENS DE UM BD • Controle de redundância • Compartilhamento entre múltiplos usuários • Restrição de acesso aos dados • Diferentes tipos de interface para diferentes usuários • Representação dos dados com um nível grande de complexidade • Garante a restrição de integridade (manter dados íntegros) • Mecanismos de backup e recuperação de dados • Flexibilidade na mudança das estruturas de dados
SISTEMAS DE BANCOS DE DADOS • Envolvem quatro elementos: • Dados : são os elementos essenciais (afinal de contas, o banco de dados é um repositório) • Hardware: composto por volumes de armazenamento (discos), processadores de HD e memória (dar suporte à execução dos SGBDs) • Software: programas usados para criar e gerenciar os bancos de dados; também entram os utilitários, ferramentas de desenvolvimento, geradores de relatórios, etc • Usuários: pessoas que usarão os bancos de dados
TIPOS DE USUÁRIOS • Programadores: criam programas para acessar os bancos de dados • Usuários finais: acessam os bancos de dados interativamente • Profissionais: usuários com conhecimentos específicos sobre bancos de dados. Podem ser: • Administrador de dados: responsável pelos dados, decidem o que deve ser armazenado • DBA: Responsável pela implementação das decisões do administrador; cria os bancos de dados e implementa controles necessários
SGBDS • Sigla para Sistemas Gerenciadores de Bancos de Dados. São softwares que tem como objetivos permitir a criação e manutenção de banco de dados, além da manipulação dos dados armazenados. • Alguns SGBDs: • Access, • SQLServer • Oracle • MySQL • PostGre
LINGUAGEM SQL • Linguagem padronizada para manipulação de bancos de dados, usadas nos SGBDs • Dividida em: • DDL - Linguagem de Definição de Dados • DML - Linguagem de Manipulação de Dados • DCL - Linguagem de Controle de Dados • DTL - Linguagem de Transação de Dados • DQL - Linguagem de Consulta de Dados
ABSTRAÇÃO DE DADOS • Nível de visões do usuário ou externo: descreve partes do banco de dados, de acordo com as necessidades de cada usuário, individualmente. • Nível conceitual ou lógico: descreve quais dados estão armazenados e seus relacionamentos. Neste nível, o banco de dados é descrito através de estruturas relativamente simples, que podem envolver estruturas complexas no nível físico. • Nível físico: nível mais baixo de abstração. Descreve como os dados estão realmente armazenados, englobando estruturas complexas de baixo nível.
INSTÂNCIAS E ESQUEMAS • Instância: Os dados atuais armazenados no Banco de Dados em um momento particular. Também chamado estado do banco de dados. • Esquema: Descrição da estrutura de um Banco de Dados. Pode ser textual ou gráfico. Conhecido também como o projeto geral do banco de dados.
INDEPENDÊNCIA DE DADOS • Capacidade de modificar os esquemas de um banco de dados sem afetar um esquema de nível superior. Existem dois níveis de independência: • Física: capacidade de modificar o esquema físico sem que haja qualquer necessidade de reescrever alguma aplicação. Usada para promover melhorias no desempenho. • Lógica: capacidade de modificar o esquema lógico sem que haja qualquer necessidade de reescrever alguma aplicação. Necessárias quando uma estrutura lógica é alterada (ex: inserção de novas moedas num sistema)
MODELO DE DADOS • Conceituais (Alto Nível) • Entidade-Relacionamento • Objeto-Relacional (BDII) • Orientado a Objeto (BDII) • Implementação (Lógicos) • Relacional • Rede (BD mais antigos) • Hierárquico (BD mais antigos) • Físicos
MODELO ENTIDADE-RELACIONAMENTO • Modelo proposto por Peter Chen, baseado na percepção do mundo real. • Formado por um conjunto de objetos básicos denominados entidades e nos relacionamentos entre tais objetos. • Tal modelo permite especificar a estrutura lógica do banco de dados.
MODELO ENTIDADE-RELACIONAMENTO • O Diagrama Entidade-Relacionamento (DER) permite representar graficamente a estrutura lógica de um banco de dados. • De um modo geral, para nos auxiliar na elaboração de um DER, podemos dizer que os substantivos de uma frase são as entidades e os verbos são os relacionamentos entre as entidades.
MODELO ENTIDADE-RELACIONAMENTO • Entidade: Podemos definir uma entidade como sendo um objeto do mundo real, com significado próprio e identificação distinta. Pode ser pessoa, animal, conta bancária, produto, veículo, etc. – depende do contexto. • Entidade fraca: Entidade cuja existência depende obrigatoriamente de outra entidade. Por exemplo, em um clube, não existe dependente sem um sócio. Assim, a entidade dependente é fraca.
MODELO ENTIDADE-RELACIONAMENTO • Atributo: Toda entidade é descrita sob a forma de atributos. É simplesmente um item que ajuda a descrever entidade. Por exemplo, uma entidade chamada ALUNO pode ter os seguintes atributos: matrícula, nome, data de nascimento, nota. • Atributo chave: Chave primária é um atributo de uma entidade, cuja função principal é identificar uma instância unicamente; deve ser um valor não nulo que não se repete dentre as instâncias de uma mesma entidade. Por exemplo, para a entidade ALUNO, a matrícula seria a chave primária, já que não podemos ter dois ou mais alunos com a mesma matrícula.
MODELO ENTIDADE-RELACIONAMENTO Outros tipos de chaves: • Superchave: Conjunto de um ou mais atributos que, tomado coletivamente, permite-nos identificar unicamente uma instância de entidade. • Chaves candidatas: Chaves com unicidade em uma instância: Ex: CPF, RG, título eleitoral. Todos os atributos que conseguem identificar uma instância. • Chave secundária: Chave sem unicidade em uma instância. Ex: idade, sexo, endereço.
MODELO ENTIDADE-RELACIONAMENTO • Atributo multivalorado: Atributo que pode ocorrer diversas vezes para uma mesma instância de entidade. Como exemplo, para a entidade ALUNO, podemos ter mais de um email. • Atributo composto: Atributo que pode ser desmembrado em outros atributos. Como exemplo, o atributo telefone da entidade ALUNO (formado por DDD + número do telefone). • Atributo derivado: atributo cujo valor é calculado a partir do valor de outro atributo. Ex: o atributo idade de entidade ALUNO é derivado, já que pode ser obtido a partir do valor do atributo data de nascimento.
MODELO ENTIDADE-RELACIONAMENTO • Relacionamento: Termo usado para representar a associação entre entidades. • Deve ser identificado por um verbo. • Os relacionamentos possuem cardinalidade, identificação de quantas ocorrências de uma entidade têm correspondência na entidade relacionada.
CARDINALIDADE Tipos de cardinalidade: • 1:1 (um para um) – cada ocorrência de uma entidade está relacionada a apenas uma ocorrência da outra entidade. • 1:N (um para muitos) - cada ocorrência de uma entidade está relacionada a várias ocorrências da outra entidade. • N:N (muitos para muitos) - cada ocorrência de uma entidade está relacionada a várias ocorrências da outra entidade e vice-versa. Este tipo de relacionamento dá origem a outra entidade.
EXEMPLOS Relacionamento 1:1 Um coordenador cuida de apenas uma disciplina e cada disciplina é de responsabilidade de apenas um coordenador
EXEMPLOS Relacionamento 1:N Um curso pode ter vários alunos, mas cada aluno só pode estar matriculado em um curso
EXEMPLOS Relacionamento N:N Um aluno faz cursa várias disciplinas e cada disciplina pode ter vários alunos Obs: Este tipo de entidade tem representação diferente e é conhecido como ENTIDADE ASSOCIATIVA
Cursa Disciplinas Aluno EXEMPLO O relacionamento CURSA descrito a seguir será transformado em entidade associativa. Nome Código RA Nome Nota
AUTO RELACIONAMENTOS Tipo de situação onde uma instância de uma entidade tem relação com outra instância da mesma entidade. É fundamental saber o papel de cada instância da entidade.
Casado 1 Funcionário 1 Funcionário AUTO RELACIONAMENTOS Casado Marido Funcionário 1 Esposa
Generalização/Especialização • Em algumas situações, uma entidade pode conter instâncias com atributos diferentes. • Neste caso, é possível visualizar uma herança de propriedades • Para situações como essa, usamos os conceitos de generalização e especialização
Cliente Código Nome P. Física P. Jurídica CNPJ CPF EXEMPLO
EXEMPLO • Neste caso, a entidade CLIENTE é de um nível superior ou genérico (GENERALIZAÇÃO). • As entidades PESSOA FÍSICA e PESSOA JURÍDICA são entidades de nível inferior (ESPECIALIZAÇÃO) • Os atributos descritos na entidade CLIENTE são comuns às entidades PESSOA FÍSICA e PESSOA JURÍDICA
EXEMPLO – DER (Consultório) Um médico trata de pacientes. Do médico deseja-se saber CRM, nome e suas especializações. O paciente é tratado por vários médicos. Do paciente necessitamos saber o nome, endereço e idade. O médico pede exames para o paciente. Para cada pedido de exame está associado um único tipo de exame. Tal pedido se faz com uma justificativa.
CRM Nome Nome Código Endereço Trata Médico Paciente M N Especializações M N Data Nasc. Idade Pede Exames Justificativa Data Pedido 1 Tipo Exame Código Nome
EXEMPLO - DER (Pizzaria) Um cliente faz pedidos. Cada pedido possui diversos itens de pedido. Cada pedido é entregue por um motoboy. Cada item corresponde a um produto.
Motoboy Cód. Motoboy Entrega Nome Cód. Cliente Nome Data Pedido Cód. Pedido Faz Cliente Pedido 1 N 1 Endereço Telefone Possui Cód. Item Corresponde Produto 1 Valor N Item Cód. Produto N Descrição Quantidade
EXEMPLO – DER(Empresa) Um funcionário trabalha para um departamento. Cada funcionário possui diversos dependentes. Um departamento controla diversos projetos, sendo que um projeto só é controlado por um único departamento. Diversos funcionários participam por um certo número de horas em um projeto.
Código Nome Nome Código Trabalha para Funcionário Departamento N 1 N 1 1 CPF Controla Possui Qtd. Horas Participa Data Início Código Nome N Dependente N Projeto M Data Término Nome Código
EXERCÍCIOS Elabore o DER considerando as seguintes regras de negócio de uma Construtora : • Uma obra possui vários Engenheiros mas um Engenheiro só pode trabalhar em apenas uma obra até a sua conclusão. • Um obra utiliza vários materiais e um material pode ser utilizado em várias obras. • Em uma obra trabalham vários pedreiros e um pedreiro pode ser escalado para trabalhar em várias obras
EXERCÍCIOS • Elabore o DER considerando as seguintes regras de negócio de uma Escola : - Uma classe possui vários alunos mas um aluno só pode estudar em apenas uma classe- Um professor pode lecionar várias matérias e uma matéria pode ser lecionada por vários professores- Uma classe possui apenas um professor responsável mas um professor pode ser responsável por várias classes
EXERCÍCIOS • Elabore o DER considerando as seguintes regras de negócio de uma Clínica médica : - Um médico atende vários pacientes e um paciente pode ser atendido por vários médicos.- Podem existir vários médicos de uma especialidade médica mas cada médico trabalha com apenas uma especialidade- Um médico pode ser credenciado em vários convênios e um convênio pode ter vários médicos da clínica credenciados.
EXERCÍCIOS • Elabore um DER para uma biblioteca, considerando as seguintes regras de negócio: - Uma editora publica vários livros e um livro pertence apenas uma editora. - Um escritor pode escrever vários livros e um livro por vários escritores - Uma editora possui vários escritores filiados e um escritor durante sua vida Profissional pode ter se filiado a várias editoras
EXERCÍCIOS • Elabore o DER considerando as seguintes regras de negócio - Em um turno estudam vários alunos e um aluno só estuda em um turno. - Em um turno trabalham vários professores e um professor pode trabalhar em vários turnos. - Cada turno tem uma coordenadora, que pode coordenar mais de um turno
EXERCÍCIOS • Elabore um DER para uma empresa, considerando as seguintes regras de negócio: - Um gerente coordena vários departamentos e um departamento só tem um gerente. - Em um departamento trabalham vários funcionários e um funcionário trabalha só em um departamento. - Um dependente só pode ser relacionado a um funcionário, mas um funcionário pode ter vários dependentes
EXERCÍCIOS Elabore o DER considerando as seguintes regras de negócio: - Um departamento pode requisitar vários materiais. E um material pode ser requisitado por vários departamentos. - Um fornecedor pode fornecer vários materiais, e um material pode ser fornecido por diversos fornecedores. - Um representante pode representar vários fornecedores e um fornecedor pode ser representado por vários representantes.
EXERCÍCIOS Elabore o DER considerando as seguintes regras de negócio - Um professor de educação física pode ter formação para várias modalidades esportivas. E uma modalidade esportiva pode ser ensinada por vários professores. - Uma modalidade esportiva pode ser oferecida em vários turnos. E um turno pode ter várias modalidades. - Um turno pode ter várias turmas, mas cada turma pertence apenas a um turno. - Um professor leciona para várias turmas e uma turma tem vários professores
EXERCÍCIOS • Elabore o DER considerando as seguintes regras de negócio - Um professor pode lecionar em várias classes e em uma classe podem lecionar vários professores. - Um aluno pode frequentar várias classes e uma classe é frequentada por vários alunos. - Um professor é habilitado para várias disciplinas e uma disciplina tem vários professores habilitados. - Um aluno é pontuado em várias disciplinas e cada disciplina pontua vários alunos
MODELO RELACIONAL • Criado por Edgar Codd (1970) • É um modelo intermediário entre os modelos conceitual e físico. • O modelo relacional é um esquema lógico bem próximo ao físico, também dependente do SGBD escolhido. • Deve ser criado conforme as definições do modelo conceitual • A maioria dos SGBDs atuais são relacionais
MODELO RELACIONAL • Principais características de uma relação(tabela) • As tuplas são armazenadas na ordem em que estas forem sendo inseridas no BD • A ordem dos valores em uma tuplasegue a ordem dos atributos na definição de um esquema • O valor de cada atributo é atômico(único), não pode ser composto
CodCliente Cliente Entidade: Atributos Nome Telefone MODELO RELACIONAL
MODELO RELACIONAL • Relacionamentos N:N darão origem a uma nova tabela com 2 relacionamentos 1:N; • Deve-se propagar o atributo identificador (chave primária) para a tabela na qual a cardinalidade do relacionamento seja N (chave estrangeira); • Atributos multivalorados em geral dão origem a uma nova entidade/tabela (fraca).