AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 186588
Accepted
user2804064
user2804064
Asked: 2017-09-22 10:26:50 +0800 CST2017-09-22 10:26:50 +0800 CST 2017-09-22 10:26:50 +0800 CST

Entendendo os níveis de abstração de dados

  • 772

A arquitetura de banco de dados ANSI SPARC de três níveis sugere três níveis de abstração de dados, a saber, níveis externos , conceituais e internos .

Se bem entendi, o nível externo representa as visões dos usuários, o nível conceitual é o diagrama conceitual (modelo ER) e o nível interno é o modelo relacional.

Meu problema é que encontrei na literatura que além desses, existe um quarto nível (o mais baixo), que é o nível físico .

Eu quero entender o que é isso concretamente? É neste ponto que definimos o tipo de índice, caminhos de acesso e coisas relacionadas ao acesso físico aos dados?

terminology database-design
  • 3 3 respostas
  • 1016 Views

3 respostas

  • Voted
  1. Best Answer
    MDCCL
    2018-03-17T06:14:40+08:002018-03-17T06:14:40+08:00

    Embora as definições dos esquemas ou níveis de representação da arquitetura ANSI/SPARC não tenham atingido a precisão desejada, são apenas três, e são denominados external , conceptual e internal , respectivamente.

    Que eu saiba, não existe um quarto nível, pois as estruturas físicas empregadas por um sistema gerenciador de banco de dados (DBMS para abreviar) compõem, de fato, o esquema interno, conforme explicarei a seguir.

    Nota : Mesmo que imprecisa, a arquitetura ANSI/SPARC é definitivamente uma referência muito útil na construção de um sistema, então parece que a literatura que você encontrou contém informações imprecisas ou talvez faça uma referência à noção (também muito útil) onde as camadas de abstração de um banco de dados são chamados de conceituais , lógicos e físicos , que possuem diferentes implicações.

    Breves descrições dos três níveis ANSI/SPARC

    Considero oportuno descrever cada nível (ordenado do mais alto ao mais baixo grau de abstração) para expor seu escopo:

    • O nível externo é a forma como a informação é apresentada aos usuários finais de um sistema informatizado de informação; por exemplo, a organização específica das informações exibidas ou solicitadas nas telas ou janelas (por exemplo, listas, grades, rótulos, caixas de texto, caixas de seleção, menus suspensos etc.) de um programa aplicativo.

    • O nível conceitual envolve a representação da estrutura da informação como (a) percebida pelos especialistas de negócios e (b) modelada pelos analistas de banco de dados, comumente em termos de tipos de entidade, propriedades e associações, portanto, é composta de ideias ou conceituações , ainda não é “concreto” e sua representação requer construtos que estão em níveis mais baixos de abstração. O nível conceitual é informalmente referido como as regras de negócios de uma determinada organização em relação aos seus requisitos de informação. Além disso, esquemas desse tipo são geralmente — embora não necessariamente — expressos por meio de dispositivos gráficos como, por exemplo, diagramas de entidade-relacionamento para facilitar a comunicação entre as partes interessadas.

    • O nível interno tem a ver com como o SGBD de relevância armazena a informação de forma concreta; ex., arrays, páginas , extensões, arquivos, registros, campos, ponteiros, etc. Este é o nível mais baixo de abstração já que, para colocar de alguma forma, o SGBD “salva” as informações em estruturas “reais”, então isso também pode ser concebido como o nível físico da arquitetura, mas nomeá-lo dessa maneira não implica que haja um quarto nível. Vale ressaltar que pode haver diferentes subníveis de abstração dentro do próprio nível interno, mas esse fator depende dos mecanismos particulares utilizados pelo SGBD em questão.

    Bancos de dados relacionais criados em SGBDs SQL com relação à arquitetura ANSI/SPARC

    Quando um praticante utiliza uma plataforma SQL (Microsoft SQL Server, IBM DB2, Sybase ASE, PostgreSQL, etc.) para construir um banco de dados utilizando os mecanismos propostos pelo modelo relacional do Dr. EF Codd :

    • As tabelas base , colunas, tipos (e domínios quando disponíveis) e restrições devem refletir as características do esquema conceitual (tipos de entidade, propriedades, associações, cardinalidades) para que os dados (na forma de linhas) permaneçam consistentes com ele. As declarações feitas por meio de uma sublinguagem de dados (por exemplo, SQL DDL) das tabelas base, colunas, tipos e restrições são instrumentos que formalizam o esquema conceitual, por isso são consideradas construções lógicas e, como tal, ainda não “tocam ” no nível físico, eles ainda estão livres de estruturas de armazenamento de concreto específicas de SGBD. A normalização, sendo um procedimento lógico, aplica-se aqui, não ao esquema conceitual.

    • As visualizações (ou seja, tabelas derivadas que “combinam” colunas de uma ou mais tabelas base ou também de outras tabelas derivadas, geralmente em virtude de operações SQL DML envolvendo JOINs) mantêm uma correspondência próxima com o nível externo , porque reúnem e fornecem as informações solicitadas ou enviadas pelas telas ou janelas de um ou mais programas aplicativos, exatamente como os usuários finais as veem.

    • Os índices , páginas , extensões , arquivos 1 , registros 2 , campos 3 , partições, mapas de alocação e muitos outros arranjos correspondem ao esquema interno , pois são as estruturas “físicas” utilizadas por um SGBD para armazenar as informações.

    O SGBD SQL funciona como um mediador (1) entre as representações internas e lógicas dos esquemas conceituais e (2) entre as representações internas e externas por meio de conexões via visualizações.

    Notas


    1, 2, 3 Observe como é importante distinguir entre (a) arquivos, registros e campos e (b) tabelas, linhas e colunas —ou relações, atributos e tuplas— , pois são elementos que pertencem a níveis distintos de abstração e, portanto, são suscetíveis de operações e tratamentos muito diferentes, tendo, portanto, impactos muito diferentes.

    • 7
  2. Grimaldi
    2017-09-22T11:57:57+08:002017-09-22T11:57:57+08:00

    Eu entendo as três camadas como:

    1. Tudo o que o usuário vê. Basicamente, as partes relevantes da camada intermediária são temperadas com algumas visualizações.
    2. Um modelo lógico ou ER, isso pode ser 3NF ou similar - eu chamaria isso de modelo relacional
    3. Modelo físico, isso significa que as especificações no banco de dados

    Na modelagem ER atual, você criaria um modelo conceitual ou lógico, capturando os requisitos dos usuários e, em seguida, criaria um 3NF a partir dele, para evitar inconsistências e capturar as multiplicidades corretas dos relacionamentos (1:1, 1:N, N:M ). Aqui você também dividiria entidades, se necessário. Por exemplo, divida endereços de clientes, porque você pode precisar de endereços de cobrança e entrega. A última etapa seria criar o modelo físico, que considera índices, chaves substitutas e desnormalização cuidadosa. Isso também inclui a consideração de otimizações avançadas posteriormente, como tipos nativos (por exemplo, double, int64, ...), tipos de índices (btree vs bitmap, índices de junção, etc.), layouts de tabela especiais (orientados por linha ou coluna, tabelas organizadas por índice , particionamento vertical ou horizontal, inclusão de linhas dependentes).

    O caminho de acesso geralmente é determinado pelo mecanismo sql e seu otimizador com base no que é conhecido sobre os dados (estatísticas, estrutura quantitativa) e os índices disponíveis e pode ser consultado no plano de execução de cada instrução SQL.

    • 3
  3. Awe
    2017-09-22T10:39:10+08:002017-09-22T10:39:10+08:00

    esse padrão ANSI define 3 níveis diferentes de descrição da visão + esquema de um banco de dados. A camada "mais baixa" é independente disso - não faz parte do padrão mencionado - pois é o próprio banco de dados.

    • -1

relate perguntas

  • Os índices filtrados podem ajudar a melhorar as consultas baseadas em uma hora inserida ou isso deve ser evitado?

  • Qual é a diferença entre os tipos de dados MySQL VARCHAR e TEXT?

  • É melhor armazenar os valores calculados ou recalculá-los a pedido? [duplicado]

  • Armazenar vs calcular valores agregados

  • Quais são algumas maneiras de implementar um relacionamento muitos-para-muitos em um data warehouse?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve