数据库实验报告大全 广工 蔡延光版

上传人:gui****hi 文档编号:125810413 上传时间:2022-07-27 格式:DOC 页数:29 大小:593KB
收藏 版权申诉 举报 下载
数据库实验报告大全 广工 蔡延光版_第1页
第1页 / 共29页
数据库实验报告大全 广工 蔡延光版_第2页
第2页 / 共29页
数据库实验报告大全 广工 蔡延光版_第3页
第3页 / 共29页
资源描述:

《数据库实验报告大全 广工 蔡延光版》由会员分享,可在线阅读,更多相关《数据库实验报告大全 广工 蔡延光版(29页珍藏版)》请在装配图网上搜索。

1、 自动化 学院 自动化 专业 班 学号姓名 实验时间 2011.3.14 教师评定 实验题目 数据定义 实验报告一一、 实验目的与要求目的:使用SQL语言实现数据库的创建、删除;基本表的创建、删除、更新工作;以及索引的创建、删除工作。要求:1、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、DROP命令实现数据库的创建及删除工作。2、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表的创建、更新、删除工作,并实现基本表中各类完整性约束条件的限定。3、在SQL SERVER 2000查询分析器中,利用SQL语

2、言中CREATE、ALTER及DROP命令进行基本表中索引的创建、更新、删除工作。4、完成上述工作后,在SQL SERVER 2000企业管理器中,查看是否成功创建实验所要求数据库、基本表、各类完整性约束条件及索引等内容。二、 实验方案所有实验内容必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式发布执行命令并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。要求完成如下内容:1定义数据库定义一个借阅数据库,要求所定义的数据库大小为1M,且数据库名称为Labe

3、ry_学号。 2定义下列数据库基本表 在所定义的借阅数据库Labery_学号中,按要求定义如下数据库表:1) 书(book)列名别名类型及长度是否可为空书号bnochar(8)否类别categoryvarchar(10)否书名titlevarchar(40)否出版社pressvarchar(30)是年份book_yearInt否作者authorchar(20)是价格pricedecimal(7,2)否总藏书量book_totalInt否2) 借书证(card)列名别名类型及长度是否可为空卡号cnochar(7)否姓名namechar(8)否单位departmentvarchar(40)是类别t

4、ypechar(1)否3) 借书记录(borrow)列名别名类型及长度是否可为空卡号cnochar(7)否书号bnochar(8)否借书日期borrow_datesmalldatetime否还书日期return_datesmalldatetime 是3完整性约束条件:主要内容为:1) 确定各基本表的主码;2) 确定各基本表的外码;3) 要求在定义各基本表的同时,确定如下完整性约束条件1、 定义各基本表主码,并且要求主属性不能为空;2、 如果有外码,定义各基本表外码;3、 要求检查借书证中属性Type的值是否为(T,G,U,F);4、 借书记录borrow基本表中borrow_date默认日期为

5、当前时间。4)确定各基本表哪些字段需要建立索引。三、 实验结果和数据处理1. SQL语句:CREATE DATABASE Labery_3108001518ON PRIMARY(NAME=Labery_3108001518,FILENAME=C:Documents and SettingsAdministrator桌面数据库实验3108001518.MDF,SIZE=1MB,MAXSIZE=6MB,FILEGROWTH=1MB)运行结果:2. SQL语句:USE labery_3108001518;CREATE TABLE book(bno char(8) not null primary k

6、ey, category varchar(10) not null, title varchar(40) not null, press varchar(30), book_year int not null, author char(20), price decimal(7,2) not null, book_total int not null)运行结果:SQL语句:CREATE TABLE card(cno char(7) not null primary key, name char(8) not null, department varchar(40), type char(1) n

7、ot null check(type in(T,G,U,F)运行结果:SQL语句:CREATE TABLE borrow(cno char(7) not null foreign key(cno)references card(cno), bno char(8) not null foreign key(bno)references book(bno), borrow_date smalldatetime not null default getdate(), return_date smalldatetime)运行结果:建立索引:CREATE INDEX b_book_year ON boo

8、k(book_year desc)CREATE INDEX b_borrow_date ON borrow(borrow_date desc)四、 结论通过本实验基本学会使用SQL语言实现数据库的创建、删除;基本表的创建、删除、更新工作;以及索引的创建、删除工作。五、 问题与讨论 1) 如果在创建关系数据库基本表时,未创建完整性约束条件,对于数据库会有何影响?答:以后增加数据库数据时,有可能插入无效或重复的数据。当想删除有多张表中的一张时,由于删除了该表导致其他表数据不完整不能用。2) 如果在创建关系数据库基本表时,未创建索引,对于数据库的运行性能会有何影响?答:索引是以牺牲内存空间换取检索时

