当前位置:文档之家› 数据库《数据库的安全与权限》实验报告

数据库《数据库的安全与权限》实验报告

数据库《数据库的安全与权限》实验报告
数据库《数据库的安全与权限》实验报告

x x大学计算机与信息技术学院

实验报告

姓名学号专业班级

课程名称数据库系统概论实验日期成绩指导教师批改日期实验名称数据库的安全与权限

实验内容[目的和意义]

?理解SQL Server身份验证模式

?学会创建和管理登录帐户和用户帐户;

?学会创建和管理服务器角色和数据库角色

?学会授予、拒绝和撤销权限的方法

[实验内容]

?设置验证模式,熟悉系统登录验证过程。

?登录管理

?用户管理

?角色管理

?权限管理

[实现步骤]

?SQL Server 的安全管理

假若你是SQL Server2005数据库服务器的管理员,服务器中包含7个用户数据库,它们为学校的多个部门应用程序提供数据,每个部门的用户维护自己的数据库,你需要配置服务器和数据库许可权限,让每个维护自己数据库的用户有足够的权限来管理数据库。你该怎么做呢?你需要为每个用户创建一个账户,把每个账户映射到它们的数据库中,添加所有的用户账户到自己的数据库中的db_owner角色中去。

一、两个安全性阶段

在SQL Server2005中工作时,用户要经过两个安全性阶段:身份验证和权限验证(授权)。每个用户必须通过登录账户建立自己的连接能力(身份验证),以获得对SQL Server2005实例的访问权限。然后,该登录必须映射到用于控制在数据库中所执行的活动(权限验证)的SQL

Server用户账户。如果数据库中没有用户账户,则即使用户能够连接到SQL Server实例,也无法访问数据库。

二、两种安全验证模式

SQL Server 提供了两种安全验证模式,即Windows身份验证模式和混合身份验证模式(也称SQL Server身份验证模式),数据库设计者和数据库管理员可以根据实际情况进行选择。1、Windows身份验证模式

Windows身份验证模式是指用户通过Windows用户账户连接到SQL Server,即用户身份由Windows系统来验证。SQL Server使用Windows操作系统中的信息验证账户名和密码。这是默认的身份验证模式,比混合验证模式安全得多。

一般情况下,客户机都支持混合信任连接,建议使用Windows身份验证方式。使用Windows身份验证有如下特点。

(1)Windows验证模式下由Windows管理登录账户,数据库管理员主要是使用该账户。

(2)Windows有功能很强的工具与技术去管理用户的登录账户。

(3)可以在SQL Server中增加用户组,可以使用用户组。

2、混合身份验证模式(也称SQL Server身份验证模式)

混合身份验证模式允许用户使用Windows身份和SQL Server身份进行连接。通过Windows 登录账户连接的用户可以使用Windows验证的受信任连接。当用户使用指定的登录名称和密码进行非信任连接时,SQL Server检测输入的登录名和密码是否与系统表syslogins中记录的情况相同,据此进行身份验证。如果不存在该用户的登录账户,则身份验证失败。用户只有提供正确的登录名和密码,才能通过SQL Server的验证。

提供SQL Server身份验证是为了考虑非Windows客户兼容及向后兼容,早期SQL Server 的应用程序可能要求使用SQL Server登录和密码。当SQL Server实例在Windows98/Windows2000professional上运行时,由于Windows98/Windows2000professional不支持Windows身份验证模式,必须使用混合模式。非Windows客户端也必须使用SQL Server 身份验证。

混合身份验证模式有如下特点。

(1)混合模式允许非Windows客户、Internet客户和混合的客户组连接到

SQL Server中。

(2)增加了完全性方面的选择。

如果必须选择“混合身份验证模式”并要求使用SQL登录以适应旧式应用

程序,则必须为所有SQL账户设置强密码。这对于属于sysadmin角色的账户(特别是sa账户)尤其重要。

3、设置验证模式

安装SQL Server2005默认的是Windows身份验证模式。

系统管理员在management studio中有两种设置方法(参看实验指导),均需要重新启动SQL Server后,才能生效。

三、登录管理

1、系统管理员登录账户

SQL Server有两个默认的系统管理员登录账户:sa和administrators。这两个登录账户具有SQL Server系统和所有数据库的全部权限。

在安装SQL Server之后,自动创建的登录标识符只有系统管理员sa账户和administrators 账户,administrators是Windows系统的系统管理员组。sa是一个特殊的登录名,它代表SQL Server身份验证机制下SQL Server的系统管理员,sa始终关联dbo(dbo是默认的用户账号,就是指数据库的创建者)数据库用户,并且没有为sa指定口令。这意味着如果SQL Server身份验证模式,任何得知这个SQL Server存在的人都可以登录到SQL Server上,并且可以做任意操作。为安全起见,在安装SQL Server后,应尽快地给系统管理员账户指定口令。

为SQL Server系统管理员指定口令的步骤如下。

(1)在“对象资源管理器”窗口中某数据库引擎下。

(2)分别展开“安全性”、“登录名”节点,查看所有当前存在的登录标示符,系统管理员账户sa应包含在其中。

(3)右击sa,然后选择“属性”项,系统弹出“登录属性”窗口。

(4)在“密码”一栏中输入新的口令,并在“确认密码”一栏再次输入相同“密码”。

(5)在“默认数据库”一栏输入sa默认使用的数据库。

(6)单击“确定”按钮,系统关闭对话框,这样完成了为系统管理员设置新口令操作。

2、使用management studio 管理SQL Server登录账户

在management studio中能方便地创建、查看、修改、删除登录账户。有如下两种方式创建SQL Server登录账户(1和2)。

(1)映射Windows登录账户为SQL Server登录账户

在management studio中可以将一个Windows账户或一个组映射成一个SQL Server登录名。每个SQL Server登录名都可以在指定的数据库中创建数据库用户名。这个特性可以让Windows

组中的用户直接访问服务器上的数据库。至于这些指定的数据库用户的权限,可以另行指定的。

提示:Windows账户应是已经存在的。

具体步骤(参看实验指导)。(在用户映射选项卡中,选定某数据库后用户名默认与登录名一样,也可设定为不一样的。)

(2)在management studio中创建SQL Server登录账户

提示:首先需将验证模式设置为SQL Server验证模式。具体步骤参看实验指导。(在用户映射选项卡中,选定某数据库后用户名默认与登录名一样,也可设定为不一样的。)注意:在创建登录名时,在点击“新建登录名”后,进入“登录名-新建”对话框时,选择的默认数据库要与用户映射选项卡中选择的数据库一致,再去掉“强制实施密码策略”的对勾即可创建成功。在通过新创建的登录名连接SQL Server后,会发现只能访问和打开所选的数据库,而其他数据库无法访问和打开。

(3)在Management Studio中查看、修改或删除登录账户

具体步骤(参看实验指导)

四、用户管理

用户是基于数据库的名称,是和登录账户相关联的。

1、登录名与数据库用户名的关系

登录名、数据库用户名是SQL Server中两个容易混淆的概念。登录名是访问SQL Server 的通行证。每个登录名的定义存放在master数据库的表syslogins(登录名是服务器级的)中。登录名本身并不能让用户访问服务器中的数据库资源。要访问具体数据库中的资源,还必须有该数据库的用户名。新的登录创建以后,才能创建数据库用户,数据库用户在特定的数据库内创建,必须和某个登录名相关联。数据库用户的定义信息存放在与其相关的数据库的sysusers 表(用户名是数据库级的)中的,这个表包含了该数据库的所有用户对象以及和它们相对应的登录名的标识。用户名没有密码和它相关联,大多数情况下,用户名和登录名使用相同的名称,数据库用户名主要用于数据库权限的控制。

就如同企业门口先刷卡进入(登录服务器),然后再拿钥匙打开自己的办公室(进入数据库)一样。

数据库用户创建后,通过授予用户权限来指定用户访问特定对象的权限。用户用一个登录名登录SQL Server,以数据库用户的身份访问服务器上的数据库。当一个登录账户试图访问某个数据库时,SQL Server将在库中的sysusers表中查找对应的用户名,如果登录名不能映射到数据库的某个用户,系统尝试将该登录名映射成guest用户,如果当前数据库不许可guest

用户,这个用户访问数据库将失败。

在SQL Server中,登录账户和数据库用户是SQL Server进行权限管理的两种不同的对象。一个登录账户可以与服务器上的所有数据库进行关联,而数据库用户是一个登录账户在某数据库中的映射,也即一个登录账户可以映射到不同的数据库,产生多个数据库用户(但一个登录账户在一个数据库至多只能映射一个数据库用户),一个数据库用户只能映射到一个登录账户。允许数据库为每个用户分配不同的权限,这一特性为在组内分配权限提供了最大的自由度与可控性。

