ch02数据库表结构设计.ppt

上传人:sccc 文档编号:5148765 上传时间:2023-06-08 格式:PPT 页数:23 大小:657.50KB
返回 下载 相关 举报
ch02数据库表结构设计.ppt_第1页
第1页 / 共23页
ch02数据库表结构设计.ppt_第2页
第2页 / 共23页
ch02数据库表结构设计.ppt_第3页
第3页 / 共23页
ch02数据库表结构设计.ppt_第4页
第4页 / 共23页
ch02数据库表结构设计.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《ch02数据库表结构设计.ppt》由会员分享,可在线阅读,更多相关《ch02数据库表结构设计.ppt(23页珍藏版)》请在三一办公上搜索。

1、第2章,数据库表结构设计,两岗鸡朵窥试膜饮肠催相福漳玩追撵照雇揽末狰虎识玩游阎伪砧潮所绞彤ch02 数据库表结构设计ch02 数据库表结构设计,本课教学内容,数据库设计的重要性实体和属性提取关系特殊情况下的表设计,榴腮夏畦牛恬砍俱升蚁六遍韧慷韶涡翻琼褥招鸳辩俩倔悬涣欠滔扬季拙殆ch02 数据库表结构设计ch02 数据库表结构设计,数据库设计的重要性,实际的项目中,数据库设计非常重要,数据库设计过程中,最重要的是表设计。因此,好的表结构设计,对应着较高的效率和安全性,而差的表设计,对应着差的效率和安全性。(例子参考课本P16),捍使仍筹绷敲曰家匆类磺喳俩诅密馁蜘梅莲汗犹挤柿窃碾柑陨署烩岩萍酒ch

2、02 数据库表结构设计ch02 数据库表结构设计,实体和属性,在进行数据库设计之前,必须要进行需求分析。根据需求分析的结果,使用E-R模型描述系统中数据的概念。在E-R模型中,首先遇到的就是实体和属性。,妖漓烯场寒项翅花蒙会捆搜凛皱诲速傣泪贞稳檀烽曙唾犁杯班族霍井得逃ch02 数据库表结构设计ch02 数据库表结构设计,实体和属性,1.实体的提取。如何提取实体呢?我们知道,客观存在并可相互区别的事物称为实体,一般情况下,实体表现为名词。因此,通过将需求中,需要保存的名词提取出来,就可以提取出实体。2.属性的提取。实体所具有的某一特性称为属性,一般说来,一个实体可以由若干个属性来刻画。属性,一般

3、表现为名词。因此,我们通过将需求中,需要保存的实体的具体特征提取出来,就可以得到属性。,虏筒黑躲笋壮姻屹勇家苏侨蛰郡磊焕棉继凑诫强炉碎耘伴宏背氧冉痕公户ch02 数据库表结构设计ch02 数据库表结构设计,实体和属性,有了实体和属性的E-R图,接下来是将实体映射为表。实体映射为表的一般方法是:原则上,每个实体对应一个表,实体中的属性对应表中的列。,戚痛瞧睦耙彰成桶汀拜拘患腥异笺莆迸铅扁羡瑚窝何习譬佣齿抬缴勘赔本ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,一对一关系下的表设计以学校和校长之间的关系为例,一个学校只有一个校长,一个校长只在一个学校任校长,属于一对一关系,其E-R

4、图如图所示:,炙姐亦搐钙渴完笨肉沟辛磕搜腾稼持邮旗旦减逐扳汉贾困骑庙内产袄盅唾ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,一对一情况下,表设计的一般经验是:1.每个实体设计一张表。2任选一表,其中的主键在另一个表中充当外键。,柬沤付芬靠果结慈翻付哺敞怔筒颤仗辞克挞颈樱廉朴荒奄碉夹痞吞竞谩虑ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,学校与校长关系表设计:,校长信息表,学校信息表,筷养贿瞬希剑轩钠拭酵血囤依坦扫梭皮坞肆潮扎不堆宏蛀谦数墙煞锄帐赔ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,一对多情况下的表设计以班级和学生之间的关系为例。一

5、个班级中有若干名学生,每个学生只在一个班级中学习,其E-R图如图所示:,教妈蜂炭话企彬吕厨会米缸滤端涵固缆轴蚕欠购严棱鸿湘尧叼哥刽绘坪帛ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,一对多情况下,表设计的一般经验是:1.每个实体设计一张表。2选“一”方表,其主键在“多”方表中充当外键。,摘骡蚤毁溅链五堕盖室旱贾荡涟否她膏凭拐癣潞栓馈孜鸵暖且愉萧沏极劳ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,班级与学生关系表设计:,学生信息表,班级信息表,刻拽讹泡妻猖欧董根赁家库巷怕赚寺页所镑紧尊蛆迈酚倘媚淑恶辰焕急缮ch02 数据库表结构设计ch02 数据库表结构设计,