9、间的,未创建索引时会使运行时的检索变得很慢。 自动化 学院 自动化 专业 班 学号姓名实验时间 2011.3.14 教师评定 实验题目 数据更新 实验报告二一、 实验目的与要求目的:要求学生熟练掌握和使用TransactSQL及SQL server 企业管理器向数据库中输入数据、修改数据和删除数据的操作。要求学生按要求实现基本表数据更新,并在数据更新过程中,验证各类数据完整性约束条件,即实体完整性、参照完整性及用户定义完整性约束条件。要求:1、使用SQL SERVER 2000查询分析器,并用INSERT、UPDATE、DELETE语句进行基本表数据更新,要求在进行数据的更新时,所修改的记录不

10、仅满足数据完整性约束条件,并注意各个数据表之间的关联性;2、在数据更新过程中,通过分析SQL命令执行后数据的差异,来验证SQL命令的正确性,并通过查看运行结果的合法性,来验证各类完整性约束条件正确性。3、熟练使用企业管理器进行数据库的建立和维护操作,并掌握利用查询分析器进行数据维护的方法。二、 实验方案第1、2项实验内容必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式发布执行命令并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。具体实验步骤如下:1、数据输

11、入分别向book、card、borrow三个基本表中输入10条数据(备注:考虑到以后的可操作性,希望数据的数据具有一定的现实意义),其次插入的数据满足数据完整性约束条件及表与表之间的关联性的要求。表1 书书号类别书名出版社年份作者价格总藏书量O001计算机类数据库系统机械工业出版社2004张三2840002计算机类操作系统清华大学出版社2000李四3530003数学类高等数学科学出版社1998王五15100004数学类离散数学机械工业出版社2006赵六2220005计算机类C语言清华大学出版社2005钱七4010006文学类心灵鸡汤电子工业出版社2002NULL1950007文学类白鹿原199

12、9NULL2560008历史类中国近代史文艺出版社2001李立3240009历史类中国古代史文艺出版社2001李立3240010计算机类JAVA语言机械工业出版社2004王明382表2 借书证卡号姓名单位类别T001李媛媛自动化学院TT002王丽丽自动化学院TT003张强计算机学院TT004赵刚理学院TG001吴明自动化学院GG002钱清计算机学院GU001李峰自动化学院UU002白岚艺术学院UF001张卫国FF002李爱国F表3 借书记录卡号书号借书日期(月/日/年)还书日期(月/日/年)T00100012011-1-12011-1-4T00100022011-1-12011-1-4T001

13、00052011-1-12011-1-4T00100102011-1-12011-1-4T00300012011-2-152011-3-4T00300022011-2-152011-3-4T003000320011-2-152011-3-4T00300042011-2-152011-3-4G00200052011-2-52011-3-14G00200072011-8-10G00200102011-8-10U00100092011-2-22011-3-9U00100082011-2-22011-3-9U00200072011-2-22011-3-9U00200042011-2-22011-3-9