2、使用Management Studio管理数据库用户

管理数据库用户包括对数据库的创建、查看、修改、删除等管理操作。首先如何创建数据库用户呢?一般有两种方法。一种是在创建登录帐户的同时指定该登录帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户。如前面使用Management Studio创建登录帐户时就能完成数据库用户的创建;另一种方法是先创建登录帐户,再将登录帐户映射到某数据库,在其中创建同名用户名(具体步骤参看实验指导)。

五、角色管理

SQL Server 2005数据库管理系统利用角色设置,管理用户的权限。通过角色,可以将用户集中到一个单元中,然后对这个单元应用权限。对角色授予、拒绝或吊销权限时,将对其中的所有成员生效。

角色的功能非常强大,其原因如下。

(1)除固定的服务器角色外,其他角色都是在数据库内实现的。这意味着数据库管理员无需依赖Windows管理员来组织用户。

(2)角色可以嵌套。嵌套的深度没有限制,但不允循环嵌套。

(3)数据库用户可以同时是多个角色的成员。

这样只对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。在SQL Server 2005中,可以认为有5中角色类型。

1、public角色

Public角色在每个数据库(包括所有的系统数据库)中都存在,它也是数据库角色成员。Public角色提供数据库中用户的默认权限,不能删除。每个数据库用户都自动是次角色的成员,因此,无法在此角色中添加或删除用户。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象在public角色中对应的权限。

SQL Server 2005包括几个预定义的角色,这些角色具有预定义的、不能授予其他用户账

户的内在的权限。其中有两种最主要的预定义角色是:固定服务器角色和固定数据库角色。2、固定服务器角色

固定服务器角色的作用域在服务器范围内。它们存在于数据库之外,固定服务器角色的每个成员都能够向该角色中添加其他登录。

打开Management Studio,用鼠标单击“对象资源管理器”窗口中某数据库引擎的“安全性”目录下的“服务器角色”,显示当前数据库服务器的所有服务器角色,共有8个,具体名称及角色描述如下。

(1)bulkadmin角色成员:可以运行bulk insert语句。

(2)dbcreator角色成员:可以创建、更改、删除和还原任何数据库。

(3)diskadmin角色成员:用于管理磁盘文件。

(4)processadmin角色成员:可以终止SQL Server实例中运行的进程。

(5)securityadmin角色成员:将管理登录名及其属性。它们可以grant、deny和revoke 服务器级权限。也可以grant、deny和revoke数据库级权限。另外,它们可以重置SQL Server 登录名的密码。

(6)serveradmin角色成员:可以更改服务器范围配置选项和关闭服务器。

(7)setupadmin角色成员:可以添加和删除链接服务器,并且也可以执行某些系统存储过程。

(8)sysadmin角色成员:可以在服务器中执行任何活动。默认情况下,windows administrators组(即本地管理员组)的所有成员都是sysadmin固定服务器角色的成员。

固定服务器角色成员的添加与删除(有两种方法,具体步骤参看实验指导)

3、数据库角色

固定数据库角色在数据库级别定义以及每个数据库中都存在。Db_owner和db_security管理员角色的成员可以管理固定数据库角色的成员身份。但是,只有Db_owner角色可以将其他用户添加到Db_owner固定数据库角色中。

打开Management Studio,用鼠标单击“对象资源管理器”窗口中某数据库下的“安全性”目录下的“角色”的“数据库角色”,显示的所有数据库角色,共有10个,具体名称及角色描述如下。

(1)db_accessadmin:可以为Windows登录账户、Windows组和SQL Server

登录账户添加或删除访问权限。

(2)db_backupoperator:可以备份该数据库。

(3)db_datareader:可以读取所有用户表中的所有数据。

(4)db_datawriter:可以在所有用户表中添加、删除或更改数据。

(5)db_ddladmin:可以在数据库中运行任何数据定义语言(DDL)命令。

(6)db_denydatareader:不能读取数据库内用户表中的任何数据。

(7)db_denywriter:不能添加、修改或删除数据库内用户表中的任何数据。

(8)db_owner:可以执行数据库的所有配置和维护活动。

(9)db_securityadmin:可以修改角色成员身份和管理权限。固定数据库角色到权限有映射关系,请参阅联机帮助查询。

固定数据库角色与固定服务器角色不能被删除,用户自定义的角色可以删除。

4、用户定义的角色

当一组用户执行SQL Server中一组指定的活动时,通过用户定义的角色可以轻松地管理数据库中的权限。在没有合适的Windows组,或数据库管理员无权管理Windows用户账户的情况下,用户定义的角色为数据库管理员提供了与Windows组同等的灵活性。

用户定义的角色只适用于数据库级别,并且只对创建时所在的数据库起作用。

(1)数据库角色创建、修改与删除(具体步骤参看实验指导)

(2)数据库角色成员的添加与删除(具体步骤参看实验指导)

5、应用程序角色(略,不作要求)

六、权限管理

(数据库应用技术SQL Server2005提高篇,参看复印资料)

设置安全验证模式——

Windows身份验证模式——默认的系统管理员登录账户:administrators。

Windows身份

混合身份验证模式

SQL Server身份——默认的系统管理员登录账户:sa

创建SQL Server登录账户——

映射Windows登录账户为SQL Server登录账户

将验证模式设为SQL Server验证模式,在management studio中创建SQL Server登录账户

数据库A—1—用户名a

1 用户名b

登录名a 1 数据库B—1—用户名a

1 用户名b

登录名b 数据库C—1—用户名a

用户名b

1. 验证模式

安装SQL Server 2005默认的是Windows身份验证模式。可能使用Management Studio 工具来设置验证模式,但设置验证模式的工作只能由系统管理员来完成,以下是在Management Studio中的两种设置方法,以下两种方法均需要重新启动SQL Server后,才能生效。

方法之一:

(1)打开Management Studio。

(2)在“已注册的服务器”子窗口中要设置验证模式的服务器上单击鼠标右键,然后在弹出的快捷菜单上选择“属性”项,系统弹出“编辑服务器注册属性”窗口。

(3)在“常规”选项卡中,“服务器名称”栏按“<服务器名>[\<实例名>]”格式选择要注册的服务器实例“身份验证”栏在连接到 SQL Server实例时,可以使用两种身份验证模式:Windows身份验证和SQL Server身份验证(或称混合身份验证)。如图4-1。

(4)设置完成后,单击“测试”按钮以确定设置是否正确。

(5)单击“保存”按钮,单击对话窗口,完成验证模式的设置或改变。

方法之二:(1)在Management Studio对象资源管理器中,右键单击服务器,再单击“属性”项。(2)在“安全性”页上的“服务器身份验证”下,选择新的服务器身份验证模式,再单击“确定”按钮。如图4-3。

2. 帐号和角色

1)登录管理

使用Management Studio管理SQL Server登录账户

(1)映射Windows Studio登录账户为SQL Server登录账户

在Management Studio中可以将一个Windows账户或一个组映射成一个SQL Server登

录名。每个SQL Server登录名都可以在指定的数据库中创建数据库用户名。这个特性可以让Windows组中的用户直接访问服务器上的数据库。至于这些指定的数据库用户的权限,可以另行指定的。使用Management Studio将已经存在的Windows账户或组映射到SQL Server 中的操作步骤如下:

①启动Management Studio,分别展开“服务器”、“安全性”、“登录名”。

②右击“登录名”,选择“新建登录名”项,进入“登录名-新建”对话框。

③选择Windows验证模式,登录名通过按“搜索”按钮来自动产生,单击“搜索”按钮

后“选择用户或组”对话框,在对象名称框内直接输入名称或单击“高级”按钮后查找用户或组的名称来完成输入。

④单击“服务器角色”选项卡,可以查看或更改登录名在固定服务器角色中的成员身份。

⑤单击“用户映射”选项卡,以查看或修改SQL登录名到数据库用户的映射,并可选择

其在该数据库中允许担任的数据库角色。

单击“确定”按钮,一个Windows组或用户即可增加到SQL Server登录账户中去了。

(2)在Management Studio中创建SQL Server登录账户

在Management Studio中创建SQL Server登录账户的具体步骤类似于“在Management Studio中映射Windows登录账户为SQL Server登录账户”,只是,要选择SQL Server验

