已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨理工大学数据库课程设计报告班 级: 信息11- 学 号: 1106040 姓 名: 指导教师: 2013.10目录1.功能模块简介21.1、进入安装程序21.2安装的准备过程21.3功能选择与配置42.数据库表分析132.1表1133.业务问题及SQL语句154.关系模式分析214.1关系模式1214.2关系模式2224.3关系模式3235.表在功能模块中的应用305.1功能应用1305.2功能应用2315.3功能应用315.4功能应用4325.5功能应用5325.6功能应用6336.总结331.功能模块简介1.1、进入安装程序插入SQL Server 2008 R2安装光盘,自动运行后出现“SQL Server安装中心”。在这里我们在本机安装一个SQL Server默认实例,所以执行以下步骤:1、在左侧的目录树中选择“安装”。2、在右侧的选择项中,选择第1项目“全新安装或向现有安装添加功能”,然后就进入了安装程序。方法/步骤 1.2安装的准备过程1、安装程序支持规则在这个准备过程里,首先安装程序要扫描本机的一些信息,用来确定在安装过程中不会出现异常。如果在扫描中发现了一些问题,则必须在修复这些问题之后才可能重新运行安装程序进行安装。安装过程中,如果出现不能重启计算机这一项不能通过,则需要删除一个注册表项。删除注册表中HKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession Manager下PendingFileRenameOperations子键。文件挂起操作的错误搞定,可以继续下一步,输入产口密钥,许可条款,安装程序支持文件21.3功能选择与配置接下来,才是正式安装SQL Server程序。1、安装程序支持规则这个步骤看起来跟刚才在准备过程中的一样,都是扫描本机,防止在安装过程中出现异常。现在并不是在重复刚才的步骤,从下图明显看出这次扫描的精度更细,扫描的内容也更多。在这个步骤中,一定不要忽略“Windows防火墙”这个警告,因为如果在Windows2008操作系统中安装SQL Server,操作系统不会在防火墙自动打开TCP1433这个端口。将在后面的文章中提到这个问题。32、设置角色这里有3个选项可供选择。我们选择“SQL Server功能安装”。43、功能选择在这里,我们点一下“全选”按钮,会发现左边的目录树多了几个项目:在“安装规则”后面多了一个“实例配置”,在“磁盘空间要求”后面多了“服务器配置”、“数据库引擎配置”、“Analysis Services配置”和“Reporting Services配置”。如果只做为普通数据引擎使用,我常常是只勾选:“数据库引擎服务”和“管理工具-基本”54、安装规则在这里又要扫描一次本机,扫描的内容跟上一次又不同。5、实例配置我们这里安装一个默认实例。系统自动将这个实例命名为:MSSQLSERVER 。6、磁盘空间要求从这里可以看到,安装SQL Server的全部功能需要5485MB的磁盘空间。67、服务器配置在这里,首先要配置服务器的服务帐户,也就是让操作系统用哪个帐户启动相应的服务。 为了省事,我们选择“对所有SQL Server服务使用相同的帐户”。也可以选择,NT AUTHORITYSYSTEM,用最高权限来运行服务。接着,还要设备排序规则,默认是不区分大小写的按你的要求自行调整。 78、数据库引擎配置数据库引擎的设置主要有3项。 帐户设置中,一般MSSQLSERVER都做为网络服务器存在,为了方便,都使用混合身份验证,设置自己的用户密码。然后添加一个本地帐户方便管理即可。目录和FILESTREAM没有必要修改。对是数据目录,我是这样理解的,我习惯将软件都装在系统盘。在使用SQLSERVER时,数据库文件都放在其他盘,然后附加数据,这样不会混乱自己的数据库和系统的数据库。毕竟数据安全是第一。8后面的过程比较简单,一路下一步然后是等待安装完成即可。在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题。如要把产品信息从现有的进销存管理系统中导入到ERP系统中,却让企业用户手工的输入这些信息,不怎么现实。其实,在SQL Server中本来就集成了很多成批导入数据的方法。有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟。现在的重点就是,如何让用户了解这些方法,让数据导入变得轻松一些。第一种方法:使用Select Into语句若企业数据库都采用的是SQL Server数据库的话,则可以利用Select Into语句来实现数据的导入。Select Into语句,他的作用就是把数据从另外一个数据库中查询出来,然后加入到某个用户指定的表中。在使用这条语句的时候,需要注意几个方面的内容。一是需要在目的数据库中先建立相关的表。如想把进销存系统数据库(SQLServer)中的产品信息表(Product)导入到ERP系统中的产品信息表(M_Product)中。则前期是在ERP系统的数据库中已经建立了这张产品信息表。二是这种方法只复制表中的数据,而不复制表中的索引。如在进销存系统数据中的产品信息表中,在产品编号、产品种类等字段上建立了索引。则利用Select Into语句把数据复制到ERP系统的表中的时候,只是复制了数据内容的本身,而不会复制索引等信息。三是这条语句使用具有局限性。一般情况下,这只能够在SQL Server数据库中采用。不过,对于SQL Server不同版本的数据库,如2008或者2003,还都是兼容的。若需要导入的对象数据库不是SQL Server的,则需要采用其他的方法。四是采用这条语句的话,在目的表中必须不存在数据。否则的话,目的表中的数据会被清除。也就是说,这个语句不支持表与表数据的合并。在SQL Server中,有一条类似的语句,可以实现这个功能。这条语句就是:Insert Into。他的作用就是把另外一张表中的数据插入到当前表中。若用户想要的时表与表数据的合并,则可以采用这条语句。两者不能够混淆使用,否则的话,很容易导致数据的丢失。五是以上两条语句都支持兼容的不同类型的数据类型。如在原标中,某个字段的数据类型是整数型,但是在目的表中这个字段的数据类型则是浮点型,只要这个两个数据类型本来就兼容的,则在导入的时候,数据库是允许的。第二种方法:利用Excel等中间工具进行控制虽然第一种方法操作起来比较简单,但是其也有一些缺点。如他只支持同一种类型的数据库;不能够对数据进行过多的干预等等。一般情况下,若用户原数据准确度比较高,不需要过多的修改就可以直接拿来用的话,则笔者就已采用第一种方式。但是,若在原数据库中,数据的准确度不是很高,又或者,有很多数据是报废的。总之,需要对原数据库的数据进行整理,才能够使用的情况,笔者不建议先导入进去,再进行更改。笔者在遇到这种情况时,喜欢利用Excle作为中间工具。也就是说,先把数据中原数据库中导到Excle中。有些数据库,如Oracle数据库,他不支持Excle格式。但是,我们可以把它导为CSV格式的文件。这种文件Excle也可以打得开。然后,再在Excle中,对记录进行修改。由于Excle是一个很强的表格处理软件,所以,其数据修改,要比在数据库中直接修改来得方便,来得简单。如可以利用按时间排序等功能,把一些长久不用的记录清楚掉。也可以利用替换等功能,把一些不规范的字符更改掉。这些原来在数据库中比较复杂的任务,在Excle等工具中都可以轻松的完成。等到表中的内容修改无误后,数据库管理员就可以把Excle表格中的文件直接导入到SQL Server数据库中。由于SQL Server与Excel是同一个父母生的,所以,他们之间的兼容性很好。在Sql Server中提供了直接从Excel文件中导入数据的工具。虽然这要借助中间工具导入数据,但是,因为其处理起来方便、直观,所以,笔者在大部分时候都是采用这种方式。第三种方式:使用数据转换服务导入数据数据转换服务是SQL Server数据库中提供的一个非常强大的工具。在SQLServer中,数据转换功能有一个图形用户接口,用户可以在图形界面中导入数据,并对数据进行相应的编辑。另外,数据转换服务还支持COM组件的编程接口。这也就是说,在前台应用程序开发的时候,可以直接调用数据转换服务。让用户通过前台应用系统,而不用在后台数据库系统进行任何的操作,就可以把数据导入数据库系统中去。在前台对数据库系统进行导入,有一个明显的好处,就可以预先对数据的合法性进行检查。如可以利用VB等2.数据库表分析2.1表1调用ERP数据库操作步骤参考步骤一:打开数据库步骤二:找到帐套对应的数据库,这里是U8_300_Zhangtao;(不同的帐套数据库名不一样。)步骤三:这里是用友软件中各个模块对应的表在数据库存放时的名称。步骤四:利用上面给出的表名,查询需要的表。3.业务问题及SQL语句SQL查询语句的设计:SnoSnameSsexSageSdept01张三男21IS02李四男22CS03李红女19MA04王瑞女20ISSnoCnoGrade0119001399012900329703398CnoCnameCpnoCcredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64CnoCnameCpnoCcredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言641. 查询每一门课的间接先修课SELECT FIRST.Cno,SECOND.CpnoFROM Course FIRST,Course SECONDWHERE FIRST.Cpno=SECOND.Cno;2. 自然连接Student表和SC表SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROM Student,SCWHERE Student,Sno=SC.Sno;3. 查询在IS学习的同学SELECT Sno,Sname,SdeptFROM Student WHERE Sdept=IS;4. 确定李红所在的系SELECT SdeptFROM StudentWHERE Sdept=IS;5. 查询选修2号课在90分以上的同学SELECT Student,Sno,SnameFROM Student,SCWHERE Student.Sno=SC.Sno AND SC.Cno=2AND SC.Grade=90;6. 查询选修了3号课程的学生成绩,并按降序排列SELECT Sno,GradeFROM SC WHERE Cno=3ORDER BY Grade DESC;7. 查询CS系年龄在20岁以下的学生SELECT SnameFROM StudentWHERE Sdept=CSAND Sage20;8. 查询01号学生的具体情况SELECT *FROM Student WHERE Sno LIKE 01;9. 查询所有姓李学生的姓名,学号,和性别SELECT Sname,Sno,SsexFROM StudentWHERE Sname LIKE李;10. 查询比IS系所有学生年龄都小的学生名单SELECT Sname,SageFROM StudentWHERE SageALL (SELECT Sage FROM Student WHERE Sdept=IS) AND SdeptISORDER BY Sage DESC;11. 查询在信息系的学生及年龄不大于21岁的学生SELECT *FROM StudentWHERE Sdept=ISUNIONSELECT * FROM Student WHERE Sage=19;12. 查询选修1号课的学生与选修2号课的学生差集SELECT SnoFROM SCWHERE Cno=1AND Sno NOT IN (SELECT Sno FROM SC WHERE Cno=2);13. 查询选修了所有课程的学生姓名SELECT SnameFROM Student WHERE NOT EXISTS(SELECT *FROM CourseWHERE NOT EXISTS (SELECT * FROM SC WHERE Sno=Student.Sno AND Cno=Course.Cno);14. 查询未选修1号1课程的学生姓名SELECT SnameFROM StudentWHERE NOT EXISTS (SELECT * FROM SC WHERE Sno=Student.Sno AND Cno=1);15. 查询选修1号课程的学生最高分SELECT MAX(Grade)FROM SCWHERE Cno=1;16. 计算选修1号课程的学生的平均分SELECT AVG(Grade)FROM SCWHERE Cno=1;17. 查询各个课程号与相应的选修课人数SELECT Cno,COUNT(Sno)FROM SCGROUP BY Cno;18. 查询学生总数SELECT COUNT(*)FROM Student;19. 查询缺少成绩的学生的学号和课程号SELECT Sno,CnoFROM SCWHERE Grade IS NULL;20. 查询DB-Design课程号和学分SELECT Cno,CcreditFROM Course WHERE Cname LIKEDB_DesignESCAPE;主码与外码的关系:我们在建立数据库的时候,需要为每张表指定一个主码,主码也叫主键。 所谓主码就是在实体集中区分不同实体的候选码。 一个实体集中只能有一个主码,但可以有多个候选码。 必须注意两点: 1.主码的选择必须慎重。 例如:人的姓名是不可以做主码的,因为可能有多个人重名,而身份证可以做主码。 2.主码的选择应该是那些从不或极少变化的属性。 例如:一个人的地址就不应该作为主码的一部分,因为它很可能变化。下面是主码与外码的应用举例:eg:某医院病房计算机管理中需要如下信息:科室:科名,科地址,科电话,医生姓名病房:病房号,床位号,所属科室名医生:姓名,职称,所属科室名,年龄,工作证号病人:病历号,姓名,姓名,性别,诊断,主管医生,病房号其中,一个科室有多个病房,多个医生,一个病房只能属于一个科室,一个医生只能属于一个科室,但可以负责多个病人的诊治,一个病人的主管医生只能有一个。4.关系模式分析4.1关系模式1完成如下设计:(1) 设计E-R图(2) 讲E-R图转换为关系模型结构 要创建的两个数据表4.2关系模式21. 研究生信息表表名:scott.student。表结构如表7.6所示。4.3关系模式33. 两个数据表的关系导师信息表(scott.director)的主码“DIRECTOR_ID”是研究生信息表(scott.student)的外码。也就是说,当导师信息表的“DIRECTOR_ID”字段发生变化时,研究生信息表的字段“DIRECTOR_ID”也会随之自动发生变化。创建的步骤1. 创建导师信息表的步骤(1)如图7.2所示界面。(2)出现如图7.3所示的创建表的【一般信息】选项卡。(3)切换到图7.4所示的创建表的【约束条件】选项卡。在【类型】单元格下拉列表框中有5个选项,如表7.8所示。(4)切换到图7.5所示的创建表的【簇列】选项卡。(5)切换到图7.6所示的创建表的【分区】选项卡。(6)切换到图7.7所示的创建表的【存储】选项卡。(7)切换到图7.8所示的创建表的【存储】选项卡。(8)切换到图7.9所示的创建表的【约束条件存储】选项卡。(9)出现如图7.10所示界面。(10)在【企业管理器】中可以查看创建的数据表,如图7.11所示。(11)上述步骤创建scott.director数据表的SQL代码如下。在创建主关键字约束条件时将自动建立该字段的索引。(12)读者也可以在【SQL Plus Worksheet】中直接执行createdirector.sql文件创建数据表scott.director,如图7.12所示。2. 创建研究生信息表的步骤(1)与创建导师信息表一样进行操作。(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教A版山西省大同市2023-2024学年高二上学期期末质量监测数学试题
- 林徽因课件教案
- 娜塔莎课件高中
- 2024年吉林省中考生物真题卷及答案解析
- 模板 卡通 课件
- 西京学院《新媒体数据挖掘实训》2022-2023学年期末试卷
- 西京学院《软件测试技术》2021-2022学年期末试卷
- 测树叶的面积
- 西京学院《机床电气与技术》2022-2023学年期末试卷
- 西华师范大学《综合自然地理》2022-2023学年第一学期期末试卷
- 大班健康PPT课件之《均衡饮食最健康》
- 《中药学》课件-第9章 消食药
- 人教版(川教版)五年级上册生命生态安全教学设计和教学计划及进度表(附安全知识)
- 组织效能提升模型的商业化应用
- 《篮球三步上篮》说课PPT
- 1500TD菜籽坯预处理及榨油车间工艺流程设计
- 宪法与法律学习通课后章节答案期末考试题库2023年
- 北京科技大学第二批非教学科研岗位招考聘用模拟预测(共500题)笔试参考题库附答案详解
- 审计模拟实训教程第4版马春静课后部分参考答案
- 公务员制度、职业生涯发展及工作方法
- 水球(集体球类运动)
评论
0/150
提交评论