当前位置: 首页 > news >正文

白话概念模型、逻辑模型与物理模型

概念模型:站在用户的角度,描述系统中有哪些核心组成部分以及它们之间的关系,回答的问题“是什么”,”有什么”。即系统中管理了哪些事物或概念,以及他们之间有什么关系,不需要描述事物的具体属性。

如:图书馆有书、读者和借阅记录。读者可以借书,书有书名和作者。

逻辑模型:将概念模型转化为具体的表结构和字段定义,回答的问题是“怎么组织的”,但不涉及具体的数据库技术。

如:书籍表:书名、作者、编号、是否可借。

读者表:姓名、借书卡号。

借阅记录表:借书卡号、书籍编号、借书日期、还书日期。

物理模型:是逻辑模型的具体实现,回答的问题是“怎么实现”,它关注的是数据在数据库中的实际存储方式。它涉及到了具体的数据库技术细节:

  • 使用什么数据库软件(如MySQL、Oracle、PostgreSQL等)。
  • 数据如何存储在磁盘上。
  • 如何优化性能(比如索引、分区等)。

如:图书馆管理系统的物理模型

1) 选择数据库软件:比如使用MySQL。

2) 定义具体的表结构:

书籍表:

CREATE TABLE Books (

    BookID INT PRIMARY KEY,  -- 书籍编号

    Title VARCHAR(255),      -- 书名

    Author VARCHAR(255),     -- 作者

    IsAvailable BOOLEAN      -- 是否可借);

读者表:

CREATE TABLE Readers (

    ReaderID INT PRIMARY KEY,  -- 借书卡号

    Name VARCHAR(255)         -- 姓名);

借阅记录表:

CREATE TABLE BorrowRecords (

    RecordID INT PRIMARY KEY,  -- 记录编号

    ReaderID INT,              -- 借书卡号

    BookID INT,                -- 书籍编号

    BorrowDate DATE,           -- 借书日期

    ReturnDate DATE,           -- 还书日期

    FOREIGN KEY (ReaderID) REFERENCES Readers(ReaderID),

    FOREIGN KEY (BookID) REFERENCES Books(BookID));

3) 优化性能:

为Books表的BookID字段创建索引,加快查询速度。

为BorrowRecords表的BorrowDate字段创建索引,方便按日期查询借阅记录。

用图书馆的例子来说:

相关文章:

  • ubuntu 安装 Redis
  • Java和JavaScript当中的json对象和json字符串分别讲解
  • Weather Regimes(WRs)方法介绍
  • 股指期货是什么?股指期货日内拐点有什么特征?
  • 备战蓝桥杯:贪心算法之货仓选址
  • 存储引擎---数据库
  • spring的核心配置
  • 什么是DNS?DNS解析的过程是怎样的?
  • Zookeeper分布式锁实现
  • rust学习笔记1-window安装开发环境
  • 上线了一个微软工具(免费),我独自开发,本篇有源码
  • python类方法名加前缀下划线
  • vue3的响应式的理解,与普通对象的区别(一)
  • 非docker安装open-webui连接ollama实现deepseek本地使用,集成其他openai模型,常见启动报错问题解决。
  • SpringAI-开启 Java AI 新纪元
  • Twitter 安卓客户端安装包下载
  • Linux——库函数
  • DeepSeek渣机部署编程用的模型,边缘设备部署模型
  • 【云安全】云原生- K8S etcd 未授权访问
  • Day1:强化学习基本概念
  • 杭州挂牌临平区两宗住宅用地,起始总价约11.02亿元
  • 韩国检方结束对尹锡悦私宅的扣押搜查
  • 新片|《我仍在此》定档5月,《新·驯龙高手》同步北美上映
  • 国新办发布《关于新冠疫情防控与病毒溯源的中方行动和立场》白皮书
  • 特朗普加征关税冲击波:美国零售、汽车、航空、科技企业纷纷预警业绩波动
  • 魔都眼|静安光影派对五一启幕:苏河湾看徐悲鸿艺术画作