证模式,这是需要输入登录账户名称、密码及确认密码。其他选项卡的设置操作类似。最后按“确定”按钮,即增加了一个新的登录账户。

(3)在Management Studio中查看、修改或删除登录账户

一个新的登录账户增加后,可以在Management Studio中查看其详细信息,并能做修改或删除操作。方法如下:

①启动Management Studio,分别展开“服务器”、“安全性”、“登录名”。如图4-3。

②单击“登录名”下的某一个登录账户,在系统弹出菜单上单击“属性”项,可进入“登

录属性”对话框查看该登录账户的信息,同时需要时能直接修改相应账户设置信息。

③在上一步系统弹出菜单上单击“删除”菜单,能出现“删除对象”对话框,在对话框

上单击“确定”按钮,能删除该登录账户。

2)用户管理

使用Management Studio管理数据库用户

管理数据库用户包括对数据库的创建、查看、修改、删除等管理操作。首先如何创建数据库用户呢?一般有两种方法。一种是在创建登录帐户的同时指定该登录帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户。如前面使用Management Studio创建登录帐户时就能完成数据库用户的创建;另一种方法是先创建登录帐户,再将登录帐户映射到某数据库,在其中创建同名用户名。

(1)在Management Studio中创建数据库用户

在Management Studio中创建数据库用户中创建数据库用户的步骤如下:

①启动Management Studio,分别展开“服务器”、“数据库”、“KCGL”、“安全性”、“用户”,在“用户”文件夹下能看到该数据库的已有用户。

②右击“用户”文件夹,选择“新创建数据库用户”,弹出“数据库用户-新建”对话

框。

③输入要创建的数据库用户的名字,然后再“登陆名”对应的文本框中输入相对应的

登录名,或单击“浏览”按钮,在系统中选择相应的登录名。

④单击“确定”按钮,将新创建的数据库用户添加到数据库中。

(2)在Management Studio中查看、修改或删除数据库用户

操作方式是:

①启动Management Studio,分别展开“服务器”、“数据库”、“KCGL”、“安全性”、“用户”,在“用户”文件夹下能看到该数据库的已有用户。

②右击某要操作的用户,在系统弹出的快捷菜单中含有“属性”、“删除”等菜单项。

③若选择“属性”菜单项,可以查看或修改用户的权限信息,如“常规”中的“拥有架构”“角色成员”;“安全对象”中的具体权限设置及“扩展属性”等。

④若选择“删除”菜单项,可从数据库中删除该用户。

3)角色管理

固定服务器角色成员的添加与删除

固定服务器角色成员的添加与删除操作可以通过Management Studio或T-SQL两种方法来操作。

在Management Studio中添加或删除固定服务器角色成员。:

方法一:打开Management Studio,用鼠标单击“对象资源管理器”窗口->某数据库引擎->“安全性”->“服务器角色”,显示当前数据库服务器的所有服务器角色,再要添加或删除成员的某固定服务器角色上单击鼠标右键,选择快捷菜单中的“属性”菜单项。在“服务器角色属性”对话框中,能方便单击“添加”或“删除”按钮实现对成员的添加或删除。

方法二:打开Management Studio,用鼠标单击”对象资源管理器“窗口->某数据库引擎->”安全性“->”登录名“;在某登录名上右击,选择”属性“菜单项,出现”登陆属性“对话框或单击”新建登录名“出现”登陆-新建”对话框;单击“服务器角色”选项卡,能直接多项选择登陆名需要属于的固定服务器角色。这样也完成了对固定服务器角色成员的添加与删除。

用户定义的角色

(1)数据库角色创建、修改与删除

数据库角色的创建、修改与删除操作可以通过Management Studio或T-SQL两种方法来操作。

在Management Studio中创建、修改与删除数据库角色:

①打开Management Studio,用鼠标单击”对象资源管理器“窗口->某数据库引擎->”

数据库“->"某具体数据库"->”安全性“->”角色“->"数据库角色",显示当前数据库的所有数据库角色,在”数据库角色“目录或某数据库角色上单击鼠标右键,单击快捷菜单中的”新建数据库据角色“菜单项。在”数据库角色-新建“对话框中,指定角色名称与所有者,单击”确定“按钮即简单创建了新的数据库角色。

②在某数据库角色上单击鼠标右键,单击快捷菜单中的”属性“菜单项。在”数据库

角色属性“对话框中,查阅或修改角色信息,如制定新的所有者、安全对象、拥有的

架构、角色、角色成员等信息的修改等。

③在某自定义数据库角色上单击鼠标右键,单击快捷菜单中的“删除”菜单项。启动

“删除对象”来删除数据库角色。但要注意:角色必须为空时才能删除。

(2)数据库角色成员的添加与删除

数据库角色成员的添加及与删除操作可以通过Management Studio或T-SQL两种方法来操作。

在Management Studio中添加与删除数据库角色成员:

方法一:在上面提到过的某数据库角色的“数据库角色属性“对话框中,“常规”选线卡上,右下角色成员操作区,单击“添加”或“删除”按钮实现操作。

方法二:通过“对象资源管理器”窗口->某数据库引擎->“数据库”->“某具体数据库”

->“安全性”->"用户"->"某具体用户";单击鼠标右击,单击“属性”菜单,出现“数据库用户”对话框,在右下角色成员操作区,通过多选按钮直接实现该用户从某个或某些数据库角色中添加或删除的操作功能。

应用程序角色

在Management Studio中创建与删除数据库程序角色:

通过“对象资源管理器”窗口->"数据库引擎"->"数据库"->"某具体数据库"->"安全性"->"角色"->"应用程序角色";单击油表有机,单击“新建应用程序角色”菜单项,出现“应用程序角色新建”对话框,在”常规“选项卡右边指定角色名称‘默认架构、密码、确认密码、角色拥有的架构等信息后,单击”确定“按钮即可。当然在创建应用程序角色的同时,

可以指定”安全对象“、”扩展属性“选项卡中的属性。

在已有某应用程序角色上单击鼠标右键,再单击“删除”菜单项,能实现角色的删除操作。

3. 权限管理

1)在Management Studio中管理权限

在Management Studio中管理权限是非常方便的,可以从权限相关的主体与安全对象这

两者的任意一方出发考虑实现操作。

2)在Management Studio中管理凭据

(1)创建凭据

①在对象资源管理器中,展开“安全性”,右击“凭据”,然后单击“新建凭据”项。

②在“新建凭据”对话框中的“凭据名称”框中,输入凭据的名称。

③在“标识”框中,输入对于对外连接的账户名称(在离开SQL Server的上下文

时)。通常为Windows用户账户。但标识可以是其他类型的账户。

④在“密码”和“确认密码”框中,输入“标识”框中指定的账户的密码。如果“标

识”为Windows用户账户,则密码为Windows密码。如果不需要密码,“密码”可为空。

⑤单击“确定”按钮。

(2)将登录名映射到凭据

①在对象资源管理器中,展开“安全性”,右击SQL Server登录名,然后单击“属性”

项。

②在“登录属性”对话框的“常规”页的“凭据”框中,输入凭据的名称,然后单击

“确定”按钮。

3)用T–SQL命令管理权限

主要命令有GRANT、REVOKE、DENY、CREATE CREDENTIAL、ALTER CREDENTIAL、DROP CREDENTIAL等。

(1)GRANT将安全对象的权限授予主体。

GRANT命令的简单语法:

GRANT{ALL[PRIVILEGES]} |permission[(column[,...n]) [,...n][ON[class::]securable]TO principal [,...n][WITH GRANT OPTION][AS principal]

ALL:该选项并不授予全部可能的权限。授予ALL参数相当于授予以下权限。

①如果安全对象为数据库,则ALL表示BACKUP DATABASE、BACKUP LOG、CREATE

DATABASE、CREATE DRFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE

TABLE和CREATE VIEW。

②如果安全对象为标量函数,则ALL表示EXECUTE和REFERENCES。

③如果安全对象为表值函数,则ALL表示DELETE、INSERT、REFERENCES、SELECT

和UPDA TE。

④如果安全对象为存储过程,则ALL表示DELETE、EXECUTE、INSERT、SELECT和

UPDATE。

⑤如果安全对象为表,则ALL表示DELETE、INSERT、REFERENCES、SELECT和

UPDATE。

⑥如果安全对象为视图,则ALL表示DELETE、INSERT、REFERENCES、SELECT和

UPDA TE。

Permission:权限的名称。

Column:指定表中将授予其权限的列的名称。需要使用括号“( )”。

Class:指定将授予其权限的安全对象的类。需要范围限定符“::”。

Securable:指定将授予其权限的安全对象。

TO principal:主体的名称。可为其授予安全对象权限的主体随安全对象而异。

GRANT OPTION:指示被授权者在获得指定权限的同时还可以将指定权限授予其他主体。

AS principal:指定一个主体,执行该查询的主体从该主体获得授予该权限的权利。

REVOKE语句可用于删除已授予的权限,DENY语句可用于防止主体通过GRANT获得特定权限。授予权限将删除对所指定安全对象的相应权限的DENY或REVOKE权限。如果在包含该安全对象的更高级别拒绝了相同的权限,则DENY优先。但是,在更高级别撤销已授予权限的操作并不优先。

数据库级权限在指定的数据库范围内授予。如果用户需要另一个数据库中的对象的权限,请在该数据库中创建用户账户,或者授权用户账户访问该数据库以及当前数据库。

数据库特定安全对象有:应用程序角色、程序集、非对称密钥、证书、约定、数据库、端点、全文目录、函数、登录、消息类型、对象、队列、远程服务绑定、角色、路由、架构、服务器、服务、存储过程、对称密钥、同义词、系统对象、表、类型、用户、视图、XML架构集合。

Sp_helprotect系统存储过程可报告对数据库级安全对象的权限。

(2)GRANT对象权限。

授予对表、视图、表值函数、存储过程、扩展存储过程、标量函数、聚合函数、服务

队列或同义词的权限,语法如下:

GRANT [,…n]ON[OBJECT::][schema_name].object_name [(column [,…n])]TO [,…n] [WITH GRANT OPTION] [AS

]::=ALL[PRIVILEGES]|permission[(column[,…n])]::=D atabase_user|Database_role|Application_role|Database_user_mapped_to_Windows_User| Database_user_mapped_to_Windows_Group|Database_user_mapped_to_cerificate|Database_user_

mapped_to_asymmetric_key|Data_user_with_no_login

Permission:指定可以授予的对架构包含的对象的权限。

ALL:授予ALL不会授予所有可能的权限。授予ALL等同于授予适用于指定对象的所有ANSI-92权限。对于不同权限,ALL的含义有所不同。

①标量函数权限:EXECUTE和REFERENCES。

②表值函数权限:DELETE、INSERT、REFERENCES、SELECT和UPDA TE。

③存储过程权限:EXECUTE 、SYNONYM、DELETE、INSERT、SELECT和UPDATE。

④表权限:DELETE、INSERT、REFERENCES、SELECT和UPDA TE。

⑤视图权限:DELETE、INSERT、REFERENCES、SELECT和UPDATE。

Database_user指定数据库用户;Database_role指定数据库角色;Application role指定应

用程序角色;Database_user_mapped_to_Windows_User指定映射到Windows用户的数据库用户;Database_user_mapped_to Windows_Group指定映射到Windows组的数据库用户;Database_user _mapped_to_cerificate指定映射到证书的数据库用户;Database_user_mapped_to_asymmetric_key 指定映射到非对称密钥的数据库用户;Data_user_

with_no_login指定无相应服务器级主体的数据库用户。

对象是一个架构级的安全对象,包含于权限层次结构中作为其父级的架构中

* GRANT命令的使用实例:

例1:授予对表的SELECT权限,本例授予用户RosaQdM对AdventureWorks数据库中表Person.Address的SELECT权限。

USE AdventureWorks

GRANT SELECT ON OBJECT::Person.Address TO RosaQdM

例2:授予对存储过程的EXECUTE权限,本例授予名Recruiting 11的应用程序角色对存储过程https://www.doczj.com/doc/741398516.html,pUpdateEmployeeHireInfo的EXECUTE权限。

GRANT EXECUTE ON OBJECT::https://www.doczj.com/doc/741398516.html,pUpdateEmployeeHireInfo TO

Recruiting 11

(3)REVOKE取消以前授予或拒绝了的权限。

REVOKE简单语法:

REVOKE [GRANT OPTION FOR] {[ALL

[PRIVILEGES]]|permission[(column[,…n])][,…n]} [ON[class::]

securable]{TO|FROM}principal[,…n][CASCADE][AS principal] REVOKE对象权限有:撤销对表、视图、表值函数、存储过程、扩展存储过程、标量函数、聚合函数、服务队列或同义词的权限。语法如下:

REVOKE [GRANT OPTION FOR] [,…n] ON [OBJECT::] [schema_ name].object_name [(coloumn[,…n])] {FROM|TO} [,…n] [CASCADE] [AS]

* REVOKE命令的使用实例:

例:撤销对表的SELECT权限,本例从用户RosaQdM中撤销对AdventureWorks数据库中表Person.Address的SELECT权限。

REVOKE SELECT ON OBJECT::Person.Address FROM RosaQdM

用T–SQL令管理权限的例子

1.给用户授权:

a)use database_course

create login user3 with password='';

create user user3 for login user3;

b)grant update(sno),select

on sc

to user1;

2.回收权限:

a)revoke update(sno)

on sc

from user1;

b)revoke select

on SC

from public;

3.数据库角色:

a)create role r1;

grant select,insert,update

on course

to r1;

将角色r1授予user1、user2、user3:

grant VIEW DEFINITION,TAKE OWNERSHIP on role::r1 to user1,user2,user3;

一次性的通过r1回user1的3个权限:

revoke VIEW DEFINITION,TAKE OWNERSHIP on role::r1 from user1;

回收user2对于r1的控制权限:

revoke control on role::r1 from user2;

b)角色的权限修:

grant delete

on course

to r1;

revoke insert

on course

from r1;

(4)DENY拒绝授予主体权限。防止主体通过其组或角色成员身份继承权限。

DENY的简单语法:

DENY{ALL[PRIVILEGES]}|permission[(column[,…n])] [,…n] [ON[class::]securable] TO principal[,…n][CASCADE] [AS principal]

DENYde 对象权限,拒绝对安全对象的OBJECT类成员授予的权限。OBJECT类的成

员包括:表、视图、表值函数、存储过程、扩展存储过程、标量函数、聚合函数、服务队列以及同义词。语法如下:

DENY [,…n] ON [OBJECT::][schema_name].object_name [(column [,…n])] TO [,…n] [CASCADE] [AS] :: =ALL[PRIVILEGES]|permission[(Column [,…n])]

* DENY命令的使用实例:

例:拒绝对表的SELECT权限,本例拒绝用户RosaQdM中撤销对AdventureWorks数据库中表Person.Address的SELECT权限。

DENY SELECT ON OBJECT::Person.Address TO RosaQdM

(5)CREATE CREDENTIAL创建凭据。

语法如下:

CREATE CREDENTIAL credential_name WITH IDENTITY=’identity_name’[,SECRET=’secret’]

参数:credential_name指定要创建的凭据的名称。credential_name不能以数字符号(#)开头。系统凭据以##开头。

IDENTITY=’identity_name’指定在服务器以外进行连接时使用过的账户的名称。

SECRET=’secret’指定发送身份验证所需的机密内容。该子句为可选项。

可以在sys.credentials目录视图中查看有关凭据的信息。

* CREATE CREDENTIAL命令的使用实例:

例:本例创建名为AlterEgo的凭据。凭据包含Windows用户RettigB和密码sdrlk8$40-dksli87nNN8。

CREATE CREDENTIAL AlterEgo WITH IDENTITY=’RettigB’,SECRET=’sdrlk8$40-dksli87nNN8’

(6)ALTER CREDENTIAL更改凭据的属性。

语法如下:

ALTER CREDENTIAL credential_name WITH IDENTITY=’identity_name’[,SECRET=’secret’]

使用服务主密钥对密码进行加密。如果重新生成服务主密钥,则需要使用新服务主密钥对改密码重新加密。

* ALTER CREDENTIAL命令的使用实例:

例:更改凭据的密码,本例将更改存储在名为Saddles的凭据中的密码。该凭据包含Windows 登录名RettigB及其密码。使用SECRET子句将新密码添加到凭据。

ALTER CREDENTIAL Saddles WITH IDENTITY=’RettigB’,SECRET=’sdrlk8$40-dksli87nNN8’

(7)DROP CREDENTIAL从服务器中删除凭据。

语法如下:

DROP CREDENTIAL credential_name

credential_name为要从服务器中删除的凭据的名称。

备注:若要删除与凭据有光的机密内容而不删除凭据本身,请使用ALTER CREDENTIAL。

vb大作业 实验报告

软件技术实验报告 学号2009300186 姓名赵佶男班级010109卓 越 大作业机房管理系统 课题基本目标要求: 1)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。 2)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动 提前5分钟提示,待真正结束时即自动锁屏。 3)除上机课时安排以外,可以在机动时间段接受学生凭个人一卡通上机,且上机实施计时自动收费(即扣除学生一卡通上因上机而应缴 纳的上机服务费) 4)在接受零散学生付费上机时,可自动为其分配空闲机器并授权使用,在分配机器时应考虑机器的使用情况分布均匀,即每次分配机器是 前一时段未曾使用的机器,当学生一卡通上的余额,不足以支付1 小时上机服务费时,应提示其下机充值,并实施锁屏。 实验步骤: 首先,根据大作业的要求,我建立了机器表,流水表,学生基本情况表,上课表,以及一卡通表五个数据库表。机器表用来按照使用情况,选择空闲时间最长的机器。流水表用来记录现在机器以及人员使用的情况,是个

