数据库结构是应用程序或软件开发的一个组成部分,尤其是那些围绕数据和数据库的开发。简而言之,数据库结构是用于定义一组数据的结构或布局的术语。
换句话说,它描述了数据将如何组织和连接。因此,数据库结构可能包括结构对象,如表、视图、字段、关系、包、索引、类型和许多其他元素。
数据库设计者创建数据库结构以建立来自特定数据组的重要元素、属性和连接。
它以结构图的形式出现,向数据库管理员解释数据将如何存储在关系或非关系数据库中。此外,图表的大小和复杂性取决于项目。
此外,数据库结构是设计数据库管理系统 (DBMS)和关系数据库管理系统 (RDBMS) (如MySQL、PostgreSQL和Oracle )所必需的。
本文将解释数据库中两种主要的结构类型、它们的集成要求,并提供几个示例。
什么是结构?
结构是程序员构建和编码数据库的框架或蓝图。它可以帮助数据库用户理解和了解存储的信息。
逻辑和物理数据库结构
在数据库设计方面,有两种类型的结构——逻辑结构和物理结构。
逻辑数据库结构
逻辑数据库结构描述了将应用于数据的逻辑约束或规则。主要关注的是理解数据实体,包括它们的关系和属性。
创建此结构不应仅限于特定的DBMS。无论您使用哪个平台,逻辑数据库设计都将保持不变。
显示逻辑设计的一种方法是制作称为实体关系图(ER图)的可视化表示。Microsoft Visio和LucidChart是一些可用于创建图表的软件。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还自动为每个新数据库创建一个公共结构。在这里您可以找到没有结构名称的对象。
小结
数据库 结构是指存储在数据库中的数据的组织的计划或图表。有两种类型的结构——逻辑的和物理的。第一个表示数据的组织方式,第二个定义其物理存储的结构。
数据库结构对于创建数据库和数据库管理系统至关重要。它帮助用户理解和阅读存储在数据库中的信息。
评论留言