首页 > 开发 > 综合 > 正文

建立实验数据库模型

2024-07-21 02:36:45
字体:
来源:转载
供稿:网友

  这一部份我们要来试着设计、建立一个具有一定真实性的数据库。
  
  I、背景材料
  
  我们要为一个小企业做一个简单的订货系统。
  
  该企业有一定的客户群,其中部份客户经常有业务往来。客户向该企业下订单,每张订单可以订购多种多个货物。对于不同的客户,可能会有不同的折扣,折扣有两种:具体产品的折扣和整个订单的折扣。
  
  其实也就是在数据库建模与设计部份讲E-R图时所举的例子。
  
  II、建立概念模型
  
  概念模型其实也就是E-R图。下边的例子是按PowerDesigner6.1讲的,假如使用ERWin或PD7自己类比着做好了。在PD6.1中概念模型简称为CDM,CDM代表Conception Database Model。
  
  1、启动PowerDesigner,它使用MDI标准Windows GUI界面。
   建立实验数据库模型(图一)
  2、PD会自动建立一个新的空白概念模型CDM_Model1,假如已经打开PD,那么选FileNew。
  3、单击Tools面板里的实体按钮,在CDM_Model1里单击三次,建立三个实体。
  4、单击Tools里箭头,然后双击Ent_1,将Name改为客户,Code改为CUSTOMS,确定。
  5、依法炮制,将Ent_2变成订单/ORDERS,将Ent_3变成货物/GOODS。
  6、双击客户,单击Attributes,加入如下属性
   建立实验数据库模型(图二)
  注重:UID设为Identity,表示它是客户实体的唯一性标识
  7、将订单的属性设为如下:
   建立实验数据库模型(图三)
  8、将货物的属性设为如下:
   建立实验数据库模型(图四)
  9、建立客户到订单的一对多关系,Name为货主,Code为OrderOwner。
  10、建立订单到货物的一对多关系,Name为货物所属订单,Code为GoodsOwner。
  这样一个基本的概念模型就建好了,用DictionaryModel PRoperty把模型的名字设为DBMTRY_E_R_MAP,代码也设为DBMTRY_E_R_MAP。这个Name/Code将代表所建模型对应的数据库的名字。
  
  将这个CDM存为dbmodel_try。这时它看起来应该象下图所示。请用DictionaryCheck Model菜单检查建立好的模型,务必使它完全正确无误。
  建立实验数据库模型(图五)
  
  III、生成物理模型
  
  物理模型其实就是表的结构及表与表间的约束等关系数据库元素的结构。
  
  用DictionaryGenerate Physical Data Model让系统根据概念模型生成物理模型。
  
  该菜单调用后会弹出一个对话框,比较重要的是Database name下拉选择框,里面列举了PD支持的数据库名字。由于PD6.1版本较早,所以没有SQL7,我们选用SQL6.5,照样用。假如不放心就使用ODBC通用驱动好了。
  
  选好数据库类型之后,PD自动生成一个名为DBMTRY_E_R_MAP的数据库物理模型,并存为dbmodel_try.pdb/dbmodel_try.pdm。注重,默认情况下生成的表、字段等的名字就是概念模型各元素的Code名字。
  
  正常情况下,输出结果的最后部份应该如下:
  
  Result: 0 error(s), 0 warning(s).
   The model is correct, no errors were found.
  
  Generating Physical Data Model "DBMTRY_E_R_MAP"...
  Updating the physical data model...
  Generation sUCcessful.
  由于本系统很简单,所以无须对物理模型进一步调整。
  
  IV、创建数据库
  
  1、用Database Configure Database来设定如何与系统中的数据库建立链接以便创建数据库。
  
  在“系统DSN”页里有一条名为Local Server,其驱动为SQL Server,选中这一条后,点配置。
  
  第一个对话框不做修改,点Next,勾上“连接SQL Server以获得其它配置选项的默认设置”,ID填tester,密码填tester的密码。
  
  接下来点两次Next,然后测试数据源。成功则确认退出。
这样数据库链接就预备好了。
  
  2、用Database Generate Database在SQL Server里实际生成数据库。
  
  该菜单也会弹出一个对话框,指定好脚本sql文件路径,然后执行。于是数据库里的表就已经做好了。
  
  思考题:
  
  1、如何手工在SqlServer7里创建以上的数据库?<提示:Enterprise Manager的Design Table功能>
  
  2、假如不用PD自动创建数据库怎么利用建好的模型?<提示:生成Script,isql批处理>
  
  3、如何在各张表中填入样本数据?<提示:Enterpriseanager的Return All Rows或PD生成样本数据功能>。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表