14、F00100012011-2-122011-3-11F00100022009-2-122011-3-11F00100032011-2-122011-3-11F00200062011-1-20 2、修改数据修改book、card、borrow三个基本表的数据,并要求将book表中price属性的值全部打8折、清华大学出版社的书籍总藏书量增加10本等,同时满足数据完整性约束条件。3、删除操作删除book、card、borrow三个数据表中的某些数据,并注意数据完整性约束条件的限制。要求删除borrow表中借书日期为1年前的数据,以及要求删除电子工业出版社的书籍。三、 实验结果和数据处理1、输入数据

15、SQL语句:INSERT INTO book VALUES(0001,计算机,数据库系统,机械工业出版社,2004,张三,28,4)INSERT INTO book VALUES(0002,计算机,操作系统,清华大学出版社,2000,李四,35,3)INSERT INTO book VALUES(0003,数学类,高等数学,科学出版社,1998,王五,15,10)INSERT INTO book VALUES(0004,数学类,离散数学,机械工业出版社,2006,赵六,22,2)INSERT INTO book VALUES(0005,计算机,C语言,清华大学出版社,2005,钱七,40,1)

16、INSERT INTO book VALUES(0006,文学类,心灵鸡汤,电子工业出版社,2002,null,19,5)INSERT INTO book VALUES(0007,文学类,白鹿原,null,1999,null,25,6)INSERT INTO book VALUES(0008,历史类,中国近代史,文艺出版社,2001,李立,32,4)INSERT INTO book VALUES(0009,历史类,中国近代史,文艺出版社,2001,李立,32,4)INSERT INTO book VALUES(0010,JAVA语言,数据库系统,机械工业出版社,2004,王明,38,2)Sel

17、ect * from book运行结果如下:INSERT INTO card VALUES(T001,李媛媛,自动化学院,T)INSERT INTO card VALUES(T002,王丽丽,自动化学院,T)INSERT INTO card VALUES(T003,张强,计算机学院,T)INSERT INTO card VALUES(T004,赵刚,理学院,T)INSERT INTO card VALUES(G001,吴明,自动化学院,G)INSERT INTO card VALUES(G002,钱清,计算机学院,G)INSERT INTO card VALUES(U001,李峰,自动化学院,

18、U)INSERT INTO card VALUES(U002,白岚,艺术学院,U)INSERT INTO card VALUES(F001,张卫国,NULL,F)INSERT INTO card VALUES(F002,李爱国,NULL,F) Select * from card运行结果如下:INSERT INTO borrow VALUES(T001,0001,2011-1-1,2011-1-4)INSERT INTO borrow VALUES(T001,0002,2011-1-1,2011-1-4)INSERT INTO borrow VALUES(T001,0005,2011-1-1,

19、2011-1-4)INSERT INTO borrow VALUES(T001,0010,2011-1-1,2011-1-4)INSERT INTO borrow VALUES(T003,0001,2011-2-15,2011-3-4)INSERT INTO borrow VALUES(T003,0002,2011-2-15,2011-3-4)INSERT INTO borrow VALUES(T003,0003,2011-2-15,2011-3-4)INSERT INTO borrow VALUES(T003,0004,2011-2-15,2011-3-4)INSERT INTO borro

20、w VALUES(G002,0005,2011-2-5,2011-3-14)INSERT INTO borrow(cno,bno,borrow_date) VALUES(G002,0007,2011-8-10)INSERT INTO borrow(cno,bno,borrow_date) VALUES(G002,0010,2011-8-10)INSERT INTO borrow VALUES(U001,0009,2011-2-2,2011-3-9)INSERT INTO borrow VALUES(U001,0008,2011-2-2,2011-3-9)INSERT INTO borrow V

21、ALUES(U002,0007,2011-2-2,2011-3-9)INSERT INTO borrow VALUES(U002,0004,2011-2-2,2011-3-9)INSERT INTO borrow VALUES(F001,0001,2009-2-12,2011-3-11)INSERT INTO borrow VALUES(F001,0002,2009-2-12,2011-3-11)INSERT INTO borrow VALUES(F001,0003,2009-2-12,2011-3-11)INSERT INTO borrow(cno,bno,borrow_date) VALU

