数据库应用程序设计实践任务书.docx
- 文档编号:7355142
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:10
- 大小:28.08KB
数据库应用程序设计实践任务书.docx
《数据库应用程序设计实践任务书.docx》由会员分享,可在线阅读,更多相关《数据库应用程序设计实践任务书.docx(10页珍藏版)》请在冰点文库上搜索。
数据库应用程序设计实践任务书
数据库应用程序设计实践
任务书
东北大学软件学院
2013年3月
一课程大体信息
1.课程设计名称:
数据库应用程序设计实践
2.课程设计编号:
3.课程设计学分:
2学分
4.课程设计周数(学时):
3周(32学时)
5.课程设计讲课单位:
软件工程研究所
6.指导方式:
集体辅导和个别辅导相结合
7.适用专业:
软件工程(高起本、1+3)
8.课程设计教材及要紧参考资料:
[1]《数据库设计、应用开发与治理》,MichaelV.Mannino等著,电子工业出版社,
[2]二教学目的和大体要求
1.加深对数据库系统、程序设计语言的理论知识的明白得和应用水平。
2.通过完成具有实际意义的Web数据库练习,进一步熟悉数据库治理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
3.提高综合运用所学的理论知识和方式,独立分析和解决问题的能力。
三课程设计的内容和安排
1.安装并运行数据库;
2.完成关于关系数据库基础知识的题目1;
3.运行给定的SQL语句,生成图书馆治理系统的数据库,编写相应的SQL语句,完成题目2中要求的内容;
4.运行给定的SQL语句,生成图书馆治理系统的数据库,编写高级的SQL语句,完成题目3中要求的内容;
5.完成Web数据库程序设计题目4(选做)
6.阅读附录中的电子商务系统,给出该电子商务系统的E-R模型;
7.完成关于标准化内容的题目6;
8.关于第6步中自己设计的E-R模型,将其转换为关系数据模型;
9.完成关于事务编程方面的题目8,9;
10.完成索引成立和查询优化方面的题目10;
11.完成整个的电子商务项目;(选做)
12.完成网上书店项目;(选做)
13.撰写课程设计报告:
总结和提升上述进程和步骤,写出结构严谨、表述清楚、符合设计标准的报告。
四课程设计的题目
本课程实践要求完成一个电子商务项目(WebDB应用),其中包括10个具有实际意义的数据库练习,包括了数据库系统应用中的方方面面的知识。
另外附件A、B还包括一个实际的图书馆项目,可依如实际情形选做。
五考核的方式和成绩的评定
考核成绩分为两个部份:
1.验收部份:
占60%。
依照以下几个指标进行验收
验收时是不是能够快速完成教师指定的练习题目
回答下列问题的思路是不是清楚
内容设计的是不是标准、合理
内容设计的创新性
2.实验报告(40%)
实验报告结构是不是清楚,问题表达是不是具有逻辑性
Web数据库应用程序设计的正确性
六时刻的安排
共3周(见教学办安排)。
每一个同窗能够依照自身实际情形把握进度,做完整个项目即可验收,最晚到实践课的最后一天。
七课程设计结果的提交
1.课程设计报告(一份、A4纸打印,同时包括一份电子文档)
2.答辩报告(制作PPT报告,电子方式提交),要求重点突出,思路清楚,同时就此报告预备答辩。
所有电子方式提交的文件全数寄存在一个目录中,并对其进行紧缩,紧缩后的文件按规定格式进行命名,命名格式为:
班级号+学号+姓名。
八课程设计报告的格式(见附页)
1.按各个题目的要求书写相关文档;
2.参考文献。
九课程设计题目说明
见文件夹--------“程序实践四资料”
此文件夹内共有十个练习文件夹(练习1----练习10内均为超文本文件,索引文件为“练习N.html”)
还有附件A、B、C,其中附件C为前十个练习的参考项目资料,附件A和B为可选做项目的参考资料。
关系数据库
设计以下两个表:
BOOK:
∙PrimaryAuthor
∙Title
∙ISBN
∙PublisherID
∙Edition
∙DateofPublication
∙Price
∙BookDescription
PUBLISHER:
∙PublisherID
∙Name
∙Address
第一部份:
1.指出你所设计表的各类键值,在选择时不要考虑性能问题。
1)指出每张表是不是存在主码,假设存在,请指出具体的主码,并说明缘故。
2)指出每张表是不是存在备用码(除主码之外的所有候选码),假设存在,请指出所有的备用码,并说明缘故。
3)指出各表中存在的外码和完整性约束,并说明缘故。
2.列出各表所有列和各列的域(数据类型和格式),并说明理由。
第二部份:
写出如下SQL语句:
1.用DDL语言中的CREATETABLE语句创建以上两张表,并确信指定了表的主码和备用码;
2.利用INSERT语句向每张表中以上四条记录;
3.写SQL语句检索两个出版人之一(比如说是AddisonWesley和McGrawHill)所出版书籍的题目和价钱,列出你所用到的所有选择、投影和连接操作,并说明各个操作在查询中的作用;
4.写SQL语句,检索特定书名(比如说是”FundamentalsofDatabaseSystems”)的出版人。
第三部份:
1.已知关系表r和s如下:
表r
A
B
C
a
b
c
d
a
f
c
b
d
表s
D
E
F
b
g
a
d
a
f
给出差运算r-s和s-r的结果;
2.描述下面查询的结果,若是将UNION用EXCEPT替代,又会有什么样的查询结果?
(SELECTMemNo
FROMMEMBER,BOOK
WHEREMemNo=BorrowerMemNoAND
CallNumber='26C'
)
UNION
(SELECTMemNo
FROMMEMBER,BOOK
WHEREMemNo=BorrowerMemNoAND
CallNumber=''
);
SQL
运行给定的SQL语句生成一个图书馆数据库。
注意Book表中的每一条记录代表一本具体的书,因此,若是图书馆中有三本名为"DBMS"的书,Book表中将有三条相关记录,每条代表一本书。
请写出针对以下问题的SQL语句(每一问必需用一条SQL语句实现,但该SQL语句能够包括子查询)。
1.列出作者为"Churchill"的所有书籍的名称和出版年份;
2.检索firstname为"John"或"Susan"的借阅者所借阅所有图书的题目;
3.列出同时借阅"Iliad"和"Odyssey"这两本书的所有借阅者的names和IDs;
4.列出借阅了Collins所写的所有图书的读者的names和IDs,假设一名读者能够同时借阅一本书的多个复本;
5.查找借阅了lastname为"Tanenbaum"的作者所高作的任一本书籍的所有读者的号码;
6.查找借阅了三本书以上的读者,并列出他们的names、IDs和所借阅图书的数量,查询结果按所借阅图书的数量降序排列;
7.列出没有借阅图书的所有读者;
8.按字母顺序列出是Pittsburgh居民(号码以412开头)并无借阅图书"PittRoads"的所有读者的firstnames。
AdvancedSQL
在该练习中,咱们利用一个图书馆数据库。
它包括了图书馆藏书信息,读者信息,图书借阅次数,图书供给商信息,和与供给商所签定的定单信息。
为了区分其它练习中的数据库表名,该练习中所有数据库表名称都以字母'4'终止。
注意:
ReceivedDate列指的是定单录入系统(即保留到数据库中)的日期,而不是消费者接收到其所订购书籍的日期。
TITLE4(Name,ISBN,CallNumber,Year,AuthorFName,AuthorLName);
PK(CallNumber)
MEMBER4(LibId,Fname,Lname,Address,PhoneNumber);
PK(LibId)
BOOK4(Book_Id,Edition,Status,BorrowerId,BorrowerDueDate,CallNumber);
PK(Book_Id)
FK(BorrowerId)->MEMBER4(LibId)
FK(CallNumber)->TITLE4(CallNumber)
PURCHASE_ORDER4(PoNum,Qty,OrderDate,DueDate,ReceivedDate);
PK(PoNum)
SUPPLIER4(Supplier_Id,Name,Address);
PK(Supplier_Id)
READ_BY4(CallNumber,LibId,TimesRead);
PK(CallNumber,LibId)
FK(CallNumber)->TITLE4(CallNumber)
FK(LibId)->MEMBER4(LibId)
ORDERED4(CallNumber,PoNum,Supplier_Id);
PK(CallNumber,PoNum,Supplier_Id)
FK(CallNumber)->TITLE4(CallNumber)
FK(PoNum)->PURCHASE_ORDER4(PoNum)
FK(Supplier_Id)->SUPPLIER4(Supplier_Id)
利用给出的CREATETABLE和INSERT语句创建一个数据库。
为了不和现有的表冲突,咱们需要成立一个空的数据库来运行这些DDL语句。
1.运行CREATETABLE和INSERT语句;
2.编写并运行SQL语句,删除所有表中的记录;
3.编写并运行SQL语句,依照以下方式来修改数据库:
1)创建上面列出的还未创建的数据库表,当设定表中各列的类型和长度时,需要考虑给定的用于填凑数据的INSERT语句;
2)将表TITLE4中的ISBN和Name字段设置成备用码,而且它们不能取空值;
3)在所有表中添加指定的外码约束;
4)在表MEMBER4中添加"Join_date"和"Gender"两列;
5)指定表READ_BY4中"TimesRead"列不能取负值。
4.依照给定的INSERT语句填凑数据库;
5.编写SQL语句实现如下功能:
1)显示ID以字母"A%B"或"A&B"开头,而且加入图书馆不晚于Nov.30,1997的所有读者的ID,firstname和joiningdate;
2)显示知足如下条件因此书籍的name,ISBN和callnumber,这些书籍由两个以上的供给商提供,而且订购的数量大于10,显示时按书籍的总订购数量非升序排列;
3)显示所有借阅图书的数量少于图书馆总藏书5%的读者的IDs和firstnames,结果按借阅图书数量非降序进行排列;
4)按字母顺序列出所有至少读一本书两次的女读者的firstnames和IDs;
5)列出知足如下条件的供给商的names和他们各自的定单平均订购书籍数量,要求他们的定单平均订购书籍数量大于系统中所有定单的平均订购书籍数量;
6)按字母顺序列出知足如下要求的所有图书馆中男读者的firstnames和IDs,要求他们在Oct.10,1995之前加入图书馆,而且仅读了五本或更少的不同的图书,关于同一本图书,他们曾没有读过量遍。
ERModels
参考附录中的电子商务工程的描述,完成你的电子商务数据库的ER建模。
注意附录中的说明是从用户的角度来动身的,因此并无列出所有的码(主码和备用码),联系和联系的类型,咱们需要确信它们。
为了完成说明,咱们需要进行合理的假设,并要对这些假设进行精准描述,咱们ER图中任何一个部件都能够由附录中的说明或咱们所作的假设进行实例化。
在设计ER图时注意以下几点:
●指明实体类型(指定是不是为弱实体);
●指明每一个实体的属性及类型(指定是单值或多值、简单或复合属性等),将属性列在表格中,不要直接画在图上;
●指明联系的类型(指定联系的基数和联系是强制仍是可选联系)。
Normalization
下表是为网上书店设计的一张表(注意和附录中的电子商务系统无关):
雇员的姓名为EmpName、员工号为EmpID,定单号为OrderNo,邮寄地址为ShipToAddr,邮寄日期为ShippedData,由邮递公司产生的邮寄单号为TrackingNum,假设该网上书店仅利用一个邮递公司来邮寄物品。
注意:
●一个定单能够分多次进行邮寄,即每一个定单能够包括多个邮寄单号;
●每次邮寄仅有一名雇员来完成,可是一个定单能够由多个雇员邮寄。
SHIPMENT
EmpID
EmpName
OrderNo
ShipToAddr
ShippedDate
TrackingNum
1234
Joe
223
4615ForbesAve,Pittsburgh,PA15147
12/21/99
2134
Jones
224
4615ForbesAve,Pittsburgh,PA15147
12/25/99
1.给出主码;
2.写出所有的函数依托;
3.写出所有的修改异样,并举例说明;
4.说明该关系属于第几范式?
5.利用关系模式标准化的方式,将该关系标准化为3NF。
即,若是该关系是非标准化关系,那么将其标准化为1NF,然后将其在1NF的基础上转换为2NF,在在2NF的基础上转换为3NF。
●在每一个标准化进程中,要描述以下内容:
●说明转换为范式X的步骤;
●给出范式X下表的结构,主码和函数依托;
●给出其符合范式X的缘故。
ERMapping
利用映射算法,将节中你所设计的E-R模型转换为关系数据模型。
利用下例所示的方式来描述你取得的关系数据模型:
PK代码主码,AK代码附码,FK代表外码,利用箭头指向相关联表的主码。
要写出映射算法中每一步的结果。
EMP(SSN,Name,DriverLicenseNo,DeptNo);
PK(SSN)
AK(DriverLicenseNo)
FK(DeptNo)->Dept(DNo)
最后,针对你最终取得的关系模式,给出相应的CREATETABLE语句。
在CREATETABLE语句中要添加完整性约束:
码、关联等。
并运行你的SQL语句产生该关系模式。
ProgrammingwithTransactions
IndexChoiceandQueryOptimization
附页
数据库应用程序设计实践总结报告
专业
班级
学号
姓名
日期
东北大学软件学院
1.关系数据库
2.SQL
3.AdvancedSQL
……..
n.参考文献
例:
[1]萨师煊,王珊.数据库系统概论(第三版)[M].北京:
高等教育出版社,2002,122-150.
[2]侯捷.Java编程思想[M].北京:
机械工业出版社,2002,22-35.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用 程序设计 实践 任务书