[实验要求]

根据下面的需求描述,使用Sybase Power Designer设计相应的数据库概念模型,并转换成Oracle或MS SQL Server上的物理数据库结构。

[背景需求]

某银行准备开发一个银行业务管理系统,通过调查,得到以下的主要需求:

银行有多个支行。各个支行位于某个城市,每个支行有唯一的名字。银行要监控每个支行的资产。 银行的客户通过其身份证号来标识。银行存储每个客户的姓名及其居住的街道和城市。客户可以有帐户,并且可以贷款。客户可能和某个银行员工发生联系,该员工是此客户的贷款负责人或银行帐户负责人。 银行员工也通过身份证号来标识。员工分为部门经理和普通员工,每个部门经理都负责领导其所在部门的员工,并且每个员工只允许在一个部门内工作。每个支行的管理机构存储每个员工的姓名、电话号码、 家庭地址及其经理的身份证号。银行还需知道每个员工开始工作的日期,由此日期可以推知员工的雇佣期。 银行提供两类帐户——储蓄帐户和支票帐户。帐户可以由2个或2个以上客户所共有,一个客户也可有两个或两个以上的帐户。每个帐户被赋以唯一的帐户号。银行记录每个帐户的余额 、开户的支行以及每个帐户所有者访问该帐户的最近日期。另外,每个储蓄帐户有其利率,且每个支票帐户有其透支额。 每笔贷款由某个分支机构发放,能被一个或多个客户所共有。每笔贷款用唯一的贷款号标识。银行需要知道每笔贷款所贷金额以及逐次支付的情况(银行将贷款分几次付给客户)。虽然贷款号不能唯一标识银行所有为贷款所付的款项,但可以唯一标识为某贷款所付的款项。对每次的付款需要记录日期和金额。

[需求分析]

1、实体的确定:

a.从背景需求中首先可以大致确定几大实体,包括:支行、客户、员工、账户、贷款。因为这些对象都有明显的若干属性,故可以将它们设计为实体。

b.接着让我们分析某些不太确定的对象。

首先是经理,我们的问题是是否将经理设置为单独的实体,从给出的需求来看,经理是员工的一种,但是没有特殊的属性来标识,且每个员工需要一个经理的身份证号,由此看来,我们不需要将经理设置为单独的实体,只需要给“员工”实体一个一对多、指向自己的“经理”联系即可,这样在生成物理模型的时候自动将经理的身份证号添加到“员工”属性中(当然经理的此属性是自己的身份证号)。

接着是“储蓄账户”和“支票账户”,从需求描述来看,这两个对象都有各自的属性:利率和透支额。且它们是“账户”的子集,所以,自然将这两个对象设置为实体,并且继承“账户”。

最后是逐次支付情况,贷款的支付不是一次性的,而“贷款”的主键贷款号无法标识逐次支付情况,如果将每次支付的日期和金额设计为“贷款”的属性,那么相对“贷款”的其他属性来说会产生冗余,造成空间的浪费,故我们将“支付情况”设计为一个单独的实体。由于“支付情况”这个实体对“贷款”产生依赖,所以必须将“支付情况”设计成若实体。

2、联系的确定:

a.根据需求,首先确定几个明显的联系:

l 支行:账户  (1 :N)————开户

l 支行:贷款  (1 :N)————发放

l 贷款:客户  (1 :N)————拥有

l 员工:员工  (1 :N)————经理

b.两个扩展的联系:

l 存储账户/支票账户:账户   ————继承

l 贷款:支付情况  (1 :N)————逐次支付(依赖)

c. 有属性的联系:

假设一个员工只能在一个支行工作,则员工的开始工作日期是在和支行发生联系的时候产生的,故将其设置为联系的属性:

l 支行:员工  (1 :N,开始工作日期)————工作

同样,员工可能是某客户的账户负责人或贷款负责人,故在员工和客户发生联系的时候必须标明负责人的类型:

l 客户:员工  (M :N,负责人类型)  ————负责

账户中需要标明账户所有者最近访问的日期,该日期是账户所有者(即客户)和账户发生访问联系的时候产生的,故将其设计为联系的属性:

l 客户:账户  (M :N,最近访问日期)————拥有

[概念模型设计&物理模型生成]

1、根据需求分析设计概念模型CDM(基于PowerDesign):

1、使用PowerDesign根据设计好的概念模型CDM生成物理模型PDM:

a.选择工具(tool)-->生成物理模型(Generate Physical Data Model)

b.根据主机上安装的DBMS,在PDM Generation Option中选择相应的数据库管理系统(DBMS):

c.生成的物理模型PDM

[物理数据库的生成]

1、使用powerdesign把生成的物理模型PDM自动转换成数据库文件(bank.sql):

1、打开本机安装的数据库管理系统(DBMS,我的是MS server 2008),新建一个数据库bank:

b.新数据库的名字为bank;

c.可以看到新建的数据库中除了系统自带的表之外没有其他表;

1、将bank.sql文件导入到数据库中:

a.打开文件(bank.sql):

b.选择要导入的数据库,执行!

c.检查一下bank数据库中是否有导入的表(先刷新一下);

  OK,导入成功!