22、ES(F002,0006,2011-1-20)Select *from borrow运行结果:2、 修改数据UPDATE BOOK SET PRICE=0.8*PRICEUPDATE BOOK SET book_total=book_total+10 WHERE press=清华大学出版社3、 删除操作delete from borrow where borrow_date=getdate()-365delete from borrow where bno in(select bno from book where press=电子工业出版社)delete from book where pr

23、ess=电子工业出版社四、 结论通过本实验基本学会掌握和使用TransactSQL及SQL server 企业管理器向数据库中输入数据、修改数据和删除数据的操作,实现带参照完整性的数据操作。五、 问题与讨论 1)如果在实验一中,没有定义数据完整性约束条件,则在数据录入或删除过程中会对数据库造成什么影响?答:录入数据时,有可能插入无效或重复的数据。删除数据时系统没提示有可能残留一些待删除的数据,导致其他表数据不完整不能用。2)思考如何利用SQL Server 2000中所提供的时间函数实现对时间的操作,如需要查询当前时间50天以前的图书的借阅数据该如何处理?答:调用getdate()函数可以返回

24、当前系统日期,如下:Select * from borrow where borrow_date=all(select sum(book_total) from book group by book_year)2、 select count(*)/count(distinct cno)as avgnum from borrow 3、select cno from cardwhere cno not in(select cno from borrow where year(borrow_date)=year(getdate()4、select category from book,borroww

25、here book.bno=borrow.bno and year(borrow_date)=year(getdate() group by category having count(*)=all(select count(*) from book,borrow where book.bno=borrow.bno and year(borrow_date)=year(getdate() group by category)5、select card.department from card,borrowwhere o=o group by department having count(*)

26、=all(select count(*) from card,borrow where o=o group by department)四、结论通过本实验基本学会掌握数据查询中嵌套查询语句的操作方法,并加深对Transact-SQL语言的查询语句的理解。五、问题与讨论 1、试用多种形式表示实验中的查询语句,并进行比较。答: 如以上的第三小题,既可以用select cno from cardwhere cno not in(select cno from borrow where year(borrow_date)=year(getdate()也可以用exists语句:select cno fr

27、om cardwhere not exists(select * from borrow where year(borrow_date)=year(getdate()and o=cno) 自动化 学院 自动化 专业 班 学号 姓名 实验时间 2011.3.21教师评定 实验题目 集合查询、分组查询、函数查询 实验报告五一、 实验目的与要求目的:使学生熟练掌握数据查询中分组、统计、计算和组合的操作方法,并加深对Transact-SQL语言的查询语句的理解。要求:在SQL Server的查询分析器中使用UNION(并操作)完成组合查询实验,并利用SELECT语句及GROUP BY 与聚集函数实现分

28、组、统计和计算等查询工作。实验内容主要有:1、分组查询实验:包括分组条件表达、选择组条件的表达方法。2、使用函数查询的实验:包括统计函数和分组统计函数的使用方法。3、组合查询实验。4、计算和分组计算查询的实验。二、 实验方案所有查询必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式发布执行命令并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。要求完成以下查询要求:1、 计算机类和机械工业出版社出版的图书;2、 总藏书量在五本以上的书(书名、作者、出版社、年份

29、);3、 “数据库系统,张三编,机械工业出版社”这本书现有的藏书量;4、 今年(2011年)未被借过的书;5、 馆藏图书(包括已借出的和未借出的)的类别数、总册数、最高价、最低价;6、 馆藏的书籍(包括已借出的和未借出的)中哪些出版社的书的类别超过2个;7、 目前已借出多少册书;8、 查询年份最久远的书(即迄今为止出版时间最早的书);9、查询“机械工业出版社”的各类图书的平均定价;10、计算各出版社计算机类图书的全部册数和总价格。三、实验结果和数据处理1、输入SQL语句:select * from book where category=计算机unionselect * from book w

30、here press=机械工业出版社2、 select title,author,press,book_year from book where book_total53、select book_total from book where title=数据库系统and author=张三and press=机械工业出版社4、Select book.* from book,borrow where book.bno=borrow.bno and year(borrow_date)year(getdate()unionselect * from book where bno not in (sel

31、ect bno from borrow)5、select count(distinct category)as category_num,count(*)as total_num,max(price)as high_price,min(price)as low_pricefrom book,borrow where book.bno=borrow.bno 6、select press from book,borrowwhere book.bno=borrow.bnogroup by presshaving count(distinct category)27、 select count(*)a

32、s borrow_num from borrow8、select min(book_year)as earliest_book from book9、select avg(price)as avg_price from bookwhere press=机械工业出版社10、select press,sum(book_total) as 计算机类图书全部册数,sum(price*book_total)as 计算机类图书总价格from book where category=计算机group by press四、结论通过本实验基本学会掌握数据查询中分组、统计、计算和组合的操作方法,并加深对Trans

33、act-SQL语言的查询语句的理解。五、问题与讨论 1、对于该查询语句查询机械工业出版社出版的各类图书的平均定价,请分别用使用GROUP BY 和GROUP BY ALL子句表示,通过比较其结果,请分析该两个子句的异同,及使用场合。答:select category,avg(price)as avg_price from bookwhere press=机械工业出版社group by category当使用以下语句时:select category,avg(price)as avg_price from bookwhere press=机械工业出版社group by all category从

34、以上结果比较可知:如果使用 ALL 关键字,那么查询结果将包括由 GROUP BY 子句产生的所有组(其中包括某些没有符合搜索条件的组)。 2、 对于较为复杂的SELECT查询语句,比较通过创建临时表或创建视图的方式来简化查询语句的特点,并在大数据量的情况下,这三种情况对数据库性能会有何影响。答:在大数据量的情况下在临时表中保持数据的子集,以在随后的连接中使用,这样能大大改善性能,如果访问很频繁,加载就会加重,tempdb的性能就会对整个DB产生重要的影响 。而SELECT查询语句则可能要重复查询工作。而视图虽然使操作简单,安全性高,但由于视图是虚拟的表,在使用包括视图引用的SQL语句时,除了

35、执行所键入的SQL语句中的查询或更新之外,还要告诉DBMS执行定义视图的查询,这就影响了查询的效率。 自动化 学院 自动化 专业 班 学号 姓名 实验时间 2011.3.21教师评定 实验题目 存储过程、触发器 实验报告六一、 实验目的与要求目的:视图:使学生掌握SQL Server中视图的创建方法以及利用视图简化查询语句的方法,加深对视图作用的理解。临时表:使学生掌握SQL Server中临时表的创建方法以及利用临时表简化查询语句的方法,并与视图做比较。存储过程:使学生掌握SQL Server中存储过程的创建方法及其使用方法。触发器:使学生掌握SQL Server中触发器的创建方法及其使用方

36、法。要求:视图:在SQL Server的查询分析器中,实现数据库视图的创建、查看、修改和删除工作,并思考如何利用视图,并与SELECT 语句相结合来简化复杂的查询命令。临时表:在SQL Server的查询分析器中,实现数据库临时表的创建、查看工作,并与视图相比较。存储过程:使用企业管理器创建存储过程,能正确调用、执行存储过程。触发器:使用企业管理器创建触发器,正确理解INSERT、UPDATE、DELETE触发器的用途和对数据的影响。二、 实验方案视图:通过创建视图及通过与SELECT语句相结合,实现如下内容:1) 查询哪一年出版的图书的藏书量(包括已借出的和未借出的)最多;2) 今年哪个类别

37、的书出借最多? 临时表:通过创建临时表及通过与SELECT语句相结合,实现如下内容:1) 查询哪一年出版的图书的藏书量(包括已借出的和未借出的)最多;2) 今年哪个类别的书出借最多? 并比较临时表和视图的相同点和不同点。存储过程:1) 利用已有的Book、Card、Borrow表,创建一个带参数的存储过程Borr_book。该存储过程的作用是:当输入基本表Card中的任意一个“姓名”时,将从三个表中返回该借阅者的借书证号、借阅的书名和借阅时间。2) 执行Borr_book存储过程,查询“李媛媛”的借书证号、借阅的书名和借阅时间。3) 使用系统存储过程sp_helptext查看存储过程Borr_

38、book的文本信息。4) 为基本表Book创建一个存储过程“jmxs”。当执行该存储过程时,将返回“T”类型借阅者的所有信息。5) 执行jmxs存储过程,查看“T”类型的借阅者的情况。6) 删除jmxs存储过程。触发器:1) 建立一个名为insert_book的INSERT触发器,存储在Borrow表中。当用户向该表中插入记录时,如果插入了在Card表中没有的数据,则提示用户不能插入数据,否则提示插入成功。2) 为Book表创建一个名为dele_book的DELETE触发器,该触发器的作用是禁止删除Book表中的记录。3) 为Card表创建一个名为update_card的UPDATE触发器,该

