SQL-Server数据库(实验)-课程报告.doc

上传人:b****9 文档编号:141503 上传时间:2022-10-04 格式:DOC 页数:32 大小:2.38MB
下载 相关 举报
SQL-Server数据库(实验)-课程报告.doc_第1页
第1页 / 共32页
SQL-Server数据库(实验)-课程报告.doc_第2页
第2页 / 共32页
SQL-Server数据库(实验)-课程报告.doc_第3页
第3页 / 共32页
SQL-Server数据库(实验)-课程报告.doc_第4页
第4页 / 共32页
SQL-Server数据库(实验)-课程报告.doc_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

SQL-Server数据库(实验)-课程报告.doc

《SQL-Server数据库(实验)-课程报告.doc》由会员分享,可在线阅读,更多相关《SQL-Server数据库(实验)-课程报告.doc(32页珍藏版)》请在冰豆网上搜索。

SQL-Server数据库(实验)-课程报告.doc

第1页实验报告实验报告SQLServerSQLServer数据库数据库课程号:

B0990070实验项目:

数据库设计、创建、管理,数据库操作实验项目:

数据库设计、创建、管理,数据库操作学号姓名专业班级实验地点指导教师时间评语(要求):

按时完成实验;实验内容和过程记录完整;回答问题完整、正确;实验报告的撰写认真、格式符合要求。

成绩教师签字一、实验目的1理解并掌握数据库设计的概念、方法和步骤。

2初步应用数据库设计方法。

了解需求分析的内容。

3重点运用ER模型进行概念设计,然后将ER模型转换为关系模型。

4深入理解SQLServer2008数据库的存储结构。

5深入理解SQLServer2008的数据类型、表对象设计与定义。

6掌握SQLServer2008Managementstudio的应用。

运用交互方式和命令方式建立数据库和表。

7认识和掌握Transact-SQL的数据库操作。

8深入理解视图意义。

掌握SQLServer中创建、管理与应用视图的方法。

9深入理解数据库安全的概念。

10深入理解SQLServer2008的安全体系框架。

11掌握登录与服务器角色的概念、操作与应用。

掌握数据库用户、固定角色、自定义角色、架构的概念、操作与应用。

掌握数据库权限的概念、操作与应用。

12理解事务的概念。

13深入理解并掌握服务器编程的意义及方法。

14能够编写各种自定义函数和存储过程。

15理解触发器,并能够编写、应用触发器。

16理解备份与恢复的意义及基本操作。

二、实验设备(环境)及要求PC、WindowsXP、SQLSERVER2008三、实验内容及要求第2页实验项目:

小型实验项目:

小型药店销售管理系统药店销售管理系统通过调查、收集信息、分析,写出分析与设计报告。

1.简要的系统需求分析包括业务分析、功能需求分析、信息需求分析。

试分析该系统的基本业务,计算机信息系统需要完成的基本功能、信息系统需要处理的信息。

2.概念设计设计系统的概念模型,采用ER模型。

3.逻辑设计将ER模型为关系模型,指出每个关系的主键、外键和必要的约束。

4.写出数据库的物理设计包括存储组织结构、表的结构设计等。

5.T-SQL命令方式创建数据库的操作利用SQL命令创建数据库文件、表、索引、联系和主键、外键等约束。

(实验报告应写出实验的过程,包括必要的截图。

)6.利用T-SQL命令增加、删除、修改数据。

7.利用T-SQL命令进行数据的检索和统计根据自己设计的数据库和输入的数据,写出至少10个查询要求及对应的SQL查询命令,应该包含如下功能:

投影和选择;多表连接;分组统计与HAVING;子查询;查询结果保存。

8.利用SQL命令创建视图对象根据开发的系统的需要,至少设计三个视图:

基于单表的、包含多表连接的、包含统计运算的。

利用SQL对视图进行查询。

9.对视图进行插入、删除、修改数据操作。

体会视图与表的异同。

10.编写自定义函数。

(1)编写一个自定义函数,将一个字符串作为自变量,返回颠倒顺序的字符串。

写出源代码。

(2)编写一个自定义函数,能够实现参数化查询的功能。

自己设定函数的具体要求,然后编写出来。

11.编写利用游标进行数据处理的存储过程。

并在存储过程中应用事务的概念。

自己确定过程的具体要求,然后编写出来。

12.编写一个实现修改表的触发器,实现完整性控制。

