Introdução a Bancos de Dados, SGBD e Modelagem
Classificado em Computação
Escrito em em português com um tamanho de 6,01 KB.
O que é um Banco de Dados?
É uma coleção de dados operacionais armazenados e usados pelas aplicações de uma determinada organização.
Origem
Foi concebido pelo Departamento de Defesa dos EUA em 1957 e divulgado através da conferência chamada CODASYL. Nessa mesma conferência foi apresentada a linguagem de programação COBOL.
Conceito de Database
"Um conjunto de arquivos (tabelas), onde um arquivo é uma coleção ordenada de registros (linhas), e um registro consiste em uma ou mais chaves de dados."
O que é um SGBD?
Sistema de Gerenciamento de Banco de Dados (SGBD) é um conjunto de sistemas que permite criar e manter um banco de dados.
Banco de Dados + SGBD = Sistema de Banco de Dados
Vantagens de Utilizar um SGBD
- Controle de redundância dos dados
- Controle de acesso (segurança)
- Recuperações de Falhas
- Armazenamento persistente dos dados
Quando Não Utilizar um SGBD
Situações desaconselhadas:
- Aplicações em tempo real
- Aplicações simples e bem definidas que não se espera mudanças
- Aplicações onde não é necessário acesso multiusuário
Motivos:
- Investimento Inicial Alto
- Generalidade na definição e manipulação dos dados
Características da Abordagem de BD
- Autodescrição dos dados
- Isolamento entre programas e dados: abstração de dados
- Suporte a múltiplas visões de dados
- Compartilhamento de dados e processamento de transações coerentes
Implicações da Abordagem de BD
- Economia de escala
- Flexibilidade
- Redução do tempo de desenvolvimento das aplicações
Usuários Envolvidos no SGBD
Database Administrator (DBA)
Responsável por autorizar acessos, monitorar o uso do SGBD, corrigir falhas, melhorar o tempo de resposta, efetuar backups.
Projetista de Banco de Dados
Responsável por se comunicar com os usuários finais a fim de entender suas necessidades e projetar um banco de dados que atenda suas expectativas.
Usuários Finais
Pessoas que têm acesso e interagem com o banco de dados concebido para que atenda suas necessidades. São eles:
- Usuários Casuais: Interagem esporadicamente. Conhecem SQL.
- Usuários Iniciantes: Sem experiência, são a maioria dos usuários.
- Usuário Sofisticado: Possui nível técnico avançado, conhecem SQL.
- Usuário Isolado: Interagem através de menus gráficos.
Analistas de Sistemas/Programadores
Responsáveis por projetar e desenvolver sistemas que terão interação com um banco de dados.
Modelos de Dados
Quanto ao modelo de dados adotado, existem:
- Relacionais
- De Rede
- Hierárquicos
- Orientados a Objeto
- Objetos-relacionais
Modelos de Dados: Conjunto de conceitos básicos usados para descrever a estrutura de um banco de dados.
Esquema: Descrição da estrutura de um banco de dados de acordo com um determinado modelo de dados.
Instância: Conjunto de dados armazenados em um Banco de Dados em um determinado instante de tempo.
Divisão do Projeto de BD
- Modelo Conceitual
- Modelo Lógico / Projeto Lógico
- Modelo Físico
Modelo Conceitual
Utilizado para descrever a estrutura do banco de dados de uma forma mais próxima da percepção dos usuários.
Ex. Conceitos: Entidades, atributos, relacionamentos.
Exemplos:
- Modelo de entidade-relacionamento (ER)
- Modelo funcional
- Modelo orientado a objeto (OO)
Modelos Lógicos
Utilizado para descrever a estrutura do banco de dados da forma como será manipulado pelo SGBD.
Exemplos:
- Modelo Relacional
- Modelo de Rede (CODASYL)
- Modelo Hierárquico
Definição de SQL
Linguagem padrão para manipular todos os objetos dentro do banco de dados. Divide-se em 3 grupos:
- DDL (Data Definition Language): Usada para definir esquemas, estruturas, tabelas/atributos.
- DML (Data Manipulation Language): Seleção, inserção, remoção, modificação de registro.
- DCL (Data Control Language): Controle de acesso a um banco de dados.
Modelagem Entidade-Relacionamento e Lógica
Modelo Entidade-Relacionamento (MER)
Deve ser considerado um Modelo Formal. Características importantes:
- Não deve ser subutilizado
- Ter poder de expressão limitado
- O Modelo deve ser correto
- O Modelo deve ser completo
- Modelo livre de redundância
- Modelo deve ter aspecto temporal
Tipos de Erros no MER
Se houver erros, podem ser:
- Sintáticos: Quando não respeita regras de construção de um modelo entidade-relacionamento.
- Semânticos: Mesmo respeitando todas as regras, reflete uma realidade de forma inconsistente.
Modelagem Lógica
Representa o Banco de dados como um conjunto de Relações.
Uma RELAÇÃO é uma tabela de valores, onde cada linha representa uma coleção de dados relacionados.
Cada linha de uma tabela representa um "fato" que tipicamente corresponde a uma entidade ou relacionamento do mundo real.
Conceitos Básicos da Modelagem Lógica
- As linhas de uma tabela são chamadas de TUPLAS.
- Ao cabeçalho de cada coluna se dá o nome de ATRIBUTO.
- O conjunto de valores que pode aparecer em cada coluna se dá o nome de DOMÍNIO.
- As TUPLAS de uma relação não são ordenadas.