39、触发器的作用是禁止更新Card表中“类别”字段的内容。三、实验结果和数据处理视图:1)create view book_viewas select book_year,book_totalfrom bookselect book_year from book_viewgroup by book_yearhaving sum(book_total)=all(select sum(book_total) from book_view group by book_year)2)create view borrow_viewas select category,borrow_datefrom borr

40、ow,bookwhere book.bno=borrow.bno and year(borrow_date)=year(getdate()select category from borrow_viewgroup by category having count(*)=all(select count(*) from borrow_view group by category)临时表:select book_year,book_total into #tbookfrom bookselect book_year from #tbookgroup by book_yearhaving sum(b

41、ook_total)=all(select sum(book_total) from #tbook group by book_year)2)select category,borrow_date into #tborrowfrom borrow,bookwhere book.bno=borrow.bno and year(borrow_date)=year(getdate()select category from #tborrowgroup by category having count(*)=all(select count(*) from #tborrow group by cate

42、gory)视图只是一条预编译的SQL语句,并不保存实际数据 ,用它来修改数据有限制;临时表是保存在tempdb中的实际的表。存储过程:1)create procedure borr_book sname char(8),cno char(7) output,title varchar(40) output,borrow_date smalldatetime output as select o,title,borrow_date from book,card,borrow where book.bno=borrow.bno and o=o and sname=sname Go2)declare