动态表,用来方便的取用和修改数据。学生基本情况表用来存放学生的学号,密码,班级等基本情况,以实现学生上课登录和自由登录。上课表存放各个班级的上课下课时间,以实现排课功能。一卡通表记录了每个学生一卡通内的金额,用来帮助实现上下机的扣费,以及余额不够支付一小时时间情况下得强制下机。 然后,我进行了窗体的设计。经过筛选优化,我设计了五个窗体,分别是主选择窗体,注册窗体,登录窗体,上课安排窗体,实时计费和下机窗体。 主选择窗体可以用来进行上课登录、学生自由登录、管理员登录和机器的推荐。注册窗体是用来进行学生登录密码的注册。登录窗体限制学生的学号和密码必须匹配才能登录。上课安排窗体可以输入班号、上下课时间并选择星期值。实时计费和下机窗体用来扣费并方便学生随时下机。 接下来,要按照要求进行代码的编写。 A)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。 此功能我在排课窗体下用select选择出全体班级的上下课以及星期值,并将管理员希望的上下课时间转换为时间类型数值,进行循环比较,用do until 语句逐个比较,使得上下课时间点都不得在其他班级的上课时间段内。如果时间不冲突,就实施修改数据库的功能,并更新保存。 B)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动提前5分钟提示,待真正结束时即自动锁屏。 在主选择窗体内有上课登录按钮和自由登录按钮。点击上课登录,输入学

数据库设计性实验报告

数据库系统概论实验报告 一、实验题目 小型CMS博客系统的设计与实现 二、实验要求 利用学习的数据库设计的方法和步骤,为选择的应用设计数据库、必要的索引、视图、编写应用程序。 三、总的设计思想,及环境语言、工具等 1、建立系统的目的,系统总体概况的介绍 进行博客系统开发的主要目的是为了提高自己的实践能力、学会自主开发独立程序,学会将所学知识应用于实践中,并在实践中不断学习。在大学里本人所学的知识大多数是从课本上得到的,而这次是要通过动手来实践,实习对本人来说是一次很好的锻炼。 本人所要实现的是一个小型CMS博客系统,用户在注册后可以实现在后台操作数据库更改网站标题、版本号、管理博客、管理日志分类等,在前台可以查看已公开的博客等。本次课程设计初步目标是实现博客的基本功能,在这个基础上对功能进行扩充。 2、选用的语言 利用WINDOWS XP结合DREAMWEAVER和access搭建ASP的环境平台,语言采用强大的vbscript。采用了IIS5.1。 3、需求分析的方法和结果 通过对现行博客系统的基本功能进行调查,明确了CMS博客系统由查看博客、发表博客、回复博客、管理员通过后台管理登录管理日志分类、修改删除博客、发表新文章、设置主页信息等等。用户对系统的描述如下。 a)用户基本功能 1)匿名用户可以查看用户公开的博客,并且可以通过注册申请成为正式用户。 b)管理员基本功能 1)发表新文章。 2)管理文章、如添加删除等。 3)管理分类,如添加、删除、重命名。 4)设置主页上显示的博客条数或者版本号。 数据流图

数据库逻辑模型 将图书馆管理系统的E-R图转换为关系数据库的数据模型,其关系模式为: 博客用户(用户,密码,邮箱),其中用户为主码; 版本信息(版本ID,URL,主页底部信息,副标题),其中版本ID为主码; 日志分类信息(编号,分类名称,基本表述(在鼠标放到分类上后显示的小标签)) 将CMS系统的数据库名定为“SimpleCMS” 数据库模式的规范化 各表的函数依赖集: F博客用户={用户→密码}; F类别={分类ID→名称,分类ID→基本描述}; F版本信息={编号→网站名,编号→网址,编号→底部信息,编号→副标题信息}; 上述关系模式中不存在对非码依赖的表达式,所有的非主属性对码完全并直接依赖,由此证明,博客数据库中各表均服从BCNF,其规范化程度较高,数据库设计合理。 4、E-R图

数据库综合实验报告(学生成绩管理系统)

数据库综合实验报告 班级: 学号: 姓名: 2013年5月

数据库应用系统的初步开发 一、实验目的 1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。 2.初步掌握基于C/S的数据库应用系统分析、设计和实现方法。 3.进一步提高学生的知识综合运用能力。 二、实验内容 在SQL Server2000数据库管理系统上,利用 Microsoft Visual C++ 6.0开发工具开发一个学生成绩管理系统的数据库应用系统。 三、实验过程 (一.)系统需求说明 1系统功能要求设计:此系统实现如下系统功能: (1)使得学生的成绩管理工作更加清晰、条理化、自动化。 (2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。容易地完成学生信息的查询操作。 (3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统 在安全性,完整性,并发控制,备份和恢复等方面的功能要求。 2系统模块设计 成绩管理系统大体可以分成二大模块如,一是学生的基本信息模块,里面应 该包含学生的各方面的基本信息;再者便是课程管理模块,在该模块中应该包 含有对学生成绩信息的查询和处理,;再其次还有教师、课程等相关信息的模块; 可以得到系统流程图: 登陆失败 学生管课 程 管 退出系统用户 验证 成 绩 查 登 陆 成 功

3 数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下: 数据库中用到的表: 数据库表名关系模式名称备注 Student 学生学生学籍信息表 Course 课程课程基本信息表 Score 成绩选课成绩信息表 Student基本情况数据表,结构如下: 字段名字段类型Not Null 说明 Student _sno Char Primary key 学号 Student _sn char Not Null 学生姓名 Student _sex char ‘男’或‘女’性别 Student _dept char 系别 Student_age char 年龄 Student_address char 地址 course数据表,结构如下: 字段名字段类型约束控制说明 course_cno char 主键(primary key)课程号 char not null 课程名称course_cnam e course_hour int not null 课时 course_score numeric(2,1) not null 学分 score情况数据表,结构如下: 字段名字段类型约束控制说明 score_id int not null 成绩记录号 course_cno char 外部键课程号 student_sno char 外部键学号 score int 成绩 (二)数据库结构设计 1.概念结构设计 由需求分析的结果可知,本系统设计的实体包括: (1)学生基本信息:学号,姓名,性别。 (2)课程基本信息:课程名,课程号,分数。 2.逻辑结构设计 这些实体间的关系模式如下:

C大作业图书管理系统实验报告

附件1: 学号:00126 《面向对象程序设计》 大作业 题目学生成绩管理系统 学院文法学院 专业教育学 班级教育学1201 姓名杨欣 指导教师鄢红国 2013 年12 月20 日

目录 一设计目的 (1) 二大作业的内容 (2) 三大作业的要求与数据 (3) 四大作业应完成的工作 (4) 五总体设计(包含几大功能模块) (5) 六详细设计(各功能模块的具体实现算法——流程图) (6) 七调试分析(包含各模块的测试用例,及测试结果) (7) 八总结 (8) 十参考资料 (9)

一大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 二大作业的内容 对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数等)进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出.将图书的信息进行记录,信息内容包含:(1)图书的编号(2)图书的书名(3)图书的库存量。假设,现收集到了一个图书馆的所有图书信息,要求用C语言编写一个简单的图书管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C语言实现系统; 2、对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数)进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出. 3、图书信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1) 每一条记录包括一本图书的编号、书名、库存量 (2) 图书信息录入功能:(图书信息用文件保存,可以一次完成若干条记录 的输入。) (3) 图书信息显示浏览功能:完成全部图书记录的显示。 (4) 查询功能:完成按书名查找图书记录,并显示。 (5) 图书信息的删除:按编号进行图书某图书的库存量. (6) 借书登记系统:可以输入读者编号和所借书号来借书。 (7) 还书管理系统:可以输入读者编号和所借书号来还书。 (8)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:2015/7/9