13.设置服务器身份验证模式。

用命令创建若干不同验证模式的登录账户。

14.将部分登录赋予服务器角色。

然后撤消。

15.将部分登录映射到你的数据库中成为用户。

16.创建自定义角色、架构。

17.通过角色给用户授权。

18.直接给用户授权,验证其获得权限前后的操作差别。

第3页19.删除用户和自定义的角色。

四、回答问题1你如何认识需求分析在系统开发中的地位和重要性?

答:

需求分析是系统开发的重要环节,其目的是通过调查分析,把用户的信息和功能描述转化为开发员所能理解的功能描述,并在用户需求的基础上去除不合理的地方,补充系统缺失的地方,最后为系统的概要设计,详细设计提供准确,有效的数据基础。

在需求分析中要把系统所要处理的业务理解透彻,并把其中的信息整理归类。

然后还需要把整个系统所要实现的功能的逻辑思路理清楚,这些工作都是系统开发能够继续做下去的基础。

如果需求分析没有做好,或者说对整个系统的总体框架不明晰,最终的系统就不能达到开发目标。

2设计ER图、关系模型分别属于数据库设计的哪一阶段?

答:

ER图属于概念设计阶段;关系模型处于逻辑设计阶段3主键、外键对于关系数据库的意义何在?

答:

主键是关系中能唯一区分、确定不同元组的单个属性或者属性组合。

外键能够保证数据库的数据的完整性和唯一性,通过外键,那个将相互关联的表连接起来。

4在数据库存储结构设计时要考虑哪些因素?

答:

首先要考虑数据的存放位置和存储结构,包括:

确定关系、索引、聚簇、日志、备份等的存储安排,确定系统配置。

同时要综合考虑存取时间、存储空间利用率和维护代价3个方面的因素。

5在表设计时对于数据类型的选择和使用如何考虑?

答:

首先要清楚理解数据库中各种数据类型的用法和范围,然后应该根据字段的实际类型来考虑数据类型,还要估计表中数据的大小范围,来确定数据类型的大小,避免空间不足或者浪费。

6.交互式如何实现表之间的联系?

SQL命令如何实现表之间的联系?

答:

(1)交互式:

单击工具栏上的“关系”按钮,打开“外键关系”对话框,在其中设置各表间关系。

(2)SQL命令:

ALTERTABLEADDCONSTRAINTconstraint_namePRIMARYKEYCLUSTERED|NONCLUSTEREDFOREIGNKEYREFERENCESreferenced_table7如果在定义表时进行了主键、外键以及约束等完整性设置,对于数据的输入有何影响?

试举例说明。

答:

定义主键:

定义主键来强制不允许空值的指定列中输入值的唯一性。

如果在数据库中为表定义了主键,则可将该表与其它表相关,从而减少冗余数据。

表只能有一个主键。

定义外键:

外键引用完整性表示得到正常维护的表之间的关系。

表中的数据只应指向另一个表第4页中的现有行,不应指向不存在的行。

主键约束:

使用单列或者多列组合,表示每一条记录的唯一性,值不能为空;外键约束:

是为了加强数据表之间的关键的表中的单列或者多列值,必须依赖另外的表存在;唯一约束:

不允许数据库中的某一列数据有重复,但是允许有空值存在。

主键和外键一般不允许为空,如果没有输入值的话会报错,比如“性别”这一字段,如果开发人员已经约束了其值只能为“男”或“女”,当使用者输入除以上两个值外的任何值都会报错。

8用INSERTINTO命令输入,如果数据与字段数量和要求不一致有什么问题?

当表定义中有默认值的时候,插入记录是否可以省略该字段的数据?

答:

如果数据与字段数量和要求不一致,只有在少于并且没有写出的那个已定义了默认值或者可为空的情况下才正确,其他情况都是错误的。

当表定义中有默认值的时候,插入记录旅游省略该字段的数据。

9HAVING子句有什么作用?

答:

HAVING字句与WHERE子句一样都是实现查询功能中条件的控制和数据的筛选,WHERE子句不能包含聚集函数,而HAVING子句一般包含聚集函数。

HAVING子句还可以用来对分组结果进行筛选。

10当通配字符作为普通字符参与匹配查询时,如何解决这样的问题?

答:

a.通过在ESCAPE字句中指定转义符、在查询条件下使用转义符指定某个通配字符是正常字符;b.将通配符用括起来,指定一个字符、字符串或范围,要求所匹配对象为它们中任意一个。

11可否利用视图进行数据的插入、删除、修改?

答:

视图是一张表,所以对表的插入、删除、更新和查询操作原则上都可以在视图上进行。

但是,视图是基于表的,对视图的操作要转化为对表的操作,这样,视图在使用上有诸多规定和限制。

对由多表连接成的视图修改数据时,不能同时影响一个以上的基表,也不能删除视图中的数据。

对视图上的某些列不能修改,如计算列,内置函数列和行集合函数列,对具有NOTNULL的列进行修改时可能会出错。

通过视图修改或者插入数据时,必须保证未显示的具有NOTNULL属性的列有值,可以是默认值等,否则不能向视图中插入数据行。

如果某些列因为规则或者约束的限制不能接受从视图插入的数据时,则插入数据可能会失败。

12根据自己的体会,谈谈视图在数据库体系中的作用。

答:

视图是一个虚表,其内容由查询定义。

利用视图可以简化用户操作数据的方式。

可将经常使用的连接、投影、联合查询和选择查询定义为视图,这样每次对特定的数据执行进一步操作时,不必指定所有条件和限定。

除此之外还可以定制数据,导出数据。

还可以用GRANT和REVOKE命令为各种用户授予在视图上的操作权限,这样通过视图,用户只能查询或修改他们各自所能见到的数据,数据库中的其他数据对他们来说是不可见的或不可修改的。

保证了数据库的安全性。

第5页13视图是如何保存的?

视图中的数据是否真的存储在文件中?

答:

视图是一个虚表,是以脚本的形式存在数据库中,其中的数据仍然是原来表的数据。

视图中的数据仍然是表中的数据,并不真的存储在文件中。

14SQLSERVER有几种身份验证模式?

区别是什么?

不同验证模式的登录账户有何区别?

答:

SQLSERVER提供了两种对数据库资源的访问进行身份验证的模式:

Windows身份验证模式和混合的验证模式。

Windows身份验证模式:

是默认的验证模式,使用windows操作系统的安全机制验证用户身份,只要用户能够通过windows用户账号验证,并且是SQLServer的登录账户,即可连接到SQLServer而不用进行身份验证,只适用于能够提供有效身份验证的windows操作系统。

混合的验证模式:

在混合的验证模式下,Windows用户和SQL用户都可以访问数据库实例。

需要为非Windows用户提供访问权限时就使用混合的验证模式。

若用户需要使用SQLServer验证模式,则需要将服务器设置为混合验证模式。

15Sa账户有何特点?

答:

“Sa”账户是采用SQLServer验证模式的SQLServer系统管理员登录账户,该账户拥有最高的管理权限,可以执行服务器范围内的所有操作。

它是以SQLServer身份验证的,所以必须设置一个密码。

同时,Sa账户的属性不可以更改,密码可以修改。

Sa登录时无法删除的。

16共有几种服务器角色?

最高权限的角色是什么?

能够创建数据库的角色是哪个?

答:

共有8种固定服务器角色,分别是:

sysadmin,serveradmin,setupadmin,securityadmin,processadmin,dbcreator,diskadmin,bulkadmin;同时每一个登录用户都属于public服务器角色。

最高权限的角色是sysadmin;能够创建数据库的角色是:

sysadmin,dbcreator。

17数据库用户和登录账户有什么关系?

guest是什么用户?

有何作用?

答:

这是两种不同级别的安全机制,登录账户是SQLServer级的安全性设置,而数据库用户则是数据库级的安全性设置。

登录账户用于登录服务器,但是当某一用户要访问某个数据库时,除了可以成为服务器的一个登录以外,还必须成为这个数据库的用户账户,即获得一定的授权。

数据库用户账号在一般情况下是从某个登录账户中映射过来的。

guest是来宾用户,是用来共享文件的。

任何一个登录都可以以此身份访问数据库。

guest自动本身只具有public权限。

也可以由其他用户授权。

18数据库角色有哪两类?

PUBLIC角色有何特点?

答:

数据库角色分为固定数据库角色和用户定义的数据库角色。

每个数据库都有一系列固定数据库角色。

虽然每个数据库中都存在名称相同的角色,但各个角色的作用域只是在特定的数据库内。

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

当前位置:首页 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1