43、 cno char(7),borrow_date smalldatetime,title varchar(40)execute borr_book 李媛媛,cno output,title output,borrow_date outputselect cno,borrow_date,title3)exec sp_helptext borr_book4)create procedure jmxsasselect card.*,book.*,borrow_date,return_date from book,card,borrowwhere book.bno=borrow.bno and o=o

44、 and type=TGo5)exec jmxs6)drop procedure jmxs触发器:1)create trigger insert_bookon borrowInstead of insert asdeclare cno char(7)select cno=cnofrom insertedif(cno not in (select cno from card)BeginprintCard表中没有相应的数据,插入数据失败!rollback transactionendelseprint插入数据成功!运行结果:插入INSERT INTO borrow VALUES(M001,0005

45、,2011-1-1,2011-1-4)2)create trigger dele_bookon bookInstead of delete asdeclare bno char(8)select bno=bno from deletedif(bno in(select bno from book)beginprint禁止删除Book表中的记录!rollback transactionEnd运行结果:如删除book表中书号为0001的记录时delete from bookwhere bno=00013)create trigger update_cardon cardfor update asi

46、f update(type)print禁止更新Card表中“类别”字段的内容!rollback transaction运行结果:当将张卫国的type改为T时update cardset type=Twhere sname=张卫国四、结论通过本实验基本学会掌握SQL Server中视图、临时表、存储过程和触发器的创建方法以及利用视图简化查询语句的方法,加深对视图作用的理解。五、 问题与讨论 1、 使用视图的优劣。答:视图的优点是简化了查询方式,提供了安全机制,其缺点是更新基础表的时候必须更新视图信息,影响系统性能。2、 使用临时表的优劣。答:对于临时表的DML操作速度会非常快,但在更改其内容时不