《数据库原理课程设计》课程设计 任务书 一、目的与要求 1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力 而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。 为后继课程和毕业设计打下良好基础。 2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界 面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 二、主要内容 针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤: 1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图: 1)分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。 2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。 2.根据设计好的E-R图及关系数据库理论知识设计数据库模式: 1)把E-R图转换为逻辑模式; 2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。 3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。 4)用SQL语言完成数据库内模式的设计。 3.数据库权限的设计: 1)根据系统分析,完成授权操作; 2)了解学习收回权限的操作。 4.完成用户界面的设计,对重要数据进行加密。

sqlserver数据库综合实验报告格式

华北科技学院计算机系综合性实验 实验报告 课程名称数据库原理与应用 实验学期 2009 至 2010 学年第一学期学生所在系部管理系 年级三年级专业班级商务B071班 学生姓名李荣妹学号 4121 任课教师郭红 实验成绩 计算机系制

《数据库原理与应用》课程综合性实验报告

(3)建表如下图: 图书表的结构 读者表的结构罚款表的结构 借阅表的结构密码表的结构 输入数据:图书 读者 S只学生,t指老师,1指没有超期,0表示超期 借阅 罚款

密码: (4)、创建视图。以sa的身份登录数据库,创建视图V1,V2,V3 create VIEW V1 create VIEW V2 create VIEW V3 AS AS AS select * from 图书 select * from 借阅 select * from 罚款 建立视图V5,查看在库的图书:create view V5 as select *from 图书 where 借阅状态=‘在库’ 建立已被借出去的图书视图 create view V6 as

select * from 图书 where 借阅状态='出库' 建立逾期未还的图书的学生视图: create view V7 as select * from 借阅 where datediff(day,convert(smalldatetime,借出日期),getdate())>’30’ and 借书证号 in(select 借书证号 from 读者,借阅 Where 借阅.借书证号=读者.借书证号 and 读者类别=‘s’ 四、物理设计和自定义完整性 建立索引:为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是表中建立索引的表项: 图书表(图书编号,条形码号)读者(借书证号)借阅(借书证号,条形码号)罚款表(借书证号,条形码号)密码(借书证号) (2)建立触发器 a.对已有借书证的读者进行查询借书是否超期(这里归定30天): create trigger T1 on 读者 for insert as select 借阅.借书证号,读者.读者姓名,图书.图书编号,图书.书名,借阅.借出日期 from 读者,借阅,图书 where 读者.借书证号=借阅.借书证号 and 图书.条形码号=借阅.条形码号 and 读者类别='s' and Datediff(day,convert(smalldatetime,借出日期),getdate())>=30 b.建立触发器T2(还书时): create trigger T2 on 借阅 for insert as begin update 图书 set 借阅状态='在库' where 条形码号=(select 条形码号 from inserted) update 借阅 set 归还日期=getdate(); update 读者 set 书数=书数-1 where 借书证号=(select 借书证号 from inserted) end c.建立触发器T3(借书书时): create trigger T3 on 借阅 for insert as begin update 图书 set 借阅状态='入库' where 条形码号=(select 条形码号 from inserted) update 借阅 set 借出日期=getdate(); update 读者 set 书数=书数+1 where 借书证号=(select 借书证号 from inserted) end d.建立触发器T4,实现超出借书数目时禁借(针对老师的): create trigger T4 on 读者 for insert

sql大作业实验报告

目录 第一章、需求分析 (2) 1 、需求概述 (2) 2 、功能简介 (2) 第二章、概念结构设计 (3) 1、在员工实体内的E-R图 (3) 2、部门实体内的E-R图 (3) 3、在工资实体内的E-R图 (3) 第三章、逻辑结构设计 (4) 第四章、物理结构设计 (4) 第五章、数据库的实施和维护 (5) 一、数据库的创建 (5) 二、表格的建立 (5) 1、建立Employsse表插入数据并设计相关的完整性约束 (5) 2、建立departments表插入数据并设计相关的完整性约束 (7) 3、建立 salary表插入数据并设计相关的完整性约束 (8) 三、建立视图 (9) 四、建立触发器 (10) 五、建立自定义函数 (12) 六、建立存储过程 (13) 第六章、总结 (14)

第一章、需求分析 1 、需求概述 针对现代化公司管理情况,员工管理工作是公司运行中的一个重环节,是整个公司管理的核心和基础。它的内容对于公司的决策者和管理者来说都至关重要,所以公司管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件工籍,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 公司员工管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。 能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。 具体功能包括:系统应该提供员工数据的插入、删除、更新、查询;员工基本信息查询的功能。 2 、功能简介 员工管理系统它可以有效的管理员工信息情况。具体功能有以下几个方面。基本信息的添加,修改,删除和查询。学生信息管理包括添加、查看学生列表等功能。

Java程序设计大作业实验报告

目录 一、前言 (2) 二、需求分析 (3) 三、系统总体设计 (3) 3.1系统总体设计系统思路 (3) 3.2数据库设计 (4) 3.2.1 login1表的设计和数据 (4) 3.2.2 student表的设计和数据 (5) 3.2.3 course表的设计和数据 (5) 3.2.4 score表的设计和数据 (6) 3.3系统功能模块设计 (6) 四、系统详细设计 (7) 4.1登录模块 (7) 4.2 学生模块 (7) 4.3 教师模块 (8) 4.4 管理员模块 (8) 五、系统测试及运行结果 (9) 5.1 主界面 (9) 5.2 学生管理中心界面 (9) 5.3 教师管理中心界面 (10) 5.4 管理员管理中心界面 (10) 5.5 查询课表界面 (11) 5.6 查询成绩界面 (11) 5.7 查询教学情况界面 (11) 5.8 查询所有学生成绩界面 (12) 5.9 学生信息管理界面 (12) 5.10 学生成绩管理界面 (13) 5.11 用户管理界面 (13) 六、实验总结 (14) 七、参考文献 (14)

一、前言 随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。对于前者,要求应用程序功能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。 本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。本系统主要分为三个部分:学生模块、教师模块、管理员模块。其中学生模块实现的功能:查询课表信息和查询成绩。教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。管理员模块实现的功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。

c++大作业学生实验报告

学生实验报告 实验课名称: C++程序设计 实验项目名称:综合大作业——学生成绩管理系统专业名称:电子信息工程 班级: 学号: 学生: 同组成员: 教师:

2011 年 6 月 23 日 题目:学生成绩管理系统 一、实验目的: (1)对C++语法、基础知识进行综合的复习。 (2)对C++语法、基础知识和编程技巧进行综合运用,编写具有一定综合应用价值的稍大一些的程序。培养学生分析和解决实际问题的能力,增强学生的自信心,提高学生学习专业课程的兴趣。 (3)熟悉掌握C++的语法和面向对象程序设计方法。 (4)培养学生的逻辑思维能力,编程能力和程序调试能力以及工程项目分析和管理能力。 二、设计任务与要求: (1)只能使用/C++语言,源程序要有适当的注释,使程序容易阅读。 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好)。 (3)要求划分功能模块,各个功能分别使用函数来完成。 三、系统需求分析: 1.需求分析: 为了解决学生成绩管理过程中的一些简单问题,方便对学生成绩的管理 (录入,输出,查找,增加,删除,修改。) 系统功能分析: (1):学生成绩的基本信息:学号、、性别、C++成绩、数学成绩、英语成绩、 总分。 (2):具有录入信息、输出信息、查找信息、增加信息、删除信息、修改信息、 排序等功能。 2.系统功能模块(要求介绍各功能) (1)录入信息(Input):录入学生的信息。 (2)输出信息(Print):输出新录入的学生信息。 (3)查找信息(Find):查找已录入的学生信息。 (4)增加信息(Add):增加学生信息。 (5)删除信息(Remove):在查找到所要删除的学生成绩信息后进行删除并输出删除后其余信息。 (6)修改信息(Modify):在查到所要修改的学生信息后重新输入新的学生信息从而进行修改,然后输出修改后的所有信息。 (7)排序(Sort):按照学生学号进行排序。 3.模块功能框架图

《数据库及其应用》实验报告(新)

《数据库及其应用》 (课程编号:B0901000) 实验报告 (2014-2015学年第2学期) 实验成绩: 学号: 姓名: 专业班级: 课堂号: 任课教师: 完成日期:

