什么是数据库结构?数据库入门基础知识

什么是数据库结构?数据库入门基础知识插图

数据库结构是应用程序或软件开发的一个组成部分,尤其是那些围绕数据和数据库的开发。简而言之,数据库结构是用于定义一组数据的结构或布局的术语。

换句话说,它描述了数据将如何组织和连接。因此,数据库结构可能包括结构对象,如表、视图、字段、关系、包、索引、类型和许多其他元素。

数据库设计者创建数据库结构以建立来自特定数据组的重要元素、属性和连接。

它以结构图的形式出现,向数据库管理员解释数据将如何存储在关系或非关系数据库中。此外,图表的大小和复杂性取决于项目。

此外,数据库结构是设计数据库管理系统 (DBMS)和关系数据库管理系统 (RDBMS) (如MySQLPostgreSQLOracle )所必需的。

本文将解释数据库中两种主要的结构类型、它们的集成要求,并提供几个示例。

什么是结构?

结构是程序员构建和编码数据库的框架或蓝图。它可以帮助数据库用户理解和了解存储的信息。

逻辑和物理数据库结构

在数据库设计方面,有两种类型的结构——逻辑结构和物理结构。

逻辑数据库结构

逻辑数据库结构描述了将应用于数据的逻辑约束或规则。主要关注的是理解数据实体,包括它们的关系和属性。

创建此结构不应仅限于特定的DBMS。无论您使用哪个平台,逻辑数据库设计都将保持不变。

显示逻辑设计的一种方法是制作称为实体关系图(ER图)的可视化表示。Microsoft VisioLucidChart是一些可用于创建图表的软件。ER图通常显示:

  • 所有重要的实体。
  • 每个实体的属性。
  • 唯一标识实体的特定实例的主键。
  • 另外,描述实体之间关系的外键。

例如,假设实体“Book”具有以下属性——标题、主题、出版商和年份。它的主键“ISBN”。此外,“Book”与实体“Author”有关系,由外键“Author ID”表示。

逻辑数据库结构

请记住,不同项目的逻辑结构是通过多种方式创建的。它们还将具有不同的语法来描述数据的逻辑约束和架构。

物理数据库结构

物理数据库结构表示数据在存储系统中的物理组织方式,通常以文件和索引的形式。它将逻辑数据库结构转换为适用于特定 DBMS 的物理数据结构。

表结构都显示在物理数据库结构设计中。这包括列名、数据类型和约束。另外,主键、外键以及它们之间的关系。

物理数据库模型还具有以下特征:

  • 解释项目的数据需求。
  • 指定了所有表和列。
  • 外键用于确定表之间的连接。
  • 由于物理限制,它可能与逻辑模型不同。

在这个阶段,您正在映射:

  • 实体到表。
  • 列的属性。
  • 唯一索引的主键。
  • 非唯一索引的外键。

物理数据库结构

数据库结构集成要求

一个数据库可以有多个结构。因此,要让它们无缝工作,需要满足以下要求:

  • 重叠保存——确保结构中重叠的元素位于数据库结构表中。
  • 扩展重叠保留——将与重叠元素连接的实体——但只出现在一个结构中——复制到生成的数据库结构中。
  • 规范化——避免将独立的元素和关系组合在一个表中。
  • 最小性——检查任何数据库结构中的实体都没有丢失。

数据库结构示例

既然您知道什么是结构及其要求,那么让我们看看 SQL 和 PostgreSQL 数据库中的结构示例。

1.SQL

SQL服务器中的结构是链接到数据库系统的无限数据库对象的集合。它包括表、函数、视图和索引。它是一种逻辑类型的结构,具有许多优点。例如:

  • 一个结构可以在多个数据库中使用。
  • 安全权限可以保护表和索引等数据库对象。
  • 转移结构的所有权是可能的。
  • 在数据库中创建的对象可以在结构之间移动。
  • 它有助于操作和访问数据库对象的过程。

在SQL中创建结构的一般语法是:

CREATE SCHEMA [schema_title] [AUTHORIZATION owner]
[DEFAULT CHARACTER SET set_name]
[PATH schema_title[, ...]]
[ ANSI CREATE statements [...] ]
[ ANSI GRANT statements [...] ];

使用的参数有:

  • schema_title – 创建的结构的名称。
  • AUTHORIZATION owner – 拥有架构的用户的名称。
  • DEFAULT CHARACTER SET set_name – 定义结构对象的默认字符集。
  • PATH schema_title[, …] – 可选文件路径和名称。
  • ANSI CREATE statements […] – 由一个或多个CREATE语句组成。
  • ANSI GRANT statements […] – 由一个或多个GRANT语句组成。

2. PostgreSQL

PostgreSQL中的结构是一个包含命名数据库对象的命名空间。这包括表、数据类型、索引、函数、视图和运算符。它确保所有对象都有唯一的名称。

一个数据库可以有多个结构,但每个结构都只是一个数据库的一部分。两个结构中的不同对象也可以共享相同的名称。

在PostgreSQL 9.3.13中创建数据库结构的语法是:

CREATE SCHEMA schema_title [ AUTHORIZATION user] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION user [ schema_element [ ... ] ]
CREATE SCHEMA IF NOT EXISTS schema_title [ AUTHORIZATION user ]
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION user

PostgreSQL还自动为每个新数据库创建一个公共结构。在这里您可以找到没有结构名称的对象。

小结

数据库 结构是指存储在数据库中的数据的组织的计划或图表。有两种类型的结构——逻辑的和物理的。第一个表示数据的组织方式,第二个定义其物理存储的结构。

数据库结构对于创建数据库和数据库管理系统至关重要。它帮助用户理解和阅读存储在数据库中的信息。

评论留言