47、会生成日志信息 ,存在一定的隐患。3、 如何在一个存储过程里调用另一个存储过程?答:可以用CALL 存储过程名(参数列表) 调用先前定义过的另一个存储过程。4、 如何在一个存储过程里调用另一个存储过程的返回值?答:使用带返回值的output参数。5、 如何把提交的数据通过触发器进行验证?如果不符合条件,直接删除。答:可以先让它插入目标表,同时触发检查这个刚才插入的语句是否符合条件,如果不符合就从目标表中直接删除,如果符合,就不做任何操作。 6、 存储过程与触发器有何差异?答:触发器是一种特殊的存储过程,只是存储过程要程序员用exec语句调用,而触发器是条件触发时程序自发运行的。 自动化 学院

48、自动化 专业 班 学号姓名 实验时间 2011.3.23教师评定 实验题目 数据设计 实验报告七一、 实验目的与要求目的:通过接触实际应用项目,使学生加深对数据库系统理论知识的理解,并提高分析问题与解决问题的能力。要求:本实验提供SQL Server 2000数据库管理系统环境,要求学生利用所学知识,结合自选数据库模型的实际情况,设计一个合理的数据库系统,并进行相关数据完整性检查。所设计的数据库要求在数据库的安全性、数据一致性、数据库的性能等方面都比较完善。实验内容主要包括:需求分析、概念模型设计、数据逻辑结构设计及数据库设计及实施。二、 实验方案1、对自选数据库设计课题,进行需求分析,并提交

49、需求分析结果;2、基于以上的需求描述,使用E-R图为该数据库设计概念模型;3、E-R数据模型转换成关系模型;4、利用SQL语句定义各个关系模式,装入数据,并完成各项操作要求以及查询要求。三、设计过程设计一个宿舍管理系统背景说明:大家都知道一个和尚挑水喝,两个和尚抬水喝,三个和尚没水喝的故事,宿舍也是一样,假如大家都不主动合作,那后果可想而知。现在设计一个宿舍管理系统,以便监视大家的行为,也方便追究相应的责任,但主要目的还是让大家积极参与,分工合作,共创和谐宿舍。1、需求分析:舍员基本信息的输入,包括学生学号、姓名、专业班级、手机号码、身体状况的输入、舍员基本信息的查询、修改。舍员贡献信息的输入

50、,包括任务分配、姓名、产生费用、日期。舍员贡献信息的查询、修改。舍费管理表的输入,包括姓名、已交费用、剩余费用。舍费管理表的查询与修改。2、 关系模型(1) 舍员基本信息(学生学号,姓名,专业班级,手机号码,身体状况)(2) 舍员贡献表(任务分配,姓名,产生费用,日期)(3) 舍费管理表(姓名,已交费用,剩余费用)3、 E-R图:4、 逻辑设计(1) 舍员基本信息表中列名数据类型可否为空学生学号charnot null(主键)姓名Varcharnot null(外码)专业班级varchar手机号码varchar身体状况varchar(2) 舍员贡献表表中列名数据类型可否为空任务分配varcharnot null姓名varcharnot null产生费用int日期smalldatetime(3) 舍费管理表表中列名数据类型可否为空姓名varcharnot null(主键)已交费用int剩余费用int5、数据库的建立(1)创建数据库CREATE DATABASE 宿舍管理系统ON PRIMARY(NAME=720宿舍管理系统,FILENAME=C:Documents and Setti

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!