一、实验目的及要求 能熟练掌握 Access2010的启动、退出,以及操作界面和操作方法。 能够理解关系模型的基本概念。 能够完成简单的数据库概念设计、逻辑设计和物理设计。 能够熟练建立数据库文件、表对象和关系。 能够熟练掌握基本SQL语言,能够在Access中进行一般的SQL 查询。 能够运用SQL对数据库进行更新。 能够熟练掌握不同软件之间的数据交换。 二、实验设备(环境)及要求 PC机,Windows 7,Office 2010(主要是Access 2010) 实验参考教材: 《数据库及其应用(Access及Excel)学习与实验实训教程》(第二版)。 (以下简称《实验教程》) 三、实验内容及记录 实验项目1:熟悉Access的启动和退出,熟悉Access的界面 1.启动Access 练习不同的Access的启动方法。。 2.退出Access 练习不同的Access的启动方法。 3.观察并了解 Access用户界面 不同方式启动进入Access,其界面有所差异。 通过“开始”按钮或桌面Access快捷方式启动进入Backstage视图;通过Access数据库文件关联则直接进入Access数据库窗口。 Access用户界面主要由三个组件组成: 功能区。 Backstage 视图。 导航窗格。 (1)观察Backstage视图:不同方式进入Backstage视图,注意其差别。 (2)观察功能区:了解组成功能区的选项卡。 (3)观察导航窗格。各种对象的显示组合。 4.Access选项及其设置 在Backstage视图中选择“选项”命令单击,进入Access选项对话框窗口。在该窗口可设置默认文件夹等。可设置文档窗口显示方式、定制导航窗格、定制工具栏的项目等。

虚拟仪器大作业实验报告

东南大学生物科学与医学工程学院 虚拟仪器实验报告 大作业 实验名称:基于MIT-BIH心率失常数据库的心电信号系统的设计专业:生物医学工程 姓名:学号: 同组人员:学号: 实验室: 综合楼716 实验时间:2013/11/28 评定成绩:审阅教师:

目录 一.实验目的 二.实验内容 基于MIT-BIH心率失常数据库的心电信号系统的设计 1.实验要求和说明 2.程序设计流程图 3.程序各版块介绍说明 4.前面板的设计 5.调试过程 6.结果及分析 三.实验收获及小结 四.参考文献

一.实验目的 现代医学表明,心电信号(ECG)含有临床诊断心血管疾病的大量信息,ECG的检测与分析在临床诊断中具有重要价值,是了解心脏的功能与状况、辅助诊断心血管疾病、评估各种治疗方法有效性的重要手段。 本次大作业利用具有直观图形化编程和强大数字信号处理功能的虚拟仪器编程语言LabVIEW作为开发平台,设计一个基于虚拟仪器的简单心电信号分析系统,该系统具有心电信号的读取,处理分析,波形显示、心率显示及报警,波形存储和回放等功能。 二.实验内容 1.实验内容及要求 基于MIT-BIH心率失常数据库的心电信号系统的设计 1. 本次大作业所用原始信号是从MIT-BIH(Massachusettes Institute of and Beth Israel Hospital,美国麻省理工学院和波士顿贝丝以色列医院)心率数据库(https://www.doczj.com/doc/741398516.html,/physiobank/database/mitdb/)中选取心电信号作为实验分析的数据。设计的系统要求对原始心电信号进行读取、绘制出其时域波形,利用原始心电数据中的时间数据控制显示时间,并具有保存回放功能,同时具有心率过快或过缓报警提示功能。 2. 心电信号是微弱低频生理电信号,通常频率在0.05Hz~100Hz,幅值不超过 4mV,它通过安装在皮肤表面的电极来拾取。由于实际检测工况的非理想,在ECG 信号的采集过程中往往会受到工频噪声及电极极化等各种随机噪声的影响。噪声的存在降低了诊断的准确性。其中影响最大的是工频干扰和基线漂移噪声。因此,在ECG 信号检测过程中,如何抑制工频干扰和基线漂移等是必须解决的问题。要求选择并设计合适的滤波器,除去所给心电信号的工频干扰和基线漂移。 3. 检测心率:检测信号心电的R波,计算平均心率和实时心率(R-R波时间间隔 的倒数),并显示实时心率和平均心率。 4. 对任一路心电信号滤波前后的信号进行时域分析和频谱分析,分别显示出结 果。

实验一 数据库模式设计及建立实验报告

长春大学计算机学院科学与技术专业 数据库原理实验报告 实验名称:实验一数据库模式设计及建立 班级:姓名:学号: 实验地点:日期: 一、实验目的: 1.了解SQL SERVER 2005/2008系统或KingBase ES V7.0的使用; 2.基本掌握SQL的数据定义。 二、实验内容、要求和环境: 【实验要求】 注:将完成的实验报告重命名为:班级+学号+姓名+(实验一),(如:041540538张三(实验一)),提交到SPOC学堂。 1.实验课要携带教材、学习辅导、老师下发的实验报告文档等。 2.课前要对实验内容和步骤部分进行预习。 3.将本次实验所建的数据库做好备份,以备以后实验使用。 【实验环境】 1.SQL SERVER 2005/20085; 1.KingBase ES V7.0 ,人大金仓。 【实验内容和步骤】 1.熟悉SQL SERVER 2005/2008系统。 (1)启动“SQL Server Managemet Studio”,新建数据库和关系(表) ①鼠标单击“开始/所有程序/Microsoft SQL server 2008/SQL Server Managemet Studio”启动“SQL Server Managemet Studio”,SQL Server Managemet Studio(SSMS)是一个集成环境,用于访问、配置、控制、管理和开发SQL Server 的所有组件,SSMS将大量图形工具与丰富的脚本编辑器相结合,使各种技术水平的开发人员和管理员都可以访问SQL Server; ②在“SQL Server Managemet Studio”中左窗口“对象资源管理器”中,单击“SQLEXPRESS”的左侧“+”,弹出下拉菜单; ③在上一步的下拉菜单中,鼠标右键单击“数据库”,在弹出的菜单中选择“新建数据库”,在弹出的对话框中,输入数据库名,同时可以进行存储位置的设置; ④在数据库文件夹下,出现新建的数据库文件夹; ⑤点击所建数据库文件名左侧的“+”,弹出下拉菜单; ⑥在上一步弹出的下拉菜单中,鼠标右键单击“表”,弹出下拉菜单,单击“新建表”即可在此数据库文件夹中建立关系(表)了。 (2)在“对象资源管理器”的上方有一个“新建查询”图标,单击“新建查询”,可使用SQL 语言进行对关系的操作 ①单击“新建查询”后,在“对象资源管理器”窗口上部出现一个工具栏,右侧弹出一个窗

数据库设计大作业

《数据库原理》课程大作业数据库设计与应用开发 课题名称:实验教学管理数据库设计 学号: 101530518 姓名:庞彪 专业年级: 10 级软工四班 成绩:

内容与要求 1. 请结合软件类专业课程实验教学环节设计数据库,实现实验教学的有效管理,具体功能应包括但不限于: (1)教师可以根据不同课程编辑和发布实验内容; (2)学生可以浏览实验内容,同时完成作品的提交; (3)学生可以在规定时间内填写、修改和提交实验报告; (4)教师可以通过应用系统批改实验报告,并提交成绩; (5)学生可以查询个人实验成绩; 2. 给出数据库设计各个阶段的详细设计报告,包括: (1)需求分析 (2)概念结构设计 (3)逻辑结构设计 (4)物理结构设计与实施 3. 写出应用系统的主要功能设计; 4. 写出收获和体会,包括已解决和尚未解决的问题,进一步完善的设想和建议; 5. 独自完成作业,有雷同的平分得分; 6. 也可以自行设计课题。

目录 1 绪论 (1) 2 应用系统功能设计 (2) 2.1 业务操作流程 (3) 2.2 系统功能设计 (3) 3 数据库设计 (4) 3.1 需求分析 (4) 3.2 概念结构设计 (7) 3.3 逻辑结构设计 (7) 3.4 物理结构设计与实施 (9) 4 结束语 (9) 4.1 收获和体会 (9) 4.2 总结与展望 (10)

1 绪论 在日常实验教学过程中,我们会遇到一些各种各样的问题,为了方便广大师生,提高教学效率,我们需要设计一种实验教学管理系统数据库软件,加强教师与学生之间的互动,实现信息化的现代化教育模式。 首先面临的问题是怎样实现教师安排学生进行实验的地点和时间。在遭遇不可预知因素时(例如:停电,教师请假,学生请假,学生设备损坏等),能够使师生交流如何解决这些特殊情况,将实验正常的进行。 其次教师可以利用该软件根据实际情况(如:不同课程等)编辑和发布实验内容,这些实验内容将保存下来,当进行教学评估时能够及时的将其任意内容调用出来。教师也能够对发布过的实验内容进行修改,但学生没有修改的权限。 第三,学生可以通过软件浏览实验当天教师发布的实验内容,也可以查找之前进行过的实验。当实验完成后,学生可以通过该系统进行作业的提交,每个学生只能提交一次作业。学生可以在规定的时间内填写、修改和提交实验报告,如果学生超过规定时间想要修改实验内容,需要向教师申请权限。 第四,教师能够通过该系统查收学生上交的实验报告,对所有的实验报告具有修改其内容的权利。对每个学生的实验成绩进行评估后,教师可以通过该系统提交各个学生的实验成绩,系统将这些内容存储到对应的学生档案数据中,如果出现提交错误的情况:如果在提交当天发现提交错误成绩,教师可以直接对成绩进行修改重新提交;否则教师与学生(成绩错误)需要向教务处申请复查成绩,核实情况后进行修改。 最后,学生可以通过该系统进行个人实验成绩的查询,当发现成绩有误时,可以通过该软件向教师申请成绩复查,教师收到成绩复查请求后,经过核实情况,如果情况属实,则向教务处提交成绩修改请求,核实情况后进行成绩的修改。 该实验教学管理系统最终目的是实现快捷的教学内容安排,方便的学生成绩查询,加强师生互动,最终达到提高教学效率和质量,构建信息化和谐教学模式。

C--大作业图书管理系统实验报告

附件1: 《面向对象程序设计》 大作业 题学专班姓目 院 业 级 名 学生成绩管理系统 文法学院 教育学 教育学1201 杨欣 指导教师鄢红国 2013 年12 月20 日学号:0121213640126

目录 一二三四五六七八十设计目的 (1) 大作业的内容 (2) 大作业的要求与数据 (3) 大作业应完成的工作 (4) 总体设计(包含几大功能模块) (5) 详细设计(各功能模块的具体实现算法——流程图) (6) 调试分析(包含各模块的测试用例,及测试结果) (7) 总结 (8) 参考资料 (9)

一二 大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 大作业的内容 对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数等) 进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出.将图书的信息进行记录,信息内容包含:(1)图书的编号(2)图书的书名(3)图书的库存量。假设,现收集到了一个图书馆的所有图书信息,要求用C语言编写一个简单的图书管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C语言实现系统; 2、对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数)进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出. 3、图书信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够 完成以下功能: (1)每一条记录包括一本图书的编号、书名、库存量 (2)图书信息录入功能:(图书信息用文件保存,可以一次完成若干条记录 的输入。) (3)图书信息显示浏览功能:完成全部图书记录的显示。 (4)查询功能:完成按书名查找图书记录,并显示。 (5)图书信息的删除:按编号进行图书某图书的库存量. (6)借书登记系统:可以输入读者编号和所借书号来借书。 (7)还书管理系统:可以输入读者编号和所借书号来还书。 (8)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应 尽可能清晰美观!