转载于:https://www.cnblogs.com/big-xuyue/p/3386396.html

数据库系统设计_银行业务管理系统相关推荐

  1. mysql餐饮管理系统设计_酒店餐饮管理系统的设计与实现(MySQL)(含录像)

    酒店餐饮管理系统的设计与实现(MySQL)(含录像)(任务书,开题报告,中期检查表,外文翻译,毕业论文11900字,程序代码,MySQL数据库,答辩PPT,答辩视频录像) 摘 要 随着计算机产业的高速 ...

  2. SQL数据库系统设计之食堂管理系统

    目 录 1数据库设计 1 1.1 需求分析 1 1.2 需求分析实现的过程 1.3 概念结构设计 1 1.3.1 概念结构设计的方法 1 1.3.2 概念结构设计的E-R图 2 1.3.3 逻辑结构设 ...

  3. mysql餐饮管理系统设计_餐饮管理系统的设计与实现(MySQL)

    餐饮管理系统的设计与实现(MySQL)(任务书,开题报告,中期检查表,文献综述,外文翻译,毕业论文16000字,程序代码,MySQL数据库) 传统餐饮企业的日常运作是靠人工管理,从原材料入库到客人点单 ...

  4. java人力资源管理系统设计_人力资源管理系统——《Java Web程序设计》课程设计...

    内容简介: 人力资源管理系统--<Java Web程序设计>课程设计,正文共24页,7418字,附源程序. 0 引言 全球范围内的企业内部组织正在发生巨变,未来企业成功的关键的依靠企业人力 ...

  5. 教职工员工管理MySQL实训_数据库课程设计---教职工管理系统

    数据库课程设计---教职工管理系统 第 1 页目 录一.需求与功能分析 2二.系统总体框架 3三.功能设计 3四.类的设计与分析 4五.数据库表结构设计 4六.特色算法分析 5七.功能测试 6-10八 ...

  6. 中南林业科技大学Java实验报告十二:数据库系统设计 - 从0到1搭建java可视化学生管理系统源代码

    文章目录 实验12 数据库系统设计 12.1 实验目的 12.2 实验内容 12.2.1 设计一个数据库Student,包含成绩表Score,其中属性包含学号,姓名,专业,班级,平均成绩.字段名和类型 ...

  7. java教务管理系统数据库设计_诚梦计算机毕业设计最新选题题目及程序

    计算机专业学位的有:本科专业主要包含有计算机软件工程,信息工程,计算机技术,数字媒体技术.智能科学与技术.空间信息与数字技术.电子信息与计算机工程等分类. 计算机系包含了很多开发程序语言: 如:比较流 ...

  8. sqlserver战德臣_数据库系统设计课程最新版 数据库系统上中下三部(哈尔滨工业大学 战德臣教授主讲)...

    数据库系统设计课程最新版 数据库系统上中下三部(哈尔滨工业大学 战德臣教授主讲) 1.JPG (58.27 KB, 下载次数: 1) 2018-3-13 12:02 上传 2.JPG (57.47 K ...

  9. 餐饮管理系统 mysql数据库设计分析_终稿课程设计_餐饮管理系统数据库设计.docOK版(样例3)...

    <课程设计_餐饮管理系统数据库设计.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)课程设计_餐饮管理系统数据库设计.doc(OK版)>相关文档资源请在帮帮文库(www ...

最新文章

  1. 天池NLP中文预训练模型赛来了!
  2. svg鼠标响应事件的四种方法(其中两种可支持火狐)
  3. 简明Python3教程 4.安装
  4. opencv 入门 demo
  5. 十分钟了解分布式计算:GraphLab
  6. PHP学习总结(数据库概念、DDL语句、DML语句)
  7. iOS之深入解析CocoaPods的GitLab CI与组件自动化构建与发布
  8. 有关于mysql自增型需要返回id_关于mysql自增id,你需要知道的
  9. python生成泊松分布随机数_Python Numpy random.poisson() 泊松分布
  10. 《Python游戏趣味编程》 第3章 美丽的圆圈画
  11. 选择数据分析工具应考虑4个因素
  12. 短信拦截马”黑色产业链与溯源取证研究
  13. Axure| .rp的文件怎么转化为.rplib
  14. .dSYM文件的生成
  15. 高等数学(下)思维导图
  16. hosts文件路径及文件介绍
  17. Django学习记录之——csrf跨站请求伪造校验
  18. 词向量介绍以及Word2Vec的pytorch实现
  19. html中怎么写艺术字,用CSS设计艺术字
  20. 智能手表的下半场,机遇与挑战并存

热门文章

  1. thinkpad T480安装WIN7
  2. bootstrap-datetimepicker时间控件
  3. java求几何周长面积_java求几何图形面积
  4. 展锐UDX710:TTS SDK移植
  5. Dual Super-Resolution Learning for Semantic Segmentation解读
  6. 【圈外同学】Day01 一个模型,帮你找到真正热爱的
  7. SULLEY安装与使用
  8. 对于ios7扫描二维码功能的实现
  9. typescript学习笔记1-tsconfig.json配置和变量类型声明
  10. Redis Cluster集群节点间通信