Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS Disciplina: Banco de Dados Prof: Márcio Palheta, Esp Manaus - AM
ROTEIRO Linguagens do SGBD Usuários do SGBD Modelos de Dados Alguns conceitos importantes Referência 2
LINGUAGENS DO SGBD Linguagem de Definição de Dados - DDL Um esquema conceitual de banco de dados é especificado por um conjunto de definições expressas por uma linguagem especial chamada linguagem de definição de dados (Data Definition Language, DDL) O resultado da compilação de comandos de uma DDL é um conjunto tabelas que são armazenadas em um arquivo especial chamado dicionário (ou diretório) de dados 3
Linguagem de Definição de Dados - DDL Um dicionário de dados é um arquivo que contém metadados, ou seja, "dados que explicam dados Este arquivo é consultado antes que os dados sejam lidos ou modificados no sistema de banco de dados 4
Linguagem de Definição de Dados - DDL A estrutura de armazenagem e os métodos de acesso usados em um sistema de banco de dados são especificados por um conjunto de definições em um tipo especial de DDL chamado linguagem de armazenagem e definição de dados (Store Definition language - SDL) O resultado da compilação destas definições é um conjunto de instruções para especificar a implementação de detalhes do esquema de banco de dados que estão normalmente escondidos dos usuários 5
Linguagem de Definição de Dados - DDL A linguagem de armazenagem e definição de dados é a principal responsável em implementar as definições de um banco de dados detalhadamente A Linguagem de Definição de Dados (DDL) é usada pelo DBA (Data Base Administrador) e pelos Projetistas do Banco de Dados (Engenheiros de Software, Analistas de Sistema) 6
Linguagem de Manipulação de Dados - DML Os níveis de abstração já discutidos: Nível físico, conceitual e visão não se aplica somente a estrutura de dados, mas a sua manipulação: Inserção, remoção, alteração, e busca A DML (Data Manipulation Language) é a linguagem que permite aos usuários fazer o acesso aos dados ou manipulá-los, conforme modelo de dados apropriado Hierárquico, Redes e Relacional 7
Linguagem de Manipulação de Dados - DML Existem basicamente dois tipos: DMLs procedurais DMLs não-procedurais 8
Linguagem de Manipulação de Dados - DML DMLs procedurais: Exigem que o usuário especifique qual dado é necessário e como obtê-lo Deve estar embutida em linguagem de programação (C, python, PL-SQL) Esse tipo de DML recupera os registros individuais ou objetos do banco de dados e os processa separadamente (exigindo que se use estruturas de controle da linguagem. Ex: laços de repetição, condição...) 9
Linguagem de Manipulação de Dados - DML DMLs não-procedurais: Exige do usuário a especificação de qual dado é necessário sem especificar como obtê-lo podem especificar e restaurar muitos registros em único comando, por isso são chamadas DMLs um-conjunto-por-vez (set-at-a-time) ou orientadas a conjunto Ex: SQL Elas, também, são chamadas de declarativas 10
Linguagem de Manipulação de Dados - DML Uma consulta (query) é uma solicitação para recuperar informações A linguagem de consulta (query language) é PARTE da DML responsável pela recuperação de informação OBS: é incorreto tecnicamente referenciar a linguagem de consulta como sinônimo de DML Logo, a linguagem SQL contém sua própria linguagem de consulta (query language) 11
USUÁRIOS DO SGBD
Administradores de Banco de Dados Uma das principais razões para empregar um gerenciador de banco de dados é ter um controle central dos dados e dos programas de acesso a eles A pessoa que tem esse controle sobre os sistema é chamada administrador de banco de dados (database administrator, DBA) 13
Administradores de Banco de Dados As funções ou atribuições de um DBA Definição do esquema; Definição das estruturas de armazenamento e métodos de acesso; Modificação do esquema e de organização física; Concessão de autorização para acesso aos dados; Especificação de restrição de integridade; 14
Administradores de Banco de Dados Definição de estruturas de armazenamento e métodos de acesso Estruturas apropriadas de armazenamento e métodos de acesso são criados escrevendo-se um conjunto de definições que são traduzidas pelo compilador de estruturas de dados e de linguagem de definição 15
Administradores de Banco de Dados Modificação do esquema e de organização física Modificações no esquema do banco de dados ou na descrição da organização da armazenagem física, embora relativamente raras, são executadas escrevendo-se um conjunto de definições que são usadas pelo compilador de DDL ou pelo compilador de estruturas de dados e linguagem de definição para gerar modificações nas respectivas tabelas internas do sistema (como, por exemplo, o dicionário de dados) 16
Administradores de Banco de Dados Uma forma simples de alterar as tabelas internas é usar o comando Alter Table Porém, quando se tem somente dados de testes, pode se remover (drop table) o esquema e recriá-lo com uma ferramenta case (Workbech ou ER-Win) Mas, quando sem tem o banco povoado com dados reais, técnicas de organização e modificação de esquema devem ser aplicada devido a existência de relacionamentos, de restrições, etc 17
Administradores de Banco de Dados Concessão de autorização para acesso aos dados A concessão de diferentes tipos de autorização permite ao administrador do banco de dados regular a quais partes do banco de dados os diversos usuários podem fazer acesso 18
Administradores de Banco de Dados Especificação de restrição de integridade Restrições de integridade são mantidas em uma estrutura especial do sistema, consultada pelo gerenciador do banco de dados quando uma atualização ou inserção é feita no sistema 19
Usuários do SGBD A meta principal de um sistema de banco de dados é prover um ambiente para buscar e armazenar novas informações no banco de dados Há quatro tipos de usuários finais: Casuais Iniciantes Sofisticados Autonômos (stand-alone) 20
Casuais Acessam o banco de dados ocasionalmente, mas precisam de informação diferente a cada acesso Fazem uso de linguagens de consulta sofisticadas para especificar as suas solicitações 21
Iniciantes ou ingênuos Compõe uma grande parcela dos usuários de Banco de Dados Trabalham constantemente com consultas e atualizações de banco de dados chamadas de transações enlatada (consultas programadas e testadas somente para uso direto) Exemplo: Funcionários que fazem reservas de voos, hotéis e aluguéis de carro verificam a vialibidade para atender as solicitações de reservas e as confirmam (via Formulário) 22
Sofisticados Incluem os engenheiros, cientistas, analistas de negócio e outros que se familiarizam com as facilidades do SGBDs para implementar aplicações que atenda as suas solicitações complexas Exemplo: Sistemas especialistas, sistemas de base de conhecimento e sistemas que modelam o ambiente 23
Autônomos Mantêm um banco de dados pessoal por meio do uso de pacotes de programas pronto, os quais possuem interfaces gráficas ou programas baseados em menus fáceis de usar Exemplo: Excel com Access, pacote de cálculo de impostos que armazena os dados financeiros e pessoais 24
MODELOS DE DADOS
Modelos de Dados Definição: Conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados Estrutura Estrutura de um BD entenda como sendo os tipos de dados, relacionamentos e restrições que devem suportar os dados 26
Modelos de Dados Característica O uso de banco de dados permite a abstração de dados, ocultando detalhes do armazenamento de dados, que são desnecessários para a maioria dos usuários de um BD Operações Básicas Inserir Excluir Modificar Pesquisar 27
Categorias Modelos de dados conceituais (alto nível) Possuem conceitos que descrevem os dados como os usuários os percebem Modelos de dados físico (baixo nível) Possuem conceitos que descrevem como os dados estão armazenados no computador 28
Categorias Modelos de dados representacionais (implementação) Fornece conceitos que podem ser entendidos pelos usuários finais, mas não excessivamente distantes da forma como os dados então organizados no computador Essa categoria oculta alguns detalhes de armazenamento de dados, porém pode ser implementados em sistema de computador diretamente 29
Categorias Modelos lógicos com base em registros Estruturados por meio de registro fixo São usados para descrever os dados no nível lógico e de visão cada registro define um número fixo de campos ou atributos, e cada campo possui normalmente um tamanho fixo 30
Categorias Modelos lógicos com base em registros Os três modelos de dados com base em registros mais comumente utilizados são: Relacional Rede Hierárquico 31
Modelo Relacional Conjunto de tabelas para representar tanto os dados como a relação entre eles Cada tabela possuí múltiplas colunas e um nome único 32
Modelo Relacional Nome_cliente Seguro_Social Cidade_cliente Número_conta Jõao Pedro 336-66-9999 Manaus A-222 Ana Maria 019-28-3746 Manaus A-201 Conta Número_conta Saldo A-222 500 A-201 700 Banco de Dados Relacional 33
Modelo de Rede Os dados são representados por um conjunto de registros e as relações entre estes registros são representadas por links, as quais podem ser vistas pelos ponteiros 34
Modelo de Rede Jõao Pedro 336-66-9999 Manaus A-222 Ana Maria 019-28-3746 Manaus A-201 A-222 500 A-201 700 Banco de Dados em Rede 35
Modelo Hierárquico Similar ao modelo de redes, pois dados e suas relações são representados por registros e links, porém os registros são organizados em árvores e não em gráficos arbitrários 36
Modelo Hierárquico Jõao Pedro 336-66-9999 Manaus A-222 Ana Maria 019-28-3746 Manaus A-201 A-222 500 A-201 700 Banco de Dados Hierárquico 37
ALGUNS CONCEITOS IMPORTANTES
Entidades Representa um objeto do mundo real ou um conceito. Exemplos: um funcionário um projeto 39
Atributos Corresponde a alguma propriedade de interesse que ajuda a descrever uma entidade Exemplos: Nome do funcionário ou do projeto Salário do funcionário 40
Relacionamento O relacionamento entre duas ou mais entidades mostra uma associação entre elas Exemplos: Relacionamento Trabalha-em entre as entidades funcionário e projeto Funcionário Trabalha-em Projeto 41
REFERÊNCIAS ELMASRI, R., NAVATHE, S. B. Sistemas de Banco de Dados, 4ª Edição. Editora Pearson Addison Wesley. Ano 2005 SILBERSCHATZ, A., KORTH, H. F., SUDARSHAN, S., Sistema de Banco de Dados, 3ª Edição, Makron Books. 1999 http://www.ime.usp.br/~andrers/aulas/bd2005-1/aula5.html 42