Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Gestão de Banco de Dados 1 Desenho de banco e Modelagem de dados Uma Introdução Roberto Harkovsky, MSc 2 Motivação.... Encomenda: O SENAC RIO deseja controlar a matrícula de seus alunos nas diversas UCs disponíveis para os períodos. O sistema será utilizado durante o semestre letivo .... A secretaria deverá acessar.... Regras: Um aluno pode se matricular em várias UCs Cada UC tem seu código, créditos e respectivo nome As informações de aluno têm nome, matrícula, semestre matriculado e grau obtido em cada UC Roberto Harkovsky, MSc 3 Processo de desenho do banco de dados Análise de requisitos O que vai ser armazenado? Como é que vai ser utilizado? O que vamos fazer com os dados? Quem deve acessar os dados? Pessoas técnicas e não técnicas estão envolvidas Roberto Harkovsky, MSc 4 Encomenda: O SENAC RIO deseja controlar a matrícula de seus alunos nas diversas UCs disponíveis para os períodos. O sistema será utilizado durante o semestre letivo .... A secretaria deverá acessar.... 4 Processo de desenho do banco de dados 2. Modelo Conceitual Uma descrição de alto nível da base de dados Suficientemente precisa que as pessoas técnicas possam entendê-la Mas, não tão precisa que pessoas não-técnicas não possam participar Aqui entra a modelagem de dados. Roberto Harkovsky, MSc 5 Regras: 1. Um aluno pode se matricular em várias UCs 2. Cada UC tem seu código, créditos e respectivo nome 3. As informações de aluno têm nome, matrícula, semestre matriculado e grau obtido em cada UC Processo de desenho do banco de dados 3. Modelagem do BD: Projeto lógico Projeto Físico Projeto de segurança Roberto Harkovsky, MSc 6 Processo de desenho do banco de dados Uma modelagem E/R é uma sintaxe visual para um projeto de BD, que é precisa o suficiente para os pontos técnicos, mas abstrato o suficiente para pessoas não-técnicas. Ex: Modelo E/R & Diagramas usados Roberto Harkovsky, MSc 7 Linguagens dos BDs Linguagem DDL (Data Definition Language) Utilizada para definir esquemas (Schema) conceitual e interno do SGBD O SGBD tem um compilador para processar descrições em DDL e construir a descrição do esquema armazenado no catálogo; Em alguns SGBD o DDL é usado para o esquema conceitual, enquanto uma linguagem interna (SDL – Storage definition Language) Linguagem DML (Data Manipulation Language) Uma vez que o esquema é compilado e a base de dados preenchida com dados, os usuários têm que ter algum modo de manipular os dados. Operações de inclusão, alteração, remoção e recuperação dos dados Roberto Harkovsky, MSc 8 8 O Modelo Relacional 9 O Modelo Relacional Modelo de dados, que se baseia no princípio em que todos os dados estão guardados em tabelas Baseado em lógica de predicados e na teoria de conjuntos. Sucessor do modelo hierárquico e do modelo em rede. Por quê o Modelo Relacional? Simplicidade dos conceitos Definição formal dos conceitos Paradigma formal para linguagens de consulta SGBDs com desempenho adequado, principalmente quanto à otimização de consultas 25 anos de desenvolvimento Roberto Harkovsky, MSc 10 10 Modelo Relacional Um modelo relacional representa o banco de dados como um conjunto de relações. Uma relação pode ser pensada como uma tabela de valores, ou lista de tuplas. Cada linha na tabela representa uma coleção de valores de dados relacionados. Roberto Harkovsky, MSc sid Nome CR 101 Bob 3.2 123 Mary 3.8 Estudantes cid cnome credito 564 Redes4 4 308 BD 2 Cursos sid cid Grau 123 564 A Matricula Relações 11 11 Modelo Relacional dados Um atributo (ou coluna) é uma entrada de dados tipado presente em cada tupla na relação Roberto Harkovsky, MSc sid nome CR 001 Bob 3.2 002 Joe 2.8 003 Mary 3.8 004 Alice 3.5 Estudante 12 12 Modelo Relacional dados sid nome CR 001 Bob 3.2 002 Joe 2.8 003 Mary 3.8 004 Alice 3.5 Uma tupla ou linha (ou registro) é uma única entrada na tabela tendo os atributos especificados pelo esquema Roberto Harkovsky, MSc Estudante 13 13 Modelo Relacional dados Uma Instância Relacional ou Relação é um conjunto de tuplas em conformidade com o mesmo esquema Roberto Harkovsky, MSc sid nome CR 001 Bob 3.2 002 Joe 2.8 003 Mary 3.8 004 Alice 3.5 Estudante 14 14 Modelo Relacional esquemas Esquema relacional: Estudante(sid: string, nome: string, CR: float) Atributos String, float, int, etc. são os domínios dos atributos Nome da relação Roberto Harkovsky, MSc 15 15 banco de dados relacional Um esquema de banco de dados relacional é um conjunto de esquemas relacionais, uma para cada relação Uma instância de banco de dados relacional é um conjunto de instâncias relacionais, uma para cada relação Duas convenções: Chamamos as instâncias de banco de dados relacionais como simplesmente bancos de dados Assumimos que todas as instâncias são válidas, isto é, satisfazem as restrições de domínio Roberto Harkovsky, MSc 16 16 Resumindo... Tupla: uma linha Atributo: é o cabeçalho da coluna Relação: é a tabela Domínio: são os valores aceitáveis para um atributo Exemplo: Seja o esquema Aluno(Nome, Mat, FoneRes, Endereco, FoneCom, Idade, CR) Relação: Aluno Atributo: (7 atributos) - Nome, Mat, FoneRes, Endereco, FoneCom, Idade, CR Domínio: Dom(Nome)=nomes; Dom(Mat)= números Tupla: <Roberto, 001,222-2222,rua ..., 98765432, 40, 9,1> Roberto Harkovsky, MSc 17 17 Atributos chaves Roberto Harkovsky, MSc 18 Chaves num Banco de Dados As chaves são parte muito importante da base de dados relacional. Elas são usadas para estabelecer e identificar relação entre as tabelas. Elas também asseguram que cada registo dentro de uma tabela possa ser identificada de forma única por uma combinação de um ou mais campos dentro de uma tabela Chaves são atributos que aparecem sublinhadas nos esquemas Produto(Pnome: string, Preco: float, Categoria: string, Fabricante: string) Roberto Harkovsky, MSc 19 Atributos Chaves algumas definições... Superchave Conjunto de um ou mais atributos que nos permite identificar inequivocamente uma tupla Duas tuplas não podem ter a mesma superchave A superchave pode conter atributos desnecessários. Por exemplo: A relação Pessoa pode ter como superchave Pessoa(CPF, Nome, endereço,....) Superchaves possíveis {CPF} {CPF, nome} {CPF, nome, Endereco} Etc... Roberto Harkovsky, MSc 20 20 Atributos Chaves Chave Superchave mínima Pode existir mais de uma chave nesta condição: Chave Candidata Chave Candidata são as menores superchaves possíveis (cujos subconjuntos não sejam superchaves), EMPREGADO(ENOME, CPF, MAT, NDATA, ENDERECO, DEPNUM*) Chaves. {CPF} e {MAT} Roberto Harkovsky, MSc 21 21 Chave primária Chave Primária -> Chave Candidata escolhida Chave Primária é a chave que identificam exclusivamente cada registro em uma tabela é uma chave candidata que é mais apropriada para se tornar chave principal da tabela. Por convenção, ela aparece sublinhada num esquema Roberto Harkovsky, MSc sid Nome CR 101 Bob 7.2 123 Mary 8.8 Estudantes cid cnome credito 564 Redes4 4 308 DB 2 Cursos sid cid Grau 123 564 7,5 22 22 Chave Estrangeira Uma chave estrangeira é um campo (ou conjunto de campos) em uma tabela que identifica unicamente uma linha de outra tabela ou na mesma mesa. Roberto Harkovsky, MSc sid Nome CR 101 Bob 7.2 123 Mary 8.8 Estudantes cid cnome credito 564 Redes4 4 308 DB 2 Cursos sid cid Grau 123 564 7,5 23 23 Suponha que temos o seguinte esquema: Para estar matriculado em um curso (cid), um estudante (sid) deve aparecer na tabela matrícula; Chave Estrangeira exemplo student_id por si só não é uma chave primaria – qual seria?? sid nome CR 101 Bob 3.2 123 Mary 9.8 student_id cid grau 123 564 9,0 123 537 7,5 Estudantes Matricula Dizemos que student_id é uma chave estrangeira que se refere a estudantes (sid) Estudante(sid: string, nome: string, CR: float) Matricula(student_id: string, cid: string, grau: string) Roberto Harkovsky, MSc 24 24 Chave Estrangeira exemplos PNome Preco Categoria Fabricante Gizmo $19.99 Gadgets GizmoWorks Powergizmo $29.99 Gadgets GizmoWorks SingleTouch $149.99 Photography Canon MultiTouch $203.99 Household Hitachi Produto Companhia CNome PrecoAcao Pais GizmoWorks 25 USA Canon 65 Japan Hitachi 15 Japan chave estrangeira vs. Chave Primaria? Produto(PNome, Preco, Categoria, Fabricante) Companhia(Cnome, PrecoAcao, Pais) Roberto Harkovsky, MSc 25 25 Arquitetura funcional Roberto Harkovsky, MSc 26 Arquitetura Funcional A principal proposição do modelo relacional é que todos os dados são representados como relações matemáticas um subconjunto do produto Cartesiano de n conjuntos. No modelo matemático (diferentemente do SQL), a análise dos dados é feita em uma lógica de predicados de dois valores (ou seja, sem o valor nulo); Existem apenas dois possíveis valores para uma proposição: verdadeira ou falsa. Os dados são tratados pelo cálculo relacional ou álgebra relacional. A linguagem padrão para os bancos de dados relacionais é o SQL (Structured Query Language) Definição – DDL Manipulação – DML Data Control Language – DCL Transaçao – TCL Roberto Harkovsky, MSc 27 27 Arquitetura Funcional Componentes Roberto Harkovsky, MSc 28 28 Arquitetura Funcional Componentes Roberto Harkovsky, MSc A interação principal é através de comandos SQL Armazena-se não somente dados, mas também índices, Logs, metadados Processadores controladores internos fazem parte de um sistema chamado “Subsistema de armazenamento” 29 29 Arquitetura Funcional Componentes Roberto Harkovsky, MSc Base de dados do BD! Contém informações sobre os BDs armazenados e sobre o ambiente Utilizada pelo DBA para administração dos BDS e gerência do SGBD Também conhecida como dicionário de dados ou catálogo 30 30 Arquitetura Funcional Componentes Roberto Harkovsky, MSc Otimização (heurística) de consultas 31 31 Arquitetura Funcional Componentes Roberto Harkovsky, MSc Tratamento da requisição da linguagem de alto nível, verificando a sintaxe e semântica com relação ao esquema estabelecido Determinação do plano de acesso aos dados, indicando estruturas de armazenamentos e índices 32 32 Arquitetura Funcional Componentes Roberto Harkovsky, MSc Controle de Transações Tudo para o SGBD é uma transação Uma consulta simples, uma atualização numa tupla são transações Garante a consistência de dados com execução concorrente de múltipla transações Simula multiprocessamento Gerência de bloqueios Responsáveis pelo Log do sistema e sua recuperação 33 33 Atividade 0 Instalação de um SGBD Roberto Harkovsky, MSc 34 SQL Otimizador Processador de Consultas Controlador de Concorrências Controlador de Transação e Recuperação SQL Otimizador Processador de Consultas Controlador de Concorrências Controlador de Transação e Recuperação SQL Otimizador Processador de Consultas Controlador de Concorrências Controlador de Transação e Recuperação SQL Otimizador Processador de Consultas Controlador de Concorrências Controlador de Transação e Recuperação SQL Otimizador Processador de Consultas Controlador de Concorrências Controlador de Transação e Recuperação SQL Otimizador Processador de Consultas Controlador de Concorrências Controlador de Transação e Recuperação
Compartilhar