一个简单的实体、关系、属性、类/对象数据建模工具






4.64/5 (4投票s)
2002年9月7日
7分钟阅读

74658

1350
这个数据库工具支持简单的实体、关系、属性、类和对象的建模。类就像类型定义,对象就像类的实例。
引言
这段源代码是一个小型的数据建模原型工具,支持实体、关系和属性。更多功能将在下面的帮助文件内容中描述。像Erwin和SA这样的商业数据建模工具用于设计、修改和维护数据库。
源文件中的一些精彩技术细节
- HTML 包含多个 JScript 源文件 - 文件 dbtv3.hta,第 7-18 行
- HTML HTA 标签用于本地应用程序 - 文件 dbtv3.hta,第 9 行
- 将 HTML initialize 和 terminate 连接到 JScript 函数 - 文件 dbtv3.hta.js,第 19 行
- 将 HTML 按钮连接到 JScript 函数 - 文件 dbtv3.hta,第 22-33 行
- 将 HTML 列表框连接到 JScript 函数 - 文件 dbtv3.hta,第 34-37 行
- HTML 读取单行字符串 - 文件 dbtv3.hta,第 38-45 行
- HTML 读取多行列表框 - 文件 dbtv3.hta,第 46-52 行
- HTML STYLE 绝对定位小部件 - 文件 dbtv3.hta,第 22-55 行
- ADO 连接字符串用于 Jet 4.0 和 SQL Server 2000 - 文件 global3.js,第 7-8 行
- 创建新的 XML 对象 - 文件 global3.js,第 93 行
- 将 XML 文本文件读入内存 - 文件 global3.js,第 94-102 行
- 打开新的文本文件用于磁盘输出 - 文件 global3.js,第 155-156 行
- 将一行写入磁盘文件 - 文件 global3.js,第 192 行
- 为输出打开新的 HTML 窗口 - 文件 global3.js,第 145-147 行
- 将一行写入 HTML 窗口 - 文件 global3.js,第 185 行
- 清空 HTML 列表框 - 文件 screen3.js,第 12, 65 行
- 从 HTML 列表框获取选定索引 - 文件 screen3.js,第 21, 74 行
- 从 HTML 列表框获取选定项 - 文件 screen3.js,第 43-48, 74-80 行
- 向 HTML 列表框添加项 - 文件 screen3.js,第 56-57, 109-110 行
- 嵌套函数调用 - 文件 screen3.js,第 27, 80 行
- 隐藏 HTML 小部件 - 文件 screen3.js,第 192-195, 360-361 行
- 显示 HTML 小部件 - 文件 screen3.js,第 294-295, 417 行
- 将焦点设置在 HTML 小部件上 - 文件 screen3.js,第 296 行
- 使用变量调用 JScript 函数 - 文件 screen3.js,第 266-270, 473-476 行
- 压缩 ADO Jet MDB 文件 - 文件 adodb3.js,第 40-41 行
- 创建新的 ADO Jet MDB 文件 - 文件 adodb3.js,第 110-112 行
- ADO 连接到数据库 - 文件 adodb3.js,第 69-70 行
- ADO 断开数据库连接 - 文件 adodb3.js,第 86-91 行
- ADO 创建新的 SQL 表 - 文件 adodb3.js,第 159-184, 200-239 行
- ADO 创建新的 SQL 表列 - 文件 adodb3.js,第 159-184, 200-239 行
- ADO 创建新的 SQL 表自增列 - 文件 adodb3.js,第 159-184, 200-239 行
- ADO 创建新的 SQL 表索引 - 文件 adodb3.js,第 159-184, 200-239 行
- ADO 运行 SQL 并返回记录集 - 文件 adodb3.js,第 565, 610-637 行
- ADO 运行 SQL 且不返回记录集 - 文件 adodb3.js,第 516-534 行
- ADO 获取表、列和索引数据库信息 - 文件 adodb3.js,第 729-731, 754-782 行
- 使用 try/catch 进行错误处理 - 文件 adodb3.js,第 67-77, 84-98 行
- 从 JScript 运行 DOS 命令 - 文件 adodb3.js,第 42-48 行
- 解析文件路径 - 文件 adodb3.js,第 26-36 行
- ADO 向表中添加新记录 - 文件 ents3.js,第 26-35, 509-518 行
- ADO 获取新添加记录的 @@IDENTITY - 文件 ents3.js,第 37, 520 行
- XML 嵌套函数调用 - 文件 ents3.js,第 138, 144, 148 行
- XML 获取节点列表 - 文件 ents3.js,第 138 行
- XML 获取节点文本值 - 文件 ents3.js,第 148 行
- ADO 循环遍历记录集 - 文件 ents3.js,第 313-322, 356-364 行
- SQL 删除记录 - 文件 ents3.js,第 67 行
- SQL 更新记录 - 文件 ents3.js,第 105 行
- SQL 读取记录 - 文件 ents3.js,第 216 行
- SQL 三重连接查询 - 文件 ents3.js,第 691-697 行
帮助文件内容
- 概念
- 屏幕布局
- 快速演示导览
- 按钮详解
- 约束
- 测试数据
- SQL 表
- ZIP 文件
1. 概念
数据库工具支持实体、关系、属性、类和对象的简单数据建模。类就像类型定义,对象就像类的实例。
一些提供更多数据建模信息的网站
- www.samoore.com/teach/db/er
- www2.bus.orst.edu/faculty/brownc/lectures/db_tutor
- www.utexas.edu/cc/database/datamodeling
2. 屏幕布局
+----------------------------------------+ | Database Tool | | H +--------+ +--------+ +--------+ | | C | | | | | | | | T | ENTS | | RELS | | ATTRS | | | I | | | | | | | | E | | | | | | | | M +--------+ +--------+ +--------+ | | | | C +--------------------+ +--------+ | | O | | | | | | C | OUTPUT | | MULTI | | | D | | | | | | U | | | | | | Q +--------------------+ +--------+ | | | QUERY | O C | | +--------------------+ | | | +----------------------------------------+
按钮沿屏幕左边缘排列
帮助 |
显示帮助信息 |
配置 |
配置数据库 |
测试 |
写入测试数据 |
导入 |
导入 XML 数据 |
导出 |
导出 XML 数据 |
杂项 |
打开/关闭跟踪 |
|
|
对象 |
切换到对象数据 |
创建 |
创建数据 |
删除 |
删除数据 |
更新 |
更新数据 |
查询 |
运行 SQL 语句 |
屏幕区域的命名如下。点击 ENTS、RELS 和 ATTRS 区域中的数据,将在 OUTPUT 区域显示该数据的详细信息。
实体 |
显示实体数据 |
关系 |
显示关系数据 |
属性 |
显示属性数据 |
输出 |
按下按钮后显示输出数据 |
查询 |
使用按钮时出现 |
多用途 |
按钮的多用途区域 |
确定 |
使用按钮时出现 |
取消 |
使用按钮时出现 |
3. 快速演示导览
请遵循以下步骤
- 启动数据库工具 (dbtv3.hta)
- 点击 CONFIG 按钮
- 选择选项 "JET4.0"
- 输入 MDB 文件名
- 选择选项 "创建新的 MDB 和新表"
- 点击 OK 按钮
应该已经向磁盘写入了一个新创建的 MDB 文件。请在 OUTPUT 屏幕区域查看更详细的信息。
- 点击 TEST 按钮
- 选择选项 "employees projects resources"
- 点击 OK 按钮
示例测试数据应该已经写入磁盘。请在 OUTPUT 屏幕区域查看更详细的信息。
- 点击 CLASSES 按钮
- 点击 OBJECTS 按钮
- 点击 ENTS、RELS、ATTRS 屏幕区域中的记录
切换类和对象时,屏幕区域会刷新。点击一条记录将刷新 OUTPUT 屏幕区域,显示有关该记录的详细信息。
4. 按钮详解
- HELP 按钮
显示此帮助文件
- CONFIG 按钮
配置 Jet40 或 SQL Server 2000 数据库
Jet40
创建新的 MDB 和新表
现有的 MDB 和现有的表
现有的 MDB 和创建新表
现有的 MDB 和压缩 MDB
SQL Server 2000
创建新表
使用现有表
清空现有表
- TEST 按钮
将测试数据写入表
员工 资源 项目
字母数字随机
- IMPORT 按钮
从平面文件导入 XML 数据
- EXPORT 按钮
将 XML 数据导出到平面文件
- MISC 按钮
打开/关闭跟踪窗口
- CLASSES 按钮
切换到类数据
- OBJECTS 按钮
切换到对象数据
- CREATE 按钮
创建类实体
创建类关系
创建类属性
创建对象实体
创建对象关系
创建对象属性
- DELETE 按钮
删除类实体
删除类关系
删除类属性
删除对象实体
删除对象关系
删除对象属性
- UPDATE 按钮
将属性添加到类实体
将属性添加到类关系
将属性添加到对象实体
将属性添加到对象关系
从类实体中移除属性
从类关系中移除属性
从对象实体中移除属性
从对象关系中移除属性
更改类实体名称
更改类关系名称
更改类属性名称
更改对象属性值
- QUERIES 按钮
运行 SQL 语句
5. 约束
数据库工具实现了一些有用的约束。
- 实体、关系和属性的名称必须唯一。
- 关系具有源和目标,两者都可以是实体或另一个关系。
- 属性可以添加到实体和关系中。
- 只有当类实体/关系已经具有该类属性时,才能将对象属性添加到对象实体和关系中。
- 对象关系中源和目标的“对象”必须与类关系中源和目标的“类”相同。
- 删除类实体、关系和属性也会自动删除为这些类创建的任何对象。
- 删除实体或关系也会自动删除其使用的属性,但不会删除属性本身。
- 删除类/对象实体/关系如果被关系使用,将留下悬空的源和目标指针。
6. 测试数据
使用 TEST 按钮创建示例数据。
选项“字母数字随机”会生成大量测试数据。
选项“employees projects resources”有 3 个类实体、2 个类关系、7 个类属性、9 个对象实体、9 个对象关系和 27 个对象属性。ZIP 文件中的 TEST1.MDB 文件已经包含了这个示例数据。
- 类实体:员工、资源、项目
- 类关系:分配给、预算用于
- 类属性:姓名、职位、薪资、设备、用品、地点、优先级
7. SQL 表
数据库工具使用这 8 个 SQL 表。数据列标题显示在 ENTS、RELS、ATTRS 和 OUTPUT 区域。
Table: CLSENTS Table: OBJENTS
Column: ID Column: ID
Column: NAME Column: CLSID
Table: CLSRELS Table: OBJRELS
Column: ID Column: ID
Column: NAME Column: CLSID
Column: SRCID Column: SRCID
Column: SRCTYP Column: SRCTYP
Column: DSTID Column: DSTID
Column: DSTTYP Column: DSTTYP
Table: CLSATTRS Table: OBJATTRS
Column: ID Column: ID
Column: NAME Column: CLSID
Column: ATTRVAL
Table: CLSHASATTRS Table: OBJHASATTRS
Column: ATTRID Column: ATTRID
Column: USEDBYID Column: USEDBYID
Column: USEDBYTYP Column: USEDBYTYP
8. ZIP 文件
DBTV3.ZIP 文件应包含以下文件
10/12/2002 12:55 AM 17,974 adodb3.js
10/12/2002 12:55 AM 19,564 attrs3.js
10/12/2002 12:55 AM 37,716 buttns3.js
10/12/2002 12:55 AM 1,926 dbic1.ico
10/12/2002 12:55 AM 1,926 dbic2.ico
10/12/2002 12:55 AM 1,926 dbic3.ico
10/12/2002 12:55 AM 1,926 dbic4.ico
10/12/2002 12:55 AM 6,483 dbtv3.hta
10/12/2002 12:55 AM 20,462 ents3.js
10/12/2002 12:55 AM 6,331 global3.js
10/12/2002 12:55 AM 19,764 gnugpl.js
10/12/2002 12:55 AM 9,803 readme3.txt
10/12/2002 12:55 AM 30,166 rels3.js
10/12/2002 12:55 AM 19,488 screen3.js
10/12/2002 12:55 AM 249,856 test1.mdb
数据库工具版本 3
版权所有 (C) 2002 GCH Productions
GNU 通用公共许可证,已通过引用包含
WWW.GREGHOP.COM