银行数据库设计.ppt
《银行数据库设计.ppt》由会员分享,可在线阅读,更多相关《银行数据库设计.ppt(53页珍藏版)》请在三一办公上搜索。
1、银行数据库设计,银行数据库的数据需求,初始的用户需求规格说明可以基于数据库用户的交流以及设计者自己对银行业务的分析。这个设计阶段中的需求描述是制定数据库的概念结构的基础。以下是银行企业的主要特征:1.银行有多个支行。每个支行位于某个城市,由唯一的名字标识。银行监控每个支行的资产2.银行客户通过其customer_id值标识,银行存储了每位客户的姓名及其居住的城市和街道。客户可以有账户,并且可以贷款。一个客户可能和某个银行员工发生联系,该员工作为此客户的贷款负责人或私人助理3.银行员工功过其employee_id值来标识。银行的管理机构存储每个员工的姓名、电话号码、亲属姓名及其经理的employ
2、ee_id号码。银行还需要知道员工开始工作的日期,由此日期可以推知员工的雇佣期4.银行提供两类账户支票账户和储蓄存款账户。账户可以由两个或两个以上客户共有,一个客户也可以有两个或两个以上的账户。每个账户被赋予唯一的账户号。银行记录每个账户的余额以及每个账户拥有者访问该账户的最近日期。另外,每个储蓄存款账户有其利率,而每个支票账户有其透支额5.每笔贷款由某个支行发放,能被一个或多个客户所共有。一笔贷款用一个唯一的贷款号标识。银行需要知道每笔贷款所贷金额以及逐次还款情况。虽然贷款的还款号并不能唯一地标识银行所有贷款中的某个特定的还款,但可以唯一地标识对某贷款的所还款项。对每次的还款需要记载其日期和
3、金额真实的银行中,还应像记载对贷款的所还款项那样来记载每个储蓄存款账户或支票账户中取出或存入的金额。由于这些记载的建模过程类似,并且为了保持示例的简洁性,在我们的模型中不考虑对存款和取款的记录。,建模,数据库建模如下:一组实体的集合一组实体集间联系的集合实体:是现实世界中可区别于其他对象的“事物”或“对象”。例如:企业中的每个人都是一个实体,一个人的person_id性质可以唯一地标识这个人;贷款也可以被看作实体,通过贷款号唯一地标识某个贷款实体。每个实体有一组性质(或属性)例如:people have names and addresses实体集:是相同类型即具有相同性质(或属性)的实体集合
4、。例如:某个银行的所有客户的集合可被定义为实体集customer。类似地,实体集loan表示某个银行所发放的所有贷款的集合。实体集不必互不相交。例如,可以定义银行所有员工的实体集employee和所有客户的实体集customer。而一个person实体可以是employee实体,可以是customer实体,可以既是employee实体又是customer实体,也可以都不是。,实体集 customer and loan,customer_id customer_ customer_ customer_ loan_ amount name street city number,联系集,联系:是指多
5、个实体间的相互关联。例如:可以定义客户Hayes和贷款号L-15相关联的联系HayesloanL-15customer entityrelationship setloan entity联系集是n(n 2)个实体集上的数学关系,其元素如下:(e1,e2,en)|e1 E1,e2 E2,en En这里(e1,e2,en)是一个联系。例如:(Hayes,L-15)borrower,联系集 borrower,联系集(续),一个联系集也可以具有描述性属性。实体集customer和account之间的联系集depositor。我们可以将属性access_date与该联系关联起来,以表示客户访问一个账户的
6、最近日期。,属性,一个实体集可能有多个属性,每个实体可以用一组(属性,数据值)对来表示。域 每个属性都有一个可取值的集合 属性类型:简单 属性和复合属性单值 属性和多值 属性例如:多值属性:phone_numbers派生 属性可以从别的相关属性或实体派生出来例如:age,派生于 date_of_birth,例如:customer=(customer_id,customer_name,customer_street,customer_city)loan=(loan_number,amount),复合属性,映射基数约束,指明一个实体通过一个联系集能同时与多少个实体相关联。映射基数在描述二元联系集时
7、非常有用。对于实体集A和B之间的二元联系集R来说,映射的基数必然是以下情况之一:One to oneOne to manyMany to oneMany to many,映射基数,One to one,One to many,注:A和B中的某些实体可能没有与另一个实体集中的任何实体相 关联。,映射基数,Many to one,Many to many,注:某个联系集的映射基数是依赖于该联系集所建模的对象在现 实世界中的实际情况。,码,超码:是一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一地标识一个实体。我们通常只对这样的一些超码感兴趣,它们的任意子集都不能成为超码,这样的最小
8、子集称为候选码。Customer_id is candidate key of customeraccount_number is candidate key of account尽管可能存在多个候选码,只选择其中之一作为主码。码(主码、候选码或超码)是实体集的性质,而不是单个实体的性质。实体集中的任意两个实体都不允许同时在码属性上具有相同的值。码的制定代表了被建模的现实企业中的约束。主码的选择应该是那些从不或极少变化的属性。例如:一个人的地址不应作为主码的一部分;(美)社会保障号可以作为主码。,联系集的码,所有参与的实体集的主码的组合构成一个联系集的超码。(customer_id,accou
9、nt_number)is the super key of depositor注:给定的联系集中的一个联系实例必须是由其参与实体能唯一标识的,而不必使用描述属性。假设我们要记录一个客户访问一个账户的所有日期。单值的属性access_date只能保存一个访问日期。我们不能通过同一用户和帐号之间联系的多个实例来表示多个访问日期,因为这些联系实例无法仅使用参与的实体来唯一的标识。正确的处理方法是创建一个多值的属性access_date,它可以保存所有的访问日期。联系集的主码结构依赖于联系集的映射基数。例如,实体集customer和account,以及具有属性access_date的联系集deposi
10、tor。如果联系集是多对多的,那么depositor的主码由customer和account的主码共同组成。如果一个客户只能有一个帐号,即depositor联系是从customer到account多对一的,则depositor的主码就是customer的主码。如果联系是从account到customer多对一的,则每个帐号最多只能属于一个客户,所以depositor的主码就是account的主码。一对一的联系中,可以使用两个主码中的任意一个来作为联系的主码。,E-R 图,矩形表示实体集;双矩形表示弱实体集菱形表示联系集线段将属性连接到实体集或将实体集连接到联系集椭圆表示属性双椭圆表示多值属性虚
11、椭圆表示派生属性双线表示一个实体集全部参与到联系集中下划线表示主码属性,带有复合、多值和派生属性的E-R图,具有描述性属性的联系集,角色,参与一个联系集的实体集可以相同标签“manager”和“worker”称为角色;表示实体在联系中的作用角色在E-R图中用连接菱形和矩形的线段上的标签指明角色标签是可选的,用于解释联系的语义,One-To-Many 联系,One-to-many 联系borrower:a loan is associated with at most one customer via borrower,a customer is associated with several(
12、including 0)loans via borrower,Many-To-One 联系,Many-to-one 联系borrower:a loan is associated with several(including 0)customers via borrower,a customer is associated with at most one loan via borrower,Many-To-Many 联系,A customer is associated with several(possibly 0)loans via borrowerA loan is associate
13、d with several(possibly 0)customers via borrower,参与,全部参与(双线):every entity in the entity set participates in at least one relationship in the relationship set例如:participation of loan in borrower is total every loan must have a customer associated to it via borrower部分参与:some entities may not participa
14、te in any relationship in the relationship set例如:participation of customer in borrower is partial,三元联系E-R图,实体-联系设计问题,实体集和联系集的概念并不精确,而且定义一组实体及它们的相互联系可能有多种不同的方式。用实体集还是用属性用实体集还是用联系集用二元联系集与n元联系集联系属性的布局,实体集 Vs.属性,具有属性employee_id、employee_name和telephone_number的实体集employee。如果电话可以作为一个单独的实体,它具有属性telephone_nu
15、mber和location实体集employee,具有属性employee_id和employee_name。实体集telephone,具有属性telephone_number和location。联系集emp_telephone,表示员工及电话间的联系。两种定义主要差别将电话处理成为一个telephone_number属性暗示对每个员工,正好有一个电话号码与之相联系;而将电话看成一个telephone实体,就允许每个员工可以有多个电话号码与之相联系。也就是说,将电话作为一个实体来建模可以保存关于电话的额外信息,如它的位置,或类型(移动的,视频的或普通的旧电话),或哪些人共用。因此把电话视为一个
16、实体比把它视为一个属性的方式更具有通用性;而且当这种通用性很重要的时候,这种定义方式就更为适合。,实体集 Vs.属性,什么作为属性?什么作为实体集?区分它们主要依赖于被建模的实际企业的结构,以及被讨论的属性的相关语义。常见错误用一个实体集的主码作为另一个实体集属性,而不是使用联系。例如,即使每笔贷款只有一个客户,将cumstomer_id作为loan的属性也是不正确的。用borrower联系代表贷款和客户之间的关联才是正确的方法,这样可以明确地表示出两者之间的关系,而不是将这种关系隐含在属性中。将相关实体集的主码属性作为联系集的属性。例如,loan_number和customer_id不应该在
17、borrower联系中作为属性出现。这样做是不对的,因为在联系集的表示中已经隐含了这些主码属性。,实体集 Vs.联系集,银行贷款的建模一种方法假设银行贷款通过一个实体来建模。另一种方法,不将贷款做为一个实体,而将其作为客户和银行支行之间的一个联系,这一联系具有描述属性loan_number和amount。每笔贷款都是用客户和银行支行间的一个联系来表示。如果每笔贷款正好为一个客户所有,并且正好同一个支行相联系,那么我们可以发现用联系来表示贷款是能满足设计要求的。但是,采用这样的设计,不能很方便地表示几个客户共有一笔贷款的情况。为此,必须为共有贷款的每个持有人分别定义一个联系,并不得不在每个这样的
18、联系中复制描述性属性loan_number和amount的值。当然,每个这样的联系必须有相同的loan_number和amount值。数据复制的问题在确定用实体集还是联系集时可采用的一个原则是,当描述发生在实体间的行为时采用联系集。,二元 Vs.多元联系集,数据库中的联系通常都是用二元的。一些看来非二元的联系实际上可以用多个二元关系更好地表示。例如,我们可以创建一个三元联系parent,将一个孩子与其父母相关联。这一联系也可以用两个二元联系分别来表示,即mother和father,分别与他们的孩子相关联。使用mother和father两个联系使我们可以记录孩子的母亲,即使我们不知道父亲的身份;
19、而对于这种情况三元联系parent中必须有一个Null值。所以在这个例子中用二元联系更好。上面的方法并不总是令人满意的。考虑联系集works_on,它与employee、branch和job有关。不能直接将works_on分离为employee和branch之间的联系与employee和job之间的联系这两个二元联系。否则,我们可以记录Jones既是经理又是审计员,且Jones既在Perryridge又在Downtown工作;然而我们无法记录Jones是在Perryridge工作的经理和在Downtown工作的审计员,而不是在Perryridge工作的审计员或在Downtown工作的经理。,联
20、系属性的布局,一个联系的映射基数比率会影响联系属性的布局。一对一或一对多联系集的属性可以放到一个参与该联系的实体集中,而不是放到联系集中。例如,指定depositor是一个一对多的联系集,也就是一个客户可以有多个账户,但每个账户只能属于一个客户。在这种情况下,指明客户最后一次访问账户的日期的属性access_date可以放在account实体集中。既然每个account实体最多和一个customer实例参与到联系中,因而将属性access_date放在account实体集中和将属性access_date放在depositor联系集中具有相同的含义。一对多联系集的属性仅仅可以重放置到参与联系的“
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 数据库 设计
链接地址:https://www.31ppt.com/p-5326252.html