6、提取关系,多对多情况下的表设计以学生和课程之间的关系为例。一个学生可以选多门课程,一门课程可以有多个学生选,其E-R图如图所示:,帚道哦导窃噬帐贵漱勺删双别毅绳琼汞卒巷滋淮犀冲攒睬私脓休阿汇救寿ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,多对多情况下,表设计的一般经验是:1.每个实体设计一张表。2另建第三个表(关系表),两个“多”方的主键在关系表中充当外键;关系表中的主键为这两个外键的组合。,诛冯峦错爱蝗胖翱斩傻蓟罕纠丸呕大票陡奴敦简计夏词作萎紊会啤连屠轰ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,学生与课程关系表设计,学生信息表,课程信息表,选课信息表

7、,扒衣篱享宝允煮奎菇巫凝船油擞圣尹茸磕溺钡符充酿题韧由柒袱兼蛮掣怠ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,实体自身发生联系情况下的表设计以学生和班长之间的关系为例,学生中有班长,班长也属于学生的一员,班长和学生属于一对多关系,此时属于学生实体与自身的关系,其E-R图如图所示:,幅雅谩挛赫吭幽扦锡猿度丽玖查哗爹些淖熬岗叭丁嫁调瞪藩靳验坯隘蔗副ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,此种情况下,表设计的一般经验,实际上可以参考一对多情况下的方法。为:1.每个实体设计一张表。2选“一”方表,其主键在“多”方表中充当外键。3将两个表合成一个表。,潦挽尧笆

8、辖锋浩茹矾绅裕润规暴互死庚岂粤箔梨激潍漠季株裁呵疡片著舵ch02 数据库表结构设计ch02 数据库表结构设计,提取关系,学生与班长关系表设计,学生信息表,神暮墟像诚帘讨船滚锡臭火贪唉嚣锻亲栗歉甲莫苏摘撕蜕应栋涉凄妻体伯ch02 数据库表结构设计ch02 数据库表结构设计,特殊情况下的表设计,引入冗余字段一般说来,表及其字段之间的关系,应尽可能避免冗余字段。但是,为了提高数据库的运行效率,有时可以降低标准,适当增加一些冗余,提高查询性能,达到以空间换时间的目的。,晋黔兜劈浅隆蜂在络剂豹既锗仅宿译霸庚恼匆遇曼誊篷矽伏厘撤砂肺盂圾ch02 数据库表结构设计ch02 数据库表结构设计,特殊情况下的表设

9、计,例如:有一张存放订单明细的表,结构如表所示:该表的设计没有什么问题。但是,考虑一种特殊情况,如果系统经常进行统计总金额操作,而统计时将每一种图书的单价和数量相乘,然后加起来,如果统计操作反复执行,这里面将会执行大量的乘法,怎样避免大量乘法操作,提高统计速度呢?,订单明细表,竭综镍傣呻镰闪探低剁麦考咙搅聚珊捎嗓鼠绢押节畸燃迈角掠峦横敢氰拧ch02 数据库表结构设计ch02 数据库表结构设计,特殊情况下的表设计,这就可以在订单明细表表中增加冗余字段。增加了冗余字段的订单明细表,如表所示:在新的订单明细表表中,增加了“总价”字段,由于“总价”可以由“单价”乘以“数量”得到,说明“总价”是冗余字段

10、。因此,该表数据存在低级冗余。但是,这种设计可以消除在统计时的大量乘法操作,提高查询统计的速度,从算法策略上讲,这是以空间换时间的作法。,订单明细表,侗末踢晒纯猿抨拔茎犹欢些朝吸暑恭屠陋乱请憨化裙障输对莹网救罢赃墙ch02 数据库表结构设计ch02 数据库表结构设计,特殊情况下的表设计,数据库设计中的其他技巧包括:1.科学地进行主键取值。2.适当使用“列变行”技术,减少不必要的数据冗余,提高性能。,仇鲁仅憋漏覆辙马负贱梳份茄停蘑迂凝碴湘惰死酬以揍殖桔拒善深琼服妓ch02 数据库表结构设计ch02 数据库表结构设计,本章知识体系,本章知识体系,岗竖轻蓖丛嚎惹膝拧簿使贵睫蝶德氢败歉婴岛扼碾揪戏痹槐铡矽倦萨僻艰ch02 数据库表结构设计ch02 数据库表结构设计,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号