云南大学数据库期末大作业:数据库设计

云南大学软件学院实验报告 课程:数据库原理与实用技术实验学期:任课教师: 专业:学号:姓名:成绩: 期末大作业:Electronic Ventor 数据库设计 一、实验目的 (1)掌握数据库设计的基本方法 (2)掌握各种数据库对象的设计方法 (3)熟练掌握DBA必须具备的技能 二、实验内容 1、根据项目的应用和项目的需求说明文档,进行详细的需求分析,给出需求分析的结果。 (1)客户可以在网站上注册,注册的客户要提供客户的姓名、电话、地址,以方便售后和联系,姓名即作为用户名,和密码一起用于注册和登录,客户编号可唯一识别用户,卡号可网上支付。其中地址、电话以方便联系和寄货; (2)网站管理员可以登记各种商品,供客户查询,订购。登记商品时要提供商品的名称、价格,商店中现有商品量,商品编号可唯一识别商品; (3)类别表示商品所属类别,类别编号可唯一识别类别,其中包含了,商品类别名称和制造厂商,可以对商品进行分类售卖; (4)客户可以在网上下订单,也可以到实体店购物,其在订单上所选择的支付方式不同(信用卡、借记卡、现金,现金代表实体店购物),网站管理员可以查看订单,并及时将订单的处理情况更新(比如货物已寄出的信息,订单状态:0:未处理,1:已处理,2:已发货);订单编号可唯一识别订单,订单中包含订单产生时间,订单状态,支付方式和支付总额; (5)实体商店有自己的店名,卖多种商品,每个商店都有固定的地址,顾客可以到店中买商品,(注:在实体店中购买商品的顾客一律将顾客名默认为佚名),当商店中的库存量小于10时会有提醒到仓库中拿货; (6)配送单中包含查询号可唯一识别配送单,配送人,联系方式; (7)仓库中仓库编号可唯一识别仓库,其中每个仓库都有区号,代表其地址。 (8)各实体间关系 1)一个客户可以购买多种商品,一种商品可以被多个客户购买; 2)一个商品属于且仅属于一种类别,一种类别的商品可以包含多个商品或没有; 3)一种商品放在多个商店中销售,一个商店至少销售一种或销售多种商品; 4)一个订单对应一个客户,一个客户对应多个订单; 5)一个订单对应至少有一件商品或多件,一个商品对应多个订单; 6)一个订单可以有一个商品配送单 7)一个仓库可以存放多种商品,一种商品可以存放在一个仓库;

python大作业实验报告

大学计算机基础 (理工)大作业 ――暨南大学南校区生活指南系统 G108 甘颖欣熊梦娜翁婉晖梁绮婷李嘉顺 2015-1-3 目录目录 (2)

“暨南大学南校区生活指南系统”选题说明书 (3) 1. .............................................................................................................................................................. 成员分组和任务分工 .. (3) 2. .............................................................................................................................................................. 选题说明3 2.1 选题任务描述 (3) 2.2 设计思路描述 (4) 2.3 程序运行效果........................................................ . (4) 2.4 涵盖的主要知识点 (4) 3. .............................................................................................................................................................. 进度安排4“暨南大学南校区生活指南系统”实现报告. (5) 1. 成员分组和任务分工 (5) 2. .............................................................................................................................................................. 设计实现详细说明 . (5) 2.1 选题任务详细描述 (5) 2.2 设计思路详细描述 (6) 2.3 涵盖的主要知识点 (12) 3. 总结 (12)

数据库综合实验报告(学生成绩管理系统)

数据库综合实验报告 班级:计科*** 班 学号: **** 姓名: *** 2011年12月

数据库应用系统的初步开发 一、实验类别:综合型实验 二、实验目的 1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。 2.初步掌握基于C/S 的数据库应用系统分析、设计和实现方法。 3.进一步提高学生的知识综合运用能力。 三、实验内容 在SQL Server2000数据库管理系统上,利用 Microsoft Visual C++ 6.0开发工具开发一个学生成绩管理系统的数据库应用系统。 四、实验过程 (一.)系统需求说明 1 系统功能要求设计:此系统实现如下系统功能: (1)使得学生的成绩管理工作更加清晰、条理化、自动化。 (2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。 容易地完成学生信息的查询操作。 (3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。 2 系统模块设计 成绩管理系统大体可以分成二大模块如, 一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图: 登陆失败 退出系统 用户 验证 登陆成功

3 数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下: 数据库中用到的表: 数据库表名关系模式名称备注 Student 学生学生学籍信息表 Course 课程课程基本信息表 Score 成绩选课成绩信息表 Student基本情况数据表,结构如下: 字段名字段类型Not Null 说明 Student _sno Char Primary key 学号 Student _sn char Not Null 学生姓名 Student _sex char ‘男’或‘女’性别 Student _dept char 系别 Student_age char 年龄 Student_address char 地址 course数据表,结构如下: 字段名字段类型约束控制说明 course_cno char 主键(primary key)课程号 char not null 课程名称course_cnam e course_hour int not null 课时 course_score numeric(2,1) not null 学分 score情况数据表,结构如下: 字段名字段类型约束控制说明 score_id int not null 成绩记录号 course_cno char 外部键课程号 student_sno char 外部键学号 score int 成绩 (二)数据库结构设计 1.概念结构设计 由需求分析的结果可知,本系统设计的实体包括: (1)学生基本信息:学号,姓名,性别,地址,年龄,专业。 (2)课程基本信息:课程名,课程号,分数,学时,学分。

相关主题
文本预览
相关文档 最新文档