Discrição e armazenamento de dados em um SGBD

Propaganda
Prof. Sandro Monteiro – Serviços da Internet (2º Ano de Informática IMEP – 1o Semestre de 2011)
Disciplina: Base de dados I
Aula 05– Data: 17.02.2011
Vantagens do SGBD
Usando um SGBD para gerenciar dados tem muitas vantagens tais como:






Data da independência: os programas de aplicação devem ser tão independentes
quanto possível a partir de detalhes de representação de dados e armazenamento.
O SGBD pode fornecer uma visão abstracta dos dados para isolar código da
aplicação de tais detalhes.
Acesso eficiente aos dados: SGBD utiliza uma variedade de técnicas sofisticadas
para armazenar e aceder dados eficientemente.
Integridade dos dados e segurança: se os dados são sempre acedidos através do
SGBD, o mesmo (SGBD) pode impor restrições de integridade dos dados. Além
disso, o SGBD pode impor controle de acesso que regem os dados que são
visíveis para diferentes classes de usuários.
Administração de dados: quando vários usuários compartilham os dados,
centralizar a administração de dados oferece melhorias significativas.
Acesso simultâneo e recuperação de desastres: Um SGBD define o aceso
concorrente aos dados de tal forma que os usuários pensem que os dados são
acessados por um único usuário por cada vez. Além disso, o SGBD protege os
usuários contra os efeitos e de falhas do sistema.
Redução do tempo de desenvolvimento de aplicações: Claramente, o SGBD
suporta muitas funções importantes que são comuns a muitas aplicações no
processo do acesso aos dados armazenados no SGBD. Isto, em conjunto com a
interface de alto nível com os dados, facilita o rápido desenvolvimento de
aplicações. Tais aplicações são também susceptíveis de ser mais robusto do que as
aplicações desenvolvidas a partir do zero, porque muitos importantes tarefas são
manipulados pelo SGBD ao invés de ser implementada pela aplicação.
Discrição e armazenamento de dados em um SGBD
O usuário de um SGBD é basicamente relacionado com alguma ideia do mundo real, e os
dados a serem armazenados descreve vários aspectos dessa mesma ideia. Por exemplo,
existem estudantes, professores e cursos em uma universidade, e os dados em um banco
dessa universidade descrevem essas entidades e seus relacionamentos.
Um modelo de dados é uma colecção de alto nível de descrição de dados que escondem
muitos detalhes de baixo nível de armazenamento. Um SGBD permite que um usuário de
definir os dados a serem armazenados em termos de um modelo de dados. A maioria dos
sistemas de gerenciamento de banco de dados de hoje são baseados no modelo de dados
relacional, que iremos focar nas nossas aulas.
1
Prof. Sandro Monteiro – Serviços da Internet (2º Ano de Informática IMEP – 1o Semestre de 2011)
O modelo relacional
O centro da descrição dos dados nesse modelo (modelo relacional) é à relação, que pode
ser pensado como um conjunto de registos.
A descrição dos dados em termos de um modelo de dados é chamado de esquema. No
modelo relacional, o esquema de uma relação específica o seu nome, o nome de cada
campo (ou atributo ou coluna), e do tipo de cada campo. Como exemplo, a informação
dum estudante num banco de dados de uma universidade podem ser armazenados em
uma relação com o seguinte esquema:
Students (sid: string, name: string, login: string, age: integer, gpa: real)
O esquema anterior, diz que cada registo na relação de alunos (students) tem cinco
campos, com nomes de campo e tipos, como indicado. Esse exemplo de instância da
relação Estudantes (students) aparece na figura que segue:
Cada linha da relação students é um registo que descreve um estudante. A descrição
não é completa - por exemplo, a altura do aluno não está incluído mas é presumivelmente
adequado para aplicações previstas no banco de dados da universidade. Cada linha segue
o esquema da relação students. O esquema pode ser considerado como um modelo para
descrever um estudante.
Nós podemos fazer a descrição de uma colecção de alunos mais precisa especificando
restrições de integridade, que são condições que os registos dessa relação devem
satisfazer. Por exemplo, podemos especificar que cada aluno tem um valor único sid.
Observa que não podemos capturar essas informações por simples acréscimo de mais um
campo para o esquema students. Assim, a capacidade de especificar exclusividade dos
valores em um campo aumenta a precisão com que podemos descrever nossos dados. A
expressividade dos constructs disponíveis para especificar restrições de integridade é um
aspecto importante para um modelo de dados.
2
Prof. Sandro Monteiro – Serviços da Internet (2º Ano de Informática IMEP – 1o Semestre de 2011)
Outros modelos de dados
Além do modelo de dados relacional (que é usado em vários sistemas, incluindo
IBM's DB2, Informix, Oracle, Sybase, Microsoft's Access, FoxBase, Paradox, Tandem, e
Teradata), outros modelos de dados importantes incluem o modelo hierárquico (por
exemplo, usado em IBM's IMS DBMS), o modelo de rede (por exemplo, usado em IDS e
IDMS), o modelo orientado ao objecto (por exemplo, usado em ObjectStore e Versant), e
o modelo objecto-relacional (por exemplo, usados em produtos de SGBD IBM, Informix,
ObjectStore, Oracle, Versant, e outros).
Embora existam muitos bancos de dados que usam os modelos hierárquico e de rede,
e sistemas baseados nos modelos orientados a objectos e objecto-relacional estão
ganhando aceitação no mercado, mas o modelo dominante hoje é o modelo relacional.
Níveis de abstracção em um SGBD
A descrição do banco de dados consiste de um esquema para cada um destes três níveis
de abstracção:
 Os esquemas conceituais;
 Os esquemas físicos e
 Esquemas